posixtm tests: Disable part of the test on plaforms where it fails.
[gnulib.git] / ChangeLog
blob1989ffcc0d894ded8dd65029a90ca9f15bebb72e
1 2021-01-01  Bruno Haible  <bruno@clisp.org>
3         posixtm tests: Disable part of the test on plaforms where it fails.
4         * tests/test-posixtm.c (T): Disable two tests on macOS as well.
6 2021-01-01  Bruno Haible  <bruno@clisp.org>
8         c32isgraph/c32isprint/c32ispunct tests: Avoid test failures on OmniOS.
9         * tests/test-c32isgraph.c (main): On Solaris, disable tests that fail on
10         Solaris 11 OmniOS.
11         * tests/test-c32isprint.c (main): Likewise.
12         * tests/test-c32ispunct.c (main): Likewise.
14 2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>
16         libc-config: port to Sun C 5.9
17         * lib/libc-config.h (libc_hidden_proto): Omit ", ..." in macro
18         definition.  It’s not needed for Gnulib and elicits a diagnostic
19         from Sun C 5.9 Patch 124867-12 2009/11/22.
21 2021-01-01  Bruno Haible  <bruno@clisp.org>
23         quotearg tests: Avoid test failures on Solaris 11.
24         * modules/quotearg-tests (Makefile.am): Set host_os in
25         TESTS_ENVIRONMENT.
26         * tests/test-quotearg.sh: On Solaris 11 systems, make a copy of the fr/
27         directory that contains the .mo file.
29 2021-01-01  Bruno Haible  <bruno@clisp.org>
31         maint: Update copyright notices in --version output.
32         List the most recent year in which changes were made, per
33         <https://www.gnu.org/prep/standards/html_node/_002d_002dversion.html>.
34         * build-aux/declared.sh (func_version): Say 2019.
35         * build-aux/libtool-next-version (func_version): Likewise.
36         * build-aux/run-test (func_version): Likewise.
37         * check-module (COPYRIGHT_NOTICE): Say 2012.
38         * lib/git-merge-changelog.c (main): Say 2020.
40 2020-12-31  Paul Eggert  <eggert@cs.ucla.edu>
42         filename: change filename.h comment to LGPLv2.1+
43         * lib/filename.h: Change license notice to match what should be in
44         glibc, and what modules/filename specifies.  This is to simplify
45         syncing with glibc.
47         doc: mention year-0 bugs in Solaris etc.
48         * doc/posix-functions/gmtime.texi, doc/posix-functions/gmtime_r.texi:
49         * doc/posix-functions/localtime.texi:
50         * doc/posix-functions/localtime_r.texi:
51         * doc/posix-functions/mktime.texi:
52         Mention year-0 bugs in localtime etc.
54 2020-12-31  Bruno Haible  <bruno@clisp.org>
56         ptsname_r: Fix test failure on Solaris.
57         * lib/ptsname_r.c (__ptsname_r) [__sun]: Don't test the major number of
58         the device.
60 2020-12-31  Bruno Haible  <bruno@clisp.org>
62         posixtm tests: Disable part of the test on plaforms where it fails.
63         * tests/test-posixtm.c (T): Disable two tests on Solaris.
65 2020-12-31  Bruno Haible  <bruno@clisp.org>
67         poll tests: Avoid test failure on AIX.
68         * tests/test-poll.c (test_pipe): Disable the "expecting POLLHUP after
69         shutdown" test on AIX.
70         * doc/posix-functions/poll.texi: Mention the AIX bug.
72 2020-12-31  Bruno Haible  <bruno@clisp.org>
74         poll tests: Avoid test failure on BSD and Solaris systems.
75         * tests/test-poll.c (test_accept_first, test_socket_pair): Disable the
76         "expecting POLLHUP after shutdown" test on all platforms except Linux.
78 2020-12-31  Paul Eggert  <eggert@cs.ucla.edu>
80         fnmatch: merge from glibc + proposal
81         This merges the change proposed by Adhemerval Zanella in:
82         https://sourceware.org/pipermail/libc-alpha/2020-December/121212.html
83         which fixes a Gnulib bug that led to a failed assert.
84         * lib/fnmatch_loop.c (EXT): Use signed level, not unsigned, and
85         check that it stays nonnegative.  Use __flexarr instead of
86         FLEXIBLE_ARRAY_MEMBER, to port better to glibc.
87         * tests/test-fnmatch.c (main): New test cases, taken from glibc.
89         glob: merge proposed glibc changes
90         This merges the change proposed by Adhemerval Zanella in:
91         https://sourceware.org/pipermail/libc-alpha/2020-December/121211.html
92         * lib/glob.c (__lstat64, __stat64) [_LIBC]: Remove.
94 2020-12-31  Bruno Haible  <bruno@clisp.org>
96         memalign: Work around Solaris bug.
97         * lib/memalign.c: New file.
98         * m4/memalign.m4: New file.
99         * modules/memalign (Files): Add them.
100         (Depends-on): Add malloc-h.
101         (configure.ac): Invoke gl_FUNC_MEMALIGN. Conditionally compile
102         memalign.c. Set module indicator.
103         (Include): Include <malloc.h> unconditionally.
104         * doc/glibc-functions/memalign.texi: Mention the Solaris issues.
106         malloc-h: Add tests.
107         * tests/test-malloc-h.c: New file.
108         * modules/malloc-h-tests: New file.
109         * tests/test-malloc-h-c++.cc: New file.
110         * modules/malloc-h-c++-tests: New file.
112         malloc-h: New module.
113         * lib/malloc.in.h: New file.
114         * m4/malloc_h.m4: New file.
115         * modules/malloc-h: New file.
116         * doc/glibc-headers/malloc.texi: New file.
117         * doc/gnulib.texi (Glibc Header File Substitutes): Include it.
119 2020-12-31  Bruno Haible  <bruno@clisp.org>
121         unistd: Fix portability warnings.
122         * lib/unistd.in.h (fchownat, unlinkat): Fix module name in warning.
124 2020-12-31  Bruno Haible  <bruno@clisp.org>
126         utime: Fix compilation error on macOS and Solaris 9 (regr. 2020-12-24).
127         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
128         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00295.html>.
129         * lib/utime.c: Include <errno.h>.
131 2020-12-30  Karl Berry  <karl@freefriends.org>
133         config: srclistvars doc.
134         * config/srclistvars.sh: doc a couple of unusual source repo urls.
136 2020-12-30  Bruno Haible  <bruno@clisp.org>
138         getlogin tests, getlogin_r tests: Avoid failure on Solaris OpenIndiana.
139         * tests/test-getlogin.c (main): Don't fail if getlogin() returns NULL
140         with no errno.
141         * tests/test-getlogin_r.c (main): Don't fail if getlogin_r() returns
142         EINVAL.
144 2020-12-29  Jim Meyering  <meyering@fb.com>
146         regex-tests: tweak to avoid a clang-10 warning
147         * tests/test-regex.c: Compare with explicit zero, rather than
148         as boolean to avoid this from clang-10:
149         test-regex.c:315:9: error: converting the result of '<<' to a \
150           boolean always evaluates to true \
151           [-Werror,-Wtautological-constant-compare]
152         if (! REG_STARTEND)
154         hash: add casts-to-float to avoid clang-10 warnings
155         * lib/hash.c (compute_bucket_size): Cast SIZE_MAX to float
156         to avoid this warning from clang-10 (for use in grep):
157           hash.c:501:11: error: implicit conversion from 'unsigned long' \
158             to 'float' changes value from 18446744073709551615 to \
159             18446744073709551616 [-Werror,-Wimplicit-int-float-conversion]
160           if (SIZE_MAX <= new_candidate)
161         (hash_insert_if_absent): Likewise.
163 2020-12-29  Paul Eggert  <eggert@cs.ucla.edu>
165         canonicalize: fix size overflow treatment
166         This also has some minor cleanups.
167         * lib/canonicalize-lgpl.c, lib/canonicalize.c: No need to include
168         stddef.h, since the code no longer refers directly to ptrdiff_t.
169         * lib/canonicalize-lgpl.c (realpath_stk):
170         * lib/canonicalize.c (canonicalize_filename_mode_stk):
171         Treat size overflow like other out-of-memory.
172         * lib/canonicalize.c: No need to include stdlib.h, since
173         the code no longer refers to stdlib.h functions (other
174         than those that canonicalize.h must declare).
175         * lib/canonicalize.c (canonicalize_filename_mode_stk):
176         Do not bother terminating the string result on error.
178 2020-12-29  Bruno Haible  <bruno@clisp.org>
180         list-c++, [o]map-c++, [o]set-c++: Fix conflict with 'free-posix' module.
181         * lib/gl_list.hh: Include <stdlib.h>.
182         * lib/gl_map.hh: Likewise.
183         * lib/gl_omap.hh: Likewise.
184         * lib/gl_set.hh: Likewise.
185         * lib/gl_oset.hh: Likewise.
187 2020-12-29  Paul Eggert  <eggert@cs.ucla.edu>
189         canonicalize: fix ptrdiff_t overflow bug
190         Problem reported by Adhemerval Zanella in:
191         https://sourceware.org/pipermail/libc-alpha/2020-December/121182.html
192         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
193         Include intprops.h.
194         (NARROW_ADDRESSES): New constant.
195         * lib/canonicalize-lgpl.c (realpath_stk):m
196         * lib/canonicalize.c (canonicalize_filename_mode_stk):
197         Work even if strlen (END) does not fit in idx_t, or if adding
198         N to it overflows.
199         * modules/canonicalize, modules/canonicalize-lgpl (Depends-on):
200         Add intprops.
202 2020-12-28  Bruno Haible  <bruno@clisp.org>
204         havelib: Fix for Solaris 11 OpenIndiana and Solaris 11 OmniOS.
205         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): In
206         acl_is_expected_elfclass, use 'expr', not 'test'.
208 2020-12-28  Bruno Haible  <bruno@clisp.org>
210         ptsname_r: Fix a compiler warning on Solaris.
211         * lib/ptsname_r.c (__ptsname_r): Reduce the scope of variable 'err'.
213 2020-12-28  Bruno Haible  <bruno@clisp.org>
215         gnulib-tool: Fix logic whether to add a dummy.c.
216         * gnulib-tool (func_remove_if_blocks): New function.
217         (func_modules_add_dummy): Use it to eliminate all conditional statements
218         from the automake snippet.
220 2020-12-28  Paul Eggert  <eggert@cs.ucla.edu>
222         faccessat: revert recent EOVERFLOW change
223         I misunderstood the glibc source code.  Deduced from
224         Adhemerval Zanella’s proposed glibc patch in:
225         https://sourceware.org/pipermail/libc-alpha/2020-December/121131.html
226         * doc/posix-functions/faccessat.texi: It is not a problem.
227         * lib/canonicalize-lgpl.c, lib/canonicalize.c, lib/faccessat.c:
228         (FACCESSAT_NEVER_OVERFLOWS): Remove. All uses removed.
229         * lib/faccessat.c: Revert to simpler version now that
230         LSTAT_FOLLOWS_SLASHED_SYMLINK must be false.
231         * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW):
232         Remove.  All uses removed.
233         * modules/canonicalize, modules/canonicalize-lgpl (Files):
234         Remove m4/faccessat.m4.
236         canonicalize-lgpl: accommodate picky cpp
237         * lib/canonicalize-lgpl.c: Use "defined FUNC_REALPATH_WORKS" in
238         case preprocessor is picky.  Reported by Adhemerval Zanella in:
239         https://sourceware.org/pipermail/libc-alpha/2020-December/121130.html
241         canonicalize: simplify via scratch_buffer_dupfree
242         * config/srclist.txt: Adjust accordingly.
243         * lib/canonicalize-lgpl.c (realpath_stk):
244         * lib/canonicalize.c (canonicalize_filename_mode_stk):
245         Simplify by using scratch_buffer_dupfree.
246         * lib/malloc/scratch_buffer.h (scratch_buffer_dupfree): New function.
247         * lib/malloc/scratch_buffer_dupfree.c: New file.
248         * modules/scratch_buffer (Files, Depends-on):
249         Add malloc/scratch_buffer_dupfree.c.
251 2020-12-27  Paul Eggert  <eggert@cs.ucla.edu>
253         regex: remove glibc21.m4
254         It doesn’t seem to be needed any more; at least, I couldn’t
255         reproduce the circa-2013 problem.  Perhaps the recent
256         --conditional-dependencies fixes have removed the need for it.
257         * m4/glibc21.m4: Remove.  All uses removed.
259 2020-12-26  Bruno Haible  <bruno@clisp.org>
261         gnulib-tool: Make --conditional-dependencies work with --with-tests.
262         Reported by Paul Eggert in
263         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00236.html>.
264         * gnulib-tool (func_emit_tests_Makefile_am): Handle conditional
265         dependencies like func_emit_lib_Makefile_am.
267 2020-12-26  Bruno Haible  <bruno@clisp.org>
269         execvpe: Make dependency to stdbool explicit.
270         * lib/execvpe.c: Include <stdbool.h>.
271         * modules/execvpe (Depends-on): Add stdbool.
273         execlp: Add tests.
274         * tests/test-execlp-main.c: New file.
275         * tests/test-execlp.sh: New file.
276         * modules/execlp-tests: New file.
278         execlp: New module.
279         * lib/execlp.c: New file.
280         * m4/execlp.m4: New file.
281         * modules/execlp: New file.
282         * doc/posix-functions/execlp.texi: Mention more Windows problems and the
283         new module.
285         execle: Add tests.
286         * tests/test-execle-main.c: New file.
287         * tests/test-execle.sh: New file.
288         * modules/execle-tests: New file.
290         execle: New module.
291         * lib/execle.c: New file.
292         * m4/execle.m4: New file.
293         * modules/execle: New file.
294         * doc/posix-functions/execle.texi: Mention more Windows problems and the
295         new module.
297         execl: Add tests.
298         * tests/test-execl-main.c: New file.
299         * tests/test-execl.sh: New file.
300         * modules/execl-tests: New file.
302         execl: New module.
303         * lib/execl.c: New file.
304         * m4/execl.m4: New file.
305         * modules/execl: New file.
306         * doc/posix-functions/execl.texi: Mention more Windows problems and the
307         new module.
309         execv: Add tests.
310         * tests/test-execv-main.c: New file.
311         * tests/test-execv.sh: New file.
312         * modules/execv-tests: New file.
314         execv: New module.
315         * lib/execv.c: New file.
316         * m4/execv.m4: New file.
317         * modules/execv: New file.
318         * doc/posix-functions/execv.texi: Mention more Windows problems and the
319         new module.
321         execvp: Add tests.
322         * tests/test-execvp-main.c: New file.
323         * tests/test-execvp.sh: New file.
324         * modules/execvp-tests: New file.
326         execvp: New module.
327         * lib/execvp.c: New file.
328         * m4/execvp.m4: New file.
329         * modules/execvp: New file.
330         * doc/posix-functions/execvp.texi: Mention more Windows problems and the
331         new module.
333         execvpe: Add tests.
334         * tests/test-execvpe-main.c: New file.
335         * tests/test-execvpe.sh: New file.
336         * modules/execvpe-tests: New file.
338         execvpe: New module.
339         * lib/execvpe.c: New file.
340         * m4/execvpe.m4: New file.
341         * modules/execvpe: New file.
342         * doc/glibc-functions/execvpe.texi: Mention the Windows problems and the
343         new module.
345         execve: Add tests.
346         * tests/test-exec-child.c: New file.
347         * tests/test-execve-main.c: New file.
348         * tests/test-execve.sh: New file.
349         * modules/execve-tests: New file.
351         execve: New module.
352         * lib/execve.c: New file.
353         * m4/execve.m4: New file.
354         * modules/execve: New file.
355         * doc/posix-functions/execve.texi: Mention more Windows problems and the
356         new module.
358         execve, execvpe, execvp, execv, execl, execle, execlp: Prepare modules.
359         * lib/unistd.in.h (execl, execle, execlp, execv, execve, execvp,
360         execvpe): Add declarations for the new modules.
361         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether execl, execle, execlp,
362         execv, execve, execvp, execvpe are declared.
363         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EXEC*, HAVE_EXECVPE,
364         REPLACE_EXEC*.
365         * modules/unistd (Makefile.am): Substitute GNULIB_EXEC*, HAVE_EXECVPE,
366         REPLACE_EXEC*.
367         * tests/test-unistd-c++.cc: Check the signature of execl, execle,
368         execlp, execv, execve, execvp, execvpe.
370 2020-12-26  Bruno Haible  <bruno@clisp.org>
372         stack: Fix typo in comments.
373         * lib/stack.h: Fix typo in comments.
375 2020-12-26  Bruno Haible  <bruno@clisp.org>
377         bitset: Fix conflict with 'free-posix' module.
378         * lib/bitset/base.h: Include <stdlib.h>.
380 2020-12-25  Paul Eggert  <eggert@cs.ucla.edu>
382         idx: change idx.h comment to LGPLv2.1+
383         * lib/idx.h: Change license notice to match what should be in glibc.
384         gnulib-tool will change it as appropriate anyway, so this is just
385         to simplify syncing with glibc.
387 2020-12-25  Thien-Thi Nguyen  <ttn@gnu.org>
389         MODULES.html.sh: Update after 2020-12-19 change.
390         * MODULES.html.sh (func_all_modules): Do s/free/free-posix/.
392 2020-12-25  Bruno Haible  <bruno@clisp.org>
394         Make it possible to turn off the mkdir override on Windows.
395         * lib/sys_stat.in.h (mkdir): Conditionalize through GNULIB_MKDIR and
396         GNULIB_MDA_MKDIR. Also support GNULIB_POSIXCHECK.
397         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_MKDIR,
398         GNULIB_MDA_MKDIR.
399         * modules/sys_stat (Makefile.am): Substitute GNULIB_MKDIR,
400         GNULIB_MDA_MKDIR.
401         * modules/mkdir (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
402         * doc/posix-functions/mkdir.texi: Mention also the 'sys_stat' module.
404         Make it possible to turn off each of the Windows oldnames workarounds.
405         * lib/fcntl.in.h (creat, open):  Conditionalize each of the Windows
406         oldnames workarounds through a GNULIB_MDA_<func> symbol.
407         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
408         * lib/search.in.h (lfind, lsearch): Likewise.
409         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
410         Likewise.
411         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
412         * lib/string.in.h (memccpy, strdup): Likewise.
413         * lib/sys_stat.in.h (chmod, umask): Likewise.
414         * lib/time.in.h (tzset): Likewise.
415         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
416         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
417         read, rmdir, swab, unlink, write): Likewise.
418         * lib/utime.in.h (utime): Likewise.
419         * lib/wchar.in.h (wcsdup): Likewise.
420         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize these
421         GNULIB_MDA_<func> symbols.
422         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Likewise.
423         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Likewise.
424         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
425         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
426         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
427         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
428         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Likewise.
429         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
430         * m4/utime_h.m4 (gl_UTIME_H_DEFAULTS): Likewise.
431         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Likewise.
432         * modules/fcntl-h (Makefile.am): Substitute these GNULIB_MDA_<func>
433         symbols.
434         * modules/math (Makefile.am): Likewise.
435         * modules/search (Makefile.am): Likewise.
436         * modules/stdio (Makefile.am): Likewise.
437         * modules/stdlib (Makefile.am): Likewise.
438         * modules/string (Makefile.am): Likewise.
439         * modules/sys_stat (Makefile.am): Likewise.
440         * modules/time (Makefile.am): Likewise.
441         * modules/unistd (Makefile.am): Likewise.
442         * modules/utime-h (Makefile.am): Likewise.
443         * modules/wchar (Makefile.am): Likewise.
445 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
447         canonicalize, canonicalize-lgpl: remove lint
448         Pacify GCC.  Some of these problems were reported by Bruno Haible in:
449         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00217.html
450         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
451         Sort shared include directives, for consistency.
452         (IF_LINT): New macro.
453         (suffix_requires_dir_check): Mark with _GL_ATTRIBUTE_PURE.
454         * lib/canonicalize-lgpl.c (GCC_LINT, _GL_ATTRIBUTE_PURE) [_LIBC]:
455         New macros.
456         (realpath_stk): Suppress bogus -Wmaybe-uninitialized warning.
457         * lib/canonicalize.c (canonicalize_filename_mode_stk):
458         Omit unused local.  Suppress bogus -Wmaybe-uninitialized warning.
460 2020-12-24  Bruno Haible  <bruno@clisp.org>
462         spawn-pipe: Use posix_spawn by default on native Windows.
463         * lib/spawn-pipe.c (SPAWN_PIPE_IMPL_AVOID_POSIX_SPAWN): New macro.
464         (create_pipe): Use it to decide among the two possible implementations.
465         * modules/spawn-pipe (Depends-on): Add posix_spawnattr_setpgroup.
467 2020-12-24  Bruno Haible  <bruno@clisp.org>
469         unistd-safer: Implement pipe_safer on native Windows.
470         * lib/pipe-safer.c (pipe_safer): Don't test HAVE_PIPE.
471         * modules/unistd-safer (Depends-on): Add pipe-posix.
473 2020-12-24  Bruno Haible  <bruno@clisp.org>
475         execute: Use posix_spawn by default on native Windows.
476         * lib/execute.c (EXECUTE_IMPL_AVOID_POSIX_SPAWN): New macro.
477         (execute): Use it to decide among the two possible implementations.
479 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
481         canonicalize-lgpl: merge proposed libc changes
482         This merges the changes proposed for glibc in:
483         https://sourceware.org/pipermail/libc-alpha/2020-December/121085.html
484         https://sourceware.org/pipermail/libc-alpha/2020-December/121086.html
485         * lib/canonicalize-lgpl.c: Include idx.h and filename.h
486         unconditionally.
487         (idx_t, IDX_MAX, FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME)
488         (ISSLASH) [_LIBC]: Remove.
490 2020-12-24  Bruno Haible  <bruno@clisp.org>
492         posix_spawn-internal: Implement for native Windows.
493         * lib/spawni.c (grow_inheritable_handles, shrink_inheritable_handles,
494         close_inheritable_handles, memiszero, sigisempty, open_handle, do_open,
495         do_dup2, do_close): New functions.
496         (__spawni): Implement on native Windows.
497         * modules/posix_spawn-internal (Depends-on): Add filename,
498         concat-filename, findprog-in, malloca, windows-spawn.
499         * doc/posix-functions/posix_spawn.texi: Update.
500         * doc/posix-functions/posix_spawnp.texi: Likewise.
502 2020-12-24  Bruno Haible  <bruno@clisp.org>
504         windows-spawn: Export another auxiliary function.
505         * lib/windows-spawn.h (convert_CreateProcess_error): New declaration.
506         * lib/windows-spawn.c (convert_CreateProcess_error): New function,
507         extracted from spawnpvech.
508         (spawnpvech): Use it.
510 2020-12-24  Bruno Haible  <bruno@clisp.org>
512         windows-spawn: Export some more auxiliary functions.
513         * lib/windows-spawn.h: Include <stdbool.h>.
514         (struct inheritable_handles): New type.
515         (init_inheritable_handles, compose_handles_block,
516         free_inheritable_handles): New declarations.
517         * lib/windows-spawn.c (init_inheritable_handles, compose_handles_block):
518         New functions, based on spawnvech.
519         (free_inheritable_handles): New function.
520         (spawnpvech): Use them.
522 2020-12-24  Bruno Haible  <bruno@clisp.org>
524         windows-spawn: Export another auxiliary function.
525         * lib/windows-spawn.h (compose_envblock): New declaration.
526         * lib/windows-spawn.c (compose_envblock): New function, extracted from
527         spawnpvech.
528         (spawnpvech): Use it.
530 2020-12-24  Bruno Haible  <bruno@clisp.org>
532         windows-spawn: Export an auxiliary function.
533         * lib/windows-spawn.h (compose_command): New declaration.
534         * lib/windows-spawn.c (compose_command): New function, extracted from
535         spawnpvech.
536         (spawnpvech): Use it.
538 2020-12-24  Bruno Haible  <bruno@clisp.org>
540         posix_spawn* tests: Add support for native Windows.
541         * tests/test-posix_spawn-open1.c (DATA_FILENAME): Treat native Windows
542         like Cygwin.
543         * tests/test-posix_spawn-dup2-stdin.c (main): Don't assume the signals
544         SIGHUP and SIGPIPE. On native Windows, don't call
545         posix_spawnattr_setsigmask.
546         * tests/test-posix_spawn-dup2-stdout.c (main): Likewise.
547         * tests/test-posix_spawn-fchdir.c (main): Likewise.
548         * tests/test-posix_spawn-chdir.c (test): Likewise. Accept the child
549         output from Cygwin's 'pwd' program.
550         * tests/test-posix_spawn-script.c (main): On native Windows, skip the
551         executable-shell-script part of the test.
552         * tests/test-posix_spawnp-script.c (main): Likewise.
553         * modules/posix_spawn-tests (Depends-on): Add freopen, waitpid.
554         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
555         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
556         * modules/posix_spawnp-tests (Depends-on): Add  waitpid.
557         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
558         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
559         * modules/posix_spawn_file_actions_addchdir-tests (Makefile.am): Don't
560         test the POSIX_SPAWN_PORTED conditional.
561         * modules/posix_spawn_file_actions_addfchdir-tests (configure.ac):
562         Define the POSIX_SPAWN_PORTED conditional here.
564 2020-12-24  Bruno Haible  <bruno@clisp.org>
566         sh-filename: Add support for native Windows.
567         * m4/sh-filename.m4 (gl_SH_FILENAME): Treat native Windows like Cygwin.
569 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
571         careadlinkat: improve warning line number
572         This propagates an idea first used in canonicalize-lgpl.
573         * lib/careadlinkat.c (GCC_BOGUS_WRETURN_LOCAL_ADDR):
574         New macro.
575         (careadlinkat): Use it.
577         linkat: use eloop-threshold
578         * lib/linkat.c: Include eloop-threshold.h.
579         Do not include sys/param.h.
580         (MAXSYMLINKS): Remove.
581         (link_follow, linkat_follow): Use __eloop_threshold instead
582         of MAXSYMLINKS.
583         * m4/linkat.m4 (gl_FUNC_LINKAT): Omit sys/param.h check.
584         * modules/linkat (Depends-on): Add eloop-threshold.  Sort.
586         canonicalize-lgpl: use eloop-threshold
587         * lib/canonicalize-lgpl.c [!_LIBC]: Include eloop-threshold.h.
588         (MAXSYMLINKS, __eloop_threshold): Remove.
589         * modules/canonicalize-lgpl (Depends-on): Add eloop-threshold.
591         eloop-threshold: new module
592         * config/srclist.txt: Add a comment about it.
593         * lib/eloop-threshold.h, modules/eloop-threshold: New files.
595         canonicalize: prefer faccessat to stat
596         A proper faccessat doesn't have the EOVERFLOW problem, and can be
597         more efficient as it needn't gather data from the filesystem to
598         fill in struct stat.  So use stat only if faccessat is absent,
599         or when checking for symlink loops in canonicalize.c.
600         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
601         Include fcntl.h, for AT_EACCESS.
602         (FACCESSAT_NEVER_EOVERFLOWS): Default to false.
603         (file_accessible): New function, based on faccessat but with
604         a fallback to stat and with an EOVERFLOW workaround.
605         (dir_check): Use it.
606         (dir_suffix): New static constant.
607         * lib/canonicalize-lgpl.c (FACCESSAT_NEVER_EOVERFLOWS) [_LIBC]:
608         Use __ASSUME_FACCESSAT2 to set FACCESSAT_NEVER_EOVERFLOWS
609         (__faccessat) [!_LIBC]: Define.
610         (realpath_stk): Use dir_suffix now.
611         * lib/canonicalize.c (canonicalize_filename_mode_stk):
612         If logical, don't check each component's existence; just check
613         at the end, as that's enough.
614         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
615         (gl_CANONICALIZE_LGPL_SEPARATE):
616         Require gl_FUNC_FACCESSAT_EOVERFLOW,
617         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and check for faccessat.
618         (gl_CANONICALIZE_LGPL_SEPARATE): Do not check for readlink,
619         as the code does not use HAVE_READLINK.
620         * modules/canonicalize, modules/canonicalize-lgpl (Files):
621         Add m4/faccessat.m4, m4/lstat.m4.
622         (Depends-on): Add fcntl-lh.
624         faccessat: work around F_OK EOVERFLOW bug
625         * doc/posix-functions/faccessat.texi: Mention the problem.
626         * lib/faccessat.c (FACCESSAT_NEVER_EOVERFLOWS): Default to 0.
627         (rpl_faccessat): If !FACCESSAT_NEVER_EOVERFLOWS, check
628         for F_OK and EOVERFLOW, which means we can return 0.
629         * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW): New macro.
630         (gl_FUNC_FACCESSAT): Use it.
632         stat failing with EOVERFLOW implies existence
633         * lib/euidaccess.c (euidaccess):
634         * lib/file-has-acl.c (file_has_acl):
635         * lib/link.c (link, rpl_link):
636         * lib/mkdir.c (rpl_mkdir):
637         * lib/mkfifo.c (rpl_mkfifo):
638         * lib/mknod.c (rpl_mknod):
639         * lib/ptsname_r.c (__ptsname_r):
640         * lib/symlink.c (rpl_symlink):
641         * lib/symlinkat.c (rpl_symlinkat):
642         * lib/unlink.c (rpl_unlink):
643         * lib/unlinkat.c (rpl_unlinkat):
644         * lib/utime.c (utime):
645         If stat fails with EOVERFLOW the file exists, so treat it that way
646         in file-existence tests that do not need struct stat values.
648         canonicalize-lgpl: remove freea macro
649         * lib/canonicalize-lgpl.c (freea) [_LIBC]: Remove; not needed.
651         canonicalize, canonicalize-lgpl: fix symlink bug
652         Problem reported by Adhemerval Zanella in:
653         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00155.html
654         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
655         (suffix_requires_dir_check, dir_check): New functions.
656         (GCC_BOGUS_WRETURN_LOCAL_ADDR): New macro, to put the diagnostic
657         closer to the related GCC diagnostics.
658         * lib/canonicalize-lgpl.c (realpath_stk):
659         * lib/canonicalize.c (canonicalize_file_mode_stk):
660         Use them to fix a bug with .../symlink-to-regular-file/ etc.
661         * lib/canonicalize-lgpl.c (__stat) [!_LIBC]: New macro.
662         (realpath_stk): New function,
663         with the contents of the old __realpath and a new scratch buffer arg.
664         This is needed to pacify GCC 10.1, as canonicalize.c is already doing.
665         (__realpath): Use it.
666         * tests/test-canonicalize-lgpl.c, tests/test-canonicalize.c:
667         Add test cases for the bugs.
669 2020-12-24  Bruno Haible  <bruno@clisp.org>
671         execute: Treat signalled processes like wait-process does.
672         * lib/execute.c: Include <sys/types.h>, <sys/wait.h>.
673         (execute): Recognize the case where the exit code indicates a signalled
674         child process.
675         * tests/test-execute-main.c (main): Update expected test result.
676         * modules/execute (Depends-on): Add sys_wait.
678 2020-12-24  Bruno Haible  <bruno@clisp.org>
680         windows-spawn: Improve errno upon failure on native Windows.
681         * lib/windows-spawn.c (spawnpvech): Map the CreateProcess errors
682         ERROR_BAD_FORMAT and ERROR_BAD_EXE_FORMAT to ENOEXEC.
683         * tests/executable-script.sh: New file.
684         * tests/test-posix_spawn-script.c (main): Also try executing
685         executable-script.sh.
686         * tests/test-posix_spawnp-script.c (main): Likewise.
687         * tests/test-execute-script.c (main): Likewise.
688         * tests/test-spawn-pipe-script.c (main): Likewise.
689         * modules/posix_spawn-tests (Files): Add tests/executable-script.sh.
690         * modules/posix_spawnp-tests (Files): Likewise.
691         * modules/execute-tests (Files): Likewise.
692         * modules/spawn-pipe-tests (Files): Likewise.
694 2020-12-24  Bruno Haible  <bruno@clisp.org>
696         findprog-in: Improve errno upon failure on native Windows.
697         * lib/findprog-in.c (find_in_given_path): If the file basename has no
698         dot and the search with a suffix returned no result, do also a search
699         without a suffix, and set errno = ENOEXEC if we find a file in this way.
700         * tests/test-spawn-pipe-script.c (main): Update expected errno.
702 2020-12-23  Bruno Haible  <bruno@clisp.org>
704         posix_spawn, posix_spawnp: Fix execution of scripts.
705         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_SECURE): New macro.
706         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if posix_spawn
707         or posix_spawnp allows unsecure execution of scripts.
708         * doc/posix-functions/posix_spawn.texi: Document the script execution
709         problem.
710         * doc/posix-functions/posix_spawnp.texi: Likewise.
712 2020-12-23  Bruno Haible  <bruno@clisp.org>
714         Add unit tests regarding execution of scripts.
715         * tests/executable-script: New file.
716         * tests/executable-shell-script: New file.
717         * tests/test-posix_spawn-script.c: New file.
718         * tests/test-posix_spawnp-script.c: New file.
719         * tests/test-execute-script.c: New file.
720         * tests/test-spawn-pipe-script.c: New file.
721         * modules/posix_spawn-tests (Files): Add
722         tests/test-posix_spawn-script.c, tests/executable-script,
723         tests/executable-shell-script.
724         (Makefile.am): Compile and run test-posix_spawn-script.
725         * modules/posix_spawnp-tests (Files): Add
726         tests/test-posix_spawnp-script.c, tests/executable-script,
727         tests/executable-shell-script.
728         (Makefile.am): Compile and run test-posix_spawnp-script.
729         * modules/execute-tests (Files): Add tests/test-execute-script.c,
730         tests/executable-script, tests/executable-shell-script.
731         (Makefile.am): Compile and run test-execute-script.
732         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-script.c,
733         tests/executable-script, tests/executable-shell-script.
734         (Makefile.am): Compile and run test-spawn-pipe-script.
736 2020-12-23  Bruno Haible  <bruno@clisp.org>
738         Don't execute scripts without '#!' marker through /bin/sh.
739         This reflects the change done in glibc through
740         <https://sourceware.org/bugzilla/show_bug.cgi?id=13134> and
741         <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d96de9634a334af16c0ac711074c15ac1762b23c>.
742         * lib/spawni.c (internal_function): Remove macro.
743         (script_execute): Remove function.
744         (__spawni): Don't invoke script_execute.
745         * lib/execute.c (execute): Disable the ENOEXEC handling.
746         * lib/spawn-pipe.c (create_pipe): Likewise.
747         * NEWS: Mention the change.
749 2020-12-23  Bruno Haible  <bruno@clisp.org>
751         posix_spawn[p]: Fix compilation error on Windows (regr. 2020-12-14).
752         Reported by Adrian Ebeling <devl@adrian-ebeling.de> in
753         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00189.html>.
754         * lib/spawni.c (__spawni): Update function parameters.
756 2020-12-23  Bruno Haible  <bruno@clisp.org>
758         posix_spawn tests: Add two more tests.
759         * tests/test-posix_spawn-inherit0.c: New file, based on
760         tests/test-posix_spawn-open2.c.
761         * tests/test-posix_spawn-inherit1.c: New file, based on
762         tests/test-posix_spawn-open2.c.
763         * modules/posix_spawn-tests (Files): Add them.
764         (Depends-on): Add fflush.
765         (Makefile.am): Compile and run test-posix_spawn-inherit0 and
766         test-posix_spawn-inherit1.
768 2020-12-23  Bruno Haible  <bruno@clisp.org>
770         posix_spawn tests: Add another test.
771         * tests/test-posix_spawn-open2.c: New file, based on
772         tests/test-posix_spawn-open1.c.
773         * modules/posix_spawn-tests (Files): Add it.
774         (Makefile.am): Compile and run test-posix_spawn-open1.
776 2020-12-20  Bruno Haible  <bruno@clisp.org>
778         Remove support for broken <wchar.h> in AIX 3.
779         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify test programs.
781 2020-12-20  Bruno Haible  <bruno@clisp.org>
783         Remove support for broken <wchar.h> in BSD/OS and OSF/1.
784         * lib/wchar.in.h: Don't include <stdio.h>, <time.h>.
785         * lib/mbchar.h: Likewise.
786         * lib/mbiter.h: Likewise.
787         * lib/mbuiter.h: Likewise.
788         * m4/stdint.m4 (gl_STDINT_INCLUDES): Likewise.
789         * lib/mbfile.h: Don't include <time.h>.
790         * lib/mbswidth.h: Update comment.
791         * lib/stdint.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> before
792         <wchar.h>.
793         * lib/wctype.in.h: Likewise.
794         * m4/btowc.m4 (gl_FUNC_BTOWC): Simplify test programs.
795         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Likewise.
796         * m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Likewise.
797         * m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Likewise.
798         * m4/mbrlen.m4 (gl_FUNC_MBRLEN, gl_MBRLEN_INCOMPLETE_STATE,
799         gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL): Likewise.
800         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Likewise.
801         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_MBRTOWC_INCOMPLETE_STATE,
802         gl_MBRTOWC_SANITYCHECK, gl_MBRTOWC_NULL_ARG1, gl_MBRTOWC_NULL_ARG2,
803         gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL, gl_MBRTOWC_STORES_INCOMPLETE,
804         AC_FUNC_MBRTOWC): Likewise.
805         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Likewise.
806         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE):
807         Likewise.
808         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS, gl_MBSRTOWCS_WORKS): Likewise.
809         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
810         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
811         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Likewise.
812         * m4/wchar_h.m4 (gl_WCHAR_H, gl_WCHAR_H_INLINE_OK): Likewise.
813         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
814         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Likewise.
815         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE):
816         Likewise.
817         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS, gl_WCSRTOMBS_TERMINATION,
818         gl_WCSRTOMBS_NULL): Likewise.
819         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
820         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
821         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
822         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
823         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
824         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Likewise.
825         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
826         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
827         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
828         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
830 2020-12-20  Bruno Haible  <bruno@clisp.org>
832         isnanf: Fix autoconf test.
833         * m4/isnanf.m4 (gl_ISNANF_WORKS): Fix one of the NaN tests.
835 2020-12-20  Bruno Haible  <bruno@clisp.org>
837         Remove some of the support for obsolete IRIX 4 and 5.
838         * m4/mountlist.m4 (AC_FUNC_GETMNTENT): Don't test for getmntent in
839         libsun.
840         * tests/init.sh (setup_): Don't talk about IRIX 5.
842 2020-12-20  Bruno Haible  <bruno@clisp.org>
844         filemode: Remove Cray support.
845         * lib/filemode.c (IS_MIGRATED_FILE): Remove macro.
846         (filemodestring): Don't produce an 'M' type.
847         * m4/filemode.m4 (gl_FILEMODE): Don't invoke AC_STRUCT_ST_DM_MODE.
848         * m4/st_dm_mode.m4: Remove file.
849         * modules/filemode (Files): Remove it.
851 2020-12-20  Paul Eggert  <eggert@cs.ucla.edu>
853         free-posix: assume glibc 2.33 fixes this.
854         * m4/free.m4 (gl_FUNC_FREE): Assume glibc 2.33+ is fixed.
855         Use compile-time test rather than guessing for cross-builds.
857 2020-12-20  Bruno Haible  <bruno@clisp.org>
859         backupfile: Fix compilation error on native Windows (regr. 2018-10-23).
860         Reported by Adrian Ebeling <adrianebeling@gmx.de> in
861         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00156.html>.
862         * lib/backupfile.c (fpathconf): Define fallback, like for pathconf.
864 2020-12-20  Bruno Haible  <bruno@clisp.org>
866         float: Fix compilation error when gnulib's float.h exists twice.
867         Reported by Santiago Vila <sanvila@unex.es>.
868         * lib/float.in.h (GNULIB_defined_long_double_union): New macro.
870 2020-12-19  Bruno Haible  <bruno@clisp.org>
872         free-posix: Assume future POSIX compliance only on OpenBSD and Solaris.
873         * m4/free.m4 (gl_FUNC_FREE): Guess yes only on OpenBSD and Solaris.
874         Don't trust _POSIX_VERSION for this test.
876 2020-12-19  Paul Eggert  <eggert@cs.ucla.edu>
878         free-posix: port to GNU/Linux
879         * m4/free.m4 (gl_FUNC_FREE): Don’t assume GNU hosts are free of
880         the bug, as it occurs on Ubuntu 20.10 x86-64 and, I assume, on
881         other GNU/Linux hosts.
883 2020-12-19  Bruno Haible  <bruno@clisp.org>
885         free-posix: Add tests.
886         * tests/test-free.c: New file.
887         * tests/macros.h (ASSERT_NO_STDIO,
888         WRITE_MACROEXPANDED_INTEGER_TO_STDERR, WRITE_INTEGER_TO_STDERR,
889         WRITE_TO_STDERR): New macros.
890         * modules/free-posix-tests: New file.
892 2020-12-18  Bruno Haible  <bruno@clisp.org>
894         free-posix: Add C++ declaration test.
895         * tests/test-stdlib-c++.cc (free): New declaration.
897 2020-12-18  Bruno Haible  <bruno@clisp.org>
899         free-posix: New module, renamed from 'free'.
900         * modules/free-posix: Renamed from modules/free.
901         (configure.ac): Update gl_STDLIB_MODULE_INDICATOR invocation.
902         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE_POSIX,
903         not GNULIB_FREE.
904         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE_POSIX, not
905         GNULIB_FREE.
906         * lib/stdlib.in.h (free): Test GNULIB_FREE_POSIX, not GNULIB_FREE.
907         * doc/posix-functions/free.texi: Mention the module 'free-posix' and
908         what it does.
909         * NEWS: Mention that module 'free' no longer exists.
910         * modules/canonicalize (Depends-on): Add free-posix. Remove free.
911         * modules/canonicalize-lgpl (Depends-on): Likewise.
913 2020-12-18  Bruno Haible  <bruno@clisp.org>
915         free: Remove support for obsolete platforms.
916         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works. Don't define
917         CANNOT_FREE_NULL.
918         * lib/free.c (rpl_free): Don't test CANNOT_FREE_NULL.
919         * modules/free (Description): Update.
920         * doc/posix-functions/free.texi: Don't mention SunOS 4 any more.
922 2020-12-18  Paul Eggert  <eggert@cs.ucla.edu>
924         intprops: port to ICC 2021.1 Beta 20201112
925         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P):
926         Port to ICC 2021.1, which has a non-working __builtin_mul_overflow_p.
927         Add a clause for other compilers that claim to support
928         __builtin_mul_overflow_p, since we might as well find out about
929         slackers other than Clang and ICC.
930         (INT_MULTIPLY_WRAPV): ICC 2021 has GCC bug 91450, so treat it
931         like older GCCs even when it claims to be a newer one.
933 2020-12-18  Bruno Haible  <bruno@clisp.org>
935         intprops: Avoid potentially buggy __builtin_add_overflow in GCC 5, 6.
936         Reported by Stefan Liebler <stli@linux.ibm.com> in
937         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00152.html>.
938         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Don't define for
939         GCC 5.x and 6.x.
940         * lib/glob.c (size_add_wrapv): Don't use __builtin_add_overflow for
941         GCC 5.x and 6.x.
943 2020-12-17  Bruno Haible  <bruno@clisp.org>
945         free: Fix warning.
946         Reported by Pádraig Brady <P@draigBrady.com> in
947         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00148.html>.
948         * lib/stdlib.in.h (free): New declaration.
949         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether 'free' is declared.
950         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE, REPLACE_FREE.
951         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE, REPLACE_FREE.
952         * m4/free.m4 (gl_FUNC_FREE): Set REPLACE_FREE, instead of defining
953         'free' as a macro here.
954         * modules/free (Depends-on): Add stdlib.
955         (configure.ac): Test REPLACE_FREE. Invoke gl_STDLIB_MODULE_INDICATOR.
957 2020-12-17  Paul Eggert  <eggert@cs.ucla.edu>
959         canonicalize-lgpl: fix AIX test failures
960         This merges the recent canonicalize.c fix into canonicalize-lgpl.c.
961         Problem reported by Bruno Haible in:
962         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00138.html
963         * lib/canonicalize-lgpl.c: Include sys/stat.h.
964         (__realpath): When testing a file name ending in '/', use stat
965         rather than readlink, so that it does the right thing on AIX.
966         * modules/canonicalize-lgpl (Depends-on): Add stat, sys_stat.
968         canonicalize: omit second readlink when not needed
969         * lib/canonicalize.c (canonicalize_filename_mode_stk):
970         Omit second readlink when (can_exist != CAN_MISSING
971         && startlen != 0 && !logical).  Simplify.
973         canonicalize: remove arbitrary 8192-byte limit
974         Remove canonicalize.c’s arbitrary 8192-byte limit on platforms
975         like GNU Hurd that do not define the PATH_MAX macro, and similarly
976         for canonicalize-lgpl.c’s arbitrary 1024-byte limit.  Do this by
977         using scratch buffers.  Lessen the number of differences between
978         the two source files, to simplify this and future maintenance.
979         * lib/canonicalize-lgpl.c (__realpath):
980         * lib/canonicalize.c (canonicalize_filename_mode_stk):
981         Use scratch buffers instead of malloc and malloca.  This avoids
982         the need for alloca, and avoids the need for malloc in most cases.
983         * lib/canonicalize-lgpl.c, lib/canonicalize.c: Make these files
984         easier to compare, e.g., by sorting include files and by switching
985         to the GNU convention of calling file names "file names", not
986         "path names".  Include stdbool.h, scratch_buffer.h.
987         * lib/canonicalize-lgpl.c (IDX_MAX) [_LIBC]: New macro.
988         (malloca) [_LIBC]: Remove.
989         [!_LIBC]: Do not include malloca.h.
990         (get_path_max): New function, so that pathconf is called only in
991         the rare and dubious case when when RESOLVED is not null and
992         PATH_MAX is not defined.  Invoke pathconf on "/" not the input
993         file name, as we care about the longest file name starting from
994         "/" (not from the input file name), and POSIX does not specify
995         what pathconf does on a non-directory file anyway.  If PATH_MAX is
996         not defined, do not worry about overriding a path_max of 0, and do
997         not let path_max exceed IDX_MAX.
998         (__realpath): Remove an assumption that file name components
999         cannot exceed 1024 bytes when PATH_MAX is not defined (wrong for
1000         the Hurd, presumably).
1001         When allocating the result, allocate it to just the right size;
1002         this costs nothing when the result is smaller than 1023 bytes,
1003         and for larger results it's probably worth the CPU to call realloc,
1004         as canonicalize.c already does.
1005         * lib/canonicalize.c: Include attribute.h.
1006         Do not include pathmax.h or xgetcwd.h.
1007         (PATH_MAX): Do not define, so file names longer than 8192 bytes
1008         work on platforms with no fixed limit.
1009         (canonicalize_filename_mode_stk): New function, with
1010         the content of the old canonicalize_filename_mode.
1011         Use getcwd instead of xgetcwd, and readlink instead of areadlink,
1012         since the scratch buffers now do memory management for us.
1013         Use rawmemchr instead of adding strlen.
1014         Use mempcpy instead of mempcpy + size.
1015         Assume free preserves errno.
1016         (canonicalize_filename_mode): Use it.
1017         * modules/canonicalize (Depends-on): Remove areadlink, pathmax,
1018         xgetcwd.  Add attribute, free, getcwd, mempcpy, rawmemchr,
1019         scratch_buffer, stdbool, xalloc-die.
1020         * modules/canonicalize-lgpl (Depends-on): Remove alloca-opt,
1021         malloca, realloc-posix.  Add scratch_buffer, stdbool.
1023         canonicalize-lgpl: simplify merge to glibc
1024         This patch lessens the differences between git glibc
1025         stdlib/canonicalize.c and lib/canonicalize-lgpl.c.
1026         The (perhaps wishful) goal is to make them identical.
1027         * lib/canonicalize-lgpl.c [!_LIBC]:
1028         Include <libc-config.h>, not config.h.
1029         Omit an unnecessary (!HAVE_CANONICALIZE_FILE_NAME ||
1030         !FUNC_REALPATH_WORKS || defined _LIBC) #if.
1031         Do not include alloca.h, since we use malloca now.
1032         [_LIBC]: Include <eloop-threshold.h>, and define dummy macros
1033         FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME, ISSLASH, malloca,
1034         freea so that the mainline code can be kept #ifdef free.
1035         [!_LIBC]: Remove dummy macros for SHLIB_COMPAT, versioned_symbol,
1036         compat_symbol, weak_alias, __set_errno since libc-config.h does that.
1037         Add redirecting macros __mempcpy, __pathconf, __rawmemchr,
1038         __eloop_threshold.  All uses of their definiens changed.
1039         (SIZE_MAX): Remove; no longer needed.
1040         (alloc_failed): Remove, and remove all instances.
1041         No need for alloc_failed now that free preserves errno.
1042         (__realpath): Default path_max to 1024 instead of 8192, as that’s
1043         the glibc tradition and is safer when the 2nd argument is null.
1044         Use __rawmemchr instead of strchr.
1045         Use __mempcpy where appropriate.
1046         Simplify test for overflow so that it does not need SIZE_MAX.
1047         Do not preserve errno around free or freea calls; no longer needed.
1048         Mark __realpath with libc_hidden_def.
1049         * modules/canonicalize-lgpl (Depends-on): Add free, libc-config,
1050         malloc-posix, mempcpy, realloc-posix, rawmemchr.
1051         * modules/free: Now LGPLv2+, for canonicalize-lgpl.
1053         free: preserve errno
1054         * lib/free.c (rpl_free): Preserve errno.  Check for null only if
1055         CANNOT_FREE_NULL is defined, as an optimization for POSIX 2008
1056         platforms that do not preserve errno.
1057         * m4/free.m4 (gl_FUNC_FREE): Check whether free preserves errno.
1058         Also, define CANNOT_FREE_NULL if free cannot free NULL.
1059         * modules/free (configure.ac): Also replace 'free' if
1060         it does not preserve errno.
1062         idx: simplify IDX_MAX, remove IDX_WIDTH
1063         * lib/idx.h (IDX_MAX): Simplify by removing obsolete reference
1064         to UNSIGNED_IDX_T.
1065         (IDX_WIDTH): Remove, since it’s not used and its value
1066         arguably should be PTRDIFF_WIDTH anyway.
1068 2020-12-16  Bruno Haible  <bruno@clisp.org>
1070         posix_spawn_file_actions_addfchdir-tests: Rename test.
1071         * tests/test-posix_spawn-fchdir.c: Renamed from
1072         tests/test-posix_spawn5.c.
1073         * modules/posix_spawn_file_actions_addfchdir-tests (Files, Makefile.am):
1074         Update.
1076         posix_spawn_file_actions_addchdir-tests: Rename test.
1077         * tests/test-posix_spawn-chdir.c: Renamed from
1078         tests/test-posix_spawn4.c.
1079         * modules/posix_spawn_file_actions_addchdir-tests (Files, Makefile.am):
1080         Update.
1082         posix_spawn-tests: Rename test.
1083         * tests/test-posix_spawn-open1.c: Renamed from
1084         tests/test-posix_spawn3.c.
1085         * modules/posix_spawn-tests (Files, Makefile.am): Update.
1087         posix_spawnp-tests: Rename test.
1088         * tests/test-posix_spawn-dup2-stdin.c: Renamed from
1089         tests/test-posix_spawn2.c.
1090         * tests/test-posix_spawn-dup2-stdin.in.sh: Renamed from
1091         tests/test-posix_spawn2.in.sh.
1092         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
1094         posix_spawnp-tests: Rename test.
1095         * tests/test-posix_spawn-dup2-stdout.c: Renamed from
1096         tests/test-posix_spawn1.c.
1097         * tests/test-posix_spawn-dup2-stdout.in.sh: Renamed from
1098         tests/test-posix_spawn1.in.sh.
1099         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
1101 2020-12-14  Bruno Haible  <bruno@clisp.org>
1103         findprog-in: Allow overriding the current directory.
1104         * lib/findprog.h (find_in_given_path): Add directory argument.
1105         * lib/findprog-in.c (find_in_given_path): Likewise.
1106         * lib/execute.c (execute): Update caller.
1107         * lib/spawn-pipe.c (create_pipe): Likewise.
1108         * lib/windows-spawn.c (spawnpvech): Likewise.
1109         * NEWS: Mention the change.
1111 2020-12-14  Bruno Haible  <bruno@clisp.org>
1113         posix_spawn-internal: Make better use of 'const'.
1114         * lib/spawn_int.h (__spawni): Does not need write access to the elements
1115         of argv and envp.
1116         * lib/spawni.c (__spawni, script_execute): Likewise.
1117         * lib/spawn.c (posix_spawn): Update caller.
1118         * lib/spawnp.c (posix_spawnp): Likewise.
1120 2020-12-14  Bruno Haible  <bruno@clisp.org>
1122         spawn: Make it compile on native Windows.
1123         * modules/spawn (Depends-on): Add signal-h.
1125 2020-12-14  Bruno Haible  <bruno@clisp.org>
1127         windows-spawn: Avoid shadowing a variable.
1128         * lib/windows-spawn.c (spawnpvech): Rename local variable 'flags'.
1130 2020-12-13  Paul Eggert  <eggert@cs.ucla.edu>
1132         string: port memchr macro to AIX 7.2 XLC
1133         Its <string.h> defines a memchr macro to help inlining.
1134         * lib/string.in.h (memchr): #undef before #defining.
1136         canonicalize: fix AIX test failures
1137         Problem reported by Bruno Haible in:
1138         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00109.html
1139         * lib/canonicalize.c (canonicalize_filename_mode):
1140         When testing a file name ending in '/', use stat rather than
1141         readlink, so that it does the right thing on AIX.
1142         * modules/canonicalize (Depends-on): Add readlink, to pull in the
1143         recent changes in the Gnulib readlink module.
1145         Assume readlink/readlinkat ERANGE fix
1146         * lib/areadlink-with-size.c (areadlink_with_size):
1147         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
1148         * lib/careadlinkat.c (readlink_stk):
1149         Do not worry about readlink or readlinkat failing with errno == ERANGE,
1150         since the Gnulib readlink and readlinkat modules now fix that.
1152         getcwd: port to AIX
1153         * lib/getcwd.c [!_LIBC]: Undef stat64 before #defining it,
1154         in case our sys/stat.h #defined a function macro with the same name.
1156         readlink, readlinkat: add ERANGE portability
1157         Fix some portability issues with Gnulib's readlink and readlinkat,
1158         notably mostly working around the ERANGE problem in AIX and HP-UX.
1159         * doc/posix-functions/readlink.texi:
1160         * doc/posix-functions/readlinkat.texi:
1161         ERANGE problem is mostly fixed now.  Mention AIX problem with
1162         trailing / and EINVAL.  Lessen differences between these two files.
1163         * lib/readlink.c (rpl_readlink):
1164         * lib/readlinkat.c (rpl_readlinkat):
1165         If stat ("FILE/", ...) reports EOVERFLOW, treat FILE/ as an
1166         existing directory.  Mostly work around READLINK_TRUNCATE BUG.
1167         Lessen spurious differences between the readlink and readlinkat code.
1168         * lib/readlinkat.c (rpl_readlinkat):
1169         Fix bug where stat was used where fstatat was intended.
1170         * m4/readlink.m4 (gl_FUNC_READLINK):
1171         Rename gl_cv_func_readlink_works to gl_cv_func_readlink_trailing_slash
1172         to identify readlink problems more precisely.  All uses changed.
1173         Guess no on AIX or HP-UX for this variable.
1174         Add check for whether readlink truncates results,
1175         and define new macro READLINK_TRUCATE_BUG accordingly.
1176         * m4/readlinkat.m4 (gl_FUNC_READLINKAT):
1177         Also check gl_cv_func_readlink_trailing_slash when deciding
1178         whether to replace readlinkat.
1179         * modules/readlinkat (Depends-on): Most dependencies are also
1180         needed if replacing readlinkat.  fstatat is different, as it
1181         is needed only if replacing an existing readlinkat.
1183 2020-12-13  Bruno Haible  <bruno@clisp.org>
1185         spawn-pipe: Fix hanging processes on Windows (regression 2020-11-30).
1186         * lib/spawn-pipe.c (create_pipe): After spawning the subprocess, close
1187         the stdin_handle and/or stdout_handle.
1189 2020-12-12  Bruno Haible  <bruno@clisp.org>
1191         Fix gnulib-tool error when some modules occur in tests/.
1192         * doc/gnulib.texi (Specification): Update statistics.
1193         (Autoconf macros): Don't suggest to use AC_LIBOBJ in a .m4 file.
1194         (Using AC_LIBOBJ): New section.
1195         * check-AC_LIBOBJ: New file.
1196         * modules/fnmatch-gnu (Files): Add lib/fnmatch.c.
1197         * modules/fopen-gnu (Files): Add lib/fopen.c.
1198         * modules/memmem (Files): Add lib/memmem.c.
1199         * modules/renameat (Files): Add lib/at-func2.c.
1200         * modules/strcasestr (Files): Add lib/strcasestr.c.
1201         * modules/strstr (Files): Add lib/strstr.c.
1203 2020-12-11  Bruno Haible  <bruno@clisp.org>
1205         sh-quote, execute, spawn-pipe, etc.: Make better use of 'const'.
1206         * lib/sh-quote.h (shell_quote_argv): Does not need write access to the
1207         elements of argv.
1208         * lib/sh-quote.c (shell_quote_argv): Likewise.
1209         * lib/windows-spawn.h (prepare_spawn): Add 'const' the argument type and
1210         the return type.
1211         * lib/windows-spawn.c (prepare_spawn): Likewise.
1212         * lib/os2-spawn.h (prepare_spawn): Likewise.
1213         * lib/os2-spawn.c (prepare_spawn): Likewise.
1214         * lib/execute.h (execute): Does not need write access to the elements of
1215         prog_argv.
1216         * lib/execute.c (execute): Likewise.
1217         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
1218         Likewise.
1219         * lib/spawn-pipe.c (create_pipe, create_pipe_bidi, create_pipe_in,
1220         create_pipe_out): Likewise.
1221         * lib/pipe-filter.h (pipe_filter_ii_execute, pipe_filter_gi_create):
1222         Likewise.
1223         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Likewise.
1224         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Likewise.
1225         * lib/javaexec.h (execute_fn): Does not need write access to the
1226         elements of prog_argv.
1227         * lib/javaexec.c (execute_java_class): Update variable types and remove
1228         casts to 'char *'.
1229         * lib/csharpexec.h (execute_fn): Does not need write access to the
1230         elements of prog_argv.
1231         * lib/csharpexec.c (execute_csharp_using_mono,
1232         execute_csharp_using_sscli): Update variable types and remove casts to
1233         'char *'.
1234         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
1235         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
1236         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
1237         is_jikes_present): Update variable types and remove casts to 'char *'.
1238         * lib/javaversion.c (execute_and_read_line): Does not need write access
1239         to the elements of prog_argv.
1240         * lib/csharpcomp.c (compile_csharp_using_mono,
1241         compile_csharp_using_sscli): Update variable types and remove casts to
1242         'char *'.
1243         * tests/test-sh-quote.c (main): Update variable types and remove casts
1244         to 'char *'.
1245         * tests/test-execute-main.c (main): Update variable types and remove
1246         casts to 'char *'.
1247         * tests/test-spawn-pipe-main.c (test_pipe): Update variable types and
1248         remove casts to 'char *'.
1249         * NEWS: Mention the changes.
1251 2020-12-11  Bruno Haible  <bruno@clisp.org>
1253         execute-tests: Fix compilation error with MSVC.
1254         * tests/test-execute-child.c (is_device): With _fstat, use
1255         'struct _stat', not 'struct stat'.
1257 2020-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1259         vararrays: just use 2.70
1260         * m4/vararrays.m4 (AC_C_VARARRAYS): Do not override Autoconf 2.70
1261         and later, since Autoconf 2.70 matches Gnulib now.
1263         sys_types: just use 2.70
1264         * m4/sys_types_h.m4 (AC_HEADER_MAJOR):
1265         Reindent to match Autoconf sources.
1266         Use Autoconf 2.70 as a prerequisite, not 2.69c.
1268         stdint: port to Autoconf 2.70
1269         * m4/stdint.m4 (gl_STDINT_H): Check for inttypes.h and sys/types.h
1270         instead of assuming that AC_INCLUDES_DEFAULT does it.
1271         The old code relied on AC_INCLUDES_DEFAULT being called
1272         and setting ac_cv_header_inttypes_h and ac_cv_header_sys_types_h,
1273         but this does not occur in Autoconf 2.70.
1275         pid_t.m4: just use 2.70
1276         * m4/pid_t.m4 (AC_TYPE_PID_T):
1277         Use Autoconf 2.70 as a prerequisite, not 2.69c.
1279         largefile: just use 2.70
1280         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
1281         Use Autoconf 2.70 as a prerequisite, not 2.69c.
1283         AC_C_RESTRICT: update from Autoconf
1284         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use Autoconf 2.70
1285         as a prerequisite, not 2.69c, since 2.70 is now out.
1286         (AC_C_RESTRICT): Define only for 2.70 or earlier.
1287         Try __restrict__ before __restrict.
1289         extensions: update from Autoconf
1290         * m4/extensions.m4 (AC_CHECK_INCLUDES_DEFAULT):
1291         Provide a default implementation for Autoconf 2.69 or earlier.
1292         (AC_USE_SYSTEM_EXTENSIONS): Copy from Autoconf git.  Define only
1293         if Autoconf 2.70 or earlier, since 2.70.1 or later should be OK.
1295         alloca: update from Autoconf
1296         * m4/alloca.m4 (gl_PREREQ_ALLOCA):
1297         Trivial update to match Autoconf 2.70.
1299 2020-12-11  Bruno Haible  <bruno@clisp.org>
1301         memchr: Work around memory overrun bug on AIX 7.2.
1302         * m4/memchr.m4 (gl_FUNC_MEMCHR): Test against AIX 7.2 bug.
1303         * doc/posix-functions/memchr.texi: Mention the AIX bug.
1305 2020-12-11  Bruno Haible  <bruno@clisp.org>
1307         execute-tests: Fix compilation error on AIX in 32-bit mode.
1308         * tests/test-execute-child.c: In order to get the original definition of
1309         fstat, don't use '#undef fstat' and '#undef stat'. Instead, arrange to
1310         include the system's <sys/stat.h> and use it before including other
1311         header files.
1313 2020-12-10  Bruno Haible  <bruno@clisp.org>
1315         windows-spawn: Relicense under LGPLv2+.
1316         * modules/windows-spawn (License): Change to LGPLv2+.
1318 2020-12-10  Bruno Haible  <bruno@clisp.org>
1320         execute, spawn-pipe: Fix memory leak on native Windows.
1321         * lib/windows-spawn.h (prepare_spawn): Add a second parameter.
1322         * lib/windows-spawn.c: Don't include xalloc.h.
1323         (quoted_arg_length, quoted_arg_string): New functions, extracted from
1324         prepare_spawn.
1325         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
1326         elements of *new_argv together.
1327         * modules/windows-spawn (Depends-on): Remove xalloc. Add malloc-posix.
1328         * lib/os2-spawn.h (prepare_spawn): Add a second parameter.
1329         * lib/os2-spawn.c: Don't include xalloc.h.
1330         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
1331         elements of *new_argv together.
1332         * lib/execute.c: Include xalloc.h.
1333         (execute): Check return value of prepare_spawn. Free the memory
1334         allocated by prepare_spawn.
1335         * modules/execute (Depends-on): Add xalloc-die.
1336         * lib/spawn-pipe.c: Include xalloc.h.
1337         (create_pipe): Check return value of prepare_spawn. Free the memory
1338         allocated by prepare_spawn.
1339         * modules/spawn-pipe (Depends-on): Add xalloc-die.
1341 2020-12-10  Bruno Haible  <bruno@clisp.org>
1343         findprog-in: Relicense under LGPLv2+.
1344         Paul Smith's approval is in
1345         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00072.html>.
1346         * modules/findprog-in (License): Change to LGPLv2+.
1348 2020-12-10  Bruno Haible  <bruno@clisp.org>
1350         findprog-in: Don't exit upon out-of-memory.
1351         * lib/findprog.h (find_in_given_path): Document ENOMEM as possible error
1352         code.
1353         * lib/findprog-in.c: Don't include xalloc.h.
1354         (find_in_given_path): Call concatenated_filename, not
1355         xconcatenated_filename. Call strdup, not xstrdup. Upon out-of-memory,
1356         return NULL with errno set.
1357         * modules/findprog-in (Depends-on): Remove xconcat-filename, xalloc. Add
1358         concat-filename, strdup-posix, malloc-posix.
1360 2020-12-09  Bruno Haible  <bruno@clisp.org>
1362         fmaf: Work around a bug on FreeBSD 12.2/arm.
1363         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Add one more test.
1364         * doc/posix-functions/fmaf.texi: Mention the FreeBSD bug.
1366 2020-12-09  Bruno Haible  <bruno@clisp.org>
1368         threadlib: Fix test-fstrcmp failure on FreeBSD 11.
1369         * m4/threadlib.m4 (gl_THREADLIB_BODY): When weak symbols are not present
1370         on FreeBSD, define PTHREAD_IN_USE_DETECTION_HARD.
1371         * lib/glthread/threadlib.c: Include <errno.h>.
1372         (glthread_in_use): For FreeBSD, provide an alternative implementation
1373         that uses pthread_key_create.
1375 2020-12-09  Bruno Haible  <bruno@clisp.org>
1377         math C++ tests: Fix compilation error in with clang >= 7 on FreeBSD.
1378         * lib/math.in.h (isnan): For clang >= 7 on FreeBSD, declare 'rpl_isnan',
1379         not 'isnan'.
1381 2020-12-08  Bruno Haible  <bruno@clisp.org>
1383         std-gnu11: Make compatible with Autoconf 2.70.
1384         * m4/std-gnu11.m4: Disable the entire file if Autoconf >= 2.70 is in
1385         use.
1387 2020-12-08  Bruno Haible  <bruno@clisp.org>
1389         argp: Avoid undefined behaviour when invoking qsort().
1390         This fixes a test-argp-2.sh test failure on macOS and FreeBSD.
1391         Reported by Jeffrey Walton <noloader@gmail.com> in
1392         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00085.html>.
1393         * lib/argp-help.c (group_cmp): Remove third argument.
1394         (hol_sibling_cluster_cmp, hol_cousin_cluster_cmp): New functions, based
1395         upon hol_cluster_cmp.
1396         (hol_cluster_cmp): Use hol_cousin_cluster_cmp.
1397         (hol_entry_cmp): Rewritten to implement a total order.
1399 2020-12-08  Bruno Haible  <bruno@clisp.org>
1401         argp: Improve comments.
1402         * lib/argp-help.c: Add sectioning comments. Write NULL to designate a
1403         null pointer.
1404         (struct hol_entry): Fix comment regarding sort order of group.
1405         (hol_entry_short_iterate, hol_entry_long_iterate): Add comment.
1406         (until_short, canon_doc_option, hol_entry_qcmp): Improve comment.
1407         (hol_cluster_is_child, argp_hol): Move functions.
1408         (HOL_ENTRY_PTRCMP): Remove unused macro.
1410 2020-12-08  Bruno Haible  <bruno@clisp.org>
1412         argp: Don't pass invalid arguments to isspace() and isalnum().
1413         * lib/argp-help.c (canon_doc_option): Cast character to 'unsigned int'
1414         before passing it to isspace() or isalnum().
1416 2020-12-08  Bruno Haible  <bruno@clisp.org>
1418         argp: Don't rely on undefined behaviour of _tolower().
1419         Patch by Eric Blake
1420         <https://lists.gnu.org/archive/html/bug-gnulib/2009-09/msg00287.html>.
1421         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values that are
1422         not upper-case.  Pass correct range to tolower.
1424 2020-12-07  Bruno Haible  <bruno@clisp.org>
1426         unicodeio: Fix wrong result on FreeBSD.
1427         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
1428         characters on all platforms.
1430 2020-12-07  Bruno Haible  <bruno@clisp.org>
1432         get-rusage-data tests: Avoid test failure on FreeBSD/x86_64.
1433         * tests/test-get-rusage-data.c (main): Don't expect a strict increase on
1434         FreeBSD systems.
1436 2020-12-07  Bruno Haible  <bruno@clisp.org>
1438         get-rusage-data: Fix link error on FreeBSD 12.2/arm64.
1439         * modules/get-rusage-data (configure.ac): Test whether sbrk exists.
1440         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit): Define
1441         trivially of sbrk is not available.
1442         * doc/glibc-functions/sbrk.texi: Mention that the function does not
1443         exist in FreeBSD 12.2/arm64.
1444         * doc/glibc-functions/brk.texi: Likewise.
1446 2020-12-07  Bruno Haible  <bruno@clisp.org>
1448         Correct interaction between gl_ANSI_CXX and AC_PROG_CXX.
1449         Suggested by Zack Weinberg in
1450         <https://savannah.gnu.org/support/?110294>.
1451         * m4/ansi-c++.m4 (gl_ANSI_CXX): Mark AC_PROG_CXX as provided.
1452         * modules/uchar-c++-tests: Revert the workaround from 2020-08-18.
1454 2020-12-07  Bruno Haible  <bruno@clisp.org>
1456         Tweak the Windows oldnames workaround.
1457         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
1458         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00073.html>.
1459         * lib/unistd.in.h: On native Windows, include <io.h> and <direct.h>
1460         always.
1461         (getcwd): Use _GL_CXXALIAS_MDA_CAST.
1462         * lib/stdlib.in.h (putenv): Likewise.
1464 2020-12-06  Paul Eggert  <eggert@cs.ucla.edu>
1466         doc: fix flat address space discussion
1467         * doc/gnulib-readme.texi (Other portability assumptions):
1468         Move the all-bits-zero assumption outside the flat address space
1469         section, since the two issues are independent.
1471         doc: document -static-libubsan more
1472         * doc/gnulib-readme.texi (High Quality): Document pros and cons of
1473         -static-libubsan a bit more.  Mostly cons.
1475 2020-12-06  Bruno Haible  <bruno@clisp.org>
1477         doc: Add more details regarding the undefined behaviour sanitizer.
1478         * doc/gnulib-readme.texi (High Quality): Describe
1479         -fsanitize-undefined-trap-on-error better.
1481 2020-12-06  Bruno Haible  <bruno@clisp.org>
1483         Do the Windows oldnames workaround through the C++ GNULIB_NAMESPACE.
1484         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
1485         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00029.html>.
1486         * lib/c++defs.h (_GL_CXXALIAS_MDA_CAST): New macro.
1487         * lib/fcntl.in.h (creat, open):  In C++ mode, when GNULIB_NAMESPACE is
1488         defined: 1. Define a symbol in this namespace. 2. Don't redirect using
1489         a preprocessor #define.
1490         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
1491         * lib/search.in.h (lfind, lsearch): Likewise.
1492         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
1493         Likewise.
1494         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
1495         * lib/string.in.h (memccpy, strdup): Likewise.
1496         * lib/sys_stat.in.h (chmod, umask): Likewise.
1497         * lib/time.in.h (tzset): Likewise.
1498         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
1499         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
1500         read, rmdir, swab, unlink, write): Likewise.
1501         * lib/utime.in.h (utime): Likewise.
1502         * lib/wchar.in.h (wcsdup): Likewise.
1503         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FCLOSEALL.
1504         (gl_STDIO_H): Set HAVE_DECL_FCLOSEALL.
1505         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FCLOSEALL.
1506         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_ECVT,
1507         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
1508         (gl_STDLIB_H): Set HAVE_DECL_ECVT, HAVE_DECL_FCVT, HAVE_DECL_GCVT.
1509         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_ECVT,
1510         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
1511         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_EXECVPE.
1512         (gl_UNISTD_H): Set HAVE_DECL_EXECVPE.
1513         * modules/unistd (Makefile.am): Substitute HAVE_DECL_EXECVPE.
1514         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCSDUP.
1515         (gl_WCHAR_H): Set HAVE_DECL_WCSDUP.
1516         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCSDUP.
1518 2020-12-06  Bruno Haible  <bruno@clisp.org>
1520         doc: Mention some missing function declarations.
1521         * doc/glibc-functions/execvpe.texi: Mention the missing declaration on
1522         AIX.
1523         * doc/glibc-functions/fcloseall.texi: Mention the missing declaration on
1524         FreeBSD.
1525         * doc/pastposix-functions/ecvt.texi: Mention the missing declaration on
1526         Cygwin.
1527         * doc/pastposix-functions/fcvt.texi: Likewise.
1528         * doc/pastposix-functions/gcvt.texi: Likewise.
1530 2020-12-06  Bruno Haible  <bruno@clisp.org>
1532         doc: Tweak example.
1533         * doc/intprops.texi (Checking Integer Overflow): Use 'printf', not
1534         'print'.
1536 2020-12-06  Bruno Haible  <bruno@clisp.org>
1538         filenamecat-tests: Use idx_t for nonnegative ptrdiff_t variables.
1539         * tests/test-filenamecat.c: Include idx.h.
1540         (main): Mark prefixlen as nonnegative.
1541         * modules/filenamecat-tests (Depends-on): Add idx.
1543 2020-12-06  Bruno Haible  <bruno@clisp.org>
1545         time_rz: Use idx_t for nonnegative ptrdiff_t variables.
1546         * lib/time_rz.c: Include idx.h.
1547         (save_abbr): Mark zone_size as nonnegative.
1548         * modules/time_rz (Depends-on): Add idx.
1550 2020-12-06  Bruno Haible  <bruno@clisp.org>
1552         parse-datetime: Use idx_t for nonnegative ptrdiff_t variables.
1553         * lib/parse-datetime.y: Include idx.h.
1554         (textint): Mark digits as nonnegative.
1555         (parser_control): Mark dates_seen, days_seen, local_zones_seen,
1556         dsts_seen, times_seen, zones_seen as nonnegative.
1557         (lookup_word): Mark wordlen as nonnegative.
1558         (yylex): Mark count as nonnegative.
1559         (parse_datetime2): Mark tzsize as nonnegative.
1560         * modules/parse-datetime (Depends-on): Add idx.
1562 2020-12-06  Bruno Haible  <bruno@clisp.org>
1564         fnmatch: Use idx_t for nonnegative ptrdiff_t variables.
1565         * lib/fnmatch.c: Include idx.h. In glibc, define idx_t directly.
1566         * lib/fnmatch_loop.c (EXT): Mark slen, new_used, plensize as
1567         nonnegative.
1568         * modules/fnmatch (Depends-on): Add idx.
1570 2020-12-06  Bruno Haible  <bruno@clisp.org>
1572         c-stack: Use idx_t for nonnegative ptrdiff_t variables.
1573         * lib/c-stack.c: Include idx.h.
1574         (die): Mark buflen as nonnegative.
1575         * modules/c-stack (Depends-on): Add idx.
1577 2020-12-06  Bruno Haible  <bruno@clisp.org>
1579         backupfile: Use idx_t for nonnegative ptrdiff_t variables.
1580         * lib/backupfile.c: Include idx.h.
1581         (numbered_backup): Mark base_offset as nonnegative.
1582         (backupfile_internal): Likewise.
1583         * modules/backup-rename (Depends-on): Add idx.
1584         * modules/backupfile (Depends-on): Likewise.
1586 2020-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1588         doc: fix curved quotes issue
1589         * doc/gnulib.texi: Set txicodequoteundirected and
1590         txicodequotebacktick so that ` and ' in examples do not generate
1591         curved single quotes that do the wrong thing when cut and pasted.
1593         doc: mention static and dynamic checking
1594         * doc/gnulib-readme.texi (High Quality): Add a bit of advice
1595         for static and dynamic checking.
1597         intprops: Add INT_ADD_OK etc.
1598         * doc/intprops.texi (Checking Integer Overflow): New section.
1599         * lib/intprops.h: From a suggestion by Bruno Haible in:
1600         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00051.html
1601         (SAFE_INT_ADD, SAFE_INT_SUBTRACT, SAFE_INT_MULTIPLY): New macros.
1603         doc: move exotic platfroms to Target Platforms
1604         * doc/gnulib-intro.texi (Supported Platforms)
1605         (Formerly Supported Platforms, Unsupported Platforms):
1606         New subsections, split off from Target Platforms.
1607         (Unsupported Platforms): Move the exotic-platform stuff here ...
1608         * doc/gnulib-readme.texi (Exotic platforms): ... from this removed
1609         section.
1611         doc: mention intptr_t etc. and IBM i
1612         * doc/gnulib-readme.texi (Other portability assumptions):
1613         Mention intptr_t and uintptr_t, and that arithmetic on them
1614         works in the usual way.
1615         (Exotic platforms): New section, containing material from
1616         the old 'Integer Portability' section.  Also mention IBM i.
1617         * doc/intprops.texi (Wraparound Arithmetic):
1618         Say that the macros work on unsigned integers too.
1619         (Integer Portability): Remove.
1621 2020-12-04  Bruno Haible  <bruno@clisp.org>
1623         utime: Fix a test failure on macOS 10.13.
1624         Reported by Martin Storsjö <martin@martin.st> in
1625         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1626         * m4/utime.m4 (gl_FUNC_UTIME): Test whether utime handles trailing
1627         slashes on files.
1628         * lib/utime.c (utime): Add alternative implementation for Unix
1629         platforms.
1630         * modules/utime (Depends-on): Add stat.
1631         * doc/posix-functions/utime.texi: Mention the macOS 10.13 bug.
1632         * doc/posix-functions/lstat.texi: Mention that macOS 10.13 also has the
1633         trailing-slash bug.
1634         * doc/posix-functions/open.texi: Likewise.
1635         * doc/posix-functions/stat.texi: Likewise.
1636         * doc/posix-functions/symlink.texi: Likewise.
1638 2020-12-04  Paul Eggert  <eggert@cs.ucla.edu>
1640         intprops: update doc and mention Unisys
1641         * doc/gnulib-readme.texi (Other portability assumptions):
1642         Also mention ptrdiff_t when talking about widths and overflow.
1643         * doc/intprops.texi (Integer Properties): Summarize new section.
1644         (Arithmetic Type Properties): Document that EXPR_SIGNED no longer
1645         evaluates its argument.
1646         (Integer Bounds): Fix typo.
1647         (Wraparound Arithmetic): Remove obsolete comment about efficiency.
1648         Document that the _WRAPV macros now support pointers to unsigned
1649         integers.
1650         (Integer Range Overflow): Update SEI CERT citation.
1651         (Integer Portability): New subsection, which mentions
1652         the oddball Unisys platforms as non-Gnulib targets.
1654 2020-12-03  Bruno Haible  <bruno@clisp.org>
1656         idx: Clarify that idx_t always behaves like a signed type.
1657         Suggested by Paul Eggert in
1658         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00034.html>.
1659         * lib/idx.h: Clarify that idx_t always behaves like a signed type.
1660         Don't test UNSIGNED_IDX_T.
1662 2020-12-03  Bruno Haible  <bruno@clisp.org>
1664         idx: New module.
1665         * lib/idx.h: New file.
1666         * modules/idx: New file.
1667         * lib/canonicalize-lgpl.c: Include idx.h. Use idx_t instead of
1668         ptrdiff_t.
1669         * lib/canonicalize.c: Likewise.
1670         * modules/canonicalize-lgpl (Depends-on): Add idx.
1671         * modules/canonicalize (Depends-on): Likewise.
1673 2020-12-03  Bruno Haible  <bruno@clisp.org>
1675         fprintf-posix-tests: Avoid a test failure on macOS 10.13.
1676         Reported by Martin Storsjö <martin@martin.st> in
1677         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1678         * tests/test-fprintf-posix3.c: Skip the test on macOS.
1679         (main): Return a different exit code at each point. Allow 100 KB extra
1680         memory consumption.
1681         * tests/test-fprintf-posix3.sh: Update. Remove the "get_rusage_as()
1682         doesn't work" diagnostic.
1684 2020-12-02  Paul Eggert  <eggert@cs.ucla.edu>
1686         canonicalize: refactor can_mode flag
1687         * lib/canonicalize.c (MULTIPLE_BITS_SET): Remove, replacing with ...
1688         (multiple_bits_set): ... this new static function.  Uses changed.
1689         (canonicalize_filename_mode): Refactor for clarity to avoid
1690         modifying the CAN_MODE argument.
1692         canonicalize: prefer signed integer types
1693         * lib/canonicalize.c: Include stddef.h, for ptrdiff_t.
1694         (seen_triple, canonicalize_filename_mode): Prefer signed to
1695         unsigned types where either will do, as they avoid some glitches
1696         in comparisons and can trap on overflow when debugging.
1698         canonicalize: fix most of another EOVERFLOW issue
1699         * lib/canonicalize.c (canonicalize_filename_mode):
1700         Do not call stat if fewer than 20 symlinks have been traversed.
1701         This avoids EOVERFLOW failure in the common case where there
1702         are not that many symlinks, while continuing to catch loops
1703         (or fail due to EOVERFLOW) in the unusual case when there
1704         are many symlinks to traverse.
1706         canonicalize: do not assume symlinks have st_ino
1707         * lib/canonicalize.c (canonicalize_filename_mode):
1708         When checking for loops, use st_dev and st_ino from the parent
1709         directory not from the symlink, as pre-2017 POSIX says these
1710         members are not reliable for symlinks.  Couple this with START
1711         (the remaining file name to be resolved), not NAME (the whole file
1712         name with START as its suffix).
1713         * modules/canonicalize (Depends-on): Depend on stat, not lstat.
1715         canonicalize: fix EOVERFLOW bug
1716         * lib/canonicalize.c (canonicalize_filename_mode):
1717         When testing whether a directory entry is a symbolic link, or a
1718         directory or other, do not use lstat or stat or
1719         areadlink_with_size.  Just use areadlink, as this suffices and it
1720         avoids the EOVERFLOW problem that lstat and stat have.
1721         * modules/canonicalize (Depends-on): Depend on areadlink instead
1722         of areadlink-with-size and stat.
1724         canonicalize-lgpl: fix EOVERFLOW bug
1725         * lib/canonicalize-lgpl.c: Do not include <sys/stat.h>.
1726         (__realpath): Do not use lstat.  Just use readlink, as this
1727         suffices and it avoids the EOVERFLOW problem that lstat has.
1728         * modules/canonicalize-lgpl (Depends-on): Remove lstat, sys_stat.
1730 2020-12-02  Bruno Haible  <bruno@clisp.org>
1732         strsignal-tests: Fix test failure on macOS 10.13.
1733         Reported by Martin Storsjö <martin@martin.st> in
1734         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1735         * tests/test-strsignal.c (ASSERT_DESCRIPTION): Allow the actual result
1736         to be longer than the expected result.
1738 2020-12-02  Bruno Haible  <bruno@clisp.org>
1740         Fix compilation errors in test-math-c++.cc on FreeBSD 12.2/arm64.
1741         * lib/math.in.h (_GL_INCLUDING_MATH_H): New macro, to work around
1742         recursive self-include problem on FreeBSD 12.2 in C++ mode.
1744 2020-12-02  Bruno Haible  <bruno@clisp.org>
1746         spawn-pipe: Allow caller to specify directory for the subprocess.
1747         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
1748         Add directory argument.
1749         * lib/spawn-pipe.c: Include canonicalize.h, filename.h, findprog.h.
1750         (create_pipe): Add directory argument. If specified, resolve the program
1751         file name and make it absolute, first. Pass the directory to spawnpvech
1752         and posix_spawn_file_actions_addchdir.
1753         (create_pipe_bidi, create_pipe_in, create_pipe_out): Add directory
1754         argument.
1755         * modules/spawn-pipe (Depends-on): Add canonicalize, filename,
1756         findprog-in, posix_spawn, posix_spawn_file_actions_addchdir.
1757         * tests/test-spawn-pipe-main.c (test_pipe): Update.
1758         * NEWS: Mention the change.
1759         * lib/csharpcomp.c (compile_csharp_using_mono,
1760         compile_csharp_using_sscli): Update.
1761         * lib/javacomp.c (is_envjavac_gcj, is_envjavac_gcj43, is_gcj_present,
1762         is_gcj_43): Update.
1763         * lib/javaversion.c (execute_and_read_line): Update.
1764         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Update.
1765         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Update.
1767 2020-12-02  Bruno Haible  <bruno@clisp.org>
1769         execute: Allow caller to specify directory for the subprocess.
1770         * lib/execute.h (execute): Add directory argument.
1771         * lib/execute.c: Include canonicalize.h, filename.h, findprog.h.
1772         (execute): Add directory argument. If specified, resolve the program
1773         file name and make it absolute, first. Pass the directory to spawnpvech
1774         and posix_spawn_file_actions_addchdir.
1775         * modules/execute (Depends-on): Add canonicalize, filename, findprog-in,
1776         posix_spawn, posix_spawn_file_actions_addchdir.
1777         * tests/test-execute-main.c: Add test for passing a directory.
1778         * tests/test-execute-child.c: Likewise.
1779         * tests/test-execute.sh: Update.
1780         * modules/execute-tests (Depends-on): Add mkdir.
1781         * NEWS: Mention the change.
1782         * lib/csharpcomp.c (compile_csharp_using_sscli): Update.
1783         * lib/csharpexec.c (execute_csharp_using_mono,
1784         execute_csharp_using_sscli): Update.
1785         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
1786         compile_using_javac, compile_using_jikes, is_javac_present,
1787         is_jikes_present): Update.
1788         * lib/javaexec.c (execute_java_class): Update.
1790 2020-12-01  Bruno Haible  <bruno@clisp.org>
1792         vma-iter: Add support for macOS11/arm64.
1793         Patch suggested by Hill Ma <maahiuzeon@gmail.com> in
1794         <https://gitlab.com/gnu-clisp/clisp/-/issues/27>
1795         and by Martin Storsjö <martin@martin.st> in
1796         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1797         * lib/vma-iter.c (vma_iterate): On arm64, use 64-bit type definitions.
1799 2020-12-01  Bruno Haible  <bruno@clisp.org>
1801         spawn-pipe: Fix handling of OS/2 kLIBC.
1802         Reported by KO Myung-Hun <komh78@gmail.com> in
1803         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00005.html>.
1804         * modules/spawn-pipe (configure.ac): Use the common idiom for
1805         recognizing the OS/2 operating system.
1807 2020-11-30  Bruno Haible  <bruno@clisp.org>
1809         execute: Fix uninitialized use of errno.
1810         * lib/execute.c (execute): Preserve errno across several system calls.
1812 2020-11-30  Bruno Haible  <bruno@clisp.org>
1814         access tests: Fix test failure on native Windows.
1815         * tests/test-access.c (main): Change permissions of f2 file before
1816         attempting to remove it.
1818 2020-11-30  Paul Eggert  <eggert@cs.ucla.edu>
1820         faccessat: link with $(LIB_EACCESS)
1821         * modules/faccessat (Link:): Add $(LIB_EACCESS), since this
1822         module depends on euidaccess.
1824 2020-11-30  Bruno Haible  <bruno@clisp.org>
1826         execute, spawn-pipe: Make multithread-safe on native Windows.
1827         * lib/windows-spawn.h: Include <stdint.h>, <windows.h>.
1828         (dup_safer_noinherit, undup_safer_noinherit): Remove declarations.
1829         (spawnpvech): New declaration.
1830         * lib/windows-spawn.c: Include <stdio.h>, <process.h>, findprog.h.
1831         Don't include <unistd.h>, cloexec.h, error.h, gettext.h.
1832         (_): Remove macro.
1833         (dup_noinherit, fd_safer_noinherit, dup_safer_noinherit,
1834         undup_safer_noinherit): Remove functions.
1835         (spawnpvech): New function.
1836         * modules/windows-spawn (Depends-on): Add findprog-in, stdint. Remove
1837         cloexec, dup2, error, gettext-h.
1838         * lib/execute.c: Include msvc-nothrow.h.
1839         (execute) [WIN32]: Use _get_osfhandle, spawnpvech instead of _spawnvpe.
1840         * lib/spawn-pipe.c: Include msvc-nothrow.h.
1841         (create_pipe) [WIN32]: Use _get_osfhandle, DuplicateHandle, spawnpvech
1842         instead of _spawnvpe.
1843         * modules/execute (Depends-on): Add msvc-nothrow.
1844         * modules/spawn-pipe (Depends-on): Likewise.
1846 2020-11-30  Bruno Haible  <bruno@clisp.org>
1848         execute, spawn-pipe: Improve documentation.
1849         * lib/execute.h: Describe progname, prog_path, prog_argv.
1850         * lib/spawn-pipe.h: Likewise.
1852 2020-11-30  Bruno Haible  <bruno@clisp.org>
1854         execute tests: Add more tests.
1855         * tests/test-execute-main.c: Add tests for reading, writing, isatty on
1856         inherited file descriptors >= 3.
1857         * tests/test-execute-child.c: Likewise.
1858         * tests/test-execute.sh: Update.
1860 2020-11-30  Bruno Haible  <bruno@clisp.org>
1862         havelib: Fix for non-ELF platforms (regression 2019-11-17).
1863         Reported by comex <comexk@gmail.com> in
1864         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00188.html>.
1865         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On non-ELF platforms,
1866         don't expect an ELF header.
1868 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1870         bitset: use integer_length in table implementation
1871         * lib/bitset/table.c (tbitset_list_reverse): Use
1872         BITSET_FOR_EACH_BIT_REVERSE.
1874 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1876         bitset: use integer_length in list implementation
1877         * lib/bitset/list.c (lbitset_list_reverse): Use
1878         BITSET_FOR_EACH_BIT_REVERSE.
1880 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1882         bitset: use integer_length in vector implementation
1883         * lib/bitset/array.c (vbitset_list_reverse): Use
1884         BITSET_FOR_EACH_BIT_REVERSE.
1886 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1888         bitset: use integer_length in array implementation
1889         * modules/bitset (Depends-on): Add integer_length_l.
1890         * lib/bitset/base.h (bitset_fls_, BITSET_FOR_EACH_BIT_REVERSE): New.
1891         * lib/bitset/array.c (abitset_list_reverse): Use it.
1893 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1895         bitset: style: use consistent names
1896         * bitset/list.c (lbitset_list_reverse): Rename 'bcount' as 'bitcnt',
1897         and 'boffset' as 'bitoff', for consistency with the other
1898         implementations.
1899         * bitset/table.c (tbitset_list_reverse): Likewise.
1901 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1903         bitset: style: sort header
1904         * lib/bitset/base.h (bitset_ffs): Rename as...
1905         (bitset_ffs_): this.
1906         (bitset_ffs_, BITSET_FOR_EACH_BIT): Move to better places.
1908 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1910         bitset: tests: check BITSET_FOR_EACH_REVERSE
1911         * tests/test-bitset.c (compare, check_zero, check_one_bit, check_ones):
1912         Check BITSET_FOR_EACH_REVERSE.
1914 2020-11-29  Bruno Haible  <bruno@clisp.org>
1916         spawn-pipe tests: Fix test failure with MSVC.
1917         * tests/test-spawn-pipe-child.c: Include <stdint.h>.
1918         (gl_msvc_invalid_parameter_handler): New function.
1919         (main): Set a global invalid-parameter handler.
1920         * modules/spawn-pipe-tests (Depends-on): Add msvc-inval, stdint.
1922 2020-11-29  Bruno Haible  <bruno@clisp.org>
1924         execute: Add tests.
1925         * tests/test-execute.sh: New file.
1926         * tests/test-execute-main.c: New file.
1927         * tests/test-execute-child.c: New file.
1928         * modules/execute-tests: New file.
1930 2020-11-29  Bruno Haible  <bruno@clisp.org>
1932         fcntl: Work around NetBSD bug with F_DUPFD_CLOEXEC.
1933         * m4/fcntl.m4 (gl_FUNC_FCNTL): Test whether F_DUPFD_CLOEXEC actually
1934         works.
1935         * lib/fcntl.c (rpl_fcntl_DUPFD_CLOEXEC): On NetBSD, use the same
1936         fallback implementation as on Haiku.
1937         * tests/test-fcntl.c (main): Add a test whether F_DUPFD_CLOEXEC is
1938         effective.
1939         * doc/posix-functions/fcntl.texi: Mention the NetBSD bug.
1941 2020-11-29  Bruno Haible  <bruno@clisp.org>
1943         spawn-pipe: Fix build on OS/2 kLIBC (regression 2020-11-28).
1944         * lib/os2-spawn.h: New file, based on lib/windows-spawn.h.
1945         * lib/os2-spawn.c: New file, based on lib/windows-spawn.c.
1946         * lib/spawn-pipe.c: On OS/2 kLIBC, include "os2-spawn.h".
1947         * lib/windows-spawn.c: Remove modifications for kLIBC.
1948         * modules/spawn-pipe (Files): Add the new files.
1949         (configure.ac): Arrange to compile os2-spawn.c on OS/2.
1951 2020-11-28  Bruno Haible  <bruno@clisp.org>
1953         asyncsafe-spin: Fix compilation error with GCC on 32-bit SPARC.
1954         Reported by Paul Eggert in
1955         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00066.html>.
1956         * m4/sparcv8+.m4: New file.
1957         * modules/sparcv8+: New file.
1958         * modules/asyncsafe-spin (Depends-on): Add sparcv8+.
1960 2020-11-28  Bruno Haible  <bruno@clisp.org>
1962         asyncsafe-spin: Fix build error with GCC on 32-bit SPARC.
1963         * lib/asyncsafe-spin.c: Don't use GCC >= 4.1 primitives on SPARC.
1965 2020-11-28  Bruno Haible  <bruno@clisp.org>
1967         windows-spawn: New module.
1968         * lib/windows-spawn.h: Renamed from lib/w32spawn.h. Remove
1969         implementations.
1970         * lib/windows-spawn.c: Renamed from lib/w32spawn.h.
1971         * modules/windows-spawn: New file.
1972         * lib/execute.c: Include "windows-spawn.h" instead of "w32spawn.h".
1973         * lib/spawn-pipe.c: Likewise.
1974         * modules/execute (Files): Remove lib/w32spawn.h.
1975         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
1976         xalloc.
1977         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
1978         * modules/spawn-pipe (Files): Remove lib/w32spawn.h.
1979         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
1980         xalloc.
1981         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
1983 2020-11-27  Bruno Haible  <bruno@clisp.org>
1985         ssfmalloc tests: Port to macOS 11.
1986         * tests/test-ssfmalloc.c (PAGESIZE_MAX): Set to 16384, not 8192.
1988 2020-11-26  Bruno Haible  <bruno@clisp.org>
1990         Fix dependencies of modules that use '_exit' on native Windows.
1991         Reported by Jim Meyering in
1992         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00159.html>.
1993         * modules/_Exit (Depends-on): Add unistd.
1994         * modules/closein (Depends-on): Likewise.
1995         * modules/closeout (Depends-on): Likewise.
1996         * modules/forkpty (Depends-on): Likewise.
1997         * modules/posix_spawn-internal (Depends-on): Likewise.
1998         * modules/savewd (Depends-on): Likewise.
1999         * modules/stat-time-tests (Depends-on): Likewise.
2001 2020-11-26  Bruno Haible  <bruno@clisp.org>
2003         raise-tests: Fix compilation error on MSVC (regression 2020-11-25).
2004         * modules/raise-tests (Depends-on): Add unistd.
2005         * doc/posix-functions/_exit.texi: Mention the 'unistd' module.
2007 2020-11-25  Jim Meyering  <meyering@fb.com>
2009         setlocale-tests: do not trigger gcc's -Wanalyzer-possible-null-argument
2010         * tests/test-setlocale1.c (main): Assert that each strcmp argument is
2011         non-NULL, since we don't bother handing strdup failure.
2013         raise-tests: avoid GCC 11's new exit-from-signal-handler warning
2014         gcc's -Wanalyzer-unsafe-call-within-signal-handler exposed this.
2015         * tests/test-raise.c: Include unistd.h.
2016         (handler): Use _exit, not exit.
2018 2020-11-23  Bruno Haible  <bruno@clisp.org>
2020         Use the correct printf format attribute for mingw.
2021         Reported by Reuben Thomas <rrt@sc3d.org> in
2022         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00133.html>.
2024         * modules/vfprintf-posix (configure.ac): Define GNULIB_VFPRINTF_POSIX.
2025         * modules/vprintf-posix (configure.ac): Define GNULIB_VPRINTF_POSIX.
2027         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD,
2028         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM): New macros.
2029         (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
2030         _GL_ATTRIBUTE_FORMAT_PRINTF. Use _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD.
2031         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use
2032         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM.
2034         * modules/vasnprintf (Depends-on): Add stdio.
2035         * lib/vasnprintf.h: Include <stdio.h>.
2036         (asnprintf, vasnprintf): Use the standard printf format attribute.
2038         * modules/xvasprintf (Depends-on): Add stdio.
2039         * lib/xvasprintf.h: Include <stdio.h>.
2040         (xasprintf, xvasprintf): Use the standard printf format attribute.
2042         * modules/xprintf (Depends-on): List stdio first.
2043         * lib/xprintf.h (xprintf, xvprintf): Use a printf format attribute that
2044         depends on GNULIB_VPRINTF_POSIX.
2045         (xfprintf, xvfprintf): Use a printf format attribute that depends on
2046         GNULIB_VFPRINTF_POSIX.
2048         * modules/c-vasnprintf (Depends-on): Add stdio.
2049         * lib/c-vasnprintf.h: Include <stdio.h>.
2050         (c_vasnprintf): Use the standard printf format attribute.
2052         * modules/c-vasprintf (Depends-on): Add stdio.
2053         * lib/c-vasprintf.h: Include <stdio.h>.
2054         (c_asprintf, c_vasprintf): Use the standard printf format attribute.
2056         * modules/c-vsnprintf (Depends-on): Add stdio.
2057         * lib/c-vsnprintf.h: Include <stdio.h>.
2058         (c_vsnprintf): Use the standard printf format attribute.
2060         * modules/c-snprintf (Depends-on): Add stdio.
2061         * lib/c-snprintf.h: Include <stdio.h>.
2062         (c_snprintf): Use the standard printf format attribute.
2064         * modules/c-xvasprintf (Depends-on): Add stdio.
2065         * lib/c-xvasprintf.h: Include <stdio.h>.
2066         (c_xasprintf, c_xvasprintf): Use the standard printf format attribute.
2068         * modules/error (Depends-on): Depend on stdio always.
2069         * lib/error.h: Include <stdio.h>.
2070         (_GL_ATTRIBUTE_SPEC_PRINTF): Remove macro.
2071         (error, error_at_line): Use a printf format attribute that depends on
2072         GNULIB_VFPRINTF_POSIX.
2073         * lib/error.c (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
2074         _GL_ATTRIBUTE_FORMAT_PRINTF.
2076         * modules/verror (Depends-on): Add stdio.
2077         * lib/verror.h: Include <stdio.h>. Don't include "error.h".
2078         (verror, verror_at_line): Use the standard printf format attribute.
2079         * lib/verror.c: Include "error.h".
2081         * modules/argp (Depends-on): Add stdio.
2082         * lib/argp.h (argp_error, __argp_error, argp_failure, __argp_failure):
2083         Use a printf format attribute that depends on GNULIB_VFPRINTF_POSIX.
2085         * modules/libtextstyle-optional (Depends-on): Add stdio.
2086         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Use the standard
2087         printf format attribute.
2089         * tests/test-nonblocking-misc.h (dbgfprintf): Use the standard printf
2090         format attribute.
2092 2020-11-23  Pádraig Brady  <P@draigBrady.com>
2094         selinux-at, selinux-h: use const correct declarations
2095         * lib/se-selinux.in.h: Use const for "set" functions,
2096         to match current selinux, and support cleaner user code.
2097         * lib/selinux-at.c: Likewise.
2098         * lib/selinux-at.h: Likewise.
2100 2020-11-22  Paul Eggert  <eggert@cs.ucla.edu>
2102         canonicalize-lgpl: fix memory leak
2103         * lib/canonicalize-lgpl.c (__realpath): Fix unlikely memory leak,
2104         which could have occurred if BUF was so large that malloc was
2105         called.  Do this by allocating EXTRA_BUF and BUF at the same time;
2106         this eliminates the need to free BUF separately.
2108 2020-11-22  Bruno Haible  <bruno@clisp.org>
2110         Fix missing module dependencies to 'xalloc' (regression 2020-10-19).
2111         * modules/xvasprintf (Depends-on): Add xalloc.
2112         * modules/pipe-filter-gi (Depends-on): Likewise.
2113         * modules/execute (Depends-on): Likewise, for w32spawn.h.
2114         * modules/spawn-pipe (Depends-on): Likewise.
2116 2020-11-22  Jose E. Marchesi  <jemarch@gnu.org>
2118         bootstrap: add option hooks
2119         * build-aux/bootstrap (bootstrap_print_option_usage_hook): Define.
2120         (bootstrap_option_hook): Likewise.
2121         (usage): Call bootstrap_print_option_usage_hook.
2123 2020-11-22  Bruno Haible  <bruno@clisp.org>
2125         argp: Don't break getprogname on non-glibc systems.
2126         * m4/argp.m4 (gl_ARGP): Don't expect <argp.h> to exist when testing for
2127         program_invocation_name and program_invocation_short_name.
2129 2020-11-22  Bruno Haible  <bruno@clisp.org>
2131         doc: Document <link.h>.
2132         * doc/glibc-headers/link.texi: New file.
2133         * doc/gnulib.texi: Include it.
2135 2020-11-22  Bruno Haible  <bruno@clisp.org>
2137         doc: Add references to the LSB.
2138         * doc/glibc-functions/*.texi: Add references to LSB 5.0.
2139         * doc/posix-functions/*.texi: Likewise.
2141 2020-11-22  Bruno Haible  <bruno@clisp.org>
2143         doc: Fix a makeinfo warning (regression 2020-11-03).
2144         * doc/posix-functions/aligned_alloc.texi: Add missing @item.
2146 2020-11-21  Paul Eggert  <eggert@cs.ucla.edu>
2148         parse-datetime: fix printf format typo
2149         * lib/parse-datetime.y (parse_datetime2): Fix format typo in
2150         previous patch to this file.  Problem reported by Chris Elvidge in
2151         <https://bugs.gnu.org/44763#32>.
2153         setlocale-null-tests: work around GCC bug 44511
2154         * tests/test-setlocale_null-mt-all.c:
2155         * tests/test-setlocale_null-mt-one.c:
2156         Ignore -Wreturn-type, to work around GCC bug 44511.
2158         nl_langinfo-tests: work around GCC bug 44511
2159         * tests/test-nl_langinfo-mt.c: Ignore -Wreturn-type, to work
2160         around a GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44511>.
2161         Problem reported for GNU grep by Andreas Schwab
2162         <https://bugs.gnu.org/44535>.
2164         selinux-h: add stubs for selabel_open etc.
2165         Coreutils with --enable-gcc-warnings does not build on Ubuntu 20.10
2166         because matchpathcon is deprecated in favor of selabel_open etc.,
2167         so this patch adds stubs for these functions.
2168         * lib/se-label.c, lib/se-label.in.h, m4/selinux-label-h.m4: New files.
2169         * lib/se-selinux.in.h (struct selinux_opt): Add incomplete decl,
2170         as it is needed for selabel_open and selinux/selinux.h declares
2171         this type here.
2172         * modules/selinux-h (Files): Add the new files.
2173         (configure.ac): Add gl_HEADERS_SELINUX_LABEL_H.
2174         (lib_SOURCES): Add se-label.in.h, se-label.c.
2175         (BUILT_SOURCES): Add $(SELINUX_LABEL_H).
2176         (selinux/label.h): New rule, mimicking selinux/context.h.
2177         (MOSTLYCLEANFILES): Add selinux/label.h, selinux/label.h-t.
2178         (Include): Add selinux/label.h.
2180 2020-11-21  Bruno Haible  <bruno@clisp.org>
2182         Update after 'test-driver' in Automake changed.
2183         * build-aux/test-driver.diff: Rebase.
2185 2020-11-21  Daiki Ueno  <ueno@gnu.org>
2187         read-file: remove dead assignment
2188         * lib/read-file.c (fread_file): Remove dead assignment when
2189         RF_SENSITIVE is set, flagged by clang-analyzer.
2191 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2193         bitset: tests: exercise the stats too
2195         * tests/test-bitset.c: Display the stats at the end of the test.
2196         * lib/bitset/stats.c (bitset_log_histogram_print): When diplaying the
2197         last bin, display "256-..." rather that "256-511", since the last bin
2198         does count item greater than or equal to 256.
2200 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2202         bitset: tests: try harder to break it
2203         * tests/test-bitset.c (compare): Be ready to use bitsets larger than
2204         BITSET_LIST_SIZE.
2205         (main): Likewise.
2206         While at it, also exercise super small bitsets.
2208 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2210         bitset: use ffs where possible in the vector implementation
2211         * lib/bitset/vector.c (vbitset_list): Use BITSET_FOR_EACH_BIT.
2213 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2215         bitset: use ffs where possible in the table implementation
2216         * lib/bitset/table.c (tbitset_list): Use BITSET_FOR_EACH_BIT.
2218 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2220         bitset: check empty and full bitsets
2221         * tests/test-bitset.c (check_zero, check_ones): New.
2222         (check_attributes): Use them.
2224 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2226         bitset: be sure to always return a value
2227         * lib/bitset/array.c (abitset_small_list): Always update *next and
2228         return a value.
2230 2020-11-19  Siddhesh Poyarekar  <siddhesh@gotplt.org>
2232         vcs-to-changelog: Expect spaces in file names
2233         Reported by Thierry Bothorel <thierry.bothorel@zaclys.net> in
2234         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00040.html>,
2235         * build-aux/vcstocl/vcs_git.py (exec_git_cmd): Do not transform
2236         tabs to spaces.
2237         (list_changes): Use tabs to identify file names.
2239 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2241         bitset: strengthen tests
2242         * tests/test-bitset.c (compare): Also check count.
2243         Deal only with random values, move the one-bit tests to...
2244         (check_one_bit): this new function.
2245         (check_attributes): Call it.
2247 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2249         bitset: fix iteration over table bitsets
2250         * lib/bitset/table.c (tbitset_list): Update bitno when windex is.
2252 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2254         bitset: rename internal details for consistency
2255         * lib/bitset/table.c: Rename all the EBITSET_ symbols as TBITSET_.
2257 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2259         bitset: test: run deterministic tests on several bitset sizes
2260         * tests/test-bitset.c (check_attributes): Run it with small and large
2261         sizes.
2263 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2265         bitset: use ffs where possible in the list implementation
2266         * lib/bitset/list.c (lbitset_list): Use BITSET_FOR_EACH_BIT.
2268 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2270         bitset: use ffs where possible in array implementation
2271         * lib/bitset/array.c (abitset_small_list): Use BITSET_FOR_EACH_BIT.
2273 2020-11-17  Bruno Haible  <bruno@clisp.org>
2275         posixcheck: Don't enable GNULIB_POSIXCHECK in C++ mode.
2276         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
2277         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
2278         * m4/posixcheck.m4 (gl_POSIXCHECK): Don't define GNULIB_POSIXCHECK in
2279         C++ mode.
2281 2020-11-17  Bruno Haible  <bruno@clisp.org>
2283         Fix error when GNULIB_POSIXCHECK is enabled (regression 2019-06-04).
2284         * lib/unistd.in.h (copy_file_range): Don't assume that copy_file_range
2285         is always declared.
2286         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether copy_file_range is
2287         declared.
2289 2020-11-17  Bruno Haible  <bruno@clisp.org>
2291         Fix link errors on AIX.
2292         * modules/clean-temp (Link): Link with $(LIBTHREAD).
2293         * modules/getumask (Link): Link with $(LIBTHREAD).
2294         * modules/getumask-tests (Makefile.am): Link test-getumask with
2295         $(LIBTHREAD).
2296         * modules/supersede (Link): Link with $(LIBTHREAD).
2297         * modules/supersede-tests (Makefile.am): Link test-supersede with
2298         $(LIBTHREAD).
2299         * modules/fatal-signal (Link): New section.
2300         * modules/execute (Link): New section.
2301         * modules/csharpexec (Link): Link with $(LIBTHREAD).
2302         * modules/javaexec (Link): Link with $(LIBTHREAD).
2303         * modules/spawn-pipe (Link): New section.
2304         * modules/spawn-pipe-tests (Makefile.am): Link test-spawn-pipe-main with
2305         $(LIBTHREAD).
2306         * modules/csharpcomp (Link): Link with $(LIBTHREAD).
2307         * modules/javacomp (Link): Link with $(LIBTHREAD).
2308         * modules/javaversion (Link): Link with $(LIBTHREAD).
2309         * modules/pipe-filter-gi (Link): New section.
2310         * modules/pipe-filter-gi-tests (Makefile.am): Link test-pipe-filter-gi1,
2311         test-pipe-filter-gi2-main with $(LIBTHREAD).
2312         * modules/pipe-filter-ii (Link): New section.
2313         * modules/pipe-filter-ii-tests (Makefile.am): Link test-pipe-filter-ii1,
2314         test-pipe-filter-ii2-main with $(LIBTHREAD).
2315         * modules/term-style-control (Link): New section.
2316         * modules/term-style-control-tests (Makefile.am): Link
2317         test-term-style-control-hello, test-term-style-control-yes with
2318         $(LIBTHREAD).
2319         * modules/wait-process (Link): New section.
2320         * modules/nonblocking-pipe-tests (Makefile.am): Link
2321         test-nonblocking-pipe-main with $(LIBTHREAD).
2322         * modules/nonblocking-socket-tests (Makefile.am): Link
2323         test-nonblocking-socket-main with $(LIBTHREAD).
2325 2020-11-16  Bruno Haible  <bruno@clisp.org>
2327         Fix link errors on platforms with libunistring.
2328         * modules/c32isalnum (Link): New section.
2329         * modules/c32isalnum-tests (Makefile.am): Link test-c32isalnum with
2330         $(LIBUNISTRING).
2331         * modules/c32isalpha (Link): New section.
2332         * modules/c32isalpha-tests (Makefile.am): Link test-c32isalpha with
2333         $(LIBUNISTRING).
2334         * modules/c32isblank (Link): New section.
2335         * modules/c32isblank-tests (Makefile.am): Link test-c32isblank with
2336         $(LIBUNISTRING).
2337         * modules/c32iscntrl (Link): New section.
2338         * modules/c32iscntrl-tests (Makefile.am): Link test-c32iscntrl with
2339         $(LIBUNISTRING).
2340         * modules/c32isdigit (Link): New section.
2341         * modules/c32isdigit-tests (Makefile.am): Link test-c32isdigit with
2342         $(LIBUNISTRING).
2343         * modules/c32isgraph (Link): New section.
2344         * modules/c32isgraph-tests (Makefile.am): Link test-c32isgraph with
2345         $(LIBUNISTRING).
2346         * modules/c32islower (Link): New section.
2347         * modules/c32islower-tests (Makefile.am): Link test-c32islower with
2348         $(LIBUNISTRING).
2349         * modules/c32isprint (Link): New section.
2350         * modules/c32isprint-tests (Makefile.am): Link test-c32isprint with
2351         $(LIBUNISTRING).
2352         * modules/c32ispunct (Link): New section.
2353         * modules/c32ispunct-tests (Makefile.am): Link test-c32ispunct with
2354         $(LIBUNISTRING).
2355         * modules/c32isspace (Link): New section.
2356         * modules/c32isspace-tests (Makefile.am): Link test-c32isspace with
2357         $(LIBUNISTRING).
2358         * modules/c32isupper (Link): New section.
2359         * modules/c32isupper-tests (Makefile.am): Link test-c32isupper with
2360         $(LIBUNISTRING).
2361         * modules/c32isxdigit (Link): New section.
2362         * modules/c32isxdigit-tests (Makefile.am): Link test-c32isxdigit with
2363         $(LIBUNISTRING).
2364         * modules/unicodeio (Link): Mention $(LIBUNISTRING).
2365         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
2366         $(LIBUNISTRING).
2368 2020-11-16  Bruno Haible  <bruno@clisp.org>
2370         Fix link errors on platforms with libintl (e.g. Solaris and AIX).
2371         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
2372         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
2373         * modules/getumask-tests (Makefile.am): Link test-getumask with
2374         $(LIBINTL).
2375         * modules/stack-tests (Makefile.am): Link test-stack with $(LIBINTL).
2376         * modules/supersede-tests (Makefile.am): Link test-supersede with
2377         $(LIBINTL).
2378         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
2379         $(LIBINTL).
2381 2020-11-16  Bruno Haible  <bruno@clisp.org>
2383         getumask: Document link dependencies.
2384         * modules/getumask (Link): New section.
2386 2020-11-16  Bruno Haible  <bruno@clisp.org>
2388         Update link dependencies in modules after 2020-09-09 change.
2389         * modules/tempname (Link): Add $(LIB_CLOCK_GETTIME).
2390         * modules/mkdtemp (Link): Likewise.
2391         * modules/mkostemp (Link): Likewise.
2392         * modules/mkostemps (Link): Likewise.
2393         * modules/mkstemp (Link): Likewise.
2394         * modules/mkstemps (Link): Likewise.
2395         * modules/supersede (Link): Likewise.
2396         * modules/tmpfile (Link): Likewise.
2397         * modules/tmpfile-safer (Link): Likewise.
2399 2020-11-15  Paul Eggert  <eggert@cs.ucla.edu>
2401         getumask-tests: port to Solaris 10 etc.
2402         Problem reported by Tom Christensen in:
2403         https://lists.gnu.org/r/bug-gnulib/2020-11/msg00062.html
2404         * modules/getumask-tests (test_getumask_LDADD):
2405         Add $(LIB_CLOCK_GETTIME).
2407 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2409         bitset: use ffsl to accelerate iterations over set bits
2410         Suggested by Bruno Haible.
2411         * modules/bitset: Depend upon ffsl.
2412         * lib/bitset/base.h (bitset_ffs, BITSET_FOR_EACH_BIT): New.
2413         * lib/bitset/array.c (abitset_list): Use BITSET_FOR_EACH_BIT.
2415 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2417         bitset: more tests
2418         * tests/test-bitset.c (compare): Make it clear that the random values
2419         should not be modified.
2420         Check bitset_first, bitset_last and BITSET_FOR_EACH.
2422 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2424         bitset: fix the copy from lbitset to other types
2425         * lib/bitset/list.c (lbitset_copy): Rename as...
2426         (lbitset_copy_): this.
2427         (lbitset_copy): New.
2428         Dispatch to heterogeneous/homogeneous copy.
2430 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2432         bitset: making debug traces more useful
2433         * lib/bitset.c (bitset_print): Print the bitset type in verbose mode.
2435         bitset: comment changes
2436         * lib/bitset.c: Move some documenting comments to...
2437         * lib/bitset.h: here.
2438         * lib/bitset/array.c: Fix some comments.
2440 2020-11-14  Paul Eggert  <eggert@cs.ucla.edu>
2442         careadlinkat: warn better about GCC bug 93644
2443         * lib/careadlinkat.c (readlink_stk): When --enable-gcc-warnings is
2444         not in effect, use "#warning" to let builders know more clearly
2445         about GCC bug 93644, because the bug triggers even if no -W option
2446         is given to GCC.
2448 2020-11-13  Jim Meyering  <meyering@fb.com>
2450         hard-locale-tests: avoid a -Wstrict-prototypes warning
2451         * tests/locale.c (main): Placate gcc's -Wstrict-prototypes by
2452         changing "main ()" to "main (void)". This was the only case that
2453         triggered a warning when building grep with --enable-gcc-warnings.
2455 2020-11-11  Paul Eggert  <eggert@cs.ucla.edu>
2457         time_rz: simplify CVE-2017-7476 fix
2458         * lib/time_rz.c: Do not include limits.h; I think it was included
2459         under the mistaken impression that limits.h defines SIZE_MAX.
2460         (SIZE_MAX): Remove.
2461         (save_abbr): Put string length into a ptrdiff_t variable,
2462         so that the size comparison works naturally.  This
2463         fixes CVE-2017-7476 in a cleaner way.
2465         parse-datetime: streamline overflow checking
2466         When parse-datetime.y’s overflow code was written, INT_ADD_WRAPV
2467         did not work for unsigned destinations, and since time_t might
2468         be unsigned that meant it did not work for time_t destinations.
2469         This limitation of INT_ADD_WRAPV has been fixed, so we can
2470         now streamline parse-datetime.y a bit.
2471         * lib/parse-datetime.y: Do not include limits.h, as LONG_MAX
2472         has not been used for a while.
2473         (yylex, parse_datetime2): Assume C99 declarations after statements.
2474         (yyles): Use INT_SUBTRACT_WRAPV instead of an explicit comparison
2475         to TYPE_MINIMUM.
2476         (parse_datetime2): No need for time_overflow now that
2477         INT_ADD_WRAPV works for unsigned results.
2479         parse-datetime-tests: port to Alpine Linux 3.12.1
2480         * tests/test-parse-datetime.c: Include errno.h for errno,
2481         and unistd.h for _SC_TZNAME_MAX and sysconf.
2482         (main): In the outlandishly-long time zone abbreviation test,
2483         do not exceed TZNAME_MAX as this has undefined behavior,
2484         and on Alpine Linux 3.12.1 it makes the test fail.
2486 2020-11-09  Pádraig Brady  <P@draigBrady.com>
2488         mgetgroups: avoid warning with clang
2489         * lib/mgetgroups.c: Xcode-12.1 identifies as GCC 4.2.1,
2490         so disable -Wpointer-sign for all clang versions.
2492 2020-11-07  Bruno Haible  <bruno@clisp.org>
2494         gnulib-tool: Fix link error with 'version-etc' (regression 2020-05-29).
2495         Reported by Simon Josefsson in
2496         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00032.html>.
2497         * gnulib-tool (func_emit_tests_Makefile_am): Add libtests.a to
2498         LDADD a third time, after the second occurrence of ../lib/libgnu.a.
2499         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
2501 2020-11-04  Paul Eggert  <eggert@cs.ucla.edu>
2503         tests: pacify Sun C 5.9
2504         Without these changes, Sun C 5.9 (2009/11/22) issues complaints like
2505         “"test-nl_langinfo-mt.c", line 75: warning: statement not reached”.
2506         * tests/test-nl_langinfo-mt.c (thread1_func, thread2_func)
2507         (thread3_func, thread4_func, thread5_func, thread6_func, threadN_func):
2508         * tests/test-setlocale_null-mt-all.c (thread1_func, thread2_func):
2509         * tests/test-setlocale_null-mt-one.c (thread1_func, thread2_func):
2510         Remove unreachable ‘return NULL;’s.
2512         tests: port better to XLC 12.01
2513         * tests/test-argmatch.c (CHECK): Do not use -1 as a subscript,
2514         even in code that is not executed, as IBM XLC 12.01 complains "The
2515         subscript -1 is less than zero."
2516         * tests/test-stdint.c (verify_width): Pass an (unused) 3rd
2517         argument to _GL_VERIFY, as ISO C requires.  Otherwise, IBM XLC
2518         12.01 complains "The invocation of macro _GL_VERIFY contains fewer
2519         arguments than are required by the macro definition."
2521 2020-11-03  Bruno Haible  <bruno@clisp.org>
2523         aligned-malloc: Use fixes from the new modules.
2524         * modules/aligned-malloc (Depends-on): Add posix_memalign,
2525         aligned_alloc, memalign.
2526         (configure.ac): Use AC_CHECK_FUNCS_ONCE.
2528 2020-11-03  Bruno Haible  <bruno@clisp.org>
2530         aligned_alloc: Add tests.
2531         * tests/test-aligned_alloc.c: New file.
2532         * modules/aligned_alloc-tests: New file.
2534         aligned_alloc: New module.
2535         * lib/stdlib.in.h (aligned_alloc): New declaration.
2536         * lib/aligned_alloc.c: New file.
2537         * m4/aligned_alloc.m4: New file.
2538         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether aligned_alloc is declared.
2539         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ALIGNED_ALLOC,
2540         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
2541         * modules/stdlib (Makefile.am): Substitute GNULIB_ALIGNED_ALLOC,
2542         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
2543         * modules/aligned_alloc: New file.
2544         * tests/test-stdlib-c++.cc (aligned_alloc): Check signature.
2545         * doc/posix-functions/aligned_alloc.texi: Mention the new module and the
2546         AIX bug.
2548 2020-11-03  Bruno Haible  <bruno@clisp.org>
2550         posix_memalign: Add tests.
2551         * tests/test-posix_memalign.c: New file.
2552         * modules/posix_memalign-tests: New file.
2554         posix_memalign: New module.
2555         * lib/stdlib.in.h (posix_memalign): New declaration.
2556         * lib/posix_memalign.c: New file.
2557         * m4/posix_memalign.m4: New file.
2558         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether posix_memalign is declared.
2559         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_POSIX_MEMALIGN,
2560         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
2561         * modules/stdlib (Makefile.am): Substitute GNULIB_POSIX_MEMALIGN,
2562         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
2563         * modules/posix_memalign: New file.
2564         * tests/test-stdlib-c++.cc (posix_memalign): Check signature.
2565         * doc/posix-functions/posix_memalign.texi: Mention the new module and
2566         the OpenBSD bug.
2568 2020-11-03  Bruno Haible  <bruno@clisp.org>
2570         memalign: Add tests.
2571         * tests/test-memalign.c: New file.
2572         * modules/memalign-tests: New file.
2574         memalign: New module.
2575         * modules/memalign: New file.
2576         * doc/glibc-functions/memalign.texi: Mention the new module.
2578 2020-11-03  Bruno Haible  <bruno@clisp.org>
2580         verify tests: Fix crash with GCC (regression 2020-11-02).
2581         * tests/test-verify.c (main): Fix initializer of s.
2583 2020-11-03  Pádraig Brady  <P@draigBrady.com>
2585         mountlist: recognize more file system types as remote
2587         * lib/mountlist.c (ME_REMOTE): Sync previously unconsidered
2588         "remote" file systems from stat.c in coreutils.
2590 2020-11-02  Bernhard Voelker  <mail@bernhard-voelker.de>
2592         verify tests: Fix -Wuninitialized warning (regression 2020-10-30).
2593         * tests/test-verify.c (main): Initialize state variable.
2594         Reported by Bruno Haible for GCC 5.4.0.
2596 2020-11-02  Paul Eggert  <eggert@cs.ucla.edu>
2598         dfa.h: support inclusion from C++
2599         * lib/dfa.h: Allow multiple inclusion, and inclusion from
2600         C++ code.  The latter was suggested by Arnold Robbins.
2602 2020-11-01  Bruno Haible  <bruno@clisp.org>
2604         ssfmalloc tests: Portability to Linux/PowerPC and Linux/SPARC.
2605         * tests/test-ssfmalloc.c: Include <limits.h>.
2606         (PAGESIZE_MAX): Set to 65536 on Linux/PowerPC.
2608 2020-11-01  Bruno Haible  <bruno@clisp.org>
2610         verify tests: Fix compilation error with MSVC (regression 2020-10-30).
2611         * tests/test-verify.c (test_assume_noreturn): Fix declaration.
2613 2020-11-01  Jim Meyering  <meyering@fb.com>
2615         dfa-tests: test for today's invalid-merge fix
2616         * tests/test-dfa-invalid-merge.sh: New file.
2617         * modules/dfa-tests (Files): Add it.
2618         (TESTS): Add it.
2620 2020-11-01  Norihiro Tanaka  <noritnk@kcn.ne.jp>
2622         dfa: retain sequences of similar nodes in optimization
2623         DFA was merging similar nodes when it should not.  For example,
2624         it would convert a+a+a to a+a.  Now, a sequence of similar nodes
2625         is not merged.  Problem reported by Gonzalo Padrino in
2626         https://bugs.gnu.org/44351
2627         * lib/dfa.c (merge_nfa_state): Skip the follow for repetition in
2628         optimization.
2630 2020-11-01  Jim Meyering  <meyering@fb.com>
2632         test-dfa-match-aux.c: accept EREs, not BREs
2633         * tests/test-dfa-match-aux.c (main): Specify RE_SYNTAX_EGREP, not
2634         RE_SYNTAX_GREP, so tests can use ERE syntax rather than BRE.
2636 2020-10-30  Bernhard Voelker  <mail@bernhard-voelker.de>
2638         verify tests: avoid -Wmissing-declarations warnings
2639         * tests/test-verify.c (test_assume_expressions): Add declaration.
2640         (test_assume_optimization): Likewise.
2641         (test_assume_noreturn): Likewise.
2642         (main): Move down after all other definitions.  While at it, also
2643         call test_assume_expressions and test_assume_optimization as a
2644         runtime check.
2646 2020-10-26  Paul Eggert  <eggert@cs.ucla.edu>
2648         sys_stat: update comments for S_IRWXUGO, S_IXUGO
2649         * lib/sys_stat.in.h (S_IXUGO, S_IRWXUGO): Update comments.
2650         Perhaps these macros should be removed, as they’re not in either
2651         POSIX or GNU.  They could be moved to stat-macros.h, which would
2652         be cleaner in some sense.
2654 2020-10-25  Bruno Haible  <bruno@clisp.org>
2656         ssfmalloc tests: Small tweaks.
2657         * tests/test-ssfmalloc.c: Add comments.
2658         (alloc_pages): Don't require PROT_EXEC bits.
2659         (block_sizes): Add more small sizes, for better coverage of
2660         ssfmalloc-bitmap.h.
2662         ssfmalloc tests: Portability to Minix.
2663         * modules/ssfmalloc-tests (Files): Add m4/mmap-anon.m4.
2664         (configure.ac): Invoke gl_FUNC_MMAP_ANON.
2665         * m4/mmap-anon.m4: Update comment.
2667         ssfmalloc: Portability to AIX.
2668         * modules/ssfmalloc (Include): Add ssfmalloc.h.
2669         (Link): New section.
2670         * modules/ssfmalloc-tests (Makefile.am): Link test-ssfmalloc with
2671         $(LIBTHREAD).
2673         ssfmalloc: Portability to Cygwin.
2674         * lib/ssfmalloc.h: Add parameter PAGESIZE_MAX.
2675         (pg_offset_t): Define depending on PAGESIZE_MAX.
2676         * tests/test-ssfmalloc.c: Undefine PAGESIZE.
2677         (PAGESIZE_MAX): New macro.
2679         ssfmalloc: Fix buffer overrun in bitmap search.
2680         * lib/ssfmalloc-bitmap.h (find_first_packet_set): Don't access the
2681         word *words_end.
2683 2020-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2685         doc: mention ‘restrict’ and C++
2686         * doc/gnulib-readme.texi (C99 features assumed): Document
2687         that ‘restrict’ should be avoided in C++ code.
2689 2020-10-20  Bernhard Voelker  <mail@bernhard-voelker.de>
2691         selinux-at, selinux-h: port to SELinux 3.1
2692         The new release finally deprecated the typedef 'security_context_t',
2693         see <https://github.com/SELinuxProject/selinux/commit/7a124ca275>.
2694         Use the simpler 'char *' instead.
2695         * lib/getfilecon.c (getfilecon): Adjust type of context parameter.
2696         (lgetfilecon): Likewise.
2697         (fgetfilecon): Likewise.
2698         (map_to_failure): Likewise.
2699         (rpl_getfilecon): Likewise.
2700         (rpl_lgetfilecon): Likewise.
2701         (rpl_fgetfilecon): Likewise.
2702         * lib/se-selinux.in.h (security_context_t): Remove typedef.
2703         (getcon): Adjust type of context parameter.
2704         (freecon): Likewise.
2705         (getfscreatecon): Likewise.
2706         (setfscreatecon): Likewise.
2707         (matchpathcon): Likewise.
2708         (getfilecon): Likewise.
2709         (lgetfilecon): Likewise.
2710         (fgetfilecon): Likewise.
2711         (setfilecon): Likewise.
2712         (lsetfilecon): Likewise.
2713         (fsetfilecon): Likewise.
2714         (security_check_context): Likewise.
2715         (security_check_context_raw): Likewise.
2716         (setexeccon): Likewise.
2717         (security_compute_create): Likewise.
2718         * lib/selinux-at.c (getfileconat): Likewise.
2719         (lgetfileconat): Likewise.
2720         (setfileconat): Likewise.
2721         (lsetfileconat): Likewise.
2722         * lib/selinux-at.h: Likewise.
2724 2020-10-19  Bruno Haible  <bruno@clisp.org>
2726         xalloc-die: Fix link error with Solaris cc (regression 2020-07-27).
2727         * lib/xalloc.h (xalloc_die): Don't declare if GNULIB_XALLOC_DIE is 0.
2728         (xmalloc, xzalloc, xcalloc, xrealloc, x2realloc, xmemdup, xstrdup,
2729         XMALLOC, XNMALLOC, XZALLOC, XCALLOC, xnmalloc, xnrealloc, x2nrealloc,
2730         xcharalloc): Don't declare/define if GNULIB_XALLOC is 0.
2731         * modules/xalloc (configure.ac): Define GNULIB_XALLOC.
2732         * modules/xalloc-die (configure.ac): Define GNULIB_XALLOC_DIE.
2734 2020-10-18  Bruno Haible  <bruno@clisp.org>
2736         ssfmalloc: Add tests.
2737         * tests/test-ssfmalloc.c: New file.
2738         * modules/ssfmalloc-tests: New file.
2740         ssfmalloc: New module.
2741         * lib/ssfmalloc.h: New file.
2742         * lib/ssfmalloc-bitmap.h: New file.
2743         * modules/ssfmalloc: New file.
2745 2020-10-18  Bruno Haible  <bruno@clisp.org>
2747         wchar: Fix configure test result on some versions of AIX.
2748         Reported by Clément Chigot <clement.chigot@atos.net> in
2749         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00115.html>.
2750         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Execute the test only on glibc
2751         systems.
2753 2020-10-18  Bruno Haible  <bruno@clisp.org>
2755         time: Fix warning about asctime when asctime is not used.
2756         * lib/time.in.h (asctime_r, ctime, ctime_r): Fix _GL_WARN_ON_USE
2757         invocation.
2759 2020-10-18  Bruno Haible  <bruno@clisp.org>
2761         *-list, *-oset, *-omap: Avoid a GCC warning (regression 2020-10-10).
2762         * lib/gl_anylinked_list2.h (gl_linked_iterator_free): Remove
2763         '_GL_ATTRIBUTE_CONST'.
2764         * lib/gl_anytree_list2.h (gl_tree_iterator_free): Likewise.
2765         * lib/gl_anytree_omap.h (gl_tree_iterator_free): Likewise.
2766         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
2767         * lib/gl_array_list.c (gl_array_iterator_free): Likewise.
2768         * lib/gl_array_omap.c (gl_array_iterator_free): Likewise.
2769         * lib/gl_array_oset.c (gl_array_iterator_free): Likewise.
2770         * lib/gl_carray_list.c (gl_carray_iterator_free): Likewise.
2772 2020-10-18  Bruno Haible  <bruno@clisp.org>
2774         obstack: Fix a clang warning.
2775         * lib/obstack.c (print_and_abort): Mark as __attribute_noreturn__.
2777 2020-10-16  Bruno Haible  <bruno@clisp.org>
2779         hash: Rename hash_delete to hash_remove.
2780         * lib/hash.h (hash_remove): Renamed from hash_delete.
2781         (hash_delete): New declaration.
2782         * lib/hash.c (hash_remove): Renamed from hash_delete.
2783         (hash_delete): New function.
2784         * tests/test-hash.c (main): Update.
2785         * lib/fts-cycle.c (leave_dir): Likewise.
2786         * NEWS: Mention the change.
2788 2020-10-16  Bruno Haible  <bruno@clisp.org>
2790         hash, xhash: Make usable from C++.
2791         * lib/hash.h: Add extern "C".
2793 2020-10-16  Bruno Haible  <bruno@clisp.org>
2795         hash, xhash: Move comments to the .h file.
2796         * lib/hash.c: Move comments meant for the user from here...
2797         * lib/xhash.c: ... and here...
2798         * lib/hash.h: ... to here.
2800 2020-10-13  Philipp Klaus Krause  <pkk@spth.de>  (tiny change)
2802         Don't declare an intention to modify the return value of strerror.
2803         * tests/test-perror2.c (main): Assign the return value of strerror to a
2804         'const char *' variable.
2806 2020-10-11  Bruno Haible  <bruno@clisp.org>
2808         *printf: Avoid "expanded before it was required" warning.
2809         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99): Define through
2810         AC_DEFUN_ONCE.
2812 2020-10-11  Benji Wiebe  <benjiwiebe14@gmail.com>
2814         getprogname: Add support for OpenServer 6 and UnixWare 7.
2815         * lib/getprogname.c: Include <fcntl.h>, <stdlib.h>, <string.h>.
2816         (getprogname): On OpenServer6 and UnixWare, read /proc/<pid>/cmdline.
2818 2020-10-11  Bruno Haible  <bruno@clisp.org>
2820         tests: Avoid a name clash on UnixWare.
2821         Reported by Tim Rice <tim@multitalents.net> in
2822         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00025.html>.
2823         * tests/nap.h (nap): Define as gl_nap on OpenServer and UnixWare.
2825 2020-10-11  Bruno Haible  <bruno@clisp.org>
2827         stdioext: Update comments regarding UnixWare.
2828         Reported by Tim Rice <tim@multitalents.net> in
2829         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
2830         * lib/fbufmode.c: Update comments.
2831         * lib/fflush.c: Likewise.
2832         * lib/fpending.c: Likewise.
2833         * lib/fpurge.c: Likewise.
2834         * lib/freadable.h: Likewise.
2835         * lib/freadable.c: Likewise.
2836         * lib/freadahead.c: Likewise.
2837         * lib/freading.h: Likewise.
2838         * lib/freading.c: Likewise.
2839         * lib/freadptr.c: Likewise.
2840         * lib/freadseek.c: Likewise.
2841         * lib/fseeko.c: Likewise.
2842         * lib/fseterr.c: Likewise.
2843         * lib/fwritable.h: Likewise.
2844         * lib/fwritable.c: Likewise.
2845         * lib/fwriting.h: Likewise.
2846         * lib/fwriting.c: Likewise.
2848 2020-10-11  Bruno Haible  <bruno@clisp.org>
2850         stdioext: Treat OpenServer 6 and UnixWare 7 like OpenServer 5.
2851         Reported by Tim Rice <tim@multitalents.net> in
2852         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
2853         Uses the info from
2854         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00028.html>.
2855         * lib/stdio-impl.h: Test also __SCO_VERSION__ and __sysv5__.
2857 2020-10-11  Bruno Haible  <bruno@clisp.org>
2859         stdioext: Avoid compilation errors on UnixWare 7.
2860         Reported by Tim Rice <tim@multitalents.net> in
2861         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00127.html>.
2862         * lib/fbufmode.c: Don't include <stdio_ext.h> if it does not exist.
2863         * lib/fpurge.c: Likewise.
2864         * lib/freadable.h: Likewise.
2865         * lib/freading.h: Likewise.
2866         * lib/fwritable.h: Likewise.
2867         * lib/fwriting.h: Likewise.
2868         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether <stdio_ext.h> exists.
2869         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
2870         * m4/freadable.m4 (gl_FUNC_FREADABLE): Likewise.
2871         * m4/freading.m4 (gl_FUNC_FREADING): Likewise.
2872         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Likewise.
2873         * m4/fwriting.m4 (gl_FUNC_FWRITING): Likewise.
2875 2020-10-11  Bruno Haible  <bruno@clisp.org>
2877         stdioext: Update comments regarding Cygwin.
2878         * lib/fpending.c: Update comments.
2879         * lib/fpurge.c: Likewise.
2880         * lib/freadable.h: Likewise.
2881         * lib/freadable.c: Likewise.
2882         * lib/freading.h: Likewise.
2883         * lib/freading.c: Likewise.
2884         * lib/fwritable.h: Likewise.
2885         * lib/fwritable.c: Likewise.
2886         * lib/fwriting.h: Likewise.
2887         * lib/fwriting.c: Likewise.
2889 2020-10-11  KO Myung-Hun  <komh78@gmail.com>
2891         Fix "warning: implicit declaration of function 'pthread_sigmask'".
2892         * lib/signal.in.h [__KLIBC__]: Include <pthread.h>.
2893         * lib/sys_select.in.h [__KLIBC__]: Do not include <signal.h>.
2895 2020-10-10  Bruno Haible  <bruno@clisp.org>
2897         *-list, *-oset, *-omap: Avoid possible compiler warnings.
2898         Reported by Marc Nieper-Wißkirchen in
2899         <https://lists.gnu.org/r/bug-gnulib/2020-10/msg00025.html>.
2900         * lib/gl_anylinked_list2.h (gl_linked_iterator,
2901         gl_linked_iterator_from_to): Mark as 'pure'.
2902         (gl_linked_iterator_free): Mark as 'const'.
2903         * lib/gl_anytree_list2.h (gl_tree_size, gl_tree_node_value,
2904         gl_tree_search_from_to, gl_tree_indexof_from_to, gl_tree_iterator,
2905         gl_tree_iterator_from_to, gl_tree_sortedlist_search,
2906         gl_tree_sortedlist_search_from_to, gl_tree_sortedlist_indexof,
2907         gl_tree_sortedlist_indexof_from_to): Mark as 'pure'.
2908         (gl_tree_iterator_free): Mark as 'const'.
2909         * lib/gl_anytree_omap.h (gl_tree_size, gl_tree_iterator): Mark as
2910         'pure'.
2911         (gl_tree_iterator_free): Mark as 'const'.
2912         * lib/gl_anytree_oset.h (gl_tree_size, gl_tree_next_node,
2913         gl_tree_prev_node, gl_tree_iterator): Mark as 'pure'.
2914         (gl_tree_iterator_free): Mark as 'const'.
2915         * lib/gl_anytreehash_list1.h (node_position, compare_by_position,
2916         compare_position_threshold): Mark as 'pure'.
2917         * lib/gl_array_list.c (gl_array_size, gl_array_indexof_from_to,
2918         gl_array_search_from_to, gl_array_iterator, gl_array_iterator_from_to,
2919         gl_array_sortedlist_indexof_from_to, gl_array_sortedlist_indexof,
2920         gl_array_sortedlist_search_from_to, gl_array_sortedlist_search): Mark as
2921         'pure'.
2922         (gl_array_iterator_free): Mark as 'const'.
2923         * lib/gl_array_omap.c (gl_array_size, gl_array_indexof, gl_array_search,
2924         gl_array_search_atleast, gl_array_iterator): Mark as 'pure'.
2925         (gl_array_iterator_free): Mark as 'const'.
2926         * lib/gl_array_oset.c (gl_array_size, gl_array_indexof, gl_array_search,
2927         gl_array_indexof_atleast, gl_array_search_atleast, gl_array_iterator,
2928         gl_array_iterator_atleast): Mark as 'pure'.
2929         (gl_array_iterator_free): Mark as 'const'.
2930         * lib/gl_carray_list.c (gl_carray_size, gl_carray_node_value,
2931         gl_carray_next_node, gl_carray_previous_node, gl_carray_get_at,
2932         gl_carray_indexof_from_to, gl_carray_search_from_to, gl_carray_iterator,
2933         gl_carray_iterator_from_to, gl_carray_sortedlist_indexof_from_to,
2934         gl_carray_sortedlist_indexof, gl_carray_sortedlist_search_from_to,
2935         gl_carray_sortedlist_search): Mark as 'pure'.
2936         (gl_carray_iterator_free): Mark as 'const'.
2938 2020-10-10  Bruno Haible  <bruno@clisp.org>
2940         rbtree-list: Avoid possible compiler warnings.
2941         This mirrors the change of avltree-list on 2014-09-16.
2942         * lib/gl_rbtree_list.c (gl_rbtree_list_check_invariants): Add extern
2943         declaration. Add cast to void for ignored value of check_invariants.
2945 2020-10-10  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
2947         stack: New module.
2948         * MODULES.html.sh: Add entry for the stack module.
2949         * modules/stack: New file.
2950         * modules/stack-tests: New file.
2951         * lib/stack.h: New file.
2952         * tests/test-stack.c: New file.
2954 2020-10-10  Paul Eggert  <eggert@cs.ucla.edu>
2956         attribute: improve const, pure doc
2957         Problem reported by Marc Nieper-Wißkirchen in:
2958         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00035.html
2959         * lib/attribute.h (ATTRIBUTE_CONST, ATTRIBUTE_PURE): Improv doc.  See:
2960         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51971#c1
2962 2020-10-05  Paul Eggert  <eggert@cs.ucla.edu>
2964         thread: pacify GCC on Solaris 10
2965         Problem reported by Kiyoshi KANAZAWA for grep (Bug#43666#29).
2966         * lib/glthread/thread.h (gl_thread_self): Use ‘(pthread_t) 0’
2967         instead of ‘(pthread_t) NULL’, to pacify GCC on Solaris 10
2968         where pthread_t is unsigned int.
2970 2020-10-04  Paul Eggert  <eggert@cs.ucla.edu>
2972         c-stack: avoid AS_IF
2973         Problem reported by Bruno Haible in:
2974         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00018.html
2975         * m4/c-stack.m4 (gl_PREREQ_C_STACK): No need for AS_IF.
2977         c-stack: pacify GCC 9.3.1 when using libsigsegv
2978         * lib/c-stack.c [USE_LIBSIGSEGV]: Disable --suggest-attribute=pure.
2980 2020-10-04  Bruno Haible  <bruno@clisp.org>
2982         localename: Fix a couple of "unused parameter" warnings.
2983         Reported by Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de> in
2984         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00014.html>.
2985         * lib/localename.c (gl_locale_name_thread_unsafe, gl_locale_name_thread,
2986         gl_locale_name_posix, gl_locale_name_environ): Add _GL_UNUSED in
2987         parameter list.
2989 2020-10-04  Bruno Haible  <bruno@clisp.org>
2991         vasnprintf: Don't use %n on modern, ISO C 99 compliant platforms.
2992         Suggested by Jeremie Courreges-Anglas <jca@wxcvbn.org> in
2993         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00010.html>.
2994         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Define
2995         HAVE_SNPRINTF_TRUNCATION_C99.
2996         * lib/vasnprintf.c (VASNPRINTF): Don't use %n if
2997         HAVE_SNPRINTF_RETVAL_C99 && HAVE_SNPRINTF_TRUNCATION_C99.
2999 2020-10-03  Paul Eggert  <eggert@cs.ucla.edu>
3001         c-stack: streamline Solaris configuration
3002         * lib/c-stack.c: Omit mention of HAVE_SIGALTSTACK, since
3003         the code is used only if a test for sigaltstack worked
3004         in some other way.
3005         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Do not require gl_LIBSIGSEGV;
3006         instead, execute gl_LIBSIGSEGV only if needed (because the XSI
3007         heuristic does not work).
3008         * modules/c-stack (Files): Add m4/libsigsegv.m4, since
3009         we no longer require the libsigsegv module.
3010         (Depends-on): Depend on havelib, not libsigsegv.
3012         c-stack: stop using SIGSTKSZ
3013         It’s been proposed to stop making SIGSTKSZ an integer constant:
3014         https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html
3015         Also, using SIGSTKSZ in #if did not conform to current POSIX.
3016         Also, avoiding SIGSTKSZ makes the code simpler and easier to grok.
3017         * lib/c-stack.c (SIGSTKSZ): Remove.
3018         (alternate_signal_stack): Now a 64 KiB array, for simplicity.
3019         All uses changed.
3021         c-stack: fix libsigsegv typo
3022         Problem reported by Bruno Haible in:
3023         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00175.html
3024         * lib/c-stack.c (USE_LIBSIGSEGV): Fix typo that caused libsigsegv
3025         to be used only on Solaris (exactly where it is not needed!).
3027 2020-10-03  Thien-Thi Nguyen  <ttn@gnuvola.org>
3029         MODULES.html.sh: Fix typo.
3030         * MODULES.html.sh (Numeric conversion functions <stdlib.h>): Fix typo.
3032 2020-09-28  Paul Eggert  <eggert@cs.ucla.edu>
3034         version-etc: pacify Oracle Studio 12.6
3035         Without this patch, it complains: "version-etc.h", line 64:
3036         warning: token-less macro argument (E_TOKENLESS_MACRO)" when in
3037         pedantic mode.
3038         * lib/version-etc.h (version_etc): Port to C89 macro rules.
3040 2020-09-27  Bruno Haible  <bruno@clisp.org>
3042         Avoid "warning: The macro `AC_DECL_SYS_SIGLIST' is obsolete".
3043         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3044         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3045         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check for sys_siglist
3046         ourselves; don't use AC_DECL_SYS_SIGLIST.
3048 2020-09-27  Bruno Haible  <bruno@clisp.org>
3050         Avoid "warning: The macro `_AC_COMPUTE_INT' is obsolete".
3051         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3052         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3053         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Use AC_COMPUTE_INT
3054         instead of _AC_COMPUTE_INT.
3056 2020-09-27  Bruno Haible  <bruno@clisp.org>
3058         Avoid "warning: The macro `AC_HEADER_STDC' is obsolete".
3059         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3060         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3061         Based on a patch by Paul Eggert.
3062         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Don't require AC_HEADER_STDC. Don't
3063         test STDC_HEADERS. Assume <stdlib.h> exists.
3064         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
3066 2020-09-27  Bruno Haible  <bruno@clisp.org>
3068         Enable testing of prereleases of Autoconf 2.70.
3069         Suggested by Paul Eggert in
3070         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00160.html>.
3071         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Test for Autoconf >= 2.69c, not
3072         >= 2.70.
3073         * m4/largefile.m4 (AC_SYS_LARGEFILE): Likewise.
3074         * m4/pid_t.m4 (AC_TYPE_PID_T): Likewise.
3075         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Likewise.
3077 2020-09-27  Bruno Haible  <bruno@clisp.org>
3079         Avoid "warning: The macro `AC_PROG_CC_STDC' is obsolete".
3080         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3081         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
3082         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use AC_PROG_CC_C99 or
3083         AC_PROG_CC, depending on the Autoconf version.
3085 2020-09-27  Gavin Smith  <gavinsmith0123@gmail.com>
3087         Avoid "warning: The macro `AC_HELP_STRING' is obsolete".
3088         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Use AS_HELP_STRING instead
3089         of AC_HELP_STRING.
3090         * m4/libgcrypt.m4 (AM_PATH_LIBGCRYPT): Likewise.
3092 2020-09-27  Bruno Haible  <bruno@clisp.org>
3094         Avoid "warning: $as_echo_n is obsolete" from autoconf 2.69c.
3095         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3096         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
3097         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): Use gl_SILENT.
3099 2020-09-27  Bruno Haible  <bruno@clisp.org>
3101         extensions: Simplify last commit.
3102         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't require
3103         AC_GNU_SOURCE ever.
3105 2020-09-26  Paul Eggert  <eggert@cs.ucla.edu>
3107         extensions: require AC_GNU_SOURCE only for <=2.63
3108         Problem reported by Gavin Smith in:
3109         https://lists.gnu.org/r/autoconf/2020-09/msg00012.html
3110         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS):
3111         Require AC_GNU_SOURCE only for Autoconf 2.63 and earlier, since it
3112         shouldn’t be needed after that, and Autoconf 2.70 complains about
3113         it being obsolete.
3115 2020-09-26  Bruno Haible  <bruno@clisp.org>
3117         regex-tests: Make test more robust.
3118         * tests/test-regex.c (main): Make sure to revert the locale to "C" after
3119         the test in "tr_TR.UTF-8" locale. Exit if we can't revert it.
3121 2020-09-25  Paul Eggert  <eggert@cs.ucla.edu>
3123         regex-tests: fix possible Turkish false-alarm
3124         * modules/regex-tests (Depends-on): Add wctype-h.
3125         * tests/test-regex.c: Include wctype.h.
3126         (main): Check that ‘i’ uppercases to ‘İ’ in Turkish,
3127         as the Turkish regex test assumes this.
3129         regex-tests: fix test and add debug output
3130         Perhaps this will fix the recent grep test failure reported at:
3131         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/199
3132         At least, the debug output should help narrow down the failure.
3133         * tests/test-regex.c: Include stdarg.h, stdio.h.
3134         (exit_status): New var.
3135         (report_error): New function.
3136         (main): Use it to report failures to stdout instead of merely
3137         exiting with some nonzero status.  The status info alone isn’t
3138         enough to do remote debugging.  In the new tr_TR.UTF-8 test, clear
3139         regex before calling re_compile_pattern, fixing a portability bug.
3141         regex: no longer match glibc
3142         * config/srclist.txt: Comment out regex_internal.c for now.
3144 2020-09-23  Paul Eggert  <eggert@cs.ucla.edu>
3146         regex: fix ignore-case Turkish bug
3147         * lib/regex_internal.c (build_wcs_upper_buffer):
3148         Do not assume that converting single-byte character to upper
3149         yields a single-byte character.  This is not true for Turkish,
3150         where towupper (L'i') yields L'İ', which is not single-byte.
3151         * tests/test-regex.c (main): Test for this bug.
3153         regex: port to weird isascii platforms
3154         * lib/regex_internal.h (isascii) [!_LIBC]: Supply glibc version.
3156 2020-09-20  Norihiro Tanaka  <noritnk@kcn.ne.jp>
3158         dfa: make dfasupported a global function
3159         * lib/dfa.c (dfasupported): Rename, and make it global.
3160         Update caller.
3161         * lib/dfa.h (dfasupported): Add prototype.
3163 2020-09-20  Bruno Haible  <bruno@clisp.org>
3165         canonicalize: Add support for UNC file names on native Windows.
3166         Reported and initial patch by Vaclav Slavik <vaclav@slavik.io> in
3167         <https://savannah.gnu.org/bugs/?59079>.
3168         * lib/canonicalize.c (canonicalize_filename_mode): For UNC file names,
3169         extend the prefix to include the server.
3171 2020-09-20  Bruno Haible  <bruno@clisp.org>
3173         supersede: Fix test failures on native Windows.
3174         * lib/supersede.c (open_supersede): Handle non-regular files on native
3175         Windows like on Solaris.
3176         * tests/test-supersede-open.h (test_open_supersede): Use O_BINARY flag.
3178 2020-09-20  Paul Eggert  <eggert@cs.ucla.edu>
3180         test-stdalign: test Oracle Studio better
3181         * doc/posix-headers/stdalign.texi (stdalign.h):
3182         * tests/test-stdalign.c (main):
3183         Sun Studio Bug #2125432 seems to be fixed.
3185         c-stack: output diagnostic in single 'write'
3186         * lib/c-stack.c (die): In the typical case, use just one 'write'
3187         syscall to output the diagnostic, as this lessens interleaving.
3188         (die, c_stack_action): Assume C99.
3189         * modules/c-stack (Depends-on): Add c99, mempcpy.
3191         c-stack: improve checking if !libsigsegv
3192         If SIGINFO_WORKS, do not treat a null pointer dereference as if it
3193         were a stack overflow.  Use uintptr_t and INT_ADD_WRAPV to avoid
3194         unlikely pointer overflow.  Also, fix some obsolete code and typos.
3195         I found these problems while looking into this bug report:
3196         https://lists.gnu.org/r/grep-devel/2020-09/msg00053.html
3197         * lib/c-stack.c: Include c-stack.h first, to test interface.
3198         Include inttypes.h for UINTPTR_MAX, stdbool.h, stddef.h for
3199         max_align_t, intprops.h for INT_ADD_WRAPV.
3200         (USE_LIBSIGSEGV): New macro; use it to simplify later code.
3201         (SIGSTKSZ): Simplify setup.  Work around libsigsegv bug only
3202         for libsigsegv 2.8 and earlier since the bug should be fixed
3203         after that.
3204         (alternate_signal_stack): Use max_align_t instead of doing it by hand.
3205         (segv_handler, overflow_handler, segv_handler) [DEBUG]:
3206         Assume sprintf returns byte count; this assumption is safe now.
3207         (page_size): New static volatile variable, since sysconf isn’t
3208         documented to be async-signal-safe on Solaris.  This variable is
3209         present and used if (!USE_LIBSIGSEGV && HAVE_SIGALTSTACK &&
3210         HAVE_DECL_SIGALTSTACK && HAVE_STACK_OVERFLOW_HANDLING &&
3211         SIGINFO_WORKS).
3212         (segv_handler): Use it if present.  Never report null pointer
3213         dereference as a stack overflow.  Check for (unlikely) unsigned
3214         and/or pointer overflow.
3215         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
3216         Rename cache variables to gl_cv_sys_stack_overflow_works
3217         and gl_cv_sys_xsi_stack_overflow_heuristic.
3218         All uses changed.
3219         (gl_PREREQ_C_STACK): Do not require AC_FUNC_ALLOCA, since
3220         c-stack no longer uses STACK_DIRECTION.
3221         Do not check for unistd.h, since we depend on unistd.
3222         Fix shell typo ‘$"ac_cv_sys_xsi_stack_overflow_heuristic"’.
3223         * modules/c-stack (Depends-on): Sort.  Add intprops, inttypes,
3224         stdbool, stddef.
3226 2020-09-20  Bruno Haible  <bruno@clisp.org>
3228         Revert now-unnecessary override of config.guess on Alpine Linux 3.10.
3229         * m4/musl.m4: Revert 2020-09-19 patch.
3230         * m4/setlocale_null.m4: Likewise.
3231         * modules/setlocale-null: Likewise.
3233 2020-09-19  Ben Pfaff  <blp@cs.stanford.edu>
3234             Bruno Haible  <bruno@clisp.org>
3236         relocatable-prog: Fix for multiple relocatable library directories.
3237         * build-aux/reloc-ldflags: Fix handling of multiple relocatable library
3238         directories.  Each one needs its own -Wl,-rpath,$dir option, instead of
3239         being attached to a single one.
3241 2020-09-19  Jim Meyering  <meyering@fb.com>
3243         test-verify.c: avoid -Wshadow warnings
3244         * tests/test-verify.c (gx): Rename global from "x". Adjust use.
3245         (enum): Capitalize member names. Adjust uses.
3247 2020-09-19  Bruno Haible  <bruno@clisp.org>
3249         havelib: Avoid linking with libc.a on GNU systems.
3250         Reported by Bruce Dubbs <bruce.dubbs@gmail.com> in
3251         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
3252         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When processing the
3253         dependency_libs value of a .la file, ignore '-lc' options on GNU
3254         systems.
3256 2020-09-19  Bruno Haible  <bruno@clisp.org>
3258         Fix recognition of musl libc on Alpine Linux 3.10.
3259         Reported by Jeffrey Walton <noloader@gmail.com> in
3260         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00020.html>.
3261         * m4/musl.m4 (gl_MUSL_CANONICAL_HOST): New macro.
3262         (gl_MUSL_LIBC): Require it.
3263         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Likewise.
3264         * modules/setlocale-null (Files): Add m4/musl.m4.
3266 2020-09-19  Bruno Haible  <bruno@clisp.org>
3268         nl_langinfo: Make multithread-safe on Solaris 10 and Solaris 11.3.
3269         Reported for Solaris 10 by Dagobert Michelsen via Paul Eggert in
3270         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00023.html>
3271         and for Solaris 11.3 by Jeffrey Walton <noloader@gmail.com> in
3272         <https://lists.gnu.org/archive/html/bug-grep/2020-06/msg00013.html>.
3273         * lib/nl_langinfo-lock.c: New file, based on lib/setlocale_null-lock.c.
3274         * lib/nl_langinfo.c: Include <stdlib.h> and <windows.h> or <pthread.h>
3275         or <threads.h>.
3276         (ITEMS, MAX_RESULT_LEN): New macros.
3277         (nl_langinfo_unlocked): New function.
3278         (gl_get_nl_langinfo_lock): New declaration.
3279         (nl_langinfo_with_lock): New function, based on lib/setlocale_null.c.
3280         (rpl_nl_langinfo): Use nl_langinfo_with_lock instead of nl_langinfo.
3281         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require gl_PTHREADLIB. Define
3282         HAVE_THREADS_H. Set NL_LANGINFO_MTSAFE. If setting it to 0, also set
3283         REPLACE_NL_LANGINFO.
3284         (gl_PREREQ_NL_LANGINFO_LOCK): New macro.
3285         * modules/nl_langinfo (Files): Add lib/nl_langinfo-lock.c,
3286         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
3287         (configure.ac): Compile nl_langinfo-lock.c when NL_LANGINFO_MTSAFE is 0.
3288         * doc/posix-functions/nl_langinfo.texi: Mention the Solaris bug.
3290 2020-09-18  Bruno Haible  <bruno@clisp.org>
3292         fsusage, getaddrinfo: Produce more regular configure output.
3293         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove AC_MSG_CHECKING without
3294         corresponding AC_MSG_RESULT.
3295         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
3297 2020-09-18  Bruno Haible  <bruno@clisp.org>
3299         Add back gl_SILENT.
3300         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): New macros.
3302 2020-09-18  Paul Eggert  <eggert@cs.ucla.edu>
3304         c-stack-tests: fix -fsanitize=undefined false alarm
3305         * tests/test-c-stack2.sh: Skip the test-harness self-test
3306         if ‘gcc -fsanitize=undefined’ is in use.
3308 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
3310         signalblocking: simplify and remove gl_SILENT
3311         gl_SILENT was problematic because if a trap was sprung, stderr
3312         generated during the trap was lost.  Avoid the problem by
3313         removing the need for gl_SILENT.
3314         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): Remove.
3315         * m4/signalblocking.m4 (gl_SIGNALBLOCKING):
3316         Simplify, avoiding the need for gl_SILENT while preserving the
3317         ability of the user to override the value of the cache variable,
3318         now ac_cv_func_sigprocmask.
3320 2020-09-17  Bruno Haible  <bruno@clisp.org>
3322         sigprocmask: Fix configuration failure on Solaris 10 (regr. 2020-07-25).
3323         * m4/gnulib-common.m4 (GL_TMP_FD): New macro.
3324         (gl_SILENT): Use 'exec', not a compound statement, to redirect
3325         AS_MESSAGE_FD.
3327 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
3329         intprops, xalloc: avoid __builtin_mul_overflow_p with Clang
3330         Problem reported by Nelson H. F. Beebe for clang 9.0.1 in:
3331         https://lists.gnu.org/r/grep-devel/2020-09/msg00028.html
3332         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P) [__clang__]:
3333         Define to 0.
3334         * lib/xalloc-oversized.h (xalloc_oversized) [__clang__]:
3335         Do not use __builtin_mul_overflow_p.
3337         libc-config: port __THROW to Ubuntu 4
3338         * lib/cdefs.h (__THROW): Do not use __attribute__ ((__nothrow__))
3339         for GCC 3.3.  Problem reported by Jeffrey Walton in:
3340         https://lists.gnu.org/r/bug-gnulib/2019-07/msg00058.html
3341         The GCC 3.3.4 documentation says the attribute should work, but
3342         apparently it does not work on Ubuntu 4’s GCC 3.3.  There seems
3343         little point or desire to research this circa-2004 platform further,
3344         so just avoid the attribute there.
3346 2020-09-17  Jim Meyering  <meyering@fb.com>
3348         test-dfa-match.sh: port timeout work-around to newer Busybox
3349         * tests/test-dfa-match.sh: Update timeout -t portability test to
3350         accommodate Busybox 1.30.0 and newer.
3352 2020-09-16  Paul Eggert  <eggert@cs.ucla.edu>
3354         fnmatch: adjust to match glibc fix
3355         This fixes handling of collating symbols in fnmatch (glibc bug 26620).
3356         This does not affect Gnulib; it merely keeps Gnulib and glibc
3357         closer together, to help with any eventual merge, by incorporating
3358         a recent glibc patch.  The patch and the following commentary is
3359         by Andreas Schwab.
3360         * lib/fnmatch_loop.c (FCT) [WIDE_CHAR_VERSION]: The variable idx
3361         contains the index into the extra array, whereas wextra points
3362         into the extra array at this index, containing the length of the
3363         following collating sequence in the wide character representation.
3365 2020-09-16  Bruno Haible  <bruno@clisp.org>
3367         stat, fstat: Fix compilation error with old mingw headers.
3368         Reported by Eli Zaretskii <eliz@gnu.org> in
3369         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
3370         * lib/stat-w32.c (VOLUME_NAME_NONE): Define if the Windows headers don't
3371         define it.
3373 2020-09-16  Bruno Haible  <bruno@clisp.org>
3375         stat, fstat: Fix when compiling for versions older than Windows Vista.
3376         Reported by Eli Zaretskii <eliz@gnu.org> in
3377         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
3378         * lib/stat-w32.c: Include <sdkddkver.h>. Test the value of _WIN32_WINNT
3379         that was originally set before we redefined it.
3380         * m4/stat.m4 (gl_PREREQ_STAT_W32): New macro.
3381         (gl_PREREQ_STAT): Require it.
3382         * m4/fstat.m4 (gl_PREREQ_FSTAT): Likewise.
3384 2020-09-15  Paul Eggert  <eggert@cs.ucla.edu>
3386         dfa: remove dfa-heap-overrun workaround
3387         * lib/dfa.c (reorder_tokens): Go back to a single pass that
3388         both sets map[*] and does other things.  This reverts
3389         2020-09-14T01:20:01Z!eggert@cs.ucla.edu, which is no longer
3390         neeeded now that 2020-09-14T13:21:05Z!noritnk@kcn.ne.jp
3391         fixed the underlying problem.
3393 2020-09-13  Paul Eggert  <eggert@cs.ucla.edu>
3395         dfa: avoid use of uninitialized constraint
3396         * lib/dfa.c (merge_nfa_state): Do not initialize the constraint
3397         to zero here.
3398         (dfaoptimize): Do it here instead, via xcalloc.  This prevents the
3399         use of an uninitialized constraint by later code when ! (flags[i]
3400         & OPT_QUEUED) means merge_nfa_state was not called to initialize
3401         the constraint.  Problem found by running 'valgrind src/grep -E
3402         '(^| )*(a|b)*(c|d)*( |$)' < /dev/null' on Ubuntu 18.04.5 x86-64.
3404         dfa: assume C99 in reorder_tokens
3405         * lib/dfa.c (reorder_tokens): Assume C99 and simplify.
3407         dfa: fix dfa-heap-overrun failure
3408         * lib/dfa.c (reorder_tokens): When setting
3409         map[d->follows[i].elems[j].index], instead of incorrectly assuming
3410         that (i < d->follows[i].elems[j].index), use two loops, one to set
3411         the map array and the other to use it.  The incorrect assumption
3412         caused some elements to be missed, and this in turn caused grep's
3413         dfa-heap-overrun test to fail on Solaris 10 sparc when compiled
3414         with GCC.  I found this bug while investigating
3415         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/183
3416         and I think the bug also occurs on GNU/Linux but with more-subtle
3417         symptoms.  The bug predates the recent dfa.c changes; perhaps the
3418         recent changes make the bug more likely.
3420 2020-09-13  Bruno Haible  <bruno@clisp.org>
3422         parse-datetime: Make the build rule work with parallel 'make'.
3423         Reported by Daiki Ueno <ueno@gnu.org> in
3424         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00036.html>.
3425         * modules/parse-datetime (Makefile.am): Use a phony target and the
3426         general idiom for rules that produce multiple files.
3428 2020-09-13  Ben Pfaff  <blp@cs.stanford.edu>
3430         getpass: Check for nonnull prompt argument while avoiding warnings.
3431         * lib/getpass.c (_GL_ARG_NONNULL): Define to empty.
3432         (getpass) [!_WIN32]: Print prompt only if nonnull.
3434 2020-09-12  Paul Eggert  <eggert@cs.ucla.edu>
3436         dfa: epsilon-closure tweaks (Bug#40634)
3437         Rename BACKWORD to BACKWARD consistently.
3438         * lib/dfa.c (struct dfa): Reorder members to reduce fragmentation.
3439         (addtok_mb): Redo slightly to make it act more like a state machine.
3440         Check depth only when it increases.
3441         (epsclosure): Let the switch test the tokens.
3442         (dfaanalyze): Cache tindex.  Simplify position loops.
3443         Prefer xcalloc to xnmalloc + explicit zeroing.  Free BACKWARD
3444         only if it is not null, since we're testing that anyway.
3445         (dfaanalyze, build_state): Use merge2 instead of doing it by hand.
3447 2020-09-12  Norihiro Tanaka  <noritnk@kcn.ne.jp>
3449         dfa: use backward set in removal of epsilon closure
3450         When removing in epsilon closure, the code searched all nodes
3451         sequentially, and this was slow for some cases.  Build a backward
3452         set before search, and only check previous position with the set.
3453         Problem reported in <https://bugs.gnu.org/40634>.
3454         * lib/dfa.c (struct dfa): New member 'epsilon'.
3455         (addtok_mb): Check whether a pattern has epsilon node or not.
3456         (epsclosure): New arg BACKWORD; caller changed.  When removing
3457         epsilon node and reconnecting, check only previous positions.
3458         Treat BEG as if it were character.
3459         (dfaanalyze): Build backward set.
3461 2020-09-10  Paul Eggert  <eggert@cs.ucla.edu>
3463         canonicalize: fix pointer indexing bugs
3464         Problem reported by Florian Weimer in:
3465         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00025.html
3466         * lib/canonicalize-lgpl.c (__realpath):
3467         * lib/canonicalize.c (canonicalize_filename_mode):
3468         Do not generate a pointer past the end of the array.
3469         * lib/canonicalize.c (canonicalize_filename_mode):
3470         Do not use a pointer after passing it to realloc.
3472 2020-09-09  Paul Eggert  <eggert@cs.ucla.edu>
3474         tempname: help merge with glibc
3475         Inspired by draft patches by Adhemerval Zanella in:
3476         https://sourceware.org/pipermail/libc-alpha/2020-September/117501.html
3477         https://sourceware.org/pipermail/libc-alpha/2020-September/117502.html
3478         * lib/tempname.c: Include stdalign.h, time.h.
3479         If _LIBC, do not include random-bits.h.
3480         (__getrandom, __clock_gettime64, __timespec64) [!_LIBC]: New macros.
3481         (RANDOM_BITS): Remove, replacing with ...
3482         (random_bits): ... this new static function.  All uses changed.
3483         Add entropy each time if getrandom is not supported.
3484         (RANDOM_VALUE, BASE_62_DIGITS, BASE_62_POWER):
3485         Assume 64-bit support a la C99.
3486         (try_tempname_len): Take advantage of ASLR when initializing
3487         random value.
3488         * modules/tempname (Depends-on): Add clock-time, stdalign, time.
3490         getcwd: merge recent glibc changes
3491         * lib/getcwd.c (GETCWD_RETURN_TYPE) [!_LIBC]: New macro.
3492         (__getcwd, getcwd) [_LIBC && !GETCWD_RETURN_TYPE]: Add aliases.
3494 2020-09-06  Bruno Haible  <bruno@clisp.org>
3496         attribute: Clarify which file to include.
3497         * modules/attribute (Include): Add "attribute.h".
3499 2020-09-06  Bruno Haible  <bruno@clisp.org>
3501         pipe-filter-ii, pipe-filter-gi: Fix warnings on native Windows.
3502         * lib/pipe-filter-ii.c: Include <process.h>.
3503         * lib/pipe-filter-gi.c: Likewise.
3505 2020-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3507         verify: avoid __builtin_assume
3508         Our latest attempt to use Clang’s __builtin_assume caused a crash
3509         in GNU Emacs that we spent quite some time tracking down as being
3510         caused by the switch to __builtin_assume.  It’s not known whether
3511         the crash is due is a Clang bug or a portability bug in GNU Emacs.
3512         For now, play it safe and avoid __builtin_assume.
3513         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): Remove.
3514         (assume): Simplify by not trying to use Clang’s __builtin_assume.
3516 2020-09-05  Bruno Haible  <bruno@clisp.org>
3518         Fix several "warning: no previous prototype for function".
3519         * modules/unicase/locale-language (Makefile.am): Add a 'static' keyword
3520         in front of the declaration of the lookup function in
3521         unicase/locale-languages.h.
3522         * modules/unictype/bidiclass-byname (Makefile.am): Likewise in
3523         unictype/bidi_byname.h.
3524         * modules/unictype/category-byname (Makefile.am): Likewise in
3525         unictype/categ_byname.h.
3526         * modules/unictype/combining-class-byname (Makefile.am): Likewise in
3527         unictype/combiningclass_byname.h.
3528         * modules/unictype/joininggroup-byname (Makefile.am): Likewise in
3529         unictype/joininggroup_byname.h.
3530         * modules/unictype/joiningtype-byname (Makefile.am): Likewise in
3531         unictype/joiningtype_byname.h.
3532         * modules/unictype/property-byname (Makefile.am): Likewise in
3533         unictype/pr_byname.h.
3534         * modules/unictype/scripts (Makefile.am): Likewise in
3535         unictype/scripts_byname.h.
3536         * modules/uninorm/composition (Makefile.am): Likewise in
3537         uninorm/composition-table.h.
3539 2020-09-05  Bruno Haible  <bruno@clisp.org>
3541         select: Fix "warning: no previous prototype for function".
3542         * lib/select.c: Include <sys/select.h>.
3544 2020-09-05  Bruno Haible  <bruno@clisp.org>
3546         Use module 'c99' when needed for variadic macros with '...' syntax.
3547         * modules/crypto/sm3 (Depends-on): Add c99.
3549 2020-09-05  Bruno Haible  <bruno@clisp.org>
3551         Use module 'c99' when needed for subobject initializer syntax.
3552         * modules/tempname (Depends-on): Add c99.
3553         * modules/nstrftime-tests (Depends-on): Likewise.
3555 2020-09-05  Bruno Haible  <bruno@clisp.org>
3557         Use module 'c99' when needed for declaration-after-statement syntax.
3558         * modules/backup-rename (Depends-on): Add c99.
3559         * modules/backupfile (Depends-on): Likewise.
3560         * modules/bitset-tests (Depends-on): Likewise.
3561         * modules/bitsetv (Depends-on): Likewise.
3562         * modules/c-strtod (Depends-on): Likewise.
3563         * modules/c-strtold (Depends-on): Likewise.
3564         * modules/clean-temp (Depends-on): Likewise.
3565         * modules/copy-file (Depends-on): Likewise.
3566         * modules/crypto/hmac-md5-tests (Depends-on): Likewise.
3567         * modules/crypto/hmac-sha1-tests (Depends-on): Likewise.
3568         * modules/crypto/hmac-sha256-tests (Depends-on): Likewise.
3569         * modules/crypto/hmac-sha512-tests (Depends-on): Likewise.
3570         * modules/crypto/md5-buffer (Depends-on): Likewise.
3571         * modules/crypto/md5-tests (Depends-on): Likewise.
3572         * modules/crypto/sha1-buffer (Depends-on): Likewise.
3573         * modules/crypto/sha1-tests (Depends-on): Likewise.
3574         * modules/crypto/sha256-buffer (Depends-on): Likewise.
3575         * modules/crypto/sha256-tests (Depends-on): Likewise.
3576         * modules/crypto/sha512-buffer (Depends-on): Likewise.
3577         * modules/crypto/sha512-tests (Depends-on): Likewise.
3578         * modules/diffseq (Depends-on): Likewise.
3579         * modules/fatal-signal (Depends-on): Likewise.
3580         * modules/fchmodat (Depends-on): Likewise.
3581         * modules/fstrcmp (Depends-on): Likewise.
3582         * modules/fsusage (Depends-on): Likewise.
3583         * modules/fts (Depends-on): Likewise.
3584         * modules/fts-tests (Depends-on): Likewise.
3585         * modules/getumask (Depends-on): Likewise.
3586         * modules/git-merge-changelog (Depends-on): Likewise.
3587         * modules/hash-map (Depends-on): Likewise.
3588         * modules/hash-set (Depends-on): Likewise.
3589         * modules/lchmod (Depends-on): Likewise.
3590         * modules/libgmp-tests (Depends-on): Likewise.
3591         * modules/libtextstyle-optional-tests (Depends-on): Likewise.
3592         * modules/linkedhash-map (Depends-on): Likewise.
3593         * modules/linkedhash-set (Depends-on): Likewise.
3594         * modules/long-options (Depends-on): Likewise.
3595         * modules/mbrtoc32 (Depends-on): Likewise.
3596         * modules/memchr2-tests (Depends-on): Likewise.
3597         * modules/memmem-tests (Depends-on): Likewise.
3598         * modules/memrchr-tests (Depends-on): Likewise.
3599         * modules/mktime-internal (Depends-on): Likewise.
3600         * modules/nstrftime (Depends-on): Likewise.
3601         * modules/opendirat (Depends-on): Likewise.
3602         * modules/parse-datetime (Depends-on): Likewise.
3603         * modules/quotearg-simple-tests (Depends-on): Likewise.
3604         * modules/same (Depends-on): Likewise.
3605         * modules/supersede (Depends-on): Likewise.
3606         * modules/supersede-tests (Depends-on): Likewise.
3607         * modules/time_rz (Depends-on): Likewise.
3608         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
3609         * modules/unistr/u32-chr-tests (Depends-on): Likewise.
3610         * modules/unistr/u8-chr-tests (Depends-on): Likewise.
3611         * modules/xalloc (Depends-on): Likewise.
3612         * modules/xnanosleep (Depends-on): Likewise.
3614 2020-09-05  Bruno Haible  <bruno@clisp.org>
3616         Fix "warning: array initialized from parenthesized string constant".
3617         * tests/test-memmem.c (main): Remove parentheses around string constant.
3618         * tests/test-c-strcasestr.c (main): Likewise.
3619         * tests/test-strcasestr.c (main): Likewise.
3621 2020-09-05  Bruno Haible  <bruno@clisp.org>
3623         argmatch tests: Fix ISO C compliance warning.
3624         * tests/test-argmatch.c: Omit semicolon after ARGMATCH_DEFINE_GROUP
3625         invocation.
3627 2020-09-05  Bruno Haible  <bruno@clisp.org>
3629         uniname/uniname: Fix -Wshadow warning.
3630         * lib/uniname/uniname.c (unicode_name_word): Don't declare i upfront.
3631         * modules/uniname/uniname (Depends-on): Add c99.
3633 2020-09-05  Bruno Haible  <bruno@clisp.org>
3635         uniname/uniname: Fix -Wshorten-64-to-32 warnings.
3636         * lib/uniname/uniname.c (unicode_name_word_lookup): Change type of last
3637         argument to size_t.
3638         (unicode_name_character): Change type of len, n1, n2, n3, words_length,
3639         n to size_t.
3641 2020-09-05  Bruno Haible  <bruno@clisp.org>
3643         unistr/u{8,16,32}-uctomb: Avoid possible trouble with huge strings.
3644         * lib/unistr.in.h (u8_uctomb_aux, u8_uctomb, u16_uctomb_aux, u16_uctomb,
3645         u32_uctomb): Change type of last argument to ptrdiff_t.
3646         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
3647         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
3648         * lib/unistr/u16-uctomb.c (u16_uctomb): Likewise.
3649         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise.
3650         * lib/unistr/u32-uctomb.c (u32_uctomb): Likewise.
3652 2020-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3654         manywarnings: remove -Wchkp and -Wabi from C++ too
3655         Suggested by Reuben Thomas in:
3656         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00001.html
3657         At some point somebody should merge the many other manywarnings-c.m4
3658         changes into manywarnings-c++.m4 too, e.g.,
3659         2020-07-02T00:00:51Z!eggert@cs.ucla.edu.
3660         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
3661         Remove -Wchkp, -Wabi.
3663 2020-08-30  Bruno Haible  <bruno@clisp.org>
3665         strerrorname_np: Add tests.
3666         * tests/test-strerrorname_np.c: New file.
3667         * modules/strerrorname_np-tests: New file.
3669         strerrorname_np: New module.
3670         * lib/string.in.h (strerrorname_np): New declaration.
3671         * lib/strerrorname_np.c: New file.
3672         * m4/strerrorname_np.m4: New file.
3673         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether strerrorname_np
3674         is declared.
3675         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERRORNAME_NP,
3676         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
3677         * modules/string (Makefile.am): Substitute GNULIB_STRERRORNAME_NP,
3678         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
3679         * modules/strerrorname_np: New file.
3680         * tests/test-string-c++.cc: Verify the signature of strerrorname_np.
3681         * doc/glibc-functions/strerrorname_np.texi: Mention the new module and
3682         the glibc 2.32 bug.
3684 2020-08-27  Paul Eggert  <eggert@cs.ucla.edu>
3686         perror, strerror_r: remove unportable tests
3687         Problem reported by Florian Weimer in:
3688         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
3689         * tests/test-perror2.c (main):
3690         * tests/test-strerror_r.c (main): Omit unportable tests.
3692 2020-08-26  Bruno Haible  <bruno@clisp.org>
3694         stdint, wchar, wctype-h: Change configure message.
3695         * m4/wint_t.m4 (gt_TYPE_WINT_T): Say "checking whether wint_t is large
3696         enough..." instead of "checking whether wint_t is too small...".
3698 2020-08-26  Bruno Haible  <bruno@clisp.org>
3700         time_rz: Change configure message.
3701         * m4/time_rz.m4 (gl_TIME_RZ): Say "checking whether localtime works even
3702         near extrema..." instead of "checking whether localtime loops forever
3703         near extrema...".
3705 2020-08-26  Bruno Haible  <bruno@clisp.org>
3707         stdint: Change configure message.
3708         * m4/stdint.m4 (gl_STDINT_H): Say "checking whether stdint.h works
3709         without ISO C predefines..." instead of "checking whether stdint.h
3710         predates C++11...".
3712 2020-08-26  Bruno Haible  <bruno@clisp.org>
3714         socketlib: Change configure message.
3715         * m4/socketlib.m4 (gl_SOCKETLIB): Say "checking for WSAStartup..."
3716         instead of "checking if we need to call WSAStartup in winsock2.h and
3717         -lws2_32...".
3719 2020-08-26  Bruno Haible  <bruno@clisp.org>
3721         include_next: Change configure message.
3722         * m4/include_next.m4 (gl_INCLUDE_NEXT): Say "checking whether source
3723         code line length is unlimited..." instead of "checking whether system
3724         header files limit the line length...".
3726 2020-08-26  Bruno Haible  <bruno@clisp.org>
3728         getcwd: Change configure message.
3729         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Say "checking
3730         whether getcwd succeeds when 4k < cwd_length < 16k..." instead of
3731         "checking whether getcwd aborts when 4k < cwd_length < 16k...".
3733 2020-08-26  Bruno Haible  <bruno@clisp.org>
3735         chdir-long: Change configure message.
3736         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Say "checking whether this
3737         system supports file names of any length..." instead of "checking
3738         whether this system has an arbitrary file name length limit...".
3739         Set gl_cv_have_unlimited_file_name_length instead of
3740         gl_cv_have_arbitrary_file_name_length_limit.
3741         * modules/chdir-long (Depends-on, configure.ac): Update accordingly.
3743 2020-08-26  Bruno Haible  <bruno@clisp.org>
3745         ceill: Change configure message.
3746         * m4/ceill.m4 (gl_FUNC_CEILL): Say "checking whether ceill() works..."
3747         instead of "checking whether ceill() breaks with small values...".
3749 2020-08-26  Bruno Haible  <bruno@clisp.org>
3751         iconv: Change configure message.
3752         * m4/iconv.m4 (AM_ICONV): Say "checking whether iconv is compatible
3753         with its POSIX signature..." instead of "checking for iconv
3754         declaration...". Remove K&R C support.
3756 2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>
3758         getcwd: help the merge back into glibc
3759         This patch was inspired by Adhemerval Zanella’s proposed glibc patches:
3760         https://sourceware.org/pipermail/libc-alpha/2020-August/117294.html
3761         The idea is to make it easier for Gnulib lib/getcwd.c to match
3762         glibc io/getcwd-generic.c.
3763         * lib/getcwd.c [_LIBC]: Do not include pathmax.h.
3764         Include not-cancel.h.
3765         (HAVE_OPENAT, D_INO_IN_DIRENT, HAVE_MSVC_INVALID_PARAMETER_HANDLER)
3766         (HAVE_MINIMALLY_WORKING_GETCWD): Define for the _LIBC case.
3767         (__getcwd, __lstat, __readdir) [!_LIBC]: Remove these macros.
3768         (__close_nocancel_nostatus, __getcwd_generic, stat64, __fstat64)
3769         (__fstatat64, __lstat64, __readdir64, __fdopendir, __openat)
3770         (__rewinddir, __openat64, dirent64) [_LIBC]: New macros.
3771         (__getcwd_generic): Rename from __getcwd.
3772         Use the abovementioned macros for consistency with glibc.
3773         (weak_alias): Remove.
3775 2020-08-25  Bruno Haible  <bruno@clisp.org>
3777         verify: Avoid warnings when assume(0) is used.
3778         Reported by Mattias Engdegård <mattiase@acm.org> via Paul Eggert in
3779         <https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00838.html>.
3780         * lib/verify.h (assume): Use __builtin_unreachable if the argument is
3781         the constant 0.
3782         * tests/test-verify.c (f): New function.
3783         (state): New type.
3784         (test_assume_expressions, test_assume_optimization,
3785         test_assume_noreturn): New functions.
3787 2020-08-25  Bruno Haible  <bruno@clisp.org>
3789         fstrcmp: Clarification regarding NOTE_ORDERED.
3790         * lib/fstrcmp.c (NOTE_ORDERED): Define to false.
3792 2020-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3794         diffseq: new option NOTE_ORDERED
3795         Problem reported by Phil Sainty <https://bugs.gnu.org/42931>.
3796         * NEWS: Mention this.
3797         * lib/diffseq.h (NOTE_ORDERED): New macro.
3798         (IF_LINT2): Remove; no longer needed.
3799         (compareseq): If (!NOTE_ORDERED), recurse on the smaller
3800         subproblem and iterate to do the larger.
3802 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3804         sys_types: let Autoconf 2.70 do pid_t
3805         * m4/pid_t.m4 (AC_TYPE_PID_T): Redefine this Autoconf macro
3806         only for Autoconf versions 2.69 and earlier, since 2.70
3807         will be fixed.
3809 2020-08-23  Bruno Haible  <bruno@clisp.org>
3811         tests: Don't assume that pid_t fits in an 'int'.
3812         * tests/test-nonblocking-pipe-main.c (main): Use type 'pid_t' instead
3813         of 'int'.
3814         * tests/test-nonblocking-socket-main.c (main): Likewise.
3816         sys_types: Fix definition of pid_t on 64-bit MSVC.
3817         * m4/pid_t.m4: New file.
3818         * modules/sys_types (Files): Add it.
3819         * modules/dirent (Files): Likewise.
3820         * modules/fcntl-h (Files): Likewise.
3821         * modules/sched (Files): Likewise.
3822         * modules/signal-h (Files): Likewise.
3823         * modules/spawn (Files): Likewise.
3824         * modules/sys_stat (Files): Likewise.
3825         * modules/sys_wait (Files): Likewise.
3826         * modules/termios (Files): Likewise.
3827         * modules/unistd (Files): Likewise.
3829 2020-08-23  Bruno Haible  <bruno@clisp.org>
3831         inttypes: Fix {PRI,SCN}*PTR on 32-bit native Windows (regr. 2020-07-21).
3832         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Fix syntax error in test
3833         program.
3835 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3837         intprops: be consistent about +X vs X+0
3838         * lib/intprops.h (_GL_SIGNED_INT_MAXIMUM): Simplify.
3840         intprops: fix INT_MULTIPLY_WRAPV bit-field bug
3841         The bug occurs when using INT_MULTIPLY_WRAPV (a, b, c) where B
3842         is a bit-field, on older GCC or non-GCC compilers where we do
3843         things ourselves instead of using __builtin_mul_overflow.
3844         Without this fix, INT_MULTIPLY_WRAPV would not compile, due
3845         to applying sizeof to a bit-field.
3846         * lib/intprops.h (_GL_INT_MULTIPLY_RANGE_OVERFLOW):
3847         Promote B before giving it to TYPE_WIDTH, in case B is a bit-field.
3849 2020-08-23  Bruno Haible  <bruno@clisp.org>
3851         supersede: Avoid a failure when writing to /dev/null in Solaris zones.
3852         Reported by Jörg Sonnenberger <joerg@netbsd.org>
3853         via Thomas Klausner <tk@giga.or.at> in
3854         <https://pkgsrc.se/files.php?messageId=20200812233110.30230FB28@cvs.NetBSD.org>.
3855         * lib/supersede.c (open_supersede): When opening an existing non-regular
3856         file on Solaris, use O_CREAT although it should not be necessary.
3858 2020-08-23  Bruno Haible  <bruno@clisp.org>
3860         verify: Make assume work on bit field expressions (regr. 2020-08-22).
3861         Reported by Benno Schulenberg <bensberg@telfort.nl> in
3862         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00202.html>.
3863         * lib/verify.h (assume): Use '_Bool' or 'bool' as type of the temporary
3864         variable.
3866 2020-08-23  Bruno Haible  <bruno@clisp.org>
3868         libc-config: Improve comments.
3869         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Explain why we
3870         cannot use clang's __diagnose_if__ here.
3872 2020-08-22  Bruno Haible  <bruno@clisp.org>
3874         verify: Do use __builtin_assume on clang.
3875         * lib/verify.h (assume): Use clang’s __builtin_assume, with a temporary
3876         variable in a statement expression.
3878 2020-08-22  Bruno Haible  <bruno@clisp.org>
3880         sig2str: Add more signals.
3881         * lib/sig2str.c (numname_table): Add SIGCPUFAIL, SIGTHR, SIGBREAK.
3883 2020-08-22  Bruno Haible  <bruno@clisp.org>
3885         doc: Update for OpenBSD 6.0, 6.7.
3886         * doc/*/*.texi: Update.
3887         * m4/printf.m4: Update comments and cross-compilation guesses.
3888         * m4/ceill.m4: Update comments.
3889         * m4/getcwd-abort-bug.m4: Likewise.
3890         * m4/ilogb.m4: Likewise.
3891         * m4/ilogbf.m4: Likewise.
3892         * m4/langinfo_h.m4: Likewise.
3893         * m4/modf.m4: Likewise.
3894         * m4/modff.m4: Likewise.
3896 2020-08-22  Bruno Haible  <bruno@clisp.org>
3898         doc: Mention sig2str module.
3899         * doc/glibc-functions/sigabbrev_np.texi: Mention the sig2str module.
3901 2020-08-21  Bruno Haible  <bruno@clisp.org>
3903         sigdescr_np: Add tests.
3904         * tests/test-sigdescr_np.c: New file.
3905         * modules/sigdescr_np-tests: New file.
3907         sigdescr_np: New module.
3908         * lib/string.in.h (sigdescr_np): New declaration.
3909         * lib/sigdescr_np.c: New file.
3910         * m4/sigdescr_np.m4: New file.
3911         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigdescr_np is
3912         declared.
3913         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGDESCR_NP,
3914         HAVE_SIGDESCR_NP.
3915         * modules/string (Makefile.am): Substitute GNULIB_SIGDESCR_NP,
3916         HAVE_SIGDESCR_NP.
3917         * modules/sigdescr_np: New file.
3918         * tests/test-string-c++.cc: Verify the signature of sigdescr_np.
3919         * doc/glibc-functions/sigdescr_np.texi: Mention the new module.
3921 2020-08-20  Bruno Haible  <bruno@clisp.org>
3923         sigabbrev_np: Add tests.
3924         * tests/test-sigabbrev_np.c: New file.
3925         * modules/sigabbrev_np-tests: New file.
3927         sigabbrev_np: New module.
3928         * lib/string.in.h (sigabbrev_np): New declaration.
3929         * lib/sigabbrev_np.c: New file.
3930         * m4/sigabbrev_np.m4: New file.
3931         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigabbrev_np is
3932         declared.
3933         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGABBREV_NP,
3934         HAVE_SIGABBREV_NP.
3935         * modules/string (Makefile.am): Substitute GNULIB_SIGABBREV_NP,
3936         HAVE_SIGABBREV_NP.
3937         * modules/sigabbrev_np: New file.
3938         * tests/test-string-c++.cc: Verify the signature of sigabbrev_np.
3939         * doc/glibc-functions/sigabbrev_np.texi: Mention the new module.
3941 2020-08-20  Bruno Haible  <bruno@clisp.org>
3943         stdalign tests: Skip test with AIX xlclang.
3944         * tests/test-stdalign.c (main): Skip alignas tests with AIX xlclang.
3946 2020-08-20  Bruno Haible  <bruno@clisp.org>
3948         stdalign: Fix test failures on 32-bit platforms with clang versions < 8.
3949         * lib/stdalign.in.h (_Alignof): For clang versions < 8, use the same
3950         workaround as for GCC versions < 4.9.
3952 2020-08-20  Siddhesh Poyarekar  <siddhesh@gotplt.org>
3954         Sync up ProjectQuirks comments and documentation
3955         Transform the ProjectQuirks comments into a docstring so that it can
3956         be accessed from python as ProjectQuirks.__doc__ and harmonize
3957         descriptions with the documentation.
3958         * build-aux/vcstocl/projectquirks.py (ProjectQuirks):
3959         Transform comments into a docstring.
3960         * doc/vcs-to-changelog.texi: Sync up description with comments.
3962         Split ProjectQuirks out into its own file
3963         ProjectQuirks is used by external quirks files and importing it from
3964         vcs-to-changelog.py is broken since it was renamed to use hyphens.  It
3965         is cleaner to put it in its own file anyway.
3966         * build-aux/vcstocl/projectquirks.py: A new file...
3967         * build-aux/vcs-to-changelog.py (ProjectQuirks): ...to which
3968         we move ProjectQuirks and import the file.
3970 2020-08-19  Bruno Haible  <bruno@clisp.org>
3972         uchar: Fix compilation errors in C++ mode on macOS.
3973         * m4/uchar.m4 (gl_UCHAR_H): Require gl_ANSI_CXX if present. Include some
3974         system header file before attempting to use 'char16_t' and 'char32_t'.
3976 2020-08-19  Bruno Haible  <bruno@clisp.org>
3978         ansi-c++-opt: Work around an autoconf macro reordering problem.
3979         * modules/ansi-c++-opt: Require gl_ANSI_CXX already in the early
3980         section.
3982 2020-08-19  Bruno Haible  <bruno@clisp.org>
3984         math C++ tests: Fix compilation error in with GCC 10.
3985         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
3986         hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder, rint,
3987         round, trunc): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
3989 2020-08-19  Bruno Haible  <bruno@clisp.org>
3991         uchar: Fix compilation errors in C++ mode on OpenBSD.
3992         * lib/uchar.in.h (char16_t, char32_t): Don't define in C++ mode if
3993         CXX_HAS_UCHAR_TYPES is 1.
3994         * m4/uchar.m4 (gl_UCHAR_H): Determine whether the C++ compiler
3995         predefines char16_t and char32_t. Substitute CXX_HAS_UCHAR_TYPES.
3996         * modules/uchar (Makefile.am): Substitute CXX_HAS_UCHAR_TYPES.
3998 2020-08-19  Bruno Haible  <bruno@clisp.org>
4000         Fix compilation errors in C++ mode on OpenBSD.
4001         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on
4002         OpenBSD with clang, use the approach without C preprocessor macro.
4004 2020-08-18  Bruno Haible  <bruno@clisp.org>
4006         uchar C++ tests: Fix side effect on math modules (regr. 2020-08-17).
4007         * modules/uchar-c++-tests (configure.ac): Don't use AC_LANG_PUSH and
4008         AC_LANG_POP.
4010 2020-08-17  Paul Eggert  <eggert@cs.ucla.edu>
4012         verify: avoid __built_assume on Clang
4013         * lib/verify.h (assume): Do not use Clang’s __builtin_assume, as
4014         Clang 9 incorrectly diagnoses arguments as having side effects
4015         even when they do not.  I guess Clang 9 considers any function
4016         call as if it had a side effect here.
4018         libc-config: avoid Clang’s __diagnose_if__
4019         * lib/cdefs.h (__warndecl, __warnattr, __errordecl):
4020         For now, do not use __diagnose_if__ here, as this fails
4021         on Fedora 31 with Clang 9.0.1, with diagnostic
4022         "/usr/include/bits/stdio2.h:263:9: error: fgets called with bigger
4023         size than length of destination buffer
4024         [-Werror,-Wuser-defined-warnings]".  I guess Clang 9 warns even
4025         for functions that are not called?
4027         careadlinkat: speedup for GCC 10 with GCC_LINT
4028         Inspired by a suggestion by Bruno Haible in:
4029         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00155.html
4030         * lib/careadlinkat.c (STACK_BUF_SIZE): New constant.
4031         (readlink_stk): New function, with most of the old careadlinkat
4032         contents and with a new STACK_BUF arg.  Inline it in GCC 10
4033         if GCC_LINT.
4034         (careadlinkat): Use the new function for everything but the
4035         stack buffer.
4037         * build-aux/gcc-warning.spec: Update comments.
4039 2020-08-17  Bruno Haible  <bruno@clisp.org>
4041         Assume autoconf >= 2.64.
4042         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO_LIMIT always.
4044 2020-08-17  Bruno Haible  <bruno@clisp.org>
4046         Revert autoupdate's revert.
4047         * config/srclist.txt: Mark regcomp.c as needing sync with glibc.
4049 2020-08-17  Bruno Haible  <bruno@clisp.org>
4051         uchar C++ tests: Fix build error on FreeBSD 12.
4052         * modules/uchar-c++-tests (configure.ac): Test whether <cuchar> exists.
4053         (Makefile.am): Don't include test-uchar-c++2.cc in the compilation if
4054         <cuchar> does not exist.
4056 2020-08-16  Paul Eggert  <eggert@cs.ucla.edu>
4058         time_rz: remove unused functions
4059         * lib/time_rz.c (isdst_differ, equal_tm): Remove; no longer used.
4061         time_rz: fix issues with mktime_z failures
4062         * lib/time_rz.c (mktime_z): Do not update *TM if revert_tz fails.
4063         Use a cheaper tm_yday test for failed mktime.
4065 2020-08-16  Bruno Haible  <bruno@clisp.org>
4067         intprops test: Strengthen on clang.
4068         * tests/test-intprops.c (VERIFY): Use verify_stmt.
4070 2020-08-16  Bruno Haible  <bruno@clisp.org>
4072         nstrftime: Guide inlining also on clang.
4073         * lib/nstrftime.c (iso_week_days): Inline also on clang.
4075 2020-08-16  Bruno Haible  <bruno@clisp.org>
4077         intprops: Avoid bogus "warning: division by zero is undefined" on clang.
4078         * lib/intprops.h (_GL__GENERIC_BOGUS): Define to 1 on clang.
4080 2020-08-16  Bruno Haible  <bruno@clisp.org>
4082         log2l: Disable MSVC workaround on clang.
4083         * lib/log2l.c (log2l): On clang, use the expression 0.0L/0.0L.
4085 2020-08-16  Bruno Haible  <bruno@clisp.org>
4087         argp: Emit a warning also with clang.
4088         * lib/argp-help.c (__argp_short_program_name): Use #warning also on
4089         clang.
4091 2020-08-16  Bruno Haible  <bruno@clisp.org>
4093         libc-config: Enable __REDIRECT macro also on clang.
4094         * lib/cdefs.h (__REDIRECT, __REDIRECT_NTH, __REDIRECT_NTHNL, __ASMNAME,
4095         __ASMNAME2): Define on clang like on GCC.
4097 2020-08-16  Bruno Haible  <bruno@clisp.org>
4099         regex: Use initializer shorthand syntax also with clang.
4100         * lib/regcomp.c (utf8_sb_map): Use the initializer shorthand syntax also
4101         with clang.
4103 2020-08-16  Bruno Haible  <bruno@clisp.org>
4105         regex: Use space optimization also with clang.
4106         * lib/regex_internal.h (re_token_t): Use a single byte for the type also
4107         with clang.
4109 2020-08-16  Bruno Haible  <bruno@clisp.org>
4111         Use _Static_assert and static_assert primitives when present on clang.
4112         * lib/cdefs.h (_Static_assert): Don't define as a macro on clang.
4113         * lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1,
4114         _GL_HAVE_STATIC_ASSERT1): Define as appropriate on clang.
4116 2020-08-16  Bruno Haible  <bruno@clisp.org>
4118         Use 'throw ()' for optimization in C++ mode also on clang.
4119         * lib/cdefs.h (__THROW): Define to 'throw ()' also on clang.
4120         * lib/getopt-cdefs.in.h (__THROW): Likewise.
4121         * lib/md5.h (__THROW): Likewise.
4123 2020-08-16  Bruno Haible  <bruno@clisp.org>
4125         absolute-header: Add support for clang.
4126         * modules/absolute-header (Makefile.am): Include '__clang__' in the
4127         HAVE_INCLUDE_NEXT expression.
4129 2020-08-16  Bruno Haible  <bruno@clisp.org>
4131         Fix "warning: implicitly declaring library function 'strcasecmp'".
4132         * lib/argp-help.c: Include <strings.h>.
4134 2020-08-16  Bruno Haible  <bruno@clisp.org>
4136         stdio: Don't break attribute 'scanf' on clang.
4137         * lib/stdio.in.h (scanf): Treat clang like GCC.
4139 2020-08-16  Bruno Haible  <bruno@clisp.org>
4141         Use __restrict also on clang.
4142         * lib/argp.h (__restrict): Don't define as a macro on clang >= 3.
4143         * lib/glob.in.h (_Restrict_): Use __restrict on clang >= 3.
4144         * lib/unitypes.in.h (_UC_RESTRICT): Likewise.
4146 2020-08-16  Bruno Haible  <bruno@clisp.org>
4148         pthread-spin: Use GCC built-ins also on clang.
4149         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
4150         pthread_spin_trylock, pthread_spin_unlock): Use the newer GCC built-ins
4151         also on clang.
4153 2020-08-16  Bruno Haible  <bruno@clisp.org>
4155         asyncsafe-spin tests: Update.
4156         * tests/test-asyncsafe-spin2.c: Update to match the change in
4157         lib/asyncsafe-spin.c from 2020-08-11.
4159 2020-08-16  Bruno Haible  <bruno@clisp.org>
4161         setenv: Use tree code also with clang.
4162         * lib/setenv.c (USE_TSEARCH): Treat clang like GCC.
4164 2020-08-16  Bruno Haible  <bruno@clisp.org>
4166         math: Optimize signbit also on clang.
4167         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Optimize also
4168         on clang.
4170 2020-08-16  Bruno Haible  <bruno@clisp.org>
4172         avltreehash-list, rbtreehash-list: Optimize also on clang.
4173         * lib/gl_anytreehash_list1.h (add_nodes_to_buckets): Use
4174         __builtin_expect also on clang.
4176 2020-08-16  Bruno Haible  <bruno@clisp.org>
4178         Fix "warning: 'WSASocketA' is deprecated: Use WSASocketW() instead".
4179         * lib/socket.c: Use WSASocketW, not WSASocketA.
4181         Fix "warning: format specifies type 'unsigned long'".
4182         * tests/test-nonblocking-writer.h (main_writer_loop): Cast dbgfprintf
4183         argument to match the format directive.
4185         Fix "warning: no case matching constant switch condition '0'".
4186         * tests/test-fcntl.c (check_flags): Add a 'default' case.
4188         Fix "warning: integer overflow in expression".
4189         * tests/test-strtol.c (main): Use an 'unsigned long' expression to
4190         remove a 'long' overflow.
4192         Fix "warning: "getpagesize" redefined".
4193         * tests/test-getcwd.c (getpagesize): Don't redefine if defined as a
4194         macro.
4196         Fix "warning: implicitly declaring library function 'strncasecmp'".
4197         * lib/strptime.c: Include <strings.h>.
4199         Fix "warning: 'snprintf' macro redefined".
4200         * lib/strerror_r.c (snprintf): Undefine before redefining.
4202         Fix "warning: address of array 'locale' will always evaluate to 'true'".
4203         * lib/nl_langinfo.c (ctype_codeset): Remove redundant NULL test.
4205         Fix "warning: '__stat64' macro redefined".
4206         * lib/glob.c (__stat64): Undefine also on MSVC/clang.
4208         Fix "warning: 'format' attribute argument not supported: rpl_printf".
4209         * lib/stdio.in.h (printf): Treat clang like GCC.
4211         Fix "warning: attribute declaration must precede definition" with clang.
4212         * lib/math.in.h (acosl, asinl, atanl, ceill, cosl, expl, fabsf, fabsl,
4213         floorl, fmodl, frexpf, frexpl, hypotf, hypotl, ldexpf, ldexpl, logl,
4214         log10l, modfl, sinl, sqrtl, tanl): Disable _GL_CXXALIASWARN invocation
4215         on non-glibc systems.
4216         * lib/netdb.in.h (gai_strerror): Likewise.
4217         * lib/stdio.in.h (snprintf, vfscanf, vscanf, vsnprintf): Likewise.
4218         * lib/sys_stat.in.h (fstat): Likewise.
4219         * lib/utime.in.h (utime): Likewise.
4221         Fix undesired warnings.
4222         * lib/sys_select.in.h: Disable all _GL_WARN_ON_USE invocations with
4223         clang.
4225 2020-08-16  Bruno Haible  <bruno@clisp.org>
4227         C++ tests: Fix link errors on MSVC (regression from 2020-05-31).
4228         * modules/stdio-c++-tests (Makefile.am): Link test-stdio-c++ with
4229         $(LIB_GETRANDOM), needed for the rpl_tmpfile symbol.
4230         * modules/stdlib-c++-tests (Makefile.am): Link test-stdlib-c++ with
4231         $(LIB_GETRANDOM), needed for the mkdtemp and mkstemp symbols.
4233 2020-08-16  Bruno Haible  <bruno@clisp.org>
4235         Don't use Autoconf quadrigraphs.
4236         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Use '#' instead of the corresponding
4237         Autoconf quadrigraph.
4238         * m4/free.m4 (gl_FUNC_FREE): Likewise.
4239         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
4240         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES,
4241         _AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
4242         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
4243         * m4/math_h.m4 (gl_MATH_H): Likewise.
4244         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
4246 2020-08-16  Bruno Haible  <bruno@clisp.org>
4248         Fix quoting of AC_LANG_PROGRAM arguments.
4249         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Quote the AC_LANG_PROGRAM
4250         arguments through [[...]].
4251         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
4252         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
4253         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
4254         * m4/ld-output-def.m4 (gl_LD_OUTPUT_DEF): Likewise.
4255         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Likewise.
4256         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
4257         * m4/mountlist.m4 (gl_MOUNTLIST): Likewise.
4258         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
4259         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
4260         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
4261         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
4262         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
4263         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
4265 2020-08-16  Bruno Haible  <bruno@clisp.org>
4267         Assume autoconf >= 2.64.
4268         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Set to 2.64.
4269         * DEPENDENCIES: Require Autoconf 2.64 or newer.
4270         * NEWS: Mention the changed requirement.
4271         * m4/00gnulib.m4 (_m4_divert_diversion, AC_DEFUN_ONCE): Remove macros.
4272         * m4/gnulib-common.m4 (AS_VAR_IF, AS_VAR_COPY): Remove macros.
4273         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Quote pushdef'ed
4274         variables.
4275         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
4276         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
4277         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
4278         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C), gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++),
4279         gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): Define through AC_DEFUN.
4280         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C), gl_MANYWARN_ALL_GCC(C++)):
4281         Likewise.
4282         * m4/iconv.m4 (AM_ICONV): Define through AC_DEFUN_ONCE directly.
4283         * m4/libunistring.m4 (gl_LIBUNISTRING): Likewise.
4284         * m4/configmake.m4: Update comment.
4286 2020-08-16  Bruno Haible  <bruno@clisp.org>
4288         sys_ioctl: Simplify.
4289         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Remove confusing use of
4290         AC_INCLUDES_DEFAULT.
4292 2020-08-16  Bruno Haible  <bruno@clisp.org>
4294         Fix quoting of AC_LANG_SOURCE arguments.
4295         * m4/printf.m4 (gl_PRINTF_ENOMEM): Fix an m4 quoting bug in the
4296         GL_NOCRASH expansion.
4297         * m4/locale-ar.m4 (gt_LOCALE_AR): Simplify m4 quoting.
4298         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
4299         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
4300         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
4301         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
4303 2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4305         nstrftime: be more predictable about errno
4306         This aligns nstrftime better with draft POSIX 202x strftime.
4307         * lib/nstrftime.c: Include errno.h.
4308         (width_add, __strftime_internal): Set errno on failure,
4309         and preserve it on success.  Check for mktime_z failure.
4310         * modules/nstrftime (Depends-on): Add errno.
4311         * modules/nstrftime-tests (Depends-on): Add atoll, intprops.
4312         * tests/test-nstrftime.c: Include intprops.h, limits.h.
4313         (errno_test): New test function.
4314         (main): Call it.
4316 2020-08-15  Bruno Haible  <bruno@clisp.org>
4318         canonicalize: Fix a problem of the autoconf test on MSVC/clang.
4319         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Remove undesired file
4320         from dependency analysis first.
4322 2020-08-15  Bruno Haible  <bruno@clisp.org>
4324         Determine asm output option and filename suffix for MSVC/clang.
4325         * m4/asm-underscore.m4 (gl_C_ASM): Distinguish clang from cl and
4326         clang-cl.
4328 2020-08-15  Bruno Haible  <bruno@clisp.org>
4330         doc: Update for MSVC/clang.
4331         * doc/*-functions/*printf.texi: Mention that MSVC/clang has two bugs
4332         that MSVC 14 does not have.
4334 2020-08-15  Bruno Haible  <bruno@clisp.org>
4336         Revert autoupdate's revert.
4337         * config/srclist.txt: Mark mktime.c as needing sync with glibc.
4339 2020-08-15  Bruno Haible  <bruno@clisp.org>
4341         frexpl: Fix configuration test result on MSVC.
4342         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Avoid a division by a constant
4343         zero.
4345 2020-08-15  Bruno Haible  <bruno@clisp.org>
4347         Support compiling without -loldnames on native Windows.
4348         * m4/gnulib-common.m4 (GL_MDA_DEFINES, _GL_MDA_DEFINES): New macros.
4349         * m4/chown.m4 (AC_FUNC_CHOWN): In the test programs, use GL_MDA_DEFINES.
4350         (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
4351         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
4352         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
4353         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
4354         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Likewise.
4355         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Likewise.
4356         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
4357         * m4/fcntl.m4 (gl_FUNC_FCNTL): Likewise.
4358         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
4359         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
4360         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
4361         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): Likewise.
4362         * m4/freopen.m4 (gl_FUNC_FREOPEN): Likewise.
4363         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
4364         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
4365         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
4366         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL, gl_FUNC_GETCWD_SIGNATURE):
4367         Likewise.
4368         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Likewise.
4369         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
4370         * m4/lseek.m4 (gl_FUNC_LSEEK): Likewise.
4371         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
4372         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
4373         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
4374         * m4/open-slash.m4 (gl_OPEN_TRAILING_SLASH_BUG): Likewise.
4375         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
4376         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
4377         * m4/pread.m4 (gl_FUNC_PREAD): Likewise.
4378         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
4379         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Likewise.
4380         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
4381         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
4382         * m4/pwrite.m4 (gl_FUNC_PWRITE): Likewise.
4383         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
4384         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
4385         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
4386         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
4387         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
4388         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
4389         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
4390         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
4391         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
4392         * m4/utimens.m4 (gl_UTIMENS): Likewise.
4393         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
4394         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
4395         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): On native Windows, don't
4396         test for getcwd.
4397         * m4/utime.m4 (gl_FUNC_UTIME): On native Windows, don't test for utime.
4398         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): To test for wcsdup, use a test program
4399         with GL_MDA_DEFINES.
4400         * lib/c++defs.h (_GL_CXXALIAS_MDA): New macro.
4401         * lib/fcntl.in.h (creat, open):  On native Windows, use the underscore-
4402         prefixed symbol.
4403         * lib/search.in.h (lfind, lsearch): Likewise.
4404         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
4405         Likewise.
4406         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
4407         * lib/string.in.h (memccpy, strdup): Likewise.
4408         * lib/sys_stat.in.h (chmod, umask): Likewise.
4409         * lib/time.in.h (tzset): Likewise.
4410         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
4411         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
4412         read, rmdir, swab, unlink, write): Likewise.
4413         * lib/utime.in.h (utime): Likewise.
4414         * lib/wchar.in.h (wcsdup): Likewise.
4415         * lib/math.in.h (j0, j1, jn, y0, y1, yn):  Likewise.
4416         (isfinite, isinf, isnan, signbit): On native Windows, don't define as an
4417         rpl_-prefixed macro.
4418         * lib/canonicalize-lgpl.c (__getcwd): On native Windows, use _getcwd.
4419         * lib/close.c (close_nothrow): On native Windows, use _close.
4420         * lib/creat.c (orig_creat): On native Windows, use _creat.
4421         * lib/dup.c (dup_nothrow): On native Windows, use _dup.
4422         * lib/dup2.c (dup2_nothrow): Use _dup2.
4423         * lib/fdopen.c (fdopen_nothrow): On native Windows, use _fdopen.
4424         * lib/getcwd-lgpl.c: On native Windows, use _getcwd.
4425         * lib/getcwd.c (getcwd_nothrow): Use _getcwd also on mingw.
4426         * lib/open.c (orig_open): On native Windows, use _open.
4427         * lib/read.c (read_nothrow): Use _read.
4428         * lib/rmdir.c: On native Windows, use _rmdir.
4429         * lib/unlink.c: On native Windows, use _unlink.
4430         * lib/write.c (write_nothrow): Use _write.
4431         * lib/sys_select.in.h (close): With clang, don't attach a warning on an
4432         undefined symbol.
4433         * lib/sys_socket.in.h (close): Likewise.
4434         * lib/sys_time.in.h (close): Likewise.
4435         * tests/test-spawn-pipe-child.c: On native Windows, use _fdopen.
4437 2020-08-15  Bruno Haible  <bruno@clisp.org>
4439         Fix "unknown pragma ignored" warnings with clang on native Windows.
4440         * lib/cbrt.c: Don't use '#pragma fenv_access (off)' with clang.
4441         * lib/cbrtf.c: Likewise.
4442         * lib/ceil.c: Likewise.
4443         * lib/floor.c: Likewise.
4444         * lib/fma.c: Likewise.
4445         * lib/fmod.c: Likewise.
4446         * lib/rint.c: Likewise.
4447         * lib/round.c: Likewise.
4448         * lib/trunc.c: Likewise.
4449         * tests/test-ceil2.c: Likewise.
4450         * tests/test-ceilf2.c: Likewise.
4451         * tests/test-floor2.c: Likewise.
4452         * tests/test-floorf2.c: Likewise.
4453         * tests/test-trunc2.c: Likewise.
4454         * tests/test-truncf2.c: Likewise.
4455         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
4456         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
4458 2020-08-15  Bruno Haible  <bruno@clisp.org>
4460         Fix compilation errors in C++ mode with clang on native Windows.
4461         * lib/pthread.in.h (pthread_*): Disable _GL_CXXALIASWARN invocation on
4462         non-glibc systems.
4463         * lib/sched.in.h (sched_yield): Likewise.
4465 2020-08-14  Bruno Haible  <bruno@clisp.org>
4467         stdnoreturn: Work around problem with MSVC/clang.
4468         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On native Windows, include some
4469         system header after <stdnoreturn.h>.
4470         * doc/posix-headers/stdnoreturn.texi: Mention the issue.
4472 2020-08-14  Bruno Haible  <bruno@clisp.org>
4474         utime-h: Generate an utime.h file always.
4475         * modules/utime-h (Makefile.am): Generate utime.h always.
4476         * m4/utime_h.m4 (gl_UTIME_H): Don't set UTIME_H. Don't define
4477         GL_GENERATE_UTIME_H.
4479 2020-08-14  Bruno Haible  <bruno@clisp.org>
4481         mktime, mktime-internal: Remove obsolete code.
4482         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't #undef putenv.
4484 2020-08-14  Bruno Haible  <bruno@clisp.org>
4486         getcwd: Remove obsolete code.
4487         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't #undef mkdir.
4488         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
4490 2020-08-14  Bruno Haible  <bruno@clisp.org>
4492         tzset: Assume the function exists.
4493         * lib/time.in.h (tzset): Assume HAVE_TZSET is 1.
4494         * lib/tzset.c: Define rpl_tzset, not tzset. Assume HAVE_TZSET is 1.
4495         * modules/tzset (configure.ac): Don't test HAVE_TZSET.
4496         * m4/tzset.m4 (gl_FUNC_TZSET): Don't test for tzset. Don't set
4497         HAVE_TZSET.
4498         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Don't initialize HAVE_TZSET.
4499         * modules/time (Makefile.am): Don't substitute HAVE_TZSET.
4501         nstrftime: Assume tzset exists.
4502         * lib/nstrftime.c (HAVE_TZSET): Remove macro.
4503         (__strftime_internal): Test my_strftime, not HAVE_TZSET.
4504         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Don't test for tzset.
4506         mktime, mktime-internal: Assume tzset exists.
4507         * lib/mktime.c (my_tzset): Assume HAVE_TZSET is 1.
4508         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't test for tzset.
4510 2020-08-14  Bruno Haible  <bruno@clisp.org>
4512         strdup: Assume the function exists.
4513         * m4/strdup.m4 (gl_FUNC_STRDUP, gl_FUNC_STRDUP_POSIX): Don't test
4514         whether strdup exists.
4515         * modules/strdup (Files): Remove lib/strdup.c.
4516         (configure.ac): Don't compile strdup.c.
4517         * modules/strdup-posix (Depends-on, configure.ac): Don't test
4518         ac_cv_func_strdup.
4519         * doc/posix-functions/strdup.texi: Update.
4520         * lib/unistr/u8-strdup.c: Assume HAVE_STRDUP is 1.
4521         * modules/unistr/u8-strdup (Files): Remove lib/unistr/u-strdup.h.
4522         (Depends-on): Remove unistr/u8-strlen.
4524 2020-08-13  Bruno Haible  <bruno@clisp.org>
4526         sys_random: Work around an uClibc bug.
4527         Reported by akater <nuclearspace@gmail.com>
4528         via Stefan Kangas <stefan@marxist.se>
4529         in <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42236>.
4530         * lib/sys_random.in.h: On uClibc, include <stddef.h> first.
4531         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Update comment.
4532         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
4533         * doc/glibc-headers/sys_random.texi: Mention the uClibc bug.
4535 2020-08-12  Bruno Haible  <bruno@clisp.org>
4537         Avoid implicit conversion from 'unsigned int' to 'int' in initializers.
4538         Reported by Florian Weimer in
4539         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00086.html>.
4540         * lib/gen-uni-tables.c (output_predicate): Change the element type of
4541         the level3 array to 'unsigned int'.
4542         * lib/unictype/bitmap.h (bitmap_lookup): Access an 'unsigned int'.
4543         * lib/unictype/categ_*.h: Regenerated.
4544         * lib/unictype/ctype_*.h: Regenerated.
4545         * lib/unictype/pr_*.h: Regenerated.
4546         * lib/unictype/sy_*.h: Regenerated.
4547         * lib/unicase/cased.h: Regenerated.
4548         * lib/unicase/ignorable.h: Regenerated.
4550 2020-08-12  Paul Eggert  <eggert@cs.ucla.edu>
4552         stdint: port intptr_t to more-recent MinGW
4553         Problem reported by Eli Zaretskii in <https://bugs.gnu.org/36597#106>.
4554         * lib/stdint.in.h (intptr_t, uintptr_t): Do not define on MinGW,
4555         even if _INTPTR_T_DEFINED and _UINTPTR_T_DEFINED are not defined.
4556         Apparently those two macros were removed in mingwrt-3.22
4557         dated 2016-07-14.
4559 2020-08-12  Bruno Haible  <bruno@clisp.org>
4561         thread-optim: Export function-like macros only.
4562         Suggested by Paul Eggert.
4563         * lib/thread-optim.h (gl_multithreaded): New macro.
4564         (IF_MT_DECL, IF_MT): Remove macros.
4565         * doc/multithread.texi (Multithreading Optimizations): Add a small
4566         example.
4567         * lib/fatal-signal.c: Update all uses.
4568         * lib/clean-temp.c: Likewise.
4569         * lib/localename.c: Likewise.
4570         * modules/localename (Depends-on): Add stdbool.
4572 2020-08-12  Bruno Haible  <bruno@clisp.org>
4574         Revert autoupdate's revert.
4575         * config/srclist.txt: Mark regex.h as needing sync with glibc.
4577 2020-08-11  Bruno Haible  <bruno@clisp.org>
4579         thread-optim: Fix a compiler warning.
4580         * lib/thread-optim.h (IF_MT_DECL): Define differently.
4582 2020-08-11  Bruno Haible  <bruno@clisp.org>
4584         Use __restrict also on clang.
4585         * lib/cdefs.h (__restrict): Don't define as a macro on clang.
4586         (__restrict_arr): On clang, define like on GCC.
4587         * lib/regex.h (_Restrict_): Use '__restrict' also on clang.
4588         (_Restrict_arr_): Use _Restrict_ also on clang.
4589         * lib/spawn.in.h (_Restrict_): Use '__restrict' also on clang.
4590         (_Restrict_arr_): Use _Restrict_ also on clang.
4592 2020-08-11  Bruno Haible  <bruno@clisp.org>
4594         Use flexible array syntax also on clang.
4595         * lib/cdefs.h (__flexarr, __glibc_c99_flexarr_available): For clang,
4596         define like for GCC 3.
4598 2020-08-11  Bruno Haible  <bruno@clisp.org>
4600         fcntl: On native Windows, use _setmode, not setmode.
4601         * lib/fcntl.c (dupfd): Use _setmode, not setmode.
4602         * lib/binary-io.h: Update comment.
4603         * tests/test-cloexec.c: Call set_binary_mode, not setmode.
4604         * tests/test-dup2.c: Likewise.
4605         * tests/test-dup-safer.c: Likewise.
4606         * tests/test-fcntl.c: Likewise.
4608 2020-08-11  Bruno Haible  <bruno@clisp.org>
4610         execute, spawn-pipe: Use _spawnvpe, not spawnvpe.
4611         * lib/execute.c (execute): Use _spawnvpe, not spawnvpe.
4612         * lib/spawn-pipe.c (create_pipe): Likewise.
4613         * tests/test-nonblocking-pipe-main.c (main): Likewise.
4614         * tests/test-nonblocking-socket-main.c (main): Likewise.
4615         * lib/wait-process.c: Update comment.
4616         * doc/posix-functions/fork.texi: Update.
4618 2020-08-11  Bruno Haible  <bruno@clisp.org>
4620         asyncsafe-spin: Use GCC built-ins also on clang.
4621         * lib/asyncsafe-spin.c (asyncsafe_spin_init, do_lock, do_unlock): Use
4622         the newer GCC built-ins also on clang.
4624 2020-08-11  Bruno Haible  <bruno@clisp.org>
4626         Use expression statements also on clang.
4627         * lib/cdefs.h (__extension__): Don't define to empty on clang.
4628         * lib/obstack.h (__extension__): Likewise.
4629         (obstack_object_size, obstack_room, obstack_make_room, obstack_empty_p,
4630         obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
4631         obstack_int_grow, obstack_ptr_grow_fast, obstack_int_grow_fast,
4632         obstack_blank, obstack_alloc, obstack_copy, obstack_copy0,
4633         obstack_finish, obstack_free): Enable as optimized macros also on clang.
4634         * lib/fpucw.h (fpucw_t etc.): Enable the definitions also on clang.
4636 2020-08-10  Bruno Haible  <bruno@clisp.org>
4638         Use many __attribute__s with clang.
4639         * m4/gnulib-common.m4 (_Noreturn): Use __attribute__ __noreturn__ also
4640         on clang.
4641         * lib/cdefs.h (__glibc_clang_has_attribute, __glibc_clang_has_builtin):
4642         New macros.
4643         (__THROW, __THROWNL, __NTH, __NTHNL): Use __attribute__ __nothrow__ also
4644         on clang.
4645         (__warndecl, __warnattr, __errordecl): Use __attribute__ __diagnose_if__
4646         also on older clang versions.
4647         (__attribute__): Don't define to empty on clang.
4648         (__attribute_malloc__): Use __attribute__ __malloc__ also on clang.
4649         (__attribute_pure__): Use __attribute__ __pure__ also on clang.
4650         (__attribute_const__): Use __attribute__ __const__ also on clang.
4651         (__attribute_used__): Use __attribute__ __used__ also on clang.
4652         (__attribute_noinline__): Use __attribute__ __noinline__ also on clang.
4653         (__attribute_deprecated__): Use __attribute__ __deprecated__ also on
4654         clang.
4655         (__attribute_format_arg__): Use __attribute__ __format_arg__ also on
4656         clang.
4657         (__attribute_format_strfmon__): Use __attribute__ __format__ __strfmon__
4658         also on clang.
4659         (__nonnull): Use __attribute__ __nonnull__ also on clang.
4660         (__attribute_warn_unused_result__): Use __attribute__
4661         __warn_unused_result__ also on clang.
4662         (__always_inline): Use __attribute__ __always_inline__ also on clang.
4663         (__attribute_artificial__): Use __attribute__ __artificial__ also on
4664         clang >= 7.
4665         (__glibc_unlikely, __glibc_likely): Use __builtin_expect also on older
4666         clang versions.
4667         (_Noreturn): Don't redefine on clang >= 3.5.
4668         * lib/arg-nonnull.h (_GL_ARG_NONNULL): Use __attribute__ __nonnull__
4669         also on clang.
4670         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Use __attribute__ __pure__ also
4671         on clang.
4672         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
4673         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
4674         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
4675         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Use __attribute__ __format__
4676         also on clang.
4677         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
4678         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Likewise.
4679         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST): Use __attribute__ __const__
4680         also on clang.
4681         (_UC_ATTRIBUTE_PURE): Use __attribute__ __pure__ also on clang.
4682         * lib/noreturn.h (_GL_NORETURN_FUNC, _GL_NORETURN_FUNCPTR): Use
4683         __attribute__ __noreturn__ also on clang.
4684         * lib/obstack.h (__attribute_noreturn__): Likewise.
4685         * lib/file-set.h (record_file): Use __attribute__ __nonnull__ also on
4686         clang.
4687         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__
4688         always_inline also on clang.
4689         * tests/test-printf-posix.c (func1, func2, func3, func4): Test also on
4690         clang.
4692 2020-08-10  Bruno Haible  <bruno@clisp.org>
4694         c-ldtoastr tests: Fix test failure.
4695         * tests/test-c-ldtoastr.c (main): Support platforms where 'long double'
4696         is longer than 'double'.
4698 2020-08-10  Bruno Haible  <bruno@clisp.org>
4700         Revert autoupdate's revert.
4701         * config/srclist.txt: Mark intprops.h as needing sync with glibc.
4703 2020-08-09  Bruno Haible  <bruno@clisp.org>
4705         string: Fix build error in C++ mode with clang (regression from today).
4706         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): Expect two rettype
4707         parameters, one for GCC, one for clang.
4708         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Update.
4709         * lib/string.in.h (strchr, strpbrk, strrchr): For clang, pass 'char *'
4710         as return type.
4712 2020-08-09  Bruno Haible  <bruno@clisp.org>
4714         ftruncate: Use _chsize, not chsize.
4715         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Test for _chsize, not chsize.
4716         * lib/ftruncate.c: Test HAVE__CHSIZE.
4717         (chsize_nothrow): Use _chsize, not chsize.
4719 2020-08-09  Bruno Haible  <bruno@clisp.org>
4721         Silence warnings from clang 10 with -Wimplicit-fallthrough.
4722         * lib/dfa.c (FALLTHROUGH): Use __attribute__ __fallthrough__ also on
4723         clang >= 10.
4724         * lib/fnmatch.c (FALLTHROUGH): Likewise.
4725         * lib/fts.c (FALLTHROUGH): Likewise.
4726         * tests/macros.h (FALLTHROUGH): Likewise.
4727         * lib/regex_internal.h (FALLTHROUGH): Likewise.
4728         * config/srclist.txt: Mark it as needing sync with glibc.
4730 2020-08-09  Bruno Haible  <bruno@clisp.org>
4732         stdbool tests: Enable the stricter tests also on clang.
4733         * tests/test-stdbool.c (ADDRESS_CHECK_OKAY): Define also on clang.
4734         (e): Enable the address-to-bool conversion test also on clang.
4736 2020-08-09  Bruno Haible  <bruno@clisp.org>
4738         count-one-bits: Use __builtin_popcount{,l,ll} on clang.
4739         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the GCC built-in.
4741 2020-08-09  Bruno Haible  <bruno@clisp.org>
4743         Use attribute __aligned__ with clang.
4744         * lib/stdalign.in.h (_Alignas): Treat clang like GCC.
4745         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS): Likewise.
4747 2020-08-09  Bruno Haible  <bruno@clisp.org>
4749         Use __alignof__ with clang.
4750         * m4/stddef_h.m4 (gl_STDDEF_H): Test the alignment of max_align_t also
4751         on clang.
4752         * lib/alignof.h (alignof_type): Use __alignof__ also on clang.
4753         * lib/stdalign.in.h (_Alignof): Don't activate the GCC workaround on
4754         clang.
4755         * lib/malloca.h (sa_alignof): Use __alignof__ also on clang.
4756         * lib/bitset/list.c (lbitset_elt_alloc): Use __alignof__ also on clang.
4757         * lib/bitset/table.c (tbitset_elt_alloc): Likewise.
4758         * tests/test-stddef.c: Very the behaviour of __alignof__ also on clang.
4760 2020-08-09  Bruno Haible  <bruno@clisp.org>
4762         ignore-value: Simplify on clang.
4763         * lib/ignore-value.h (ignore_value): With clang, no need to use the GCC
4764         workaround.
4766 2020-08-09  Bruno Haible  <bruno@clisp.org>
4768         Use __typeof__ with clang.
4769         * m4/stdint.m4 (gl_STDINT_H): Check for SIZE_MAX also on
4770         "clang -std=gnu99".
4771         * lib/intprops.h (_GL_HAVE___TYPEOF__): Define to 1 also on clang.
4772         * tests/test-stdint.c (verify_same_types): Enable the check also on
4773         clang.
4775 2020-08-09  Bruno Haible  <bruno@clisp.org>
4777         Add ability to emit user-defined warnings and errors with clang.
4778         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_ATTRIBUTE_ERROR,
4779         _GL_ATTRIBUTE_WARNING using an attribute for clang.
4780         * lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_ATTRIBUTE,
4781         _GL_WARN_ON_USE_CXX): Define using an attribute for clang.
4782         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Define using an
4783         attribute for clang.
4785 2020-08-09  Bruno Haible  <bruno@clisp.org>
4787         intprops: Fix typo in comment.
4788         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P): Fix typo in comment.
4790 2020-08-09  Bruno Haible  <bruno@clisp.org>
4792         Use __builtin_signbit* with clang.
4793         * lib/math.in.h (signbit): Use __builtin_signbit{,f,l} also on clang.
4794         * m4/signbit.m4 (gl_SIGNBIT): Use __builtin_signbit{,f,l} also on clang.
4795         Set REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
4796         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
4797         REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
4798         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_BUILTINS,
4799         not REPLACE_SIGNBIT_USING_GCC.
4801 2020-08-09  Bruno Haible  <bruno@clisp.org>
4803         Use __builtin_isnan with clang.
4804         * lib/isnanf-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
4805         not __builtin_isnanf. Also on clang.
4806         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Use the GCC
4807         built-in __builtin_isnan, not __builtin_isnanf. Also on clang.
4808         * lib/isnand-nolibm.h (isnand): With clang, use the GCC built-in.
4809         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): With clang, use the GCC
4810         built-in.
4811         * lib/isnanl-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
4812         not __builtin_isnanl. Also on clang.
4813         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_FUNC_ISNANL_WORKS): Use the
4814         GCC built-in __builtin_isnan, not __builtin_isnanl. Also on clang.
4815         * lib/math.in.h (__has_builtin): Remove macro.
4816         (isnanf, gl_isnan_f): Use the GCC built-in __builtin_isnan, not
4817         __builtin_isnanf. Also on clang.
4818         (isnand, gl_isnan_d): With clang, use the GCC built-in.
4819         (isnanl, gl_isnan_l): Use the GCC built-in __builtin_isnan, not
4820         __builtin_isnanl. Also on clang.
4821         (isnan): Use the GCC built-in __builtin_isnan in all three cases. Also
4822         on clang.
4824 2020-08-09  Bruno Haible  <bruno@clisp.org>
4826         thread-optim: Fix logic error.
4827         Reported by Paul Eggert.
4828         * lib/thread-optim.h (IF_MT): Fix logic error.
4830 2020-08-08  Bruno Haible  <bruno@clisp.org>
4832         localename: Use module 'thread-optim'.
4833         * lib/localename.c: Include thread-optim.h.
4834         (struniq): Use IF_MT macro.
4835         * modules/localename (Depends-on): Add thread-optim.
4837         clean-temp: Use module 'thread-optim'.
4838         * lib/clean-temp.c: Include thread-optim.h.
4839         (register_temporary_file, unregister_temporary_file, create_temp_dir,
4840         register_temp_file, unregister_temp_file, register_temp_subdir,
4841         unregister_temp_subdir, cleanup_temp_dir_contents, register_fd,
4842         close_temp, fclose_variant_temp): Use IF_MT macro.
4843         * modules/clean-temp (Depends-on): Add thread-optim.
4845         fatal-signal: Use module 'thread-optim'.
4846         * lib/fatal-signal.c: Include thread-optim.h.
4847         (at_fatal_signal, block_fatal_signals, unblock_fatal_signals): Use IF_MT
4848         macro.
4849         * modules/fatal-signal (Depends-on): Add thread-optim.
4851 2020-08-08  Bruno Haible  <bruno@clisp.org>
4853         New module 'thread-optim'.
4854         * lib/thread-optim.h: New file.
4855         * modules/thread-optim: New file.
4856         * doc/multithread.texi (Multithreading Optimizations): New section.
4858 2020-08-07  Paul Eggert  <eggert@cs.ucla.edu>
4860         doc: more updates for glibc 2.32
4861         * doc/glibc-functions/lchmod.texi, doc/posix-functions/faccessat.texi:
4862         * doc/posix-functions/fchmodat.texi: Update.
4864 2020-08-07  Bruno Haible  <bruno@clisp.org>
4866         doc: Update for glibc 2.32.
4867         * doc/glibc-functions/__libc_single_threaded.texi: New file.
4868         * doc/glibc-functions/pthread_attr_getsigmask_np.texi: New file.
4869         * doc/glibc-functions/pthread_attr_setsigmask_np.texi: New file.
4870         * doc/glibc-functions/sigabbrev_np.texi: New file.
4871         * doc/glibc-functions/sigdescr_np.texi: New file.
4872         * doc/glibc-functions/strerrordesc_np.texi: New file.
4873         * doc/glibc-functions/strerrorname_np.texi: New file.
4874         * doc/gnulib.texi: Include them.
4875         (Glibc sys/single_threaded.h): New section.
4876         * doc/pastposix-functions/h_errno.texi: Update.
4877         * doc/posix-functions/*.texi: Likewise.
4878         * doc/glibc-functions/*.texi: Likewise.
4880 2020-08-07  Bruno Haible  <bruno@clisp.org>
4882         alloca: No need to compile alloca.c with clang.
4883         * lib/alloca.c: Skip all code with clang.
4885         Use __builtin_alloca with clang.
4886         * lib/alloca.in.h (alloca): Define as __builtin_alloca on clang.
4888 2020-08-06  Bruno Haible  <bruno@clisp.org>
4890         Use __builtin_assume with clang.
4891         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): New macro.
4892         (assume): Use __builtin_assume when available.
4894 2020-08-06  Paul Eggert  <eggert@cs.ucla.edu>
4896         libgmp: add <gmp/gmp.h> support
4897         * m4/libgmp.m4 (gl_LIBGMP):
4898         * modules/libgmp (configure.ac, Makefile.am):
4899         Support platforms requiring ‘#include <gmp/gmp.h>’ instead of
4900         ‘#include <gmp.h>’.
4902 2020-08-06  Bruno Haible  <bruno@clisp.org>
4904         Consider that clang defines __OPTIMIZE__ like GCC does.
4905         * lib/streq.h: Define the inline functions also on clang.
4906         * lib/c-strcaseeq.h: Likewise.
4907         * lib/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't enable
4908         the GCC workaround to clang.
4910 2020-08-06  Bruno Haible  <bruno@clisp.org>
4912         safe-alloc: Remove unused code.
4913         * lib/safe-alloc.h (__GNUC_PREREQ): Remove macro.
4915 2020-08-06  Bruno Haible  <bruno@clisp.org>
4917         Use __builtin_expect with clang everywhere.
4918         * lib/cdefs.h (__glibc_unlikely, __glibc_likely): Use the GCC built-in
4919         also on clang.
4921 2020-08-05  Bruno Haible  <bruno@clisp.org>
4923         Use __builtin_ctz{,l,ll} and __builtin_ffs{,l,ll} with clang everywhere.
4924         * lib/count-trailing-zeros.h (COUNT_TRAILING_ZEROS): Use the GCC
4925         built-in also on clang.
4926         * lib/ffs.c: With clang, use the GCC built-in, not <intrin.h>.
4927         * lib/ffsl.h: Likewise. Assume GCC_BUILTIN is defined.
4929 2020-08-05  Bruno Haible  <bruno@clisp.org>
4931         Use __builtin_clz{,l,ll} with clang, also on Windows.
4932         * lib/integer_length.c: With clang, use the GCC built-in, not
4933         <intrin.h>.
4934         * lib/integer_length_l.c: Likewise.
4935         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS): Use the GCC built-in
4936         also on clang.
4937         * lib/vasnprintf.c (divide): Likewise.
4939 2020-08-04  Paul Eggert  <eggert@cs.ucla.edu>
4941         Update srclist.txt as per recent glibc changes
4942         * config/srclist.txt: Uncomment lines to reflect recent merges
4943         from Gnulib to glibc.
4945 2020-08-03  Bruno Haible  <bruno@clisp.org>
4947         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
4948         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Use m4_if instead of ifelse.
4950 2020-08-03  Bruno Haible  <bruno@clisp.org>
4952         integer_length_ll: Optimize for MSVC in 64-bit mode.
4953         * lib/integer_length_l.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
4954         (FUNC): On MSVC, use MSVC_BUILTIN if defined.
4956 2020-08-03  Bruno Haible  <bruno@clisp.org>
4958         integer_length_ll: Optimize for MSVC in 32-bit mode.
4959         * lib/integer_length_l.c: Include <intrin.h>.
4960         (integer_length): Define as inline function, like in
4961         lib/integer_length.c.
4963 2020-08-03  Bruno Haible  <bruno@clisp.org>
4965         integer_length: Optimize for MSVC.
4966         * lib/integer_length.c: Include <intrin.h>.
4967         (integer_length): With MSVC, use the _BitScanReverse built-in.
4969 2020-08-03  Bruno Haible  <bruno@clisp.org>
4971         ffsll: Optimize for MSVC in 64-bit mode.
4972         * lib/ffsl.h (FUNC): On MSVC, use MSVC_BUILTIN if defined.
4973         * lib/ffsll.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
4974         * lib/ffsl.c (MSVC_BUILTIN): Define for MSVC.
4976 2020-08-03  Bruno Haible  <bruno@clisp.org>
4978         ffsll: Optimize for MSVC in 32-bit mode.
4979         * lib/ffsl.h: Include <intrin.h>.
4980         (ffs): Define as inline function, like in lib/ffs.c.
4982 2020-08-03  Bruno Haible  <bruno@clisp.org>
4984         ffs: Optimize for MSVC.
4985         * lib/ffs.c: Include <intrin.h>.
4986         (ffs): With MSVC, use the _BitScanForward built-in.
4988 2020-08-03  Bruno Haible  <bruno@clisp.org>
4990         sigprocmask: Try to avoid breakage for people who use an Autoconf cache.
4991         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Change the name of the cache
4992         variable.
4994 2020-08-03  Harald van Dijk  <harald@gigawatt.nl>  (tiny change)
4996         fopen: Avoid undesired interactions with glibc headers.
4997         * lib/fopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this instead of
4998         __need_FILE, as the latter does not work with glibc.
5000 2020-08-02  Paul Eggert  <eggert@cs.ucla.edu>
5002         fcntl: document some F_SETLK errno variations
5003         * doc/posix-functions/fcntl.texi (fcntl): Document
5004         OpenIndiana, GNU/Linux, FreeBSD on NFS files.
5006 2020-08-02  Bruno Haible  <bruno@clisp.org>
5008         oset: Add an 'iterator_atleast' operation.
5009         * lib/gl_array_oset.c (gl_array_indexof_atleast): New function,
5010         extracted from gl_array_search_atleast.
5011         (gl_array_search_atleast): Use it.
5012         (gl_array_iterator_atleast): New function.
5013         (gl_array_oset_implementation): Use it.
5014         * lib/gl_anytree_oset.h (gl_tree_iterator_atleast): New function.
5015         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Use it.
5016         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Likewise.
5017         * lib/gl_oset.h (struct gl_oset_implementation): Add 'iterator_atleast'
5018         member.
5019         (gl_oset_iterator_atleast): New function.
5020         * lib/gl_oset.hh (gl_OSet): Add 'begin_atleast' member.
5021         (gl_OSet::iterator): Add another auxiliary constructor.
5022         * tests/test-array_oset.c (is_at_least, gl_sortedlist_indexof_atleast):
5023         New functions.
5024         (main): Test also gl_oset_iterator_atleast.
5025         * tests/test-avltree_oset.c (is_at_least): New function.
5026         (main): Test also gl_oset_iterator_atleast.
5027         * tests/test-rbtree_oset.c (is_at_least): New function.
5028         (main): Test also gl_oset_iterator_atleast.
5029         * tests/test-oset-c++.cc (is_at_most): New function.
5030         (main): Test also gl_OSet::begin_atleast.
5032 2020-08-02  Bruno Haible  <bruno@clisp.org>
5034         oset-c++, omap-c++: Remove restriction for search_atleast method.
5035         * lib/gl_oset.hh (gl_OSet::search_atleast): Allow the threshold to be of
5036         a different type than the element.
5037         * lib/gl_omap.hh (gl_OMap::search_atleast): Allow the threshold to be of
5038         a different type than the key.
5040 2020-08-01  Paul Eggert  <eggert@cs.ucla.edu>
5042         gnumakefile: say ‘$(MAKE)’ not ‘make’
5043         * top/GNUmakefile (abort-due-to-no-makefile):
5044         Prefer ‘$(MAKE)’ to ‘make’ in a diagnostic.
5045         This change is backported from Autoconf.
5047 2020-08-01  Bruno Haible  <bruno@clisp.org>
5049         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
5050         * m4/autobuild.m4 (AB_INIT): Use m4_if instead of ifelse.
5051         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
5052         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
5053         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
5054         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Likewise.
5056 2020-08-01  Bruno Haible  <bruno@clisp.org>
5058         libtextstyle-optional: Update tests.
5059         * modules/libtextstyle-optional-tests (configure.ac): Invoke
5060         gl_LIBTEXTSTYLE_OPTIONAL.
5062 2020-08-01  Bruno Haible  <bruno@clisp.org>
5064         parse-datetime: Fix wrong #line statements.
5065         * modules/parse-datetime (Makefile.am): Correct #line statements also in
5066         parse-datetime-gen.h.
5068 2020-08-01  Bruno Haible  <bruno@clisp.org>
5070         libtextstyle[-optional]: Allow requesting a minimum version.
5071         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Allow an optional argument.
5072         (gl_LIBTEXTSTYLE_NEWEST_VERSION, gl_LIBTEXTSTYLE_INITIALIZE,
5073         gl_LIBTEXTSTYLE_SEARCH): New macros.
5074         * modules/libtextstyle (configure.ac): Don't invoke gl_LIBTEXTSTYLE.
5075         * m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Allow an
5076         optional argument. Invoke, not require, gl_LIBTEXTSTYLE.
5077         * modules/libtextstyle-optional (configure.ac): Don't invoke
5078         gl_LIBTEXTSTYLE_OPTIONAL.
5079         * NEWS: Mention the changes.
5081 2020-07-31  Bruno Haible  <bruno@clisp.org>
5083         _GL_CMP: Improve documentation.
5084         Reported by Paul Eggert in
5085         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00188.html>.
5086         * m4/gnulib-common.m4 (gl_COMMON_BODY): Clarify what arguments can be
5087         passed.
5089 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5091         largefile: sync with Autoconf master
5092         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
5093         Avoid undefined behavior on platforms where off_t is 32 bits.
5094         See: https://bugs.debian.org/742780
5096         alloca: sync with Autoconf master
5097         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
5098         Do not define if Autoconf 2.70 or later, since Autoconf master
5099         now matches us.
5101 2020-07-30  Bruno Haible  <bruno@clisp.org>
5103         unicodeio: Add comment.
5104         * lib/unicodeio.c (unicode_to_mb): Clarify why the code distinguishes
5105         different iconv behaviours.
5107 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5109         Work around some Oracle Studio attribute bugs
5110         These were discovered when building bleeding-edge Emacs with
5111         Oracle Studio.
5112         * m4/gnulib-common.m4 (_GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_MAY_ALIAS):
5113         Port to Oracle Studio 12.6, which mishandles __attribute__
5114         ((__cold__)) and __attribute__ ((__may_alias__)) even though
5115         __has_attribute says they work.
5117 2020-07-29  Bruno Haible  <bruno@clisp.org>
5119         unicodeio: Fix wrong result on musl libc.
5120         Reported by A. Wilcox <awilfox@adelielinux.org> in
5121         <https://www.openwall.com/lists/musl/2020/07/29/2>.
5122         * lib/unicodeio.c (unicode_to_mb): Handle asterisk fallback characters
5123         on musl libc.
5124         * m4/unicodeio.m4 (gl_UNICODEIO): Invoke gl_MUSL_LIBC.
5125         * modules/unicodeio (Files): Add m4/musl.m4.
5127 2020-07-29  Paul Eggert  <eggert@cs.ucla.edu>
5129         fsusage, regex, stat-size: remove Cray support
5130         As near as I can make out this is actually support for UNICOS/mp,
5131         last released 2005, and Cray hasn’t supported that for years.
5132         * config/srclist.txt: Comment out regex.h for now.
5133         * lib/fsusage.c (get_fs_usage):
5134         * lib/regex.h (re_comp, re_exec):
5135         * lib/stat-size.h (ST_NBLOCKSIZE):
5136         Don’t worry about _CRAY.
5138 2020-07-29  Bruno Haible  <bruno@clisp.org>
5140         parse-datetime: Fix compilation error with bison 3.7.
5141         * modules/parse-datetime (Makefile.am): Create a generated header file
5142         parse-datetime-gen.h in the source directory. Correct #include and
5143         #line statements during preprocessing.
5145 2020-07-28  Bruno Haible  <bruno@clisp.org>
5147         fopen-gnu: Create files correctly (regression from 2020-05-24).
5148         * lib/fopen.c (rpl_open): Pass a third argument to open().
5150 2020-07-27  Paul Eggert  <eggert@cs.ucla.edu>
5152         xalloc-die: don’t depend on xalloc
5153         This removes a circular dependency, as xalloc depends on xalloc-die.
5154         * modules/xalloc-die (Files): Add lib/xalloc.h.
5155         (Depends-on): Remove xalloc.
5156         Add extern-inline, stdint, xalloc-oversized (this is for xalloc.h).
5158         dfa-tests: port to MSVC
5159         Problem reported by Gisle Vanem in:
5160         https://lists.gnu.org/r/bug-gnulib/2020-07/msg00159.html
5161         Also, remove an unnecessary dependency on getprogname.
5162         * modules/dfa-tests (Depends-on): Remove getprogname.
5163         * tests/test-dfa-match-aux.c: Do not include getprogname.h.
5164         (exit_status): New static var.
5165         (dfawarn): Set it instead of exiting.
5166         Do not declare as _Noreturn, to pacify MSVC.
5167         (main): Return exit_status.
5169 2020-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5171         argz: pacify MSVC
5172         * lib/argz.in.h: Avoid "*/*" to pacify MSVC.
5173         Problem reported by Gisle Vanem.
5175         libgmp: remove dependency on havelib
5176         * m4/libgmp.m4 (gl_LIBGMP): If gl_HAVE_MODULE_HAVELIB is not defined,
5177         use the more-traditional AC_SEARCH_LIBS approach.
5178         This should work better with GNU Emacs configuration,
5179         which uses pkg-config instead of a havelib-style approach.
5180         * modules/havelib (gl_HAVE_MODULE_HAVELIB): New witness macro.
5181         * modules/libgmp (Depends-on): Remove havelib.
5183         libgmp: remove HAVE_GMP, LIB_GMP
5184         * m4/libgmp.m4 (gl_LIBGMP): Do not define HAVE_GMP and LIB_GMP, as
5185         they’re redundant.  I’ll adjust GNU Coreutils accordingly.
5187 2020-07-26  Bruno Haible  <bruno@clisp.org>
5189         inttypes: Remove support for AIX 4.
5190         * lib/inttypes.in.h: Assume that PRI_MACROS_BROKEN is 0.
5191         * m4/inttypes-pri.m4: Remove file.
5192         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Don't require gt_INTTYPES_PRI.
5193         (gl_INTTYPES_H_DEFAULTS): Don't initialize PRI_MACROS_BROKEN.
5194         * modules/inttypes-incomplete (Makefile.am): Don't substitute
5195         PRI_MACROS_BROKEN.
5196         * modules/inttypes (Files): Remove m4/inttypes-pri.m4.
5198 2020-07-26  Bruno Haible  <bruno@clisp.org>
5200         gettimeofday: Remove workaround for Mac OS X 10.0.
5201         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Remove macro.
5202         (gl_FUNC_GETTIMEOFDAY): Don't invoke it.
5203         * lib/gettimeofday.c: Don't include localtime-buffer.h.
5204         (gettimeofday): Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
5205         * lib/localtime.c: Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
5206         * modules/gettimeofday (Depends-on): Remove localtime-buffer.
5207         * modules/localtime-buffer: Remove file.
5208         * lib/localtime-buffer.h: Remove file.
5209         * lib/localtime-buffer.c: Remove file.
5210         * m4/localtime-buffer.m4: Remove file.
5211         * MODULES.html.sh (Date and time <time.h>): Remove localtime-buffer.
5213 2020-07-26  Bruno Haible  <bruno@clisp.org>
5215         tzset: Remove workaround for Solaris 2.6.
5216         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Remove macro.
5217         (gl_FUNC_TZSET): Don't invoke it. Don't define TZSET_CLOBBERS_LOCALTIME.
5218         Don't require gl_LOCALTIME_BUFFER_DEFAULTS.
5219         * lib/localtime-buffer.h: Don't test TZSET_CLOBBERS_LOCALTIME.
5220         * lib/localtime-buffer.c: Likewise.
5221         * lib/localtime.c: Likewise.
5222         * lib/tzset.c: Don't include localtime-buffer.h.
5223         (tzset): Don't test TZSET_CLOBBERS_LOCALTIME.
5224         * lib/nstrftime.c (__strftime_internal): Assume HAVE_RUN_TZSET_TEST
5225         is 1.
5226         * modules/tzset (Depends-on): Remove localtime-buffer.
5228 2020-07-26  Bruno Haible  <bruno@clisp.org>
5230         expl: Simplify autoconf test.
5231         * m4/expl.m4 (gl_FUNC_EXPL): Merge the "checking whether expl() breaks
5232         with small values..." test into the "checking whether expl works..."
5233         test.
5235 2020-07-26  Bruno Haible  <bruno@clisp.org>
5237         alloca: Remove Cray-2 and Cray Y-MP support.
5238         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Don't define CRAY_STACKSEG_END.
5239         Enable also on Autoconf >= 2.69.
5240         * lib/alloca.c (ADDRESS_FUNCTION, struct stack_control_header,
5241         struct stack_segment_linkage, struct stk_stat, struct stk_trailer,
5242         i00afunc): Remove.
5244 2020-07-25  Bruno Haible  <bruno@clisp.org>
5246         multiarch: Prepare for x86_64+arm64 universal binaries in macOS 11.
5247         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the ARM architectures.
5249 2020-07-25  Bruno Haible  <bruno@clisp.org>
5251         sigprocmask: Small autoconf macro improvement.
5252         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Make it possible for the
5253         user to override the value of gl_cv_func_sigprocmask.
5254         * m4/gnulib-common.m4 (gl_SILENT): New macro.
5256 2020-07-25  Bruno Haible  <bruno@clisp.org>
5258         Small autoconf macro improvements.
5259         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Make it possible for the user to
5260         override the value of gl_cv_func_working_mktime.
5261         * m4/multiarch.m4 (gl_MULTIARCH): Show a line "checking whether the
5262         compiler produces multi-arch binaries..." in the configure output.
5263         * m4/size_max.m4 (gl_SIZE_MAX): When not found, say "no".
5264         * m4/parse-datetime.m4 (gl_C_COMPOUND_LITERALS): Improve indentation.
5266 2020-07-25  Bruno Haible  <bruno@clisp.org>
5268         doc: Update for NetBSD 7.1, 8.0, 9.0.
5269         * doc/*/*.texi: Update.
5270         * m4/exp2l.m4: Update comments.
5271         * m4/expl.m4: Likewise.
5272         * m4/ilogb.m4: Likewise.
5273         * m4/ilogbf.m4: Likewise.
5274         * m4/log10l.m4: Likewise.
5275         * m4/logl.m4: Likewise.
5276         * m4/printf.m4: Likewise.
5277         * m4/rintl.m4: Likewise.
5278         * m4/wcwidth.m4: Likewise.
5280 2020-07-24  Bruno Haible  <bruno@clisp.org>
5282         doc: Update for Mac OS X 10.13.
5283         * doc/*/*.texi: Update.
5284         * m4/expm1l.m4: Update comments.
5285         * m4/getgroups.m4: Likewise.
5286         * m4/getlogin_r.m4: Likewise.
5287         * m4/linkat.m4: Likewise.
5288         * m4/printf.m4: Likewise.
5290 2020-07-24  Bruno Haible  <bruno@clisp.org>
5292         doc: Update for Cygwin 2.9.0.
5293         * doc/*/*.texi: Update.
5295 2020-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5297         parse-datetime: modernize doc
5298         * doc/parse-datetime.texi: Use more-current examples.
5299         Don’t lead with 32-bit time_t, as it’s on its way out.
5300         Capitalize “Epoch” to be consistent with POSIX.
5302         timespec: remove dependence on ‘verify’
5303         * lib/timespec.h: Do not include verify.h; no longer needed.
5304         * modules/timespec (Depends-on): Remove ‘verify’.
5306         Optimize a few more three-valued comparisons
5307         * lib/timespec.h (timespec_cmp, timespec_sign):
5308         * lib/utimecmp.c (utimecmpat):
5309         Avoid conditional branches by using _GL_CMP.
5311         Fix _GL_CMP parenthesization typo
5312         * m4/gnulib-common.m4 (_GL_CMP): Properly parenthesize.
5314 2020-07-24  Bruno Haible  <bruno@clisp.org>
5316         dfa: Revert breaking gawk.
5317         Reported by Arnold Robbins <arnold@skeeve.com>.
5318         * lib/dfa.c (compare): Don't reference the _GL_CMP macro.
5320 2020-07-23  Bruno Haible  <bruno@clisp.org>
5322         Optimize three-valued comparison between integers.
5323         (a > b ? 1 : a < b ? -1 : 0) is the same as (a > b) - (a < b).
5324         * m4/gnulib-common.m4 (gl_COMMON): Define _GL_CMP.
5325         * lib/c-strcasecmp.c (c_strcasecmp): Use _GL_CMP.
5326         * lib/c-strncasecmp.c (c_strncasecmp): Likewise.
5327         * lib/dfa.c (compare): Likewise.
5328         * lib/fts.c (fts_compare_ino): Likewise.
5329         * lib/mbmemcasecmp.c (mbmemcasecmp): Likewise.
5330         * lib/mbscasecmp.c (mbscasecmp): Likewise.
5331         * lib/mbsncasecmp.c (mbsncasecmp): Likewise.
5332         * lib/memcasecmp.c (memcasecmp): Likewise.
5333         * lib/memcmp2.c (memcmp2): Likewise.
5334         * lib/savedir.c (direntry_cmp_inode): Likewise.
5335         * lib/strcasecmp.c (strcasecmp): Likewise.
5336         * lib/strncasecmp.c (strncasecmp): Likewise.
5337         * lib/unistr/u-cmp2.h (FUNC): Likewise.
5339 2020-07-23  Bruno Haible  <bruno@clisp.org>
5341         lchmod: Use /proc on Cygwin.
5342         * lib/lchmod.c (lchmod): Use /proc on Cygwin.
5344 2020-07-23  Ken Brown  <kbrown@cornell.edu>
5346         fchmodat: Use /proc on Cygwin
5347         * lib/fchmodat.c (fchmodat): Use /proc on Cygwin.
5349 2020-07-21  Bruno Haible  <bruno@clisp.org>
5351         aligned-malloc: Optionally use aligned_alloc.
5352         * lib/aligned-malloc.h: Verify the alignment.
5353         (aligned_malloc): Use aligned_alloc as an alternative.
5354         * modules/aligned-malloc (configure.ac): Test for aligned_alloc.
5355         * doc/posix-functions/aligned_alloc.texi: Mention the modules
5356         'aligned-malloc' and 'pagealign_alloc'.
5358 2020-07-21  Bruno Haible  <bruno@clisp.org>
5360         aligned-malloc: Add tests.
5361         * tests/test-aligned-malloc.c: New file.
5362         * modules/aligned-malloc-tests: New file.
5364         aligned-malloc: New module.
5365         * lib/aligned-malloc.h: New file.
5366         * m4/malloc-align.m4: New file.
5367         * modules/aligned-malloc: New file.
5368         * doc/posix-functions/posix_memalign.texi: Mention the new module.
5369         * doc/glibc-functions/memalign.texi: Likewise.
5371 2020-07-21  Bruno Haible  <bruno@clisp.org>
5373         inttypes: Fix PRI*PTR and SCN*PTR on 64-bit native Windows.
5374         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): On 64-bit native Windows, make
5375         sure PRIPTR_PREFIX is defined to "ll", not "l".
5377 2020-07-21  Bruno Haible  <bruno@clisp.org>
5379         printf-posix: Make an autoconf test more future-proof.
5380         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): Include <inttypes.h> before
5381         using uintptr_t.
5383 2020-07-20  Bruno Haible  <bruno@clisp.org>
5385         list, oset, omap: Relicense some of the container modules under LGPLv2+.
5386         * modules/list (License): Change to LGPLv2+.
5387         * modules/array-list (License): Likewise.
5388         * modules/carray-list (License): Likewise.
5389         * modules/linked-list (License): Likewise.
5390         * modules/avltree-list (License): Likewise.
5391         * modules/rbtree-list (License): Likewise.
5392         * modules/oset (License): Likewise.
5393         * modules/array-oset (License): Likewise.
5394         * modules/avltree-oset (License): Likewise.
5395         * modules/rbtree-oset (License): Likewise.
5396         * modules/omap (License): Likewise.
5397         * modules/array-omap (License): Likewise.
5398         * modules/avltree-omap (License): Likewise.
5399         * modules/rbtree-omap (License): Likewise.
5401 2020-07-20  Bruno Haible  <bruno@clisp.org>
5403         oset: Add an 'update' operation.
5404         * lib/gl_array_oset.c (gl_array_update): New function.
5405         (gl_array_oset_implementation): Use it.
5406         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5407         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5408         * lib/gl_avltree_ordered.h (gl_tree_add_node_before): New function,
5409         extracted from gl_tree_nx_add_before.
5410         (gl_tree_nx_add_before): Invoke it.
5411         (gl_tree_add_node_after): New function, extracted from
5412         gl_tree_nx_add_after.
5413         (gl_tree_nx_add_after): Invoke it.
5414         (gl_tree_remove_node_no_free): New function, extracted from
5415         gl_tree_remove_node.
5416         (gl_tree_remove_node): Invoke it.
5417         * lib/gl_rbtree_ordered.h (gl_tree_add_node_before): New function,
5418         extracted from gl_tree_nx_add_before.
5419         (gl_tree_nx_add_before): Invoke it.
5420         (gl_tree_add_node_after): New function, extracted from
5421         gl_tree_nx_add_after.
5422         (gl_tree_nx_add_after): Invoke it.
5423         (gl_tree_remove_node_no_free): New function, extracted from
5424         gl_tree_remove_node.
5425         (gl_tree_remove_node): Invoke it.
5426         * lib/gl_anytree_oset.h (gl_tree_next_node): New function, extracted
5427         from gl_tree_iterator_next.
5428         (gl_tree_iterator_next): Invoke it.
5429         (gl_tree_prev_node, gl_tree_update): New functions.
5430         * lib/gl_avltree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5431         (gl_avltree_oset_implementation): Use gl_tree_update.
5432         * lib/gl_rbtree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5433         (gl_rbtree_oset_implementation): Use gl_tree_update.
5434         * lib/gl_oset.h (struct gl_oset_implementation): Add 'update' member.
5435         (gl_oset_update): New function.
5436         * lib/gl_oset.hh (gl_OSet): Add 'update' member.
5437         * modules/avltree-oset (configure.ac): Require AC_C_INLINE.
5438         * modules/rbtree-oset (configure.ac): Likewise.
5439         * tests/test-oset-update.h: New file.
5440         * tests/test-array_oset.c: Include test-oset-update.h.
5441         (main): Invoke test_update.
5442         * tests/test-avltree_oset.c: Likewise.
5443         * tests/test-rbtree_oset.c: Likewise.
5444         * modules/array-oset-tests (Files): Add tests/test-oset-update.h.
5445         * modules/avltree-oset-tests (Files): Likewise.
5446         * modules/rbtree-oset-tests (Files): Likewise.
5447         * tests/test-oset-c++.cc (action): New function.
5448         (main): Test the 'update' member function.
5450 2020-07-15  Paul Eggert  <eggert@cs.ucla.edu>
5452         md5, sha1, sha256, sha512: pacify Autoconf 2.70
5453         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Use m4_if rather than a
5454         shell if, so that the argument to AC_CHECK_HEADERS is
5455         a simple string that does not require shell evaluation.
5456         This fixes a warning generated by Autoconf 2.69b.
5458 2020-07-12  Bruno Haible  <bruno@clisp.org>
5460         libgmp: Avoid warning when --without-libgmp is used.
5461         * lib/mini-gmp-gnulib.c: Ignore -Wsuggest-attribute=malloc only for
5462         GCC >= 8, not for GCC >= 4.6.
5464 2020-07-12  Bruno Haible  <bruno@clisp.org>
5466         libgmp: Link to the correct shared library.
5467         * m4/libgmp.m4 (gl_LIBGMP): Invoke AC_LIB_HAVE_LINKFLAGS.
5468         * modules/libgmp (Depends-on): Add havelib.
5469         (Link): Mention $(LIBGMP) and $(LTLIBGMP).
5470         * modules/libgmp-tests (Makefile.am): Link test-libgmp with $(LIBGMP).
5472 2020-07-12  Bruno Haible  <bruno@clisp.org>
5474         libgmp tests: Add some safety checks.
5475         * modules/libgmp-tests (Depends-on): Add verify.
5476         * tests/test-libgmp.c: Verify GMP_NUMB_BITS value.
5477         (main): Verify that gmp.h and libgmp versions match.
5479 2020-07-10  Bruno Haible  <bruno@clisp.org>
5481         unicodeio: Fix wrong result on NetBSD.
5482         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
5483         characters also on NetBSD.
5485 2020-07-09  Bruno Haible  <bruno@clisp.org>
5487         unicodeio: Fix wrong result on Solaris 11.
5488         Reported by Kiyoshi Kanazawa <yoi_no_myoujou@yahoo.co.jp>
5489         via Akim Demaille <akim.demaille@gmail.com> in
5490         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00036.html>.
5491         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
5492         characters on Solaris.
5493         * tests/test-unicodeio.c (main): In the "C" locale, expect either the
5494         UTF-8 output or the specified fallback.
5496 2020-07-08  Bruno Haible  <bruno@clisp.org>
5498         unicodeio: Add tests.
5499         * tests/test-unicodeio.c: New file.
5500         * tests/test-unicodeio1.sh: New file.
5501         * tests/test-unicodeio2.sh: New file.
5502         * tests/test-unicodeio3.sh: New file.
5503         * modules/unicodeio-tests: New file.
5505 2020-07-08  Bruno Haible  <bruno@clisp.org>
5507         unicodeio: Document link requirements.
5508         * modules/unicodeio (Link): New section.
5510 2020-07-07  Bruno Haible  <bruno@clisp.org>
5512         doc: Remove support for some very old platforms.
5513         * doc/posix-functions/memcmp.texi: Don't mention "older platforms".
5514         * doc/posix-functions/memcpy.texi: Likewise.
5515         * doc/posix-functions/memmove.texi: Likewise.
5516         * doc/posix-functions/memset.texi: Likewise.
5517         * doc/posix-functions/getcwd.texi: Likewise.
5519         memchr: Remove support for some very old platforms.
5520         * m4/memchr-obsolete.m4: Remove file.
5521         * modules/memchr-obsolete: Remove file.
5522         * m4/memchr.m4 (gl_FUNC_MEMCHR): Assume module 'memchr-obsolete' is
5523         absent. Don't define HAVE_MEMCHR.
5524         * lib/string.in.h (memchr): Assume HAVE_MEMCHR is 1.
5525         * modules/memchr (Depends-on): Remove memchr-obsolete.
5526         (configure.ac): Assume HAVE_MEMCHR is 1.
5527         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
5528         HAVE_MEMCHR.
5529         * modules/string (Makefile.am): Don't substitute HAVE_MEMCHR.
5530         * doc/posix-functions/memchr.texi: Don't mention module
5531         'memchr-obsolete'.
5532         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Assume HAVE_MEMCHR is 1.
5533         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Assume HAVE_MEMCHR is 1.
5534         * modules/strnlen (Depends-on): Remove memchr-obsolete.
5536         dup2: Remove support for some very old platforms.
5537         * m4/dup2-obsolete.m4: Remove file.
5538         * modules/dup2-obsolete: Remove file.
5539         * m4/dup2.m4 (gl_FUNC_DUP2): Assume module 'dup2-obsolete' is absent.
5540         Don't define HAVE_DUP2.
5541         * lib/unistd.in.h (dup2): Assume HAVE_DUP2 is 1.
5542         * lib/dup2.c: Likewise.
5543         * modules/dup2 (Depends-on, configure.ac): Likewise.
5544         (Depends-on): Remove dup2-obsolete.
5545         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize HAVE_DUP2.
5546         * modules/unistd (Makefile.am): Don't substitute HAVE_DUP2.
5547         * doc/posix-functions/dup2.texi: Don't mention module 'dup2-obsolete'.
5549 2020-07-07  Bruno Haible  <bruno@clisp.org>
5551         canonicalize: Trim module dependencies.
5552         * lib/hash-triple.h: Group declarations.
5553         * lib/hash-triple-simple.c: New file, extracted from lib/hash-triple.c.
5554         * lib/hash-triple.c: Don't include <stdlib.h>, <string.h>, hash-pjw.h.
5555         (STREQ): Remove macro.
5556         (triple_hash, triple_compare_ino_str, triple_free): Remove functions.
5557         * modules/hash-triple-simple: New file, based on modules/hash-triple.
5558         * modules/hash-triple (Files): Remove lib/hash-triple.h.
5559         (Depends-on): Add hash-triple-simple. Remove hash-pjw.
5560         * modules/canonicalize (Depends-on): Remove hash-triple. Add
5561         hash-triple-simple.
5562         * modules/file-set (Depends-on): Likewise.
5564 2020-07-07  Bruno Haible  <bruno@clisp.org>
5566         Clarify dependencies to double-slash-root.
5567         * modules/canonicalize (Files): Remove m4/double-slash-root.m4.
5568         (Depends-on): Add double-slash-root.
5569         * modules/canonicalize-lgpl (Depends-on): Add double-slash-root.
5570         * modules/dirname-lgpl (Depends-on): Add double-slash-root.
5572 2020-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5574         libgmp: new module
5575         The idea is to let programs simply include <gmp.h>, and
5576         so long as they live within the mini-gmp subset they need
5577         not worry about whether the GMP libraries are installed.
5578         * MODULES.html.sh: Mention it.
5579         * config/srclist.txt: Mention files copied from GMP source.
5580         * config/srclistvars.sh (GMP): New var.
5581         * lib/mini-gmp-gnulib.c, m4/libgmp.m4, modules/libgmp:
5582         * modules/libgmp-tests, tests/test-libgmp.c: New files.
5583         * lib/mini-gmp.c, lib/mini-gmp.h: New files, copied from GMP.
5585 2020-07-05  Bruno Haible  <bruno@clisp.org>
5587         mkancesdirs: Trim module dependencies.
5588         * lib/mkancesdirs.c: Include filename.h instead of dirname.h.
5589         * modules/mkancesdirs (Depends-on): Remove dirname-lgpl. Add filename.
5591 2020-07-05  Bruno Haible  <bruno@clisp.org>
5593         getprogname: Trim module dependencies.
5594         * lib/getprogname.c: Include basename-lgpl.h instead of dirname.h.
5595         * modules/getprogname (Depends-on): Remove dirname-lgpl. Add
5596         basename-lgpl.
5598 2020-07-05  Bruno Haible  <bruno@clisp.org>
5600         filenamecat-lgpl: Trim module dependencies.
5601         * lib/filenamecat-lgpl.c: Include basename-lgpl.h, filename.h instead of
5602         dirname.h.
5603         * modules/filenamecat-lgpl (Depends-on): Remove dirname-lgpl. Add
5604         basename-lgpl, filename.
5606 2020-07-05  Bruno Haible  <bruno@clisp.org>
5608         backupfile, backup-rename: Trim module dependencies.
5609         * lib/backupfile.c: Include basename-lgpl.h instead of dirname.h.
5610         * modules/backupfile (Depends-on): Remove dirname-lgpl. Add
5611         basename-lgpl.
5612         * modules/backup-rename (Depends-on): Likewise.
5614 2020-07-05  Bruno Haible  <bruno@clisp.org>
5616         argp: Trim module dependencies.
5617         * lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
5618         * modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.
5620 2020-07-05  Bruno Haible  <bruno@clisp.org>
5622         basename-lgpl: New module.
5623         * lib/basename-lgpl.h: New file, based on lib/dirname.h and
5624         lib/basename-lgpl.c.
5625         * lib/basename-lgpl.c: Include basename-lgpl.h, not dirname.h. Include
5626         <stdbool.h>, filename.h.
5627         (last_component): Rename a local variable.
5628         * lib/dirname.h: Include basename-lgpl.h.
5629         (DOUBLE_SLASH_IS_DISTINCT_ROOT): Remove macro.
5630         (last_component, base_len): Remove declarations.
5631         * modules/basename-lgpl: New file.
5632         * modules/dirname-lgpl (Files): Remove lib/basename-lgpl.c.
5633         (Depends-on): Add basename-lgpl. Remove double-slash-root.
5634         (Makefile.am): Don't compile basename-lgpl.c.
5635         * doc/posix-functions/basename.texi: Mention the module 'basename-lgpl',
5636         not 'dirname'.
5638 2020-07-05  Bruno Haible  <bruno@clisp.org>
5640         dirname, dirname-lgpl: Simplify.
5641         * m4/dirname.m4: Remove file.
5642         * modules/dirname (configure.ac): Don't invoke gl_DIRNAME.
5643         * modules/dirname-lgpl (Files): Remove m4/dirname.m4.
5644         (configure.ac): Don't invoke gl_DIRNAME_LGPL.
5646 2020-07-05  Bernhard Voelker  <mail@bernhard-voelker.de>
5648         tests: avoid shadowing warning
5649         * tests/test-memchr.c (main): Give page_boundary variable a tight scope.
5651 2020-07-05  Bruno Haible  <bruno@clisp.org>
5653         supersede: Add tests.
5654         * tests/test-supersede.c: New file.
5655         * tests/test-supersede-open.h: New file.
5656         * tests/test-supersede-fopen.h: New file.
5657         * modules/supersede-tests: New file.
5659         supersede: New module.
5660         * lib/supersede.h: New file.
5661         * lib/supersede.c: New file.
5662         * m4/supersede.m4: New file.
5663         * modules/supersede: New file.
5665 2020-07-05  Bruno Haible  <bruno@clisp.org>
5667         Add some copyright headers.
5668         * lib/dev-ino.h: Add copyright header.
5669         * lib/di-set.h: Likewise.
5670         * lib/fchown-stub.c: Likewise.
5671         * lib/file-set.h: Likewise.
5672         * lib/hash-triple.h: Likewise.
5673         * lib/idcache.h: Likewise.
5674         * lib/ino-map.h: Likewise.
5675         * lib/mkancesdirs.h: Likewise.
5676         * lib/scratch_buffer.h: Likewise.
5677         * lib/se-context.in.h: Likewise.
5678         * lib/stdopen.h: Likewise.
5679         * lib/userspec.h: Likewise.
5681 2020-07-04  Bruno Haible  <bruno@clisp.org>
5683         getrandom: Relicense under LGPLv2+.
5684         Paul Eggert's approval is in
5685         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00023.html>.
5686         * modules/getrandom (License): Change to LGPLv2+.
5688 2020-07-04  Bruno Haible  <bruno@clisp.org>
5690         getumask: Add tests.
5691         * tests/test-getumask.c: New file.
5692         * modules/getumask-tests: New file.
5694         getumask: New module.
5695         * lib/sys_stat.in.h (getumask): New declaration.
5696         * lib/getumask.c: New file.
5697         * m4/getumask.m4: New file.
5698         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether getumask is
5699         declared.
5700         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_GETUMASK, HAVE_GETUMASK.
5701         * modules/sys_stat (Makefile.am): Substitute GNULIB_GETUMASK,
5702         HAVE_GETUMASK.
5703         * modules/getumask: New file.
5704         * tests/test-sys_stat-c++.cc (getumask): Check signature.
5705         * doc/glibc-functions/getumask.texi: New file.
5706         * doc/gnulib.texi (Glibc sys/stat.h): Include it.
5708 2020-07-04  Bruno Haible  <bruno@clisp.org>
5710         clean-temp: Add support for temporary files with given mode.
5711         * lib/clean-temp.h (gen_register_open_temp): Add mode argument.
5712         * lib/clean-temp.c (struct try_create_file_params): New type.
5713         (try_create_file): New function.
5714         (gen_register_open_temp): Add mode argument. Use try_tempname instead of
5715         gen_tempname.
5717 2020-07-04  Bruno Haible  <bruno@clisp.org>
5719         clean-temp: Document limitations.
5720         * lib/clean-temp.h: Document limitations.
5722 2020-07-04  Bruno Haible  <bruno@clisp.org>
5724         clean-temp: Add support for temporary files with unpredictable names.
5725         * lib/clean-temp.h (gen_register_open_temp): New declaration.
5726         * lib/clean-temp.c: Include tempname.h.
5727         (gen_register_open_temp): New function.
5728         * modules/tempname (configure.ac): Define a module indicator.
5730 2020-07-04  Bruno Haible  <bruno@clisp.org>
5732         clean-temp: Add support for temporary files anywhere in the file system.
5733         * lib/clean-temp.h (register_temporary_file, unregister_temporary_file,
5734         cleanup_temporary_file): New declarations.
5735         * lib/clean-temp.c (file_cleanup_list_lock, file_cleanup_list): New
5736         variables.
5737         (dir_cleanup_list_lock): Renamed from cleanup_list_lock.
5738         (dir_cleanup_list): Renamed from cleanup_list.
5739         (cleanup_action): Process the file_cleanup_list as well.
5740         (do_init_clean_temp): New function.
5741         (clean_temp_once): New variable.
5742         (init_clean_temp): New function.
5743         (create_temp_dir): Invoke it.
5744         (register_temporary_file, unregister_temporary_file,
5745         cleanup_temporary_file): New functions.
5746         (do_unlink, do_rmdir): Remove 'dir' argument. Add 'cleanup_verbose'
5747         argument.
5749 2020-07-04  Bruno Haible  <bruno@clisp.org>
5751         clean-temp: Improve comments.
5752         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
5753         fwriteerror_temp, close_stream_temp): Clarify intended use.
5754         * lib/clean-temp.c: Likewise.
5756 2020-07-04  Bruno Haible  <bruno@clisp.org>
5758         clean-temp: Make multithread-safe, part 2.
5759         * lib/fatal-signal.h: Include <signal.h>.
5760         (get_fatal_signal_set): New declaration.
5761         * lib/fatal-signal.c (get_fatal_signal_set): New function.
5762         * lib/clean-temp.c: Include asyncsafe-spin.h, gl_linked_list.h.
5763         (struct closeable_fd): New type.
5764         (fatal_signal_set): New variable.
5765         (init_fatal_signal_set): New function.
5766         (asyncsafe_close, asyncsafe_fclose_variant): New functions.
5767         (cleanup_action): Invoke asyncsafe_close instead of close.
5768         (create_temp_dir): Invoke init_fatal_signal_set.
5769         (register_fd): Use a plain linked list. Add a 'struct closeable_fd *'
5770         element.
5771         (unregister_fd): Remove function.
5772         (close_temp): Cleanup descriptors list on the fly. Invoke
5773         init_fatal_signal_set. Invoke asyncsafe_close instead of close.
5774         (fclose_variant_temp): New function.
5775         (fclose_temp, fwriteerror_temp, close_stream_temp): Use it.
5776         * modules/clean-temp (Depends-on): Add asyncsafe-spin, linked-list.
5778 2020-07-04  Bruno Haible  <bruno@clisp.org>
5780         clean-temp: Make multithread-safe, part 1.
5781         * lib/clean-temp.c: Include glthread/lock.h.
5782         (cleanup_list_lock): New variable.
5783         (register_temp_file, unregister_temp_file, register_temp_subdir,
5784         unregister_temp_subdir, cleanup_temp_dir_contents): Use it.
5785         (create_temp_dir): Likewise. Don't free the old array.
5786         (descriptors_lock): New variable.
5787         (register_fd, unregister_fd): Use it.
5788         * modules/clean-temp (Depends-on): Add lock.
5790 2020-07-04  Bruno Haible  <bruno@clisp.org>
5792         fatal-signal: Make multithread-safe.
5793         * lib/fatal-signal.c (init_fatal_signals): Add comment.
5794         (do_init_fatal_signal_set): New function, extracted from
5795         init_fatal_signal_set.
5796         (fatal_signal_set_once): New variable.
5797         (init_fatal_signal_set): Use gl_once.
5799 2020-07-03  Bruno Haible  <bruno@clisp.org>
5801         getrandom: Fix compilation error on native Windows (regr. 2020-06-28).
5802         * lib/getrandom.c: Don't include <ntdef.h>. Instead, define NTSTATUS.
5803         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Include <windows.h> before
5804         <bcrypt.h>.
5806 2020-07-03  Bruno Haible  <bruno@clisp.org>
5808         dfa tests: Follow common file naming conventions.
5809         * tests/test-dfa-match-aux.c: Renamed from tests/dfa-match-aux.c.
5810         * tests/test-dfa-match.sh: Renamed from tests/dfa-match.sh. Update.
5811         * tests/test-dfa-invalid-char-class.sh: Renamed from
5812         tests/dfa-invalid-char-class.sh. Update.
5813         * modules/dfa-tests (Files, Makefile.am): Update.
5815 2020-07-03  Bruno Haible  <bruno@clisp.org>
5817         asyncsafe-spin: Use GCC extended asm syntax for SunStudio 12 compiler.
5818         * lib/asyncsafe-spin.c (memory_barrier, atomic_compare_and_swap): Use
5819         the GCC extended asm syntax also for the Sun Studio 12 compilers.
5821 2020-07-03  Bruno Haible  <bruno@clisp.org>
5823         asyncsafe-spin: Reduce code duplication.
5824         * lib/asyncsafe-spin.c (do_lock, do_unlock): New functions.
5825         (asyncsafe_spin_lock, asyncsafe_spin_unlock): Use them.
5826         * modules/asyncsafe-spin (configure.ac): Require AC_C_INLINE.
5828 2020-07-03  Bruno Haible  <bruno@clisp.org>
5830         lchmod: Simplify after 2020-02-22 change.
5831         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Don't require AC_C_INLINE.
5833 2020-07-03  Bruno Haible  <bruno@clisp.org>
5835         gen-uni-tables: Make sure the compiler does not barf on 'inline'.
5836         * modules/gen-uni-tables (configure.ac): Require AC_C_INLINE.
5838 2020-07-03  Bruno Haible  <bruno@clisp.org>
5840         dfa: Make sure the compiler does not barf on 'inline'.
5841         * modules/dfa (configure.ac): Require AC_C_INLINE.
5843 2020-07-03  Bruno Haible  <bruno@clisp.org>
5845         bitset: Make sure the compiler does not barf on 'inline'.
5846         * modules/bitset (configure.ac): New section.
5848 2020-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5850         manywarnings: improve port to GCC 10.1
5851         * build-aux/gcc-warning.spec: Also list warnings that are default
5852         or are enabled by already-given flags.  This lets us speed up
5853         checking for attributes, and makes the generated compilation
5854         commands shorter.  Add -Wanalyzer-too-complex (too much noise).
5855         * m4/manywarnings.m4 (gl_MANYWARN_COMPLEMENT)
5856         (gl_MANYWARN_ALL_GCC): Use gl_AS_VAR_APPEND to append
5857         to shell variables that may have long values.
5858         (gl_MANYWARN_ALL_GCC): Omit flags that are default or are
5859         consequences of other flags, to speed up checking and
5860         shorten commands.
5862         tests: pacify gcc -fanalyzer on zerosize_ptr
5863         * tests/test-memcasecmp.c (main):
5864         * tests/test-memchr.c (main):
5865         * tests/test-memchr2.c (main):
5866         * tests/test-memcmp.c (main):
5867         * tests/test-memmem.c (main):
5868         * tests/test-memrchr.c (main):
5869         * tests/unistr/test-chr.h (main):
5870         * tests/unistr/test-cmp.h (test_cmp):
5871         Check whether zerosize_ptr returns NULL before using it.
5872         This pacifies GCC 10.1’s new fanalyzer option, and matches
5873         other uses of zerosize_ptr.
5875 2020-07-01  Bruno Haible  <bruno@clisp.org>
5877         asyncsafe-spin: Add tests.
5878         * tests/test-asyncsafe-spin1.c: New file.
5879         * tests/test-asyncsafe-spin2.c: New file, based on tests/test-lock.c and
5880         tests/test-pthread-spin.c.
5881         * modules/asyncsafe-spin-tests: New file.
5883 2020-07-01  Bruno Haible  <bruno@clisp.org>
5885         asyncsafe-spin: New module.
5886         * lib/asyncsafe-spin.h: New file.
5887         * lib/asyncsafe-spin.c: New file, based on lib/pthread-spin.c.
5888         * modules/asyncsafe-spin: New file.
5890 2020-07-01  Bruno Haible  <bruno@clisp.org>
5892         windows-spin: Fix race condition on multiprocessor systems.
5893         * lib/windows-spin.c (glwthread_spin_init): Add a memory barrier.
5895 2020-07-01  Bruno Haible  <bruno@clisp.org>
5897         pthread-spin: Add optimized fallback for GCC versions >= 4.1, < 4.7.
5898         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
5899         pthread_spin_trylock, pthread_spin_unlock): For GCC >= 4.1, < 4.7, use
5900         an implementation based on other GCC built-ins.
5902 2020-07-01  Bruno Haible  <bruno@clisp.org>
5904         pthread-spin: Optimize fallback for GCC versions >= 4.7.
5905         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
5906         pthread_spin_trylock, pthread_spin_unlock): Use a lock word instead of a
5907         lock byte.
5909 2020-07-01  Bruno Haible  <bruno@clisp.org>
5911         pthread-spin: Add error checking.
5912         * lib/pthread-spin.c: Include <stdbool.h>.
5913         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock,
5914         pthread_spin_unlock) [GCC>=4.7]: Prefer an implementation that verifies
5915         the unlocks.
5916         * modules/pthread-spin (Depends-on): Add stdbool.
5918 2020-07-01  Bruno Haible  <bruno@clisp.org>
5920         pthread-spin: Add tests.
5921         * tests/test-pthread-spin.c: New file, based on tests/test-lock.c.
5922         * modules/pthread-spin-tests: New file.
5924 2020-07-01  Bruno Haible  <bruno@clisp.org>
5926         tests: Reduce code duplication.
5927         * tests/atomic-int-posix.h: New file, extracted from
5928         tests/test-pthread-mutex.c.
5929         * tests/test-pthread-mutex.c: Include it. Remove the corresponding code.
5930         * tests/test-pthread-rwlock.c: Likewise.
5931         * modules/pthread-mutex-tests (Files): Add tests/atomic-int-posix.h.
5932         * modules/pthread-rwlock-tests (Files): Likewise.
5934 2020-07-01  Bruno Haible  <bruno@clisp.org>
5936         tests: Refactor.
5937         * tests/atomic-int-isoc.h: New file, extracted from tests/test-mtx.c.
5938         * tests/test-mtx.c: Include it. Remove the corresponding code.
5939         * modules/mtx-tests (Files): Add tests/atomic-int-isoc.h.
5941 2020-07-01  Bruno Haible  <bruno@clisp.org>
5943         tests: Refactor.
5944         * tests/atomic-int-gnulib.h: New file, extracted from tests/test-lock.c.
5945         * tests/test-lock.c: Include it. Remove the corresponding code.
5946         * modules/lock-tests (Files): Add tests/atomic-int-gnulib.h.
5948 2020-06-29  Bruno Haible  <bruno@clisp.org>
5950         sys_socket: Don't define socklen_t if it is already defined on mingw.
5951         Reported by Keith Marshall <keith.d.marshall@ntlworld.com> in
5952         <https://savannah.gnu.org/bugs/?57725>,
5953         by Rahul Das <bokul_4u@yahoo.com> in
5954         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00081.html>,
5955         and by Eli Zaretskii <eliz@gnu.org> in
5956         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00068.html>.
5957         * lib/sys_socket.in.h (socklen_t): Remove definition.
5959 2020-06-29  Bruno Haible  <bruno@clisp.org>
5961         alloca-opt: Fix warning on mingw.
5962         Reported and solution by Eli Zaretskii <eliz@gnu.org> in
5963         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00069.html>.
5964         * lib/alloca.in.h: On mingw, include <alloca.h> and then test again
5965         whether alloca is defined.
5967 2020-06-28  Paul Eggert  <eggert@cs.ucla.edu>
5969         getrandom: do not depend on ‘open’ on mingw
5970         Similarly for at-internal, getloadavg.  These modules do not call
5971         the ‘open’ function when they are compiled on mingw.  On mingw,
5972         this avoids having to compile open.c when building Emacs, which
5973         does its own thing with ‘open’.
5974         * modules/at-internal, modules/getloadavg, modules/getrandom:
5975         (Depends-on): Don’t depend on ‘open’ on mingw.
5976         (Depends-on): Require AC_CANONICAL_HOST, for host_os.
5977         * modules/getloadavg (Depends-on):
5978         Depend on intprops, open, stdbool, stdlib only if compiling
5979         getloadavg.c.
5981 2020-06-28  Bruno Haible  <bruno@clisp.org>
5983         doc: Add a note about sigprocmask vs. pthread_sigmask.
5984         * doc/posix-functions/sigprocmask.texi: Add note.
5986 2020-06-28  Bruno Haible  <bruno@clisp.org>
5988         getrandom: Fix compilation errors on older versions of mingw.
5989         Reported by Eli Zaretskii <eliz@gnu.org> in
5990         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00059.html>.
5991         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Test whether <bcrypt.h> exists.
5992         * lib/getrandom.c: If <bcrypt.h> is not available, include <ntdef.h> and
5993         define/declare BCRYPT_ALG_HANDLE, BCRYPT_USE_SYSTEM_PREFERRED_RNG,
5994         BCryptGenRandom ourselves.
5996 2020-06-28  Bruno Haible  <bruno@clisp.org>
5998         clean-temp: Fix wrong errno in error message.
5999         * lib/clean-temp.c (create_temp_dir): Save errno around
6000         unblock_fatal_signals call.
6002 2020-06-27  Bruno Haible  <bruno@clisp.org>
6004         fatal-signal: Make multithread-safe.
6005         * lib/fatal-signal.c (at_fatal_signal): Don't free the old actions array.
6007 2020-06-27  Bruno Haible  <bruno@clisp.org>
6009         clean-temp: Don't force deletion of temporary files on native Windows.
6010         * lib/clean-temp.h (open_temp, fopen_temp): Add delete_on_close
6011         argument.
6012         * lib/clean-temp.c (open_temp, fopen_temp): Likewise.
6013         * NEWS: Mention the change.
6014         * lib/javacomp.c (write_temp_file): Update.
6016 2020-06-27  Bruno Haible  <bruno@clisp.org>
6018         fatal-signal: Make multithread-safe.
6019         * lib/fatal-signal.c: Include glthread/lock.h.
6020         (at_fatal_signal_lock): New variable.
6021         (at_fatal_signal): Use it.
6022         (fatal_signals_block_lock, fatal_signals_block_counter): New variables.
6023         (block_fatal_signals, unblock_fatal_signals): Use them.
6024         * modules/fatal-signal (Depends-on): Add lock.
6026 2020-06-27  Paul Eggert  <eggert@cs.ucla.edu>
6028         getloadavg: don’t depend on fopen-gnu
6029         This is for Emacs, which does not need fopen-gnu for anything else,
6030         and which would need it only on a NetBSD platform where getloadavg
6031         does not work (does that even happen?).
6032         * lib/getloadavg.c (getloadavg) [__NetBSD__]: Use open, not fopen.
6033         * modules/getloadavg (Depends-on): Remove fopen-gnu.
6035         * tests/test-getloadavg.c (main): Fix typo.
6037 2020-06-27  Bruno Haible  <bruno@clisp.org>
6039         tempname et al.: Fix link errors on MSVC (regression from 2020-05-31).
6040         * modules/tempname (Link): New section.
6041         * modules/mkdtemp (Link): Likewise.
6042         * modules/clean-temp (Link): Likewise.
6043         * modules/mkstemp (Link): Likewise.
6044         * modules/stdlib-safer (Link): Likewise.
6045         * modules/mkstemps (Link): Likewise.
6046         * modules/mkostemp (Link): Likewise.
6047         * modules/mkostemps (Link): Likewise.
6048         * modules/tmpfile (Link): Likewise.
6049         * modules/tmpfile-safer (Link): Likewise.
6050         * modules/javacomp (Link): Add $(LIB_GETRANDOM).
6051         * modules/argv-iter-tests (Makefile.am): Link test-argv-iter with
6052         $(LIB_GETRANDOM).
6053         * NEWS: Mention the changes.
6055 2020-06-27  Bruno Haible  <bruno@clisp.org>
6057         fopen-gnu: Simplify code.
6058         * lib/fopen.c: Include <stdbool.h>.
6059         (rpl_fopen): Use a single variable open_flags instead of
6060         open_flags_standard and open_flags_gnu. Make open_flags_gnu a bool.
6061         * modules/fopen (Depends-on): Add stdbool.
6063 2020-06-26  Bruno Haible  <bruno@clisp.org>
6065         canonicalize: Improve documentation.
6066         * lib/canonicalize.h (canonicalize_filename_mode): Document the failure
6067         return convention.
6069 2020-06-26  Bruno Haible  <bruno@clisp.org>
6071         xgetcwd: Improve documentation.
6072         * lib/xgetcwd.c (xgetcwd): Document the failure return convention.
6074 2020-06-26  Bruno Haible  <bruno@clisp.org>
6076         getcwd: Improve documentation.
6077         * lib/getcwd.c (__getcwd): Document the failure return convention.
6079 2020-06-26  Bruno Haible  <bruno@clisp.org>
6081         fchdir: Improve documentation.
6082         * lib/fchdir.c (get_name, _gl_register_fd): Document the failure return
6083         convention.
6085 2020-06-26  Bruno Haible  <bruno@clisp.org>
6087         filenamecat-lgpl: Set errno upon failure.
6088         * lib/filenamecat-lgpl.c (mfile_name_concat): Document the failure
6089         return convention.
6090         * modules/filenamecat-lgpl (Depends-on): Add malloc-posix.
6092 2020-06-26  Bruno Haible  <bruno@clisp.org>
6094         areadlink-with-size: Set errno upon failure.
6095         * lib/areadlink-with-size.c (areadlink_with_size): Set errno when malloc
6096         fails.
6097         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Add comment.
6099 2020-06-26  Bruno Haible  <bruno@clisp.org>
6101         copy-file: Shrink dependencies.
6102         * modules/copy-file (Depends-on): Remove acl. Add acl-permissions,
6103         qcopy-acl.
6105 2020-06-26  Bruno Haible  <bruno@clisp.org>
6107         doc: Mention declaration fixes implemented by some modules.
6108         * doc/posix-functions/chdir.texi: Mention the module 'chdir'.
6109         * doc/posix-functions/close.texi: Mention that Gnulib makes the function
6110         declaration appear in <unistd.h>.
6111         * doc/posix-functions/dup.texi: Likewise.
6112         * doc/posix-functions/dup2.texi: Likewise.
6113         * doc/posix-functions/gethostname.texi: Likewise.
6114         * doc/posix-functions/isatty.texi: Likewise.
6115         * doc/posix-functions/lseek.texi: Likewise.
6116         * doc/posix-functions/unlink.texi: Likewise.
6117         * doc/posix-functions/read.texi: Mention the module 'read'.
6118         * doc/posix-functions/write.texi: Mention the effects of the module
6119         'write'.
6121 2020-06-25  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
6123         c-dtoastr, c-ldtoastr: new modules
6124         These modules provide the same functionality as the modules
6125         dtoastr and ldtoastr except for the formatting taking place in the
6126         C locale.
6127         * MODULES.html.sh: Add c-dtoastr and c-ldtoastr.
6128         * lib/c-dtoastr.c, lib/c-ldtoastr.c: New files.
6129         * lib/ftoastr.c: Prefix exported functions when the macro C_LOCALE is
6130         defined.  Use c_snprintf and c_strtod/c_strtold instead of
6131         snprintf and strtod/strtold whhen the macro C_LOCALE is defined.
6132         * lib/ftoastr.h: Add prototypes for c_dtoastr and c_ldtoastr.
6133         * modules/c-dtoastr, modules/c-dtoastr-tests, modules/c-ldtoastr,
6134         modules/c-ldtoastr-tests: New files.
6135         * tests/test-c-dtoastr.c, tests/test-c-dtoastr.sh,
6136         tests-c-ldtoastr.c tests-c-ldtoastr.sh: New files.
6138 2020-06-21  Bruno Haible  <bruno@clisp.org>
6140         tzset: Fix compilation warnings on mingw (regression from 2017-05-01).
6141         * lib/tzset.c: Include <stdlib.h>, <string.h>.
6143 2020-06-16  Bruno Haible  <bruno@clisp.org>
6145         thread: Avoid possible compiler warnings in uses of gl_thread_exit.
6146         * lib/glthread/thread.h (gl_thread_exit): Add a cast to void.
6148 2020-06-16  Bruno Haible  <bruno@clisp.org>
6150         thread, thrd: Avoid a compiler warning.
6151         * lib/windows-thread.h (glwthread_thread_exit): Mark as non-returning.
6153 2020-06-16  Biswapriyo Nath  <nathbappai@gmail.com>  (tiny change)
6155         windows-thread: Avoid a compiler warning.
6156         * lib/windows-thread.h (glwthread_thread_exit): Change return type to
6157         void.
6158         * lib/windows-thread.c (glwthread_thread_exit): Likewise.
6160 2020-06-15  Bruno Haible  <bruno@clisp.org>
6162         unictype/joininggroup-name: Fix warning on 64-bit mingw.
6163         Reported by Biswapriyo Nath <nathbappai@gmail.com> in
6164         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00036.html>.
6165         * lib/unictype/joininggroup_name.c (ELEM): Cast struct offset to size_t
6166         first.
6168 2020-06-06  Bruno Haible  <bruno@clisp.org>
6170         calloc-gnu tests: Avoid a test failure with clang.
6171         * tests/test-calloc-gnu.c (main): Mark the pointer variable as
6172         'volatile', to defeat compiler optimizations.
6174 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6176         getloadavg: fix double-increment bug
6177         * lib/getloadavg.c (getloadavg): Fix double-increment typo on
6178         Linux without glibc, Android, Cygwin.  This fixes a bug I
6179         introduced in 2011-02-08T20:23:29Z!eggert@cs.ucla.edu.
6180         Problem and fix reported by Semen Verchenko in:
6181         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00007.html
6183         tempname: use getrandom, not getentropy
6184         This removes a dependency, as getentropy depends on getrandom.
6185         * lib/tempname.c: Include sys/random.h instead of unistd.h.
6186         (RANDOM_BITS) [!_LIBC]: Use getrandom, not getentropy.
6187         * modules/tempname (Depends-on): Depend on getrandom, not getentropy.
6189 2020-06-01  Bruno Haible  <bruno@clisp.org>
6191         doc: New chapter 'Multithreading'.
6192         * doc/multithread.texi: New file.
6193         * doc/gnulib.texi: Include it.
6195 2020-06-01  Bruno Haible  <bruno@clisp.org>
6197         doc: Move 'Running self-tests under valgrind' section.
6198         * doc/gnulib.texi (Build Infrastructure Modules): Include
6199         valgrind-tests.texi here...
6200         (Miscellaneous Notes): ... not here.
6202 2020-06-01  Bruno Haible  <bruno@clisp.org>
6204         doc: Move 'Visual Studio Compatibility' section.
6205         * doc/gnulib.texi (Native Windows Support): Include ld-output-def.texi
6206         here...
6207         (Build Infrastructure Modules): ... not here.
6209 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6211         doc: improve randomness discussion
6212         Inspired by comments from Jeffrey Walton in:
6213         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00002.html
6214         * doc/glibc-functions/getentropy.texi (getentropy):
6215         * doc/glibc-functions/getrandom.texi (getrandom):
6216         Improve discussion of problems with "random" data,
6217         and cite Ristenpart & Yilek.  Also, mention GRND_INSECURE.
6219 2020-06-01  Bruno Haible  <bruno@clisp.org>
6221         doc: Fix Texinfo syntax error.
6222         * doc/glibc-functions/getrandom.texi: Add missing '@item'.
6224 2020-06-01  Asher Gordon  <AsDaGo@posteo.net>
6226         doc: Change '.' to '@.' where appropriate.
6227         * doc/c-ctype.texi: Change '.' to '@.' where appropriate.
6228         * doc/glibc-functions/fstatfs.texi: Likewise.
6229         * doc/glibc-functions/fts_children.texi: Likewise.
6230         * doc/glibc-functions/fts_read.texi: Likewise.
6231         * doc/glibc-functions/getdirentries.texi: Likewise.
6232         * doc/glibc-functions/mkostemp.texi: Likewise.
6233         * doc/glibc-functions/mkostemps.texi: Likewise.
6234         * doc/glibc-functions/mkstemps.texi: Likewise.
6235         * doc/glibc-functions/preadv.texi: Likewise.
6236         * doc/glibc-functions/pwritev.texi: Likewise.
6237         * doc/glibc-functions/sendfile.texi: Likewise.
6238         * doc/glibc-functions/statfs.texi: Likewise.
6239         * doc/gnulib-intro.texi: Likewise.
6240         * doc/gnulib-tool.texi: Likewise.
6241         * doc/intprops.texi: Likewise.
6242         * doc/lib-symbol-visibility.texi: Likewise.
6243         * doc/licenses-texi.texi: Likewise.
6244         * doc/pastposix-functions/bcmp.texi: Likewise.
6245         * doc/pastposix-functions/bcopy.texi: Likewise.
6246         * doc/pastposix-functions/bzero.texi: Likewise.
6247         * doc/pastposix-functions/ecvt.texi: Likewise.
6248         * doc/pastposix-functions/fcvt.texi: Likewise.
6249         * doc/pastposix-functions/ftime.texi: Likewise.
6250         * doc/pastposix-functions/gcvt.texi: Likewise.
6251         * doc/pastposix-functions/getwd.texi: Likewise.
6252         * doc/pastposix-functions/index.texi: Likewise.
6253         * doc/pastposix-functions/mktemp.texi: Likewise.
6254         * doc/pastposix-functions/rindex.texi: Likewise.
6255         * doc/pastposix-functions/wcswcs.texi: Likewise.
6256         * doc/posix-functions/aio_cancel.texi: Likewise.
6257         * doc/posix-functions/aio_error.texi: Likewise.
6258         * doc/posix-functions/aio_fsync.texi: Likewise.
6259         * doc/posix-functions/aio_read.texi: Likewise.
6260         * doc/posix-functions/aio_return.texi: Likewise.
6261         * doc/posix-functions/aio_suspend.texi: Likewise.
6262         * doc/posix-functions/aio_write.texi: Likewise.
6263         * doc/posix-functions/creat.texi: Likewise.
6264         * doc/posix-functions/ctime.texi: Likewise.
6265         * doc/posix-functions/daylight.texi: Likewise.
6266         * doc/posix-functions/fgetpos.texi: Likewise.
6267         * doc/posix-functions/fopen.texi: Likewise.
6268         * doc/posix-functions/freopen.texi: Likewise.
6269         * doc/posix-functions/fseeko.texi: Likewise.
6270         * doc/posix-functions/fsetpos.texi: Likewise.
6271         * doc/posix-functions/fstatat.texi: Likewise.
6272         * doc/posix-functions/fstatvfs.texi: Likewise.
6273         * doc/posix-functions/ftello.texi: Likewise.
6274         * doc/posix-functions/ftruncate.texi: Likewise.
6275         * doc/posix-functions/getrlimit.texi: Likewise.
6276         * doc/posix-functions/lio_listio.texi: Likewise.
6277         * doc/posix-functions/localtime.texi: Likewise.
6278         * doc/posix-functions/lseek.texi: Likewise.
6279         * doc/posix-functions/mkstemp.texi: Likewise.
6280         * doc/posix-functions/mktime.texi: Likewise.
6281         * doc/posix-functions/open.texi: Likewise.
6282         * doc/posix-functions/openat.texi: Likewise.
6283         * doc/posix-functions/opendir.texi: Likewise.
6284         * doc/posix-functions/pread.texi: Likewise.
6285         * doc/posix-functions/pwrite.texi: Likewise.
6286         * doc/posix-functions/readdir.texi: Likewise.
6287         * doc/posix-functions/readdir_r.texi: Likewise.
6288         * doc/posix-functions/scandir.texi: Likewise.
6289         * doc/posix-functions/seekdir.texi: Likewise.
6290         * doc/posix-functions/setrlimit.texi: Likewise.
6291         * doc/posix-functions/statvfs.texi: Likewise.
6292         * doc/posix-functions/strftime.texi: Likewise.
6293         * doc/posix-functions/telldir.texi: Likewise.
6294         * doc/posix-functions/timezone.texi: Likewise.
6295         * doc/posix-functions/tmpfile.texi: Likewise.
6296         * doc/posix-functions/truncate.texi: Likewise.
6297         * doc/posix-functions/tzname.texi: Likewise.
6298         * doc/posix-functions/wcsftime.texi: Likewise.
6299         * doc/windows-sockets.texi: Likewise.
6301 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
6303         getrandom-tests: do not assume GRND_RANDOM yields short read
6304         * tests/test-getrandom.c (main): Omit assertion that
6305         getrandom (b, sizeof b, GRND_RANDOM | GRND_NONBLOCK) < sizeof b
6306         when b’s size is 100000.  This assertion fails with Linux kernel
6307         5.6.13, as that kernel ignores the GRND_RANDOM flag.
6308         The separate blocking pool is going away in the Linux kernel, and
6309         they’ve added a flag GRND_INSECURE instead; see:
6310         https://lore.kernel.org/linux-api/705c5a091b63cc5da70c99304bb97e0109be0a26.1577088521.git.luto@kernel.org/
6311         The assertion was iffy anyway; what’s to prevent a kernel from
6312         lazily filling a large buffer with random bytes?
6314         read-file-test: pacify --enable-gcc-warnings
6315         * tests/test-read-file.c (test_read_file): Now static.
6317         tempname: merge from glibc and coreutils
6318         Also, merge in Gnulib’s more-recent methods of making it easier
6319         to share between Gnulib and glibc, and fix a few randomness
6320         glitches.
6321         * lib/tempname.c: Include libc-config.h, not config.h, if !_LIBC.
6322         (__set_errno): Remove; libc-config.h does that for us.
6323         Do not include <sys/time.h>.
6324         (__secure_getenv) [_LIBC]: New macro.
6325         (__try_tempname, __getpid, __gettimeofday) [!_LIBC]: Remove macros.
6326         (RANDOM_BITS): Rewrite.
6327         (RANDOM_VALUE_MAX, BASE_62_DIGITS, BASE_62_POWER): New macros.
6328         (random_value): New typedef.
6329         (try_file, try_dir, try_nocreate): Move up.
6330         (gen_tempname_len, try_tempname_len): New functions.
6331         (gen_tempname_len): Use a constant array rather than a switch.
6332         (try_tempname_len): Don’t assume string length fits in int.
6333         Generalize use of RANDOM_BITS.  If _LIBC, don’t assume RANDOM_BITS
6334         has enough entropy (it’s a bit short).
6335         (__gen_tempname): Rewrite in terms of gen_tempname_len.
6336         (__try_tempname): Rewrite in terms of try_tempname_len.
6337         * lib/tempname.h (gen_tempname_len, try_tempname_len): New decls.
6338         * modules/tempname (Depends-on): Remove gettimeofday, sys_time.
6339         Add getentropy, libc-config.
6341 2020-05-31  Bruno Haible  <bruno@clisp.org>
6343         getrandom, getentropy: Mention the crypto/gc-random module.
6344         Suggested by Simon Josefsson in
6345         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00400.html>.
6346         * doc/glibc-functions/getrandom.texi: Mention the quality issues and the
6347         crypto/gc-random module.
6348         * doc/glibc-functions/getentropy.texi: Likewise.
6350 2020-05-31  Bruno Haible  <bruno@clisp.org>
6352         getentropy: Enhance tests.
6353         * tests/test-getentropy.c (main): Add one more test.
6354         * tests/test-unistd-c++.cc: Check the signature of getentropy.
6356 2020-05-31  Bruno Haible  <bruno@clisp.org>
6358         getentropy: Work around a macOS and Solaris problem.
6359         * lib/unistd.in.h: Include <sys/random.h>, when needed for the
6360         'getentropy' module.
6361         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6362         UNISTD_H_HAVE_SYS_RANDOM_H.
6363         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Set
6364         UNISTD_H_HAVE_SYS_RANDOM_H.
6365         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_SYS_RANDOM_H.
6366         * doc/glibc-functions/getentropy.texi: Document the macOS and Solaris
6367         problem. List more platforms.
6369 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
6371         fnmatch: merge from glibc
6372         Also, merge in Gnulib’s more-recent methods of making it easier
6373         to share between Gnulib and glibc.
6374         * lib/fnmatch.c: Reorder includes to match glibc better.
6375         Include libc-config.h instead of config.h.
6376         Include alloca.h only if _LIBC || HAVE_ALLOCA.
6377         Do not include "../locale/elem-hash.h" if _LIBC.
6378         Define macros for btowc, etc. if _LIBC.  All uses simplified.
6379         Define FALLTHROUGH if _LIBC, instead of including attribute.h.
6380         Include intprops.h, since glibc has it now.
6381         (SIZE_MAX): Remove; use (size_t) -1 instead.
6382         Omit the "Comment out all this code" ifdef, since Gnulib
6383         has never really needed it.
6384         (STREQ): Remove; no longer used.
6385         (__libc_use_alloca, alloca, alloca_account): Define as
6386         needed if !_LIBC.
6387         (ISWCTYPE): Remove; all uses replaced by iswctype.
6388         (HANDLE_MULTIBYTE): Remove.  All uses removed by assuming true.
6389         (internal_function): Remove.  All uses removed.
6390         (STRUCT): New macro.
6391         (WIDE_CHAR_VERSION): Define to 0 instead of leaving undefined.
6392         (WMEMCMP): New macro.
6393         (FINDIDX): Define if _LIBC, and include <locale/weight.h>
6394         and <locale/weightwc.h>.
6395         (fnmatch): Prefer __glibc_likely and __glibc_unlikely to
6396         __builtin_expect.  Check for integer overflow more
6397         systematically.  Account for alloca storage better when
6398         recursive.  Use strnlen instead of strlen for efficiency.
6399         * lib/fnmatch_loop.c: Include stdint.h if _LIBC, for int32_t etc.
6400         (struct STRUCT): New type.
6401         (FCT, EXT): New ENDS and ALLOCA_USED args.
6402         All callers changed.
6403         (FCT): Prefer __glibc_unlikely to __builtin_expect.
6404         Simplify by assuming WIDE_CHAR_SUPPORT.
6405         Copy _LIBC code from glibc without worrying Gnulib compatibility.
6406         Cast cold to UCHAR to avoid signedness warning.
6407         (END): Check for invalid pattern.
6408         (EXT): Improve alloca/malloc checking (taken from glibc),
6409         and improve it some more by using intprops.h and checking
6410         for integer overflow and using bool for booleans.
6411         * lib/libc-config.h (compat_symbol): New macro.
6412         (versioned_symbol): Make it ‘extern int dummy’ so that it’s
6413         acceptable to non-GCC when a trailing semicolon is added.
6414         * modules/fnmatch (Depends-on): Add alloca-opt, intprops,
6415         libc-config, strnlen.  Remove alloca.
6417 2020-05-31  Bruno Haible  <bruno@clisp.org>
6419         getrandom: Doc and test tweaks.
6420         * lib/getrandom.c (getrandom): Mention that it never returns 0, and that
6421         it sets errno when failing.
6422         * tests/test-getrandom.c (main): Disable the high-quality check on those
6423         platforms on which it fails.
6424         * doc/glibc-functions/getrandom.texi: Add Minix, AIX, HP-UX, IRIX,
6425         Cygwin to the list of platforms that don't have the function. Add a note
6426         about the quality of the result.
6427         * doc/glibc-headers/sys_random.texi: Don't mention the 'getrandom'
6428         declaration; this is fixed by module 'getrandom'.
6430 2020-05-31  Bruno Haible  <bruno@clisp.org>
6432         getrandom: Add support for native Windows.
6433         * lib/getrandom.c: Include <errno.h>, <windows.h>, <bcrypt.h>,
6434         <wincrypt.h>.
6435         (CRYPT_VERIFY_CONTEXT): New macro.
6436         (LoadLibrary, CryptAcquireContext): Redirect to the variant with suffix
6437         'A'.
6438         (GetProcAddress): New macro.
6439         (BCryptGenRandomFuncType): New type.
6440         (BCryptGenRandomFunc, initialized): New variables.
6441         (initialize): New function.
6442         (getrandom): On native Windows, use <bcrypt.h> API when available, and
6443         <wincrypt.h> API as fallback.
6444         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set LIB_GETRANDOM.
6445         * modules/getrandom (Link): New section.
6446         * modules/getentropy (Link): Likewise.
6447         * modules/getrandom-tests (Makefile.am): Link test-getrandom against
6448         $(LIB_GETRANDOM).
6449         * modules/getentropy-tests (Makefile.am): Link test-getentropy against
6450         $(LIB_GETRANDOM).
6451         * modules/sys_random-c++-tests (Makefile.am): Link test-sys_random-c++
6452         against $(LIB_GETRANDOM).
6453         * doc/glibc-functions/getrandom.texi: Mention the native Windows
6454         support.
6456 2020-05-31  Bruno Haible  <bruno@clisp.org>
6458         getrandom: Simplify the determination of the random number devices.
6459         Suggested by Paul Eggert in
6460         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00383.html>.
6461         * lib/getrandom.c (NAME_OF_RANDOM_DEVICE, NAME_OF_NONCE_DEVICE): New
6462         macros.
6463         * modules/getrandom (Depends-on): Remove crypto/gc-random.
6465 2020-05-31  Bruno Haible  <bruno@clisp.org>
6467         crypto/gc-random: Fix list of crypto devices for Solaris.
6468         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case Solaris.
6470 2020-05-31  Akim Demaille  <akim@lrde.epita.fr>
6472         list: fix GCC warnings
6473         * lib/gl_anytree_list2.h (gl_tree_iterator_free)
6474         (gl_tree_next_node, gl_tree_node_nx_set_value)
6475         (gl_tree_previous_node, gl_tree_next_node):
6476         Mark unused arguments.
6477         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
6478         * lib/gl_anylinked_list2.h (gl_linked_node_value)
6479         (gl_linked_node_nx_set_value, gl_linked_iterator_free): Likewise.
6481         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Avoid using
6482         the same variable name in nested scopes.
6484 2020-05-31  Bruno Haible  <bruno@clisp.org>
6486         list-c++, set-c++, oset-c++, map-c++, omap-c++: Don't fool the compiler.
6487         Reported by Akim Demaille in
6488         <https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00102.html>.
6489         * lib/gl_list.hh (gl_List::iterator::next): Avoid a reinterpret_cast.
6490         * lib/gl_set.hh (gl_Set::iterator::next): Likewise.
6491         * lib/gl_oset.hh (gl_OSet::iterator::next): Likewise.
6492         * lib/gl_map.hh (gl_Map::iterator::next): Likewise.
6493         * lib/gl_omap.hh (gl_OMap::iterator::next): Likewise.
6495 2020-05-30  Bruno Haible  <bruno@clisp.org>
6497         wmemchr: Relicense under LGPLv2+.
6498         * modules/wmemchr (License): Set to LGPLv2+.
6500 2020-05-30  Bruno Haible  <bruno@clisp.org>
6502         wmempcpy: New module.
6503         Reported by Paul Eggert in
6504         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00387.html>.
6505         * lib/wchar.in.h (wmempcpy): New declaration.
6506         * lib/wmempcpy.c: New file.
6507         * m4/wmempcpy.m4: New file.
6508         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmempcpy is declared.
6509         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMPCPY, HAVE_WMEMPCPY.
6510         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMPCPY,
6511         HAVE_WMEMPCPY.
6512         * modules/wmempcpy: New file.
6513         * tests/test-wchar-c++.cc: Check the signature of wmempcpy.
6514         * doc/glibc-functions/wmempcpy.texi: Mention the new module.
6515         * modules/mempcpy (Description): Fix typo.
6517 2020-05-30  Bruno Haible  <bruno@clisp.org>
6519         crypto/gc-random: Fix list of crypto devices for NetBSD, OpenBSD.
6520         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case NetBSD and OpenBSD.
6522 2020-05-30  Bruno Haible  <bruno@clisp.org>
6524         sys_random: Work around macOS bug.
6525         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Include <sys/types.h> and
6526         <stdlib.h> before <sys/random.h>.
6527         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
6528         * lib/sys_random.in.h: On macOS, include <sys/types.h> and <stdlib.h>
6529         first.
6530         * doc/glibc-headers/sys_random.texi: Mention the macOS problem.
6532 2020-05-30  Bruno Haible  <bruno@clisp.org>
6534         getrandom: Override incompatible system function on Solaris 11.
6535         * lib/sys_random.in.h (getrandom): Override if REPLACE_GETRANDOM is 1.
6536         * lib/getrandom.c (getrandom): When the system has getrandom, just
6537         invoke it.
6538         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set REPLACE_GETRANDOM if the
6539         system's getrandom function's prototype is not the expected one.
6540         * m4/sys_random_h.m4 (gl_SYS_RANDOM_H_DEFAULTS): Initialize
6541         REPLACE_GETRANDOM.
6542         * modules/sys_random (Makefile.am): Substitute REPLACE_GETRANDOM.
6543         * modules/getrandom (modules/getrandom): Consider REPLACE_GETRANDOM.
6544         * tests/test-getrandom.c (main): Allow error EINVAL as an alternative to
6545         EAGAIN.
6546         * doc/glibc-functions/getrandom.texi: Mention the new module and the
6547         Solaris problem.
6549 2020-05-30  Bruno Haible  <bruno@clisp.org>
6551         sys_random: Add C++ tests.
6552         * tests/test-sys_random-c++.cc: New file.
6553         * modules/sys_random-c++-tests: New file.
6554         * modules/sys_random-tests (Depends-on): Depend on it.
6556         sys_random: Add tests.
6557         * tests/test-sys_random.c: New file.
6558         * modules/sys_random-tests: New file.
6560         sys_random: New module.
6561         * lib/sys_random.in.h: Use the common idioms for overridable header
6562         files.
6563         * m4/sys_random_h.m4: New file.
6564         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Require gl_SYS_RANDOM_H_DEFAULTS.
6565         * modules/sys_random: New file.
6566         * modules/getrandom (Files): Remove lib/sys_random.in.h.
6567         (Depends-on): Add sys_random.
6568         (configure.ac): Use gl_SYS_RANDOM_MODULE_INDICATOR, not
6569         gl_UNISTD_MODULE_INDICATOR.
6570         (Makefile.am): Don't generate sys/random.h here.
6571         * doc/glibc-headers/sys_random.texi: New file.
6572         * doc/gnulib.texi: Include it.
6574 2020-05-30  Bruno Haible  <bruno@clisp.org>
6576         unistd: Remove conflicting declaration of getrandom().
6577         * lib/unistd.in.h (getrandom): Remove declaration.
6578         * m4/unistd_h.m4 (gl_UNISTD_H): Don't test whether getrandom is
6579         declared.
6580         (gl_UNISTD_H_DEFAULTS): Don't initialize GNULIB_GETRANDOM,
6581         HAVE_GETRANDOM.
6582         * modules/unistd (Makefile.am): Don't substitute GNULIB_GETRANDOM,
6583         HAVE_GETRANDOM.
6585 2020-05-30  Bruno Haible  <bruno@clisp.org>
6587         getrandom: Add tests.
6588         * tests/test-getrandom.c: New file.
6589         * modules/getrandom-tests: New file.
6591 2020-05-30  Bruno Haible  <bruno@clisp.org>
6593         crypto/gc-random: Fix link error on MSVC.
6594         * m4/gc-random.m4 (gl_GC_RANDOM): Set LIB_GC_RANDOM.
6595         * modules/crypto/gc-random (Link): New section.
6596         * modules/crypto/gc-tests (Makefile.am): Link test-gc against
6597         $(LIB_GC_RANDOM).
6599 2020-05-30  Bruno Haible  <bruno@clisp.org>
6601         Don't assume that UNICODE is not defined.
6602         Many Windows API functions are defined differently (redirecting to a
6603         function with suffix 'W') if the application defines the macro UNICODE
6604         than by default (redirecting to a function with suffix 'A').
6605         * lib/clean-temp.c (OSVERSIONINFO, GetVersionEx): Redirect to the
6606         variant with suffix 'A'.
6607         * lib/dirent-private.h (WIN32_FIND_DATA): Likewise.
6608         * lib/gc-gnulib.c (CryptAcquireContext): Likewise.
6609         * lib/getaddrinfo.c (GetModuleHandle): Likewise.
6610         * lib/getlogin.c (GetUserName): Likewise.
6611         * lib/getlogin_r.c (GetUserName): Likewise.
6612         * lib/gettimeofday.c (LoadLibrary): Likewise.
6613         * lib/isatty.c (LoadLibrary, QueryFullProcessImageName): Likewise.
6614         * lib/link.c (GetModuleHandle, CreateHardLink): Likewise.
6615         * lib/localename.c (GetLocaleInfo, EnumSystemLocales): Likewise.
6616         * lib/mountlist.c (GetDriveType): Likewise.
6617         * lib/nonblocking.c (GetNamedPipeHandleState): Likewise.
6618         * lib/opendir.c (WIN32_FIND_DATA, GetFullPathName, FindFirstFile):
6619         Likewise.
6620         * lib/physmem.c (GetModuleHandle): Likewise.
6621         * lib/poll.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
6622         PeekMessage, DispatchMessage): Likewise.
6623         * lib/progreloc.c (GetModuleFileName): Likewise.
6624         * lib/putenv.c (SetEnvironmentVariable): Likewise.
6625         * lib/read.c (GetNamedPipeHandleState): Likewise.
6626         * lib/readdir.c (FindNextFile): Likewise.
6627         * lib/relocatable.c (GetModuleFileName): Likewise.
6628         * lib/rename.c (MoveFileEx): Likewise.
6629         * lib/rewinddir.c (FindFirstFile): Likewise.
6630         * lib/select.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
6631         PeekMessage, DispatchMessage): Likewise.
6632         * lib/sethostname.c (GetComputerNameEx, SetComputerNameEx): Likewise.
6633         * lib/socket.c (WSASocket): Likewise.
6634         * lib/stat-w32.c (LoadLibrary, GetFinalPathNameByHandle): Likewise.
6635         * lib/stat.c (WIN32_FIND_DATA, CreateFile, FindFirstFile): Likewise.
6636         * lib/stdio-read.c (GetNamedPipeHandleState): Likewise.
6637         * lib/stdio-write.c (GetNamedPipeHandleState): Likewise.
6638         * lib/tmpdir.c (GetTempPath): Likewise.
6639         * lib/tmpfile.c (OSVERSIONINFO, GetVersionEx, GetTempPath): Likewise.
6640         * lib/uname.c (OSVERSIONINFO, GetVersionEx): Likewise.
6641         * lib/utime.c (CreateFile, GetFileAttributes): Likewise.
6642         * lib/windows-cond.c (CreateEvent): Likewise.
6643         * lib/windows-rwlock.c (CreateEvent): Likewise.
6644         * lib/windows-timedmutex.c (CreateEvent): Likewise.
6645         * lib/windows-timedrecmutex.c (CreateEvent): Likewise.
6646         * lib/windows-timedrwlock.c (CreateEvent): Likewise.
6647         * lib/write.c (GetNamedPipeHandleState): Likewise.
6649 2020-05-30  Bruno Haible  <bruno@clisp.org>
6651         physmem: Fix compilation errors on MSVC.
6652         * lib/physmem.c (PFN_MS_EX): Use BOOL, not WINBOOL.
6653         * modules/physmem (Depends-on): Add unistd.
6655 2020-05-29  Bruno Haible  <bruno@clisp.org>
6657         gnulib-tool: Fix link errors with a particular set of modules on mingw.
6658         * gnulib-tool (func_emit_tests_Makefile_am): Add ../lib/libgnu.a to
6659         LDADD a second time, after the second occurrence of libtests.a.
6660         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
6662 2020-05-29  Bruno Haible  <bruno@clisp.org>
6664         fnmatch: Rely on more gnulib modules.
6665         * modules/fnmatch (Depends-on): Add btowc, isblank, iswctype, wmemchr,
6666         wmempcpy, mempcpy.
6667         * lib/fnmatch.c: Assume that HAVE_WCTYPE_H, HAVE_BTOWC, HAVE_ISWCTYPE,
6668         HAVE_WMEMCHR, HAVE_WMEMPCPY, HAVE_ISBLANK, HAVE_DECL_ISBLANK,
6669         HAVE_MEMPCPY are all 1.
6670         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't test for btowc, isblank,
6671         iswctype, mempcpy, wmemchr, wmemcpy, wmempcpy, <wctype.h>.
6673 2020-05-29  Bruno Haible  <bruno@clisp.org>
6675         Avoid dynamic lookup of Windows API functions when possible.
6676         * lib/getaddrinfo.c (GetProcAddress, getaddrinfo_func,
6677         freeaddrinfo_func, getnameinfo_func, getaddrinfo_ptr, freeaddrinfo_ptr,
6678         getnameinfo_ptr): Don't define in a build for Windows XP or higher.
6679         (use_win32_p): Define differently.
6680         * lib/link.c (GetProcAddress, CreateHardLinkFuncType,
6681         CreateHardLinkFunc, initialized, initialize): Don't define in a build
6682         for Windows XP or higher.
6684 2020-05-29  Daiki Ueno  <ueno@gnu.org>
6686         read-file: disable buffering if RF_SENSITIVE is set
6687         * lib/read-file.c (read_file): Call setvbuf if RF_SENSITIVE.
6688         Suggested by Glenn Strauss.
6689         (fread_file): Suggest calling setvbuf before calling this
6690         function.  Suggested by Bruno Haible.
6692 2020-05-29  Bruno Haible  <bruno@clisp.org>
6694         wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset: Fix autoconf test.
6695         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Link, not only compile, the test
6696         program.
6697         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
6698         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
6699         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
6700         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
6702 2020-05-29  Bruno Haible  <bruno@clisp.org>
6704         Fix compilation error on native Windows (regression from 2020-05-28).
6705         Reported by Daiki Ueno.
6706         * lib/gettimeofday.c (GetSystemTimePreciseAsFileTimeFunc): Define as
6707         macro when not using dynamic loading.
6708         * lib/isatty.c (GetNamedPipeClientProcessIdFunc,
6709         QueryFullProcessImageNameFunc): Likewise.
6710         * lib/stat-w32.c (GetFileInformationByHandleExFunc,
6711         GetFinalPathNameByHandleFunc): Likewise.
6713 2020-05-29  Daiki Ueno  <ueno@gnu.org>
6715         fopen-gnu-tests: fix "\x" escape usage
6716         * tests/test-fopen-gnu.c (DATA): Use safer escape sequence.
6718 2020-05-28  Bruno Haible  <bruno@clisp.org>
6720         Avoid dynamic loading of Windows API functions when possible.
6721         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
6722         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00182.html>.
6723         * lib/gettimeofday.c (GetProcAddress,
6724         GetSystemTimePreciseAsFileTimeFuncType,
6725         GetSystemTimePreciseAsFileTimeFunc, initialized, initialize): Don't
6726         define in a build for Windows 8 or higher.
6727         * lib/isatty.c (GetProcAddress, GetNamedPipeClientProcessIdFuncType,
6728         GetNamedPipeClientProcessIdFunc, QueryFullProcessImageNameFuncType,
6729         QueryFullProcessImageNameFunc, initialized, initialize): Don't define
6730         in a build for Windows Vista or higher.
6731         * lib/stat-w32.c (GetProcAddress, GetFileInformationByHandleExFuncType,
6732         GetFileInformationByHandleExFunc, GetFinalPathNameByHandleFuncType,
6733         GetFinalPathNameByHandleFunc, initialized, initialize): Likewise.
6735 2020-05-28  Paul Eggert  <eggert@cs.ucla.edu>
6737         explicit_bzero-tests: improve -Wmissing-declarations pacification
6738         * tests/test-explicit_bzero.c: Now noinline.
6739         Suggested by Bruno Haible in:
6740         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00300.html
6742 2020-05-28  Bruno Haible  <bruno@clisp.org>
6744         Fix build errors due to read-file changes (regression from 2020-05-27).
6745         * lib/git-merge-changelog.c (read_changelog_file): Update read_file
6746         invocation.
6747         * tests/test-sameacls.c (main): Likewise.
6748         * tests/test-pipe-filter-gi1.c (main): Call read_file instead of
6749         read_binary_file.
6750         * tests/test-pipe-filter-ii1.c (main): Likewise.
6752 2020-05-28  Bruno Haible  <bruno@clisp.org>
6754         fts: Make more robust in multithreaded applications.
6755         * lib/fts.c (fts_open): Pass an O_CLOEXEC flag to open().
6756         * modules/fts (Depends-on): Add 'open'.
6758 2020-05-28  Bruno Haible  <bruno@clisp.org>
6760         relocatable-prog: Make more robust in multithreaded applications.
6761         * lib/progreloc.c (O_CLOEXEC): Define fallback to 0 when use from module
6762         relocatable-prog-wrapper.
6763         (find_executable): Pass an O_CLOEXEC flag to open().
6764         * modules/relocatable-prog (Depends-on): Add 'open'.
6766 2020-05-28  Bruno Haible  <bruno@clisp.org>
6768         getloadavg: Make more robust in multithreaded applications.
6769         * lib/getloadavg.c (getloadavg): Pass an O_CLOEXEC flag to open().
6770         Simplify use of O_CLOEXEC.
6771         * modules/getloadavg (Depends-on): Add 'open'.
6773 2020-05-28  Bruno Haible  <bruno@clisp.org>
6775         vma-iter: Make more robust in multithreaded applications.
6776         * lib/vma-iter.c (rof_open, vma_iterate): Pass an O_CLOEXEC flag to
6777         open().
6778         * modules/vma-iter (Depends-on): Add 'open'.
6780 2020-05-28  Bruno Haible  <bruno@clisp.org>
6782         truncate: Make more robust in multithreaded applications.
6783         * lib/truncate.c (truncate): Pass an O_CLOEXEC flag to open().
6785 2020-05-28  Bruno Haible  <bruno@clisp.org>
6787         pagealign_alloc: Make more robust in multithreaded applications.
6788         * lib/pagealign_alloc.c (pagealign_alloc): Pass an O_CLOEXEC flag to
6789         open().
6790         * modules/pagealign_alloc (Depends-on): Add 'open'.
6792 2020-05-28  Bruno Haible  <bruno@clisp.org>
6794         openat: Make more robust in multithreaded applications.
6795         * lib/openat.c (openat_needs_fchdir): Pass an O_CLOEXEC flag to open().
6797 2020-05-28  Bruno Haible  <bruno@clisp.org>
6799         at-internal: Make more robust in multithreaded applications.
6800         * lib/openat-proc.c (openat_proc_name): Pass an O_CLOEXEC flag to
6801         open().
6803 2020-05-28  Bruno Haible  <bruno@clisp.org>
6805         mountlist: Make more robust in multithreaded applications.
6806         * lib/mountlist.c (read_file_system_list): Pass an O_CLOEXEC flag to
6807         open().
6808         * modules/mountlist (Depends-on): Add 'open'.
6810 2020-05-28  Bruno Haible  <bruno@clisp.org>
6812         login_tty: Make more robust in multithreaded applications.
6813         * lib/login_tty.c (login_tty): Pass an O_CLOEXEC flag to open().
6814         * modules/login_tty (Depends-on): Add 'open'.
6816 2020-05-28  Bruno Haible  <bruno@clisp.org>
6818         javacomp: Make more robust in multithreaded applications.
6819         * lib/javacomp.c (get_classfile_version): Pass an O_CLOEXEC flag to
6820         open().
6821         * modules/javacomp (Depends-on): Add 'open'.
6823 2020-05-28  Bruno Haible  <bruno@clisp.org>
6825         getprogname: Make more robust in multithreaded applications.
6826         * lib/getprogname.c (getprogname): Pass an O_CLOEXEC flag to open().
6827         * modules/getprogname (Depends-on): Add 'open'.
6829 2020-05-28  Bruno Haible  <bruno@clisp.org>
6831         get_progname_of: Make more robust in multithreaded applications.
6832         * lib/get_progname_of.c (get_progname_of): Pass an O_CLOEXEC flag to
6833         open().
6834         * modules/get_progname_of (Depends-on): Add 'open'.
6836 2020-05-28  Bruno Haible  <bruno@clisp.org>
6838         get_ppid_of: Make more robust in multithreaded applications.
6839         * lib/get_ppid_of.c (get_ppid_of): Pass an O_CLOEXEC flag to open().
6840         * modules/get_ppid_of (Depends-on): Add 'open'.
6842 2020-05-28  Bruno Haible  <bruno@clisp.org>
6844         get-rusage-as: Make more robust in multithreaded applications.
6845         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Pass an O_CLOEXEC
6846         flag to open().
6847         * modules/get-rusage-as (Depends-on): Add 'open'.
6849 2020-05-28  Bruno Haible  <bruno@clisp.org>
6851         crypto/gc: Make more robust in multithreaded applications.
6852         * lib/gc-gnulib.c (randomize): Pass an O_CLOEXEC flag to open().
6853         * modules/crypto/gc (Depends-on): Add 'open'.
6855 2020-05-28  Bruno Haible  <bruno@clisp.org>
6857         copy-file: Make more robust in multithreaded applications.
6858         * lib/copy-file.c (qcopy_file_preserving): Pass an O_CLOEXEC flag to
6859         open().
6861 2020-05-28  Bruno Haible  <bruno@clisp.org>
6863         chown: Make more robust in multithreaded applications.
6864         * lib/chown.c (rpl_chown): Pass an O_CLOEXEC flag to open().
6866 2020-05-28  Bruno Haible  <bruno@clisp.org>
6868         doc: Fix statement about O_CLOEXEC (wrong since 2017-08-14).
6869         * doc/posix-headers/fcntl.texi: Gnulib no longer defines O_CLOEXEC to 0.
6871 2020-05-28  Daiki Ueno  <ueno@gnu.org>
6873         fopen-gnu: make 'b' flag can be used with 'e' on Windows
6874         * lib/fopen.c (rpl_fopen): Pass O_BINARY to open, if a 'b' flag is
6875         specified on Windows.
6876         * tests/test-fopen-gnu.c (DATA): New define.
6877         (main): Add test for reading binary files with an 'e' flag.
6879 2020-05-27  Bruno Haible  <bruno@clisp.org>
6881         Don't assume that UNICODE is not defined.
6882         Some Windows types, such as TCHAR, LPTSTR, LPCTSTR, are defined
6883         differently if the application defines the macro UNICODE.
6884         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
6885         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00184.html>.
6886         * lib/link.c (CreateHardLinkFuncType): Use LPCSTR, not LPCTSTR.
6887         * lib/localename.c (enum_locales_fn): Use LPSTR, not LPTSTR.
6888         * lib/stat-w32.c (GetFinalPathNameByHandleFuncType): Likewise.
6890 2020-05-27  Bruno Haible  <bruno@clisp.org>
6892         Improve pattern for defining _WIN32_WINNT.
6893         Newer versions of the Windows API may not only add, but also remove API
6894         functions. Therefore, when the user is e.g. building for Windows 10, we
6895         should not set _WIN32_WINNT to e.g. Windows 8, as this may enable the
6896         use of APIs that were present in Windows 8 but removed in Windows 10.
6897         Suggested by Steve Lhomme <robux4@ycbcr.xyz> in
6898         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00318.html>.
6899         * lib/ftruncate.c (_WIN32_WINNT): Don't set to a smaller value.
6900         * lib/sethostname.c (_WIN32_WINNT): Likewise.
6901         * lib/stat-w32.c (_WIN32_WINNT): Likewise.
6903 2020-05-27  Bruno Haible  <bruno@clisp.org>
6905         javacomp: Make more robust in multithreaded applications.
6906         * lib/javacomp.c (write_temp_file): Pass an 'e' flag to fopen_temp.
6907         * modules/javacomp (Depends-on): Add fopen-gnu.
6909 2020-05-27  Bruno Haible  <bruno@clisp.org>
6911         mountlist: Make more robust in multithreaded applications.
6912         * lib/mountlist.c (setmntent, read_file_system_list): Pass an 'e' flag
6913         to fopen.
6914         * modules/mountlist (Depends-on): Add fopen-gnu.
6916 2020-05-27  Bruno Haible  <bruno@clisp.org>
6918         sethostname: Make more robust in multithreaded applications.
6919         * lib/sethostname.c (sethostname): Pass an 'e' flag to fopen.
6920         * modules/sethostname (Depends-on): Add fopen-gnu.
6922 2020-05-27  Bruno Haible  <bruno@clisp.org>
6924         readutmp: Make more robust in multithreaded applications.
6925         * lib/readutmp.c (read_utmp): Pass an 'e' flag to fopen.
6926         * modules/readutmp (Depends-on): Add fopen-gnu.
6928 2020-05-27  Bruno Haible  <bruno@clisp.org>
6930         getpass: Make more robust in multithreaded applications.
6931         * lib/getpass.c (getpass): Pass an 'e' flag to fopen.
6932         * modules/getpass (Depends-on): Add fopen-gnu.
6934 2020-05-27  Bruno Haible  <bruno@clisp.org>
6936         getloadavg: Make more robust in multithreaded applications.
6937         * lib/getloadavg.c (getloadavg): Pass an 'e' flag to fopen.
6938         * modules/getloadavg (Depends-on): Add fopen-gnu.
6940 2020-05-27  Bruno Haible  <bruno@clisp.org>
6942         exclude: Make more robust in multithreaded applications.
6943         * lib/exclude.c (add_exclude_file): Pass an 'e' flag to fopen.
6944         * modules/exclude (Depends-on): Add fopen-gnu.
6946 2020-05-27  Bruno Haible  <bruno@clisp.org>
6948         bitset: Make more robust in multithreaded applications.
6949         * lib/bitset/stats.c (bitset_stats_read, bitset_stats_write): Pass an
6950         'e' flag to fopen.
6951         * modules/bitset (Depends-on): Add fopen-gnu.
6953 2020-05-27  Daiki Ueno  <ueno@gnu.org>
6955         read-file: add RF_SENSITIVE flag
6956         * lib/read-file.h (RF_SENSITIVE): New define.
6957         * lib/read-file.c (fread_file, read_file): Take into account of
6958         RF_SENSITIVE flag.
6959         * modules/read-file (Depends-on): Add explicit_bzero.
6960         This adds an alternative behavior of those functions to explicitly
6961         clear the internal memory block when it becomes unused.  This is
6962         useful for reading sensitive information from a file.
6964 2020-05-27  Daiki Ueno  <ueno@gnu.org>
6966         read-file: add flags to modify reading behavior
6967         * lib/read-file.h (RF_BINARY): New define.
6968         (fread_file, read_file): Take FLAGS argument.
6969         (read_binary_file): Remove.
6970         * lib/read-file.c (internal_read_file): Merge into ...
6971         (read_file): ... here.
6972         * modules/read-file-tests (Files): Add "tests/macros.h".
6973         * tests/test-read-file.c (main): Refactor using ASSERT macro.
6974         * NEWS: Mention this change.
6976 2020-05-26  Bernhard Voelker  <mail@bernhard-voelker.de>
6978         doc/gnulib-intro.texi: add missing "to" in sentence
6979         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
6980         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00316.html>.
6981         * doc/gnulib-intro.texi (Collaborative Development): Add "to".
6983 2020-05-26  Bruno Haible  <bruno@clisp.org>
6985         count-one-bits: Fix MSVC specific code.
6986         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
6987         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00309.html>.
6988         * lib/count-one-bits.h (COUNT_ONE_BITS_GENERIC): Don't define if we're
6989         using GCC.
6990         [_MSC_VER]: Use correct syntax for #pragma intrinsic.
6991         (__popcnt64): In 32-bit mode, define as an inline function.
6992         (COUNT_ONE_BITS): Rename first argument to GCC_BUILTIN.
6994 2020-05-26  Bruno Haible  <bruno@clisp.org>
6996         argz: Avoid name clashes through argz.h.
6997         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
6998         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00308.html>.
6999         * lib/argz.h: Don't use __ prefixed identifiers.
7000         (const): Remove definition.
7001         (argz_next): Remove inline definitions.
7003 2020-05-26  Daiki Ueno  <ueno@gnu.org>
7005         read-file: make use of fopen-gnu
7006         * lib/read-file.c (read_file): Pass an 'e' flag to fopen.
7007         (read_binary_file): Likewise.
7008         * modules/read-file (Depends-on): Add fopen-gnu.
7010 2020-05-25  Paul Eggert  <eggert@cs.ucla.edu>
7012         getentropy, getrandom: new modules
7013         * MODULES.html.sh (func_all_modules):
7014         * lib/unistd.in.h (getentropy, getrandom):
7015         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS):
7016         * modules/unistd (unistd.h):
7017         Add support for getentropy, getrandom.
7018         * doc/glibc-functions/getentropy.texi (getentropy):
7019         * doc/glibc-functions/getrandom.texi (getrandom):
7020         These are now fixed on some platforms.
7021         * lib/getentropy.c, lib/getrandom.c, lib/sys_random.in.h:
7022         * m4/getentropy.m4, m4/getrandom.m4:
7023         * modules/getentropy, modules/getentropy-tests:
7024         * modules/getrandom, modules/getrandom-tests:
7025         * tests/test-getentropy.c, tests/test-getrandom.c:
7026         New files.
7028 2020-05-25  Bruno Haible  <bruno@clisp.org>
7030         Add missing C99 dependencies.
7031         Reported by Paul Smith <psmith@gnu.org> in
7032         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00290.html>.
7033         * modules/assert (Depends-on): Add c99.
7034         * modules/filenamecat-lgpl (Depends-on): Likewise.
7035         * modules/libc-config (Depends-on): Likewise.
7036         * modules/mktime (Depends-on): Likewise.
7037         * modules/random_r (Depends-on): Likewise.
7038         * modules/regex (Depends-on): Likewise.
7039         * modules/scratch_buffer (Depends-on): Likewise.
7040         * modules/timespec-add (Depends-on): Likewise.
7041         * modules/timespec-sub (Depends-on): Likewise.
7042         * modules/verify (Depends-on): Likewise.
7044 2020-05-24  Paul Eggert  <eggert@cs.ucla.edu>
7046         explicit_bzero-tests: pacify -Wmissing-declarations
7047         * tests/test-explicit_bzero.c (do_secret_stuff, test_stack):
7048         Now static.
7050 2020-05-24  Bruno Haible  <bruno@clisp.org>
7052         fopen-gnu: Add tests.
7053         * tests/test-fopen-gnu.c: New file.
7054         * modules/fopen-gnu-tests: New file.
7056         fopen-gnu: New module.
7057         Suggested by Tim Rühsen <tim.ruehsen@gmx.de> in
7058         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00119.html>.
7059         * lib/fopen.c (rpl_fopen): When the fopen-gnu module is enabled and the
7060         mode contains an 'x' or 'e' flag, use open() followed by fdopen().
7061         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): New macro.
7062         * modules/fopen-gnu: New file.
7063         * doc/posix-functions/fopen.texi: Document the 'fopen-gnu' module.
7065 2020-05-24  Bruno Haible  <bruno@clisp.org>
7067         open, openat: Really support O_CLOEXEC.
7068         * lib/open.c (open): When have_cloexec is still undecided, do pass a
7069         O_CLOEXEC flag to orig_open.
7070         * lib/openat.c (rpl_openat): When have_cloexec is still undecided, do
7071         pass a O_CLOEXEC flag to orig_openat.
7072         * tests/test-open.h (test_open): Verify that O_CLOEXEC is honoured.
7073         * modules/open-tests (Depends-on): Add fcntl.
7074         * modules/openat-tests (Depends-on): Likewise.
7075         * modules/fcntl-safer-tests (Depends-on): Likewise.
7077 2020-05-24  Bruno Haible  <bruno@clisp.org>
7079         fopen: Fix the trailing slash workaround.
7080         * lib/fopen.c (rpl_fopen): Parse the mode string. Recognize "r+" as a
7081         write access. Pass the right flags to open().
7082         * tests/test-fopen.h (test_fopen): Add a few more tests on directories.
7084 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7086         assure: new macro ‘affirm’
7087         * lib/assure.h: Include verify.h.
7088         (affirm): New macro, after a suggestion by Marc Nieper-Wißkirchen in:
7089         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00263.html
7090         and commentary by Bruno Haible in:
7091         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00278.html
7092         * modules/assure (Depends-on:): Add verify.
7094 2020-05-23  Bruno Haible  <bruno@clisp.org>
7096         calloc-gnu: Make test work in non-flat address spaces.
7097         Uses code by Paul Eggert.
7098         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Allow a calloc() implementation
7099         to return more than SIZE_MAX bytes, but only without wrap-around bugs.
7101 2020-05-23  Bruno Haible  <bruno@clisp.org>
7103         calloc-gnu: Avoid wrong configure results with GCC's AddressSanitizer.
7104         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Split the AC_RUN_IFELSE into two
7105         AC_RUN_IFELSE invocations.
7107 2020-05-23  Bruno Haible  <bruno@clisp.org>
7109         isnanf, isnanl, isnan: Don't use nonexistent builtins with clang.
7110         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM,
7111         gl_ISNANF_WORKS): Don't use __builtin_isnanf on clang versions that
7112         don't have it.
7113         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
7114         gl_FUNC_ISNANL_WORKS): Don't use __builtin_isnanl on clang versions that
7115         don't have it.
7116         * lib/isnanf-nolibm.h (__has_builtin): New macro.
7117         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
7118         it.
7119         * lib/isnanl-nolibm.h (__has_builtin): New macro.
7120         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
7121         it.
7122         * lib/math.in.h (__has_builtin): New macro.
7123         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
7124         it.
7125         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
7126         it.
7127         (isnan): Don't use the builtins on clang versions that don't have
7128         __builtin_isnanf and __builtin_isnanl.
7130 2020-05-23  Bruno Haible  <bruno@clisp.org>
7132         calloc-gnu: Avoid wrong configure results with clang.
7133         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Mark the pointer variable as
7134         'volatile', to defeat compiler optimizations.
7136 2020-05-23  Bruno Haible  <bruno@clisp.org>
7138         isnanl, isnanl-nolibm: Make a test work better with "gcc -O2" on x86_64.
7139         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Pass the
7140         'long double' values by reference, with values taken from a statically
7141         allocated array.
7143 2020-05-23  Bruno Haible  <bruno@clisp.org>
7145         findprog-in: Ignore directories.
7146         Reported by Frederick Eaton via Dmitry Goncharov in
7147         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
7148         * lib/findprog-in.c (find_in_given_path): When the file found is a
7149         directory, set errno to EACCES and, during a PATH search, continue
7150         searching.
7151         * modules/findprog-in (Depends-on): Add sys_stat, stat.
7153 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7155         verify: document ‘assume’ better
7156         * lib/verify.h (assume): Say it’s for static analysis, not dynamic.
7158 2020-05-22  Asher Gordon  <AsDaGo@posteo.net>
7160         gendocs: Clarify licenses for templates.
7161         * doc/gendocs_template: Add a GNU All-Permissive license notice
7162         and bump Parent-Version.
7163         * doc/gendocs_template_min: Add a GNU All-Permissive license
7164         notice and copy the explanatory comment about the license notice
7165         at the bottom from gendocs_template.
7167 2020-05-21  Bruno Haible  <bruno@clisp.org>
7169         group-member: Relicense under LGPLv2+.
7170         Jim Meyering's approval is in
7171         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00218.html>.
7172         Paul Eggert's approval is in
7173         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00225.html>.
7174         Eric Blake's approval is in
7175         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00217.html>.
7176         * modules/group-member (License): Change to LGPLv2+.
7178 2020-05-21  Bruno Haible  <bruno@clisp.org>
7180         memmem: Avoid wrong configure results with "clang -fsanitize=undefined".
7181         Reported by Tim Rühsen in
7182         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7183         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Use NULL + 1, not NULL.
7185 2020-05-21  Bruno Haible  <bruno@clisp.org>
7187         regex: Avoid wrong configure results with "clang -fsanitize=leak".
7188         Reported by Tim Rühsen in
7189         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7190         * m4/regex.m4 (gl_REGEX): Free compiled regexes and allocated registers
7191         before returning with status 0.
7193 2020-05-21  Bruno Haible  <bruno@clisp.org>
7195         glob: Avoid wrong configure results with "clang -fsanitize=leak".
7196         Reported by Tim Rühsen in
7197         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7198         * m4/glob.m4 (gl_GLOB): Free allocated memory before returning.
7200 2020-05-21  Bruno Haible  <bruno@clisp.org>
7202         fchownat: Support clang -fsanitize=implicit-integer-sign-change better.
7203         Reported by Tim Rühsen in
7204         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7205         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
7206         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Cast -1 to uid_t or git_t,
7207         respectively.
7209 2020-05-18  Tim Rühsen  <tim.ruehsenqgmx.de>
7211         getdelim: Avoid wrong configure results with gcc -fsanitize=address.
7212         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Fix memleak.
7214 2020-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7216         ftoastr: fix ifndef typo
7217         * lib/ftoastr.h (_GL_FTOASTR_H): Define.
7219 2020-05-19  Bruno Haible  <bruno@clisp.org>
7221         havelib: Tweak documentation.
7222         * doc/havelib.texi (Searching for Libraries): Fix typo.
7224 2020-05-18  Siddhesh Poyarekar  <siddhesh@gotplt.org>
7226         vcs-to-changelog: Rename vcs_to_changelog.py to use hyphens.
7227         This was needed earlier because modules had to import the main script,
7228         but that is no longer true.  Rename the script so that it is
7229         consistent with all other scripts in gnulib and uses hyphens.
7230         * build-aux/vcs_to_changelog.py: Rename to...
7231         * build-aux/vcs-to-changelog.py: ... this.
7232         * doc/vcs-to-changelog.texi (VCS To ChangeLog): Update reference.
7233         * modules/vcs-to-changelog: Likewise.
7235 2020-05-17  Bruno Haible  <bruno@clisp.org>
7237         Clarify intended usage of the license file modules.
7238         Reported by Asher Gordon <AsDaGo@posteo.net> in
7239         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00126.html>.
7240         * doc/licenses-texi.texi (License Texinfo sources): Mention the
7241         GNU AGPL. Explain the intended usage of the modules.
7242         * modules/fdl (Notice): Discourage use as a module.
7243         * modules/fdl-1.3 (Notice): Likewise.
7245 2020-05-17  Akim Demaille  <akim@lrde.epita.fr>
7247         hash: add hash_xinsert
7248         * lib/hash.h, lib/xhash.c (hash_xinsert): New.
7250 2020-05-16  Bruno Haible  <bruno@clisp.org>
7252         findprog-lgpl: Fix link error (existing since 2008-09-02).
7253         * modules/findprog-lgpl (Makefile.am): Arrange to compile
7254         findprog-lgpl.c, not findprog.c.
7255         * lib/findprog.c (find_in_path): Add LGPLed replacement code for
7256         XNMALLOC.
7258 2020-05-15  Paul Eggert  <eggert@cs.ucla.edu>
7260         c-stack: pacify -Wunused-result when DEBUG
7261         Problem reported by Marc Nieper-Wißkirchen in:
7262         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00132.html
7263         * lib/c-stack.c (segv_handler, overflow_handler, segv_handler) [DEBUG]:
7264         Explicitly ignore write failures.
7266 2020-05-13  Jim Meyering  <meyering@fb.com>
7268         announce-gen: improve a comment
7269         * build-aux/announce-gen: Improve comment.
7271 2020-05-12  Paul Eggert  <eggert@cs.ucla.edu>
7273         xalloc: pacify -Wanalyzer-possible-null-argument
7274         Problem reported for GCC 10.1.0 by Bruno Haible in:
7275         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00118.html
7276         * lib/xmalloc.c (HAVE_GNU_MALLOC, HAVE_GNU_REALLOC): New constants.
7277         (xmalloc): Suppress unnecessary check if HAVE_GNU_MALLOC.
7278         (xrealloc): Suppress unnecssary check if HAVE_GNU_REALLOC.
7280 2020-05-11  Paul Eggert  <eggert@cs.ucla.edu>
7282         careadlinkat: fix GCC 10 workaround
7283         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
7284         Massage the code so that it’s closer to what it was before
7285         the GCC 10.1.0 workaround was introduced.  This fixes
7286         a loop when !buffer and the bug workaround is in effect.
7287         Remove unnecessary casts.  Defend in a different way
7288         against (buffer && !buffer_size), by adding at least 1
7289         to buf_size each time through the loop.
7291 2020-05-10  Bruno Haible  <bruno@clisp.org>
7293         doc: Mark HP-UX as unsupported.
7294         * doc/gnulib-intro.texi (Target Platforms): List HP-UX as unsupported.
7296 2020-05-10  Paul Eggert  <eggert@cs.ucla.edu>
7298         careadlinkat: limit GCC workaround
7299         * lib/careadlinkat.c (careadlinkat): Limit workaround to GCC
7300         10.1.0 and later, since the workaround is pretty bad and the GCC
7301         bug should get fixed.
7303 2020-05-10  Bruno Haible  <bruno@clisp.org>
7305         havelib: Enhance documentation.
7306         * doc/havelib.texi (Searching for Libraries): Mention the bad
7307         consequences of using LIBxxx instead of LTLIBxxx and vice versa.
7309 2020-05-10  Bruno Haible  <bruno@clisp.org>
7311         attribute: Clarify list of attributes.
7312         * lib/attribute.h: Reorder the list of attributes, and group them by
7313         purpose.
7315 2020-05-10  Bruno Haible  <bruno@clisp.org>
7317         string: Fix compilation error in C++ mode.
7318         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): In C mode, use plain
7319         _GL_WARN_ON_USE.
7320         * lib/string.in.h (strchr, strpbrk, strrchr): Use _GL_WARN_ON_USE_CXX
7321         instead of _GL_WARN_ON_USE.
7323 2020-05-10  Akim Demaille  <akim@lrde.epita.fr>
7325         announce-gen: add support for dist-lzip
7326         * build-aux/announce-gen (@archive_suffixes): Add tar.lz.
7328 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
7330         manywarnings: port to GCC 10.1
7331         * build-aux/gcc-warning.spec:
7332         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)):
7333         Add GCC 10.1.0 warnings.
7335         careadlinkat: pacify -Wreturn-local-addr
7336         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
7337         Pacify gcc 10’s -Wreturn-local-addr option.
7338         Simplify some of the later code.
7340 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
7342         attribute: remove ATTRIBUTE_DEPRECATED
7343         * lib/attribute.h: Improve recently-added comments, mostly
7344         by shortening them (use active voice, etc.).
7345         (ATTRIBUTE_DEPRECATED): Remove, as it duplicates DEPRECATED.
7346         Problem reported by Bruno Haible in:
7347         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00089.html
7349 2020-05-09  Bruno Haible  <bruno@clisp.org>
7351         attribute: Add comments.
7352         * lib/attribute.h: Document each macro.
7354 2020-05-09  Akim Demaille  <akim@lrde.epita.fr>
7356         bitset: use the attribute module
7357         * modules/bitset: Depend on 'attribute'.
7358         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Remove.
7359         * lib/bitset.c, lib/bitset/array.c, lib/bitset/list.c,
7360         * lib/bitset/stats.c, lib/bitset/table.c, lib/bitset/vector.c:
7361         Use MAYBE_UNUSED instead of ATTRIBUTE_UNUSED.
7363 2020-05-09  Bruno Haible  <bruno@clisp.org>
7365         c-stack: Fix warning when DEBUG is enabled.
7366         Patch suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
7367         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00081.html>.
7368         * lib/c-stack.c: Include <stdio.h>.
7370 2020-05-09  Bruno Haible  <bruno@clisp.org>
7372         Remove redundant definitions of _GL_ATTRIBUTE_FORMAT.
7373         * lib/argp.h (_GL_ATTRIBUTE_FORMAT): Remove macro.
7374         * lib/argp-fmtstream.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7375         * lib/c-snprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7376         * lib/c-vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7377         * lib/c-vasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7378         * lib/c-vsnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7379         * lib/c-xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7380         * lib/error.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7381         * lib/parse-datetime.y (_GL_ATTRIBUTE_FORMAT): Likewise.
7382         * lib/vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7383         * lib/xprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7384         * lib/xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7386 2020-05-09  Bruno Haible  <bruno@clisp.org>
7388         Remove redundant definitions of _GL_ATTRIBUTE_ALLOC_SIZE.
7389         Reported by Akim Demaille in
7390         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00077.html>.
7391         * lib/eealloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Remove macro.
7392         * lib/pagealign_alloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
7393         * lib/xalloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
7395 2020-05-09  Bruno Haible  <bruno@clisp.org>
7397         stdio, monetary: Don't redefine _GL_ATTRIBUTE_FORMAT.
7398         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Don't override the definition
7399         that usually comes from m4/gnulib-common.m4.
7400         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7402 2020-05-09  Bruno Haible  <bruno@clisp.org>
7404         dirent, stdlib, wchar, string: Don't redefine _GL_ATTRIBUTE_PURE.
7405         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Don't override the definition
7406         that usually comes from m4/gnulib-common.m4.
7407         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
7408         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
7409         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
7411 2020-05-09  Bruno Haible  <bruno@clisp.org>
7413         uchar: Work around incorrect char16_t, char32_t types on Haiku 2020.
7414         * lib/uchar.in.h (char16_t): Define as macro if
7415         GNULIB_OVERRIDES_CHAR16_T.
7416         (char32_t): Define as macro if GNULIB_OVERRIDES_CHAR32_T.
7417         * m4/uchar.m4 (gl_TYPE_CHAR16_T, gl_TYPE_CHAR32_T): New macros.
7418         (gl_UCHAR_H): Invoke them.
7419         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_OVERRIDES_CHAR16_T,
7420         GNULIB_OVERRIDES_CHAR32_T.
7421         * m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Require
7422         gl_TYPE_CHAR32_T and test GNULIB_OVERRIDES_CHAR32_T.
7423         * modules/uchar (Makefile.am): Substitute GNULIB_OVERRIDES_CHAR16_T,
7424         GNULIB_OVERRIDES_CHAR32_T.
7426 2020-05-09  Bruno Haible  <bruno@clisp.org>
7428         Macro tweaks.
7429         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Correct config.h comment.
7430         * m4/wint_t.m4 (gt_TYPE_WINT_T): Correct indentation.
7432 2020-05-08  Bruno Haible  <bruno@clisp.org>
7434         c32rtomb: Avoid compilation failure on Haiku.
7435         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Test for c32rtomb without excluding
7436         inline definitions.
7437         * doc/posix-functions/c32rtomb.texi: Mention the Haiku problem.
7439 2020-05-08  Bruno Haible  <bruno@clisp.org>
7441         mbrtoc32: Avoid compilation failure on Haiku.
7442         * m4/mbrtoc32.m4 (gl_CHECK_FUNC_MBRTOC32): New macro.
7443         (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Use it instead of
7444         AC_CHECK_FUNCS_ONCE.
7445         * doc/posix-functions/mbrtoc32.texi: Mention the Haiku problem.
7447 2020-05-08  Bruno Haible  <bruno@clisp.org>
7449         limits-h: Define LONG_BIT correctly on Haiku/x86_64.
7450         * lib/limits.in.h: Define and test _GL_ALREADY_INCLUDING_LIMITS_H.
7452 2020-05-08  Bruno Haible  <bruno@clisp.org>
7454         list: Update documentation.
7455         Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
7456         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00062.html>.
7457         * doc/containers.texi (Container data types): Document the new list
7458         operations and their complexity.
7460 2020-05-08  Bruno Haible  <bruno@clisp.org>
7462         ignore-value tests: Use module 'attribute'.
7463         * m4/gnulib-common.m4 (gl_COMMON_BODY): Fix a typo.
7464         * tests/test-ignore-value.c: Include attribute.h.
7465         (_GL_ATTRIBUTE_RETURN_CHECK): Remove macro. Use NODISCARD instead.
7466         * modules/ignore-value-tests (Depends-on): Add attribute.
7468 2020-05-08  Bruno Haible  <bruno@clisp.org>
7470         uniname/uniname: Use module 'attribute'.
7471         * lib/uniname/gen-uninames.lisp: Emit a reference to ATTRIBUTE_PACKED.
7472         * lib/uniname/uninames.h: Regenerated.
7473         * lib/uniname/uniname.c: Include attribute.h.
7474         * modules/uniname/uniname (Depends-on): Add attribute.
7476 2020-05-08  Bruno Haible  <bruno@clisp.org>
7478         c32rtomb: Use module 'attribute'.
7479         * lib/c32rtomb.c: Include attribute.h.
7480         (FALLTHROUGH): Remove macro.
7481         * modules/c32rtomb (Depends-on): Add attribute.
7483 2020-05-08  Bruno Haible  <bruno@clisp.org>
7485         xsize: Use module 'attribute'.
7486         * lib/xsize.h: Include attribute.h. Use ATTRIBUTE_PURE.
7487         * modules/xsize (Depends-on): Add attribute.
7489 2020-05-06  Paul Eggert  <eggert@cs.ucla.edu>
7491         * m4/gnulib-common.m4 (gl_COMMON_BODY): Minor style fixes.
7493         * lib/attribute.h: Minor style fixes.
7495         Fix version-etc glitch on OpenIndiana
7496         Problem reported by Mats Erik Andersson in:
7497         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00067.html
7498         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Remove defn
7499         that now clashes with gnulib-common.h.  All uses changed.
7501 2020-05-03  Paul Eggert  <eggert@cs.ucla.edu>
7503         attribute: new module
7504         This simplifies use of GCC and C2X attributes like ‘deprecated’.
7505         * MODULES.html.sh: Add attribute.
7506         * doc/attribute.texi, lib/attribute.h, modules/attribute: New files.
7507         * doc/gnulib.texi (Particular Modules): Add Attributes.
7508         * lib/backupfile.c, lib/fnmatch.c, lib/freopen-safer.c:
7509         * lib/mbrtoc32.c, lib/mbrtowc.c, lib/nstrftime.c, lib/quotearg.c:
7510         * lib/savewd.c, lib/unistr/u8-uctomb-aux.c, lib/unistr/u8-uctomb.c:
7511         * lib/vasnprintf.c:
7512         Include attribute.h, and let it define FALLTHROUGH.
7513         * lib/bitset/base.h, lib/c-stack.c (__attribute__): Remove macro.
7514         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Define in terms of
7515         _GL_ATTRIBUTE_MAYBE_UNUSED, for forwards compatibility to C2X.
7516         * lib/dfa.c (FALLTHROUGH): Define consistently with gl_COMMON_BODY.
7517         This is a copy since Gawk doesn’t use Gnulib.
7518         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Remove definition that
7519         is incompatible with gl_COMMON_BODY’s.  All uses changed.
7520         * lib/fts.c: Include attribte.h, for FALLTHROUGH.
7521         Keep the existing FALLTHROUGH definition since Glibc might use it,
7522         and it does no harm to Gnulib’s FALLTHROUGH.
7523         * lib/fts_.h, lib/inttostr.h:
7524         (__GNUC_PREREQ): Remove; no longer needed.
7525         (__attribute_warn_unused_result__): Remove.  All uses
7526         replaced by _GL_ATTRIBUTE_NODISCARD.
7527         * lib/gl_list.h, lib/gl_map.h, lib/gl_omap.h, lib/gl_oset.h:
7528         * lib/gl_set.h: Prefer _GL_ATTRIBUTE_NODISCARD to an ifdeffed
7529         __attribute__ ((__warn_unused_result__)), for forward
7530         compatibility to C2X.
7531         * lib/hash.h (_GL_ATTRIBUTE_WUR): Remove.  All uses replaced by
7532         _GL_ATTRIBUTE_NODISCARD.
7533         (_GL_ATTRIBUTE_DEPRECATED): Remove, since gl_COMMON_BODY defines it.
7534         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Remove.  All uses
7535         replaced by gl_COMMON_BODY’s implementation, which has a
7536         slightly different signature.
7537         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK):
7538         Remove.  All uses replaced by _GL_ATTRIBUTE_NODISCARD.
7539         * lib/unused-parameter.h (_GL_UNUSED_PARAMETER):
7540         Define in terms of _GL_ATTRIBUTE_MAYBE_UNUSED.
7541         No doubt all uses should be replaced, at some point.
7542         * m4/gnulib-common.m4 (_GL_GNUC_PREREQ): New macro.
7543         (_Noreturn): Use it.
7544         (_GL_HAS_ATTRIBUTE, _GL_ATTRIBUTE_ALLOC_SIZE)
7545         (_GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_ARTIFICIAL)
7546         (_GL_ATTRIBUTE_COLD)
7547         (_GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR)
7548         (_GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE)
7549         (_GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT)
7550         (_GL_ATTRIBUTE_LEAF, _GL_ATTRIBUTE_MAY_ALIAS)
7551         (_GL_ATTRIBUTE_MAYBE_UNUSED)
7552         (_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE)
7553         (_GL_ATTRIBUTE_NONNULL, _GL_ATTRIBUTE_NONSTRING)
7554         (_GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED, _GL_ATTRIBUTE_PURE)
7555         (_GL_ATTRIBUTE_RETURNS_NONNULL)
7556         (_GL_ATTRIBUTE_SENTINEL): New macros.
7557         * modules/backup-rename, modules/backupfile, modules/c-vasnprintf:
7558         * modules/fnmatch, modules/freopen-safer, modules/fts:
7559         * modules/mbrtoc32, modules/mbrtowc, modules/nstrftime:
7560         * modules/quotearg, modules/savewd:
7561         * modules/unistdio/u16-u16-vasnprintf:
7562         * modules/unistdio/u16-vasnprintf:
7563         * modules/unistdio/u32-u32-vasnprintf:
7564         * modules/unistdio/u32-vasnprintf:
7565         * modules/unistdio/u8-u8-vasnprintf:
7566         * modules/unistdio/u8-vasnprintf:
7567         * modules/unistdio/ulc-vasnprintf:
7568         * modules/unistr/u8-uctomb, modules/vasnprintf:
7569         (Depends-on:): Add attribute module.
7571 2020-05-03  Bruno Haible  <bruno@clisp.org>
7573         bison: Fix today's commit.
7574         * m4/bison.m4 (gl_PROG_BISON): Set ac_verc_fail to 'yes', not 'true'.
7576 2020-05-03  Bruno Haible  <bruno@clisp.org>
7578         list-c++: Add get_first, get_last, set_first, set_last operations.
7579         * lib/gl_list.hh (class gl_List): Add methods get_first, get_last,
7580         set_first, set_last.
7581         * lib/gl_list.h: Tweak comments.
7583 2020-05-03  Akim Demaille  <akim@lrde.epita.fr>
7585         bison: rely on bison's %require to check a version requirement
7586         See https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00021.html.
7587         * m4/bison.m4 (gl_PROG_BISON): Let bison itself decide if it it recent
7588         enough of not.
7589         So far it is the only know Yacc tool that supports '%require'.
7590         Other yaccs will actually even choke on seeing the -o option after the
7591         input file name.
7592         * m4/parse-datetime.m4: Simplify gl_PROG_BISON invocation.
7594 2020-05-02  Bruno Haible  <bruno@clisp.org>
7596         list: Add get_first, get_last, set_first, set_last operations.
7597         * lib/gl_list.h (gl_list_get_first, gl_list_get_last,
7598         gl_list_nx_set_first, gl_list_nx_set_last): New functions.
7599         * lib/gl_xlist.h (gl_list_set_first, gl_list_set_last): New functions.
7601 2020-05-02  Bruno Haible  <bruno@clisp.org>
7603         list: Remove redundant code for remove_first and remove_last operations.
7604         * lib/gl_list.h (struct gl_list_implementation): Remove fields
7605         remove_first, remove_last.
7606         (gl_list_remove_first, gl_list_remove_last): Implement in a generic way.
7607         * lib/gl_array_list.c: Revert last change.
7608         * lib/gl_carray_list.c: Likewise.
7609         * lib/gl_anylinked_list2.h: Likewise.
7610         * lib/gl_linked_list.c: Likewise.
7611         * lib/gl_linkedhash_list.c: Likewise.
7612         * lib/gl_anytree_list2.h: Likewise.
7613         * lib/gl_avltree_list.c: Likewise.
7614         * lib/gl_avltreehash_list.c: Likewise.
7615         * lib/gl_rbtree_list.c: Likewise.
7616         * lib/gl_rbtreehash_list.c: Likewise.
7617         * lib/gl_sublist.c: Likewise.
7619 2020-05-02  Bruno Haible  <bruno@clisp.org>
7621         bison-i18n: Add support for cross-compilation.
7622         Reported by Hongxu Jia <hongxu.jia@windriver.com> in
7623         <https://lists.gnu.org/archive/html/bison-patches/2016-02/msg00000.html>
7624         via Akim Demaille <akim@lrde.epita.fr>.
7625         * m4/bison-i18n.m4 (BISON_I18N): Accept a configure option
7626         --with-bison-prefix=PREFIX and use it to determine BISON_LOCALEDIR.
7627         Don't use bison's --print-localedir option when cross-compiling.
7628         Also, fix an error message and a comment.
7630 2020-05-01  Bruno Haible  <bruno@clisp.org>
7632         list: Add remove_first and remove_last operations.
7633         Suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
7634         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00092.html>.
7635         * lib/gl_list.h (struct gl_list_implementation): Add fields
7636         remove_first, remove_last.
7637         (gl_list_remove_first, gl_list_remove_last): New functions.
7638         * lib/gl_array_list.c (gl_array_remove_first, gl_array_remove_last): New
7639         functions, based on gl_array_remove_at.
7640         (gl_array_list_implementation): Implement the new operations.
7641         * lib/gl_carray_list.c (gl_carray_remove_first, gl_carray_remove_last):
7642         New functions, based on gl_carray_remove_at.
7643         (gl_carray_list_implementation): Implement the new operations.
7644         * lib/gl_anylinked_list2.h (gl_linked_remove_first,
7645         gl_linked_remove_last): New functions, based on gl_linked_remove_at.
7646         * lib/gl_linked_list.c (gl_linked_list_implementation): Implement the
7647         new operations.
7648         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation):
7649         Likewise.
7650         * lib/gl_anytree_list2.h (gl_tree_remove_first, gl_tree_remove_last):
7651         New functions, based on gl_tree_remove_at.
7652         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Implement the
7653         new operations.
7654         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
7655         Likewise.
7656         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Likewise.
7657         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation):
7658         Likewise.
7659         * lib/gl_sublist.c (gl_sublist_remove_first, gl_sublist_remove_last):
7660         New functions, based on gl_sublist_remove_at.
7661         (gl_sublist_list_implementation): Implement the new operations.
7662         * lib/gl_list.hh (class gl_List): Add methods remove_first,
7663         remove_last.
7664         * tests/test-array_list.c (main): Test also gl_list_remove_first and
7665         gl_list_remove_last.
7666         * tests/test-avltree_list.c (main): Likewise.
7667         * tests/test-avltreehash_list.c (main): Likewise.
7668         * tests/test-carray_list.c (main): Likewise.
7669         * tests/test-linked_list.c (main): Likewise.
7670         * tests/test-linkedhash_list.c (main): Likewise.
7671         * tests/test-rbtree_list.c (main): Likewise.
7672         * tests/test-rbtreehash_list.c (main): Likewise.
7674 2020-05-01  Bruno Haible  <bruno@clisp.org>
7676         parse-datetime: Fix a build failure with an older bison version.
7677         * modules/parse-datetime (Makefile.am): Don't do the post-processing of
7678         parse-datetime.tab.c if a suitable version of bison was not found.
7680 2020-05-01  Bruno Haible  <bruno@clisp.org>
7682         bison: New module.
7683         * m4/bison.m4 (gl_PROG_BISON): New macro, extracted from
7684         m4/parse-datetime.m4.
7685         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Invoke gl_PROG_BISON.
7686         * modules/bison: New file.
7687         * modules/parse-datetime (Files): Remove m4/bison.m4.
7688         (Depends-on): Add bison.
7690 2020-05-01  Jose E. Marchesi  <jemarch@gnu.org>
7692         Update users.txt.
7693         * users.txt: Add poke.
7695 2020-04-28  Bruno Haible  <bruno@clisp.org>
7697         posix_spawn_file_actions_addfchdir tests: Enhance test.
7698         * tests/test-posix_spawn5.c: Include findprog.h.
7699         (test): New function, extracted from main.
7700         (main): Invoke it. Also, invoke it with a program name such as
7701         "bin/pwd".
7702         * modules/posix_spawn_file_actions_addfchdir-tests (Depends-on): Add
7703         findprog.
7705 2020-04-28  Bruno Haible  <bruno@clisp.org>
7707         posix_spawn_file_actions_addchdir tests: Enhance test.
7708         * tests/test-posix_spawn4.c: Include findprog.h.
7709         (test): New function, extracted from main.
7710         (main): Invoke it. Also, invoke it with a program name such as
7711         "bin/pwd".
7712         * modules/posix_spawn_file_actions_addchdir-tests (Depends-on): Add
7713         findprog.
7715 2020-04-28  Bruno Haible  <bruno@clisp.org>
7717         posix_spawn_file_actions_destroy: Fix a crash (bug from 2019-06-10).
7718         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Don't
7719         access elements of the wrong union member.
7721 2020-04-27  Bruno Haible  <bruno@clisp.org>
7723         getdate: Remove deprecated module.
7724         * modules/getdate: Remove file.
7725         * doc/getdate.texi: Remove file.
7726         * lib/getdate.h: Remove file.
7727         * NEWS: Mention the removal.
7729 2020-04-27  Bruno Haible  <bruno@clisp.org>
7731         realloc: Remove deprecated module.
7732         * modules/realloc: Remove file.
7733         * NEWS: Mention the removal.
7735 2020-04-27  Bruno Haible  <bruno@clisp.org>
7737         calloc: Remove deprecated module.
7738         * modules/calloc: Remove file.
7739         * NEWS: Mention the removal.
7741 2020-04-27  Bruno Haible  <bruno@clisp.org>
7743         malloc: Remove deprecated module.
7744         * modules/malloc: Remove file.
7745         * NEWS: Mention the removal.
7747 2020-04-27  Bruno Haible  <bruno@clisp.org>
7749         fnmatch-posix: Remove deprecated module.
7750         * modules/fnmatch-posix: Remove file.
7751         * MODULES.html.sh (Enhancements for POSIX:2008 functions): Update.
7752         * NEWS: Mention the removal.
7754 2020-04-27  Bruno Haible  <bruno@clisp.org>
7756         pipe: Remove deprecated module.
7757         * modules/pipe: Remove file.
7758         * lib/pipe.h: Remove file.
7759         * NEWS: Mention the removal.
7761 2020-04-27  Bruno Haible  <bruno@clisp.org>
7763         getopt: Remove deprecated module.
7764         * modules/getopt: Remove file.
7765         * NEWS: Mention the removal.
7767 2020-04-27  Bruno Haible  <bruno@clisp.org>
7769         remove-dest-slash: Remove deprecated module.
7770         * modules/rename-dest-slash: Remove file.
7771         * MODULES.html.sh (Compatibility checks for POSIX:2008 functions):
7772         Update.
7773         * NEWS: Mention the removal.
7775 2020-04-27  Bruno Haible  <bruno@clisp.org>
7777         unictype/bidicategory-*: Remove deprecated modules.
7778         * modules/unictype/bidicategory-all: Remove file.
7779         * modules/unictype/bidicategory-byname: Remove file.
7780         * modules/unictype/bidicategory-name: Remove file.
7781         * modules/unictype/bidicategory-of: Remove file.
7782         * modules/unictype/bidicategory-test: Remove file.
7783         * MODULES.html.sh (Unicode string functions): Update.
7784         * NEWS: Mention the removals.
7786 2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7788         Tune fts for FTS_LOGICAL+FTS_NOSTAT
7789         From a suggestion by Askar Safin in:
7790         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00074.html
7791         * lib/fts.c (fts_build): If file types are known, optimize
7792         FTS_LOGICAL+FTS_NOSTAT for non-symlinks and non-directories the
7793         same way that we already optimize FTS_PHYSICAL+FTS_NOSTAT for
7794         non-directories.
7796 2020-04-19  Bruno Haible  <bruno@clisp.org>
7798         vasnprintf: Add support for printing wide characters using escapes.
7799         * lib/vasnprintf.c (ENABLE_WCHAR_FALLBACK): Document optional macro.
7800         (wctomb_fallback): New function.
7801         (local_wctomb): New function.
7802         (local_wcrtomb): New function or macro.
7803         (MAX_ROOM_NEEDED): Adjust estimate for %lc.
7804         (VASNPRINTF): Simplify %ls code by use of local_wcrtomb. Add code for
7805         %lc.
7807 2020-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7809         fts: remove NOSTAT_LEAF_OPTIMIZATION
7810         It caused ‘find’ and ‘du’ to dump core, and it was useful
7811         only for obsolescent Linux filesystems anyway.  Problem reported in:
7812         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html
7813         Quite possibly there is still a serious underlying fts bug with
7814         tight-loop-check and mutating file systems, but if so this patch
7815         should cause the bug to be triggered less often.
7816         * lib/fts.c (enum leaf_optimization): Remove
7817         NOSTAT_LEAF_OPTIMIZATION, as it’s problematic.
7818         (S_MAGIC_REISERFS, S_MAGIC_XFS): Remove; no longer needed.
7819         (leaf_optimization): Remove special cases for ReiserFS and XFS.
7820         (fts_read): Remove NOSTAT_LEAF_OPTIMIZATION code.
7821         * lib/fts_.h (struct _ftsent.fts_n_dirs_remaining):
7822         Remove.  All uses removed.
7824 2020-04-13  Bastien Roucariès  <rouca@debian.org>
7826         explicit_bzero: Improve code style.
7827         * lib/explicit_bzero.c (explicit_bzero): Use '\0' instead of 0.
7829 2020-04-13  Bastien Roucariès  <rouca@debian.org>
7831         explicit_bzero: On native Windows, use SecureZeroMemory().
7832         * lib/explicit_bzero.c: Include <windows.h>.
7833         (explicit_bzero): On native Windows, use SecureZeroMemory.
7835 2020-04-13  Bastien Roucariès  <rouca@debian.org>
7837         explicit_bzero: Use memset_s() when available.
7838         * lib/explicit_bzero.c (__STDC_WANT_LIB_EXT1__): Define.
7839         (explicit_bzero): Use memset_s when available.
7840         * m4/explicit_bzero.m4 (gl_PREREQ_EXPLICIT_BZERO): Test for memset_s.
7842 2020-04-13  Bastien Roucariès  <rouca@debian.org>
7844         explicit_bzero tests: Fix test failure on OpenBSD 6.5.
7845         * tests/test-explicit_bzero.c (test_heap): Handle implementations of
7846         free() that overwrite the memory with canaries.
7848 2020-04-13  Akim Demaille  <akim@lrde.epita.fr>
7850         bootstrap: recommend git submodule update --init
7851         Reported by Bruno Haible.
7852         <https://lists.gnu.org/r/bug-gnulib/2020-03/msg00101.html>
7853         * build-aux/bootstrap: recommand "git submodule update --init"
7854         rather than "git submodule init".
7856 2020-04-12  Bruno Haible  <bruno@clisp.org>
7858         explicit_bzero: Add tests.
7859         * tests/test-explicit_bzero.c: New file.
7860         * modules/explicit_bzero-tests: New file.
7862 2020-04-11  Bruno Haible  <bruno@clisp.org>
7864         explicit_bzero: Relicense under LGPLv2+.
7865         Approved by Paul Eggert.
7866         * modules/explicit_bzero (License): Change to LGPLv2+.
7868 2020-04-10  Bruno Haible  <bruno@clisp.org>
7870         findprog, relocatable-prog: Ignore directories during PATH search.
7871         Reported by Frederick Eaton via Dmitry Goncharov in
7872         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
7874         * lib/findprog.c (find_in_path): When the file found in a PATH element
7875         is a directory, continue searching.
7876         * modules/findprog (Depends-on): Add sys_stat, stat.
7877         * modules/findprog-lgpl (Depends-on): Likewise.
7879         * lib/progreloc.c (maybe_executable): When the file found in a PATH
7880         element is a directory, continue searching.
7881         * lib/relocwrapper.c: Update comments.
7882         * modules/relocatable-prog-wrapper (Files): Add m4/largefile.m4.
7883         (configure.ac-early): New section.
7885 2020-04-10  Bruno Haible  <bruno@clisp.org>
7887         MODULES.html.sh: Support for reproducible builds from git-less tarballs.
7888         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
7889         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00061.html>.
7890         * MODULES.html.sh: In a git-less tarball, use the date of the first
7891         ChangeLog entry.
7893 2020-04-04  Bruno Haible  <bruno@clisp.org>
7895         Fix comments: The gettext library is under LGPL 2.1, not LGPL 2.0.
7896         * m4/gettext.m4: Fix comments regarding the gettext library.
7897         * m4/intl-thread-locale.m4: Likewise.
7898         * m4/intlmacosx.m4: Likewise.
7899         * m4/lcmessage.m4: Likewise.
7900         * m4/nls.m4: Likewise.
7901         * m4/po.m4: Likewise.
7902         * m4/progtest.m4: Likewise.
7904 2020-04-04  Jim Meyering  <meyering@fb.com>
7906         maint: remove a stray inter-word space in a 6x-repeated comment
7907         Induce the changes by running this:
7908           re='by  perl'; git grep -l "$re"|xargs perl -pi -e "s/$re/by perl/"
7909         * build-aux/announce-gen: Change "by  perl" to "by perl".
7910         * build-aux/gitlog-to-changelog: Likewise.
7911         * build-aux/prefix-gnulib-mk: Likewise.
7912         * build-aux/update-copyright: Likewise.
7913         * build-aux/useless-if-before-free: Likewise.
7914         * tests/test-update-copyright.sh: Likewise.
7916 2020-03-28  Bruno Haible  <bruno@clisp.org>
7918         Use module 'filename' instead of module 'dosname'.
7920         * lib/at-func.c: Include filename.h instead of dosname.h.
7921         * lib/unlinkat.c: Likewise.
7922         * modules/areadlinkat (Depends-on): Add filename. Remove dosname.
7923         * modules/areadlinkat-with-size (Depends-on): Likewise.
7924         * modules/faccessat (Depends-on): Likewise.
7925         * modules/fchmodat (Depends-on): Likewise.
7926         * modules/fchownat (Depends-on): Likewise.
7927         * modules/fstatat (Depends-on): Likewise.
7928         * modules/mkdirat (Depends-on): Likewise.
7929         * modules/mkfifoat (Depends-on): Likewise.
7930         * modules/readlinkat (Depends-on): Likewise.
7931         * modules/selinux-at (Depends-on): Likewise.
7932         * modules/symlinkat (Depends-on): Likewise.
7933         * modules/unlinkat (Depends-on): Likewise.
7934         * modules/utimensat (Depends-on): Likewise.
7936         * lib/at-func2.c: Include filename.h instead of dosname.h.
7937         * modules/linkat (Depends-on): Add filename. Remove dosname.
7938         * modules/renameatu (Depends-on): Likewise.
7940         * lib/canonicalize.c: Include filename.h instead of dosname.h.
7941         * lib/canonicalize-lgpl.c: Likewise.
7942         * modules/canonicalize (Depends-on): Add filename.
7943         * modules/canonicalize-lgpl (Depends-on): Likewise.
7945         * lib/dirname.h: Include filename.h instead of dosname.h.
7946         * modules/dirname-lgpl (Depends-on): Add filename. Remove dosname.
7948         * lib/fchdir.c: Include filename.h instead of dosname.h.
7949         * modules/fchdir (Depends-on): Add filename. Remove dosname.
7951         * lib/openat.c: Include filename.h instead of dosname.h.
7952         * modules/openat (Depends-on): Add filename. Remove dosname.
7954         * lib/rmdir.c: Include filename.h instead of dosname.h.
7955         * modules/rmdir (Depends-on): Add filename. Remove dosname.
7957         * lib/savewd.c: Include filename.h instead of dosname.h.
7958         * modules/savewd (Depends-on): Add filename. Remove dosname.
7960         * lib/unlink.c: Include filename.h instead of dosname.h.
7961         * modules/unlink (Depends-on): Add filename. Remove dosname.
7963         * modules/relocatable-prog-wrapper (Depends-on): Add filename.
7964         * lib/relocwrapper.c: Update comments.
7966         * modules/lstat (Depends-on): Remove dosname.
7968 2020-03-28  Bruno Haible  <bruno@clisp.org>
7970         dosname: Redirect to 'filename'.
7971         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
7972         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00042.html>.
7973         * lib/dosname.h: Remove all definitions. Just include filename.h.
7974         * modules/dosname (Status, Notice): Mark as deprecated.
7975         (Depends-on): Add 'filename'.
7977 2020-03-28  Bruno Haible  <bruno@clisp.org>
7979         dosname: Change IS_RELATIVE_FILE_NAME.
7980         * lib/dosname.h (IS_RELATIVE_FILE_NAME): On native Windows, OS/2, DOS,
7981         change the definition so that IS_RELATIVE_FILE_NAME("c:") is false.
7982         * NEWS: Mention the change.
7984 2020-03-28  Bruno Haible  <bruno@clisp.org>
7986         filename: Copy some definitions from module 'dosname'.
7987         * lib/filename.h: Include <string.h>, for IS_FILE_NAME_WITH_DIR.
7988         (HAS_DEVICE): Document macro.
7989         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New macro.
7990         (IS_ABSOLUTE_FILE_NAME): Consider
7991         FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
7992         (IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR): New macros.
7993         (IS_ABSOLUTE_PATH, IS_PATH_WITH_DIR): Define as deprecated aliases.
7994         * lib/relocatable.c (IS_FILE_NAME_WITH_DIR): Renamed from
7995         IS_PATH_WITH_DIR.
7996         (DllMain): Update.
7997         * lib/progreloc.c (IS_FILE_NAME_WITH_DIR): Renamed from
7998         IS_PATH_WITH_DIR.
7999         (find_executable): Update.
8000         * NEWS: Document the deprecations.
8002 2020-03-25  Paul Eggert  <eggert@cs.ucla.edu>
8004         getopt-posix: port __GETOPT_PREFIX to macOS
8005         * lib/getopt-pfx-core.h (_GETOPT) [__APPLE__ && __GETOPT_PREFIX]:
8006         Define to work around a problem with asm on macOS (Bug#40205).
8008 2020-03-22  Bruno Haible  <bruno@clisp.org>
8010         MODULES.html.sh: Add support for reproducible builds.
8011         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
8012         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00024.html>.
8013         * MODULES.html.sh: Print the date of the last gnulib commit, not the
8014         current date.
8016 2020-03-22  Bruno Haible  <bruno@clisp.org>
8018         Several modules: Depend on stat.
8019         * modules/acl-permissions (Depends-on): Add stat.
8020         * modules/canonicalize (Depends-on): Likewise.
8021         * modules/file-has-acl (Depends-on): Likewise.
8022         * modules/fstat (Depends-on): Likewise.
8023         * modules/fstatat (Depends-on): Likewise.
8024         * modules/glob (Depends-on): Likewise.
8025         * modules/javacomp (Depends-on): Likewise.
8026         * modules/linkat (Depends-on): Likewise.
8027         * modules/mkdir (Depends-on): Likewise.
8028         * modules/pt_chown (Depends-on): Likewise.
8029         * modules/ptsname_r (Depends-on): Likewise.
8030         * modules/readlinkat (Depends-on): Likewise.
8031         * modules/rename (Depends-on): Likewise.
8032         * modules/renameatu (Depends-on): Likewise.
8033         * modules/tmpdir (Depends-on): Likewise.
8034         * modules/utimens (Depends-on): Likewise.
8035         * modules/relocatable-prog-wrapper (Depends-on): Add largefile.
8036         * modules/same (Depends-on): Remove stat.
8038 2020-03-22  Bruno Haible  <bruno@clisp.org>
8040         acl-permissions: Improve autoconf macro.
8041         * m4/acl.m4 (gl_FUNC_ACL): Test the value of gl_need_lib_has_acl
8042         more reliably.
8044 2020-03-22  Bruno Haible  <bruno@clisp.org>
8046         file-has-acl: Fix module description.
8047         * modules/file-has-acl (Files): Add lib/acl-internal.h, m4/acl.m4.
8048         (Depends-on): Depend on acl-permissions unconditionally.
8050 2020-03-21  Bruno Haible  <bruno@clisp.org>
8052         unlink: Ensure errno also on native Windows.
8053         * modules/unlink (Depends-on): Add malloc-posix.
8055 2020-03-21  Paul Eggert  <eggert@cs.ucla.edu>
8057         unlink: fix malloc errno typo
8058         Problem reported by Tim Rühsen in:
8059         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00044.html
8060         * lib/unlink.c (rpl_unlink): Don’t mask malloc errno.
8062 2020-03-16  Bruno Haible  <bruno@clisp.org>
8064         *printf-posix: Fix m4 error (regression from 2020-03-08).
8065         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): Enable interpretation of
8066         brackets in AC_COMPILE_IFELSE invocation.
8068 2020-03-08  Bruno Haible  <bruno@clisp.org>
8070         crypto/af_alg, renameatu, same, term-style-control: Depend on fstat.
8071         * modules/crypto/af_alg (Depends-on): Add fstat.
8072         * modules/renameatu (Depends-on): Likewise.
8073         * modules/same (Depends-on): Likewise.
8074         * modules/term-style-control (Depends-on): Likewise.
8076 2020-03-08  Bruno Haible  <bruno@clisp.org>
8078         *printf-posix: Document why it's overridden on some glibc systems.
8079         Reported by Adrian Bunk <bunk@stusta.de> in
8080         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00011.html>.
8081         * doc/posix-functions/*printf.texi: Document the problem with the %n
8082         directive on some glibc systems.
8083         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Adjust
8084         the cross-compilation guesses accordingly.
8086 2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8088         open, openat: port to (O_RDWR | O_RDONLY) != 0
8089         Potential portability problem reported by Dan Gohman in:
8090         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00000.html
8091         * lib/open.c (open):
8092         * lib/openat.c (rpl_openat):
8093         Don’t assume O_RDONLY is disjoint from O_RDWR.
8095 2020-03-07  Bruno Haible  <bruno@clisp.org>
8097         openat: Fix theoretically possible issue on GNU/Hurd.
8098         Reported by Dan Gohman <sunfish@mozilla.com> in
8099         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00000.html>.
8100         * lib/openat.c (rpl_openat): When testing whether flags contains O_RDWR,
8101         ignore the bits that are also set in O_RDONLY.
8103 2020-02-24  Bruno Haible  <bruno@clisp.org>
8105         getloadavg: Don't use /usr/local when cross-compiling on AIX.
8106         Reported by Jens Rehsack <sno@netbsd.org> in
8107         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00136.html>.
8108         * m4/getloadavg.m4 (gl_GETLOADAVG): Don't look in /usr/local/lib when
8109         cross-compiling.
8111 2020-02-24  Bruno Haible  <bruno@clisp.org>
8113         fcntl: Add witness of gnulib override.
8114         Reported by Jens Rehsack <sno@netbsd.org> in
8115         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00137.html>.
8116         * lib/fcntl.in.h (GNULIB_defined_rpl_fcntl, GNULIB_defined_fcntl): New
8117         macros.
8119 2020-02-23  Assaf Gordon  <assafgordon@gmail.com>
8121         Update users.txt.
8122         * users.txt: Add datamash, time.
8124 2020-02-23  Bruno Haible  <bruno@clisp.org>
8126         uni*/base: Use 'restrict'.
8127         * lib/unitypes.in.h (_UC_RESTRICT): New macro, based on '_Restrict_'
8128         from lib/regex.h.
8129         * lib/unistr.in.h (u8_cpy, u16_cpy, u32_cpy, u8_strcpy, u16_strcpy,
8130         u32_strcpy, u8_stpcpy, u16_stpcpy, u32_stpcpy, u8_strncpy, u16_strncpy,
8131         u32_strncpy, u8_stpncpy, u16_stpncpy, u32_stpncpy, u8_strcat,
8132         u16_strcat, u32_strcat, u8_strncat, u16_strncat, u32_strncat, u8_strtok,
8133         u16_strtok, u32_strtok): Use '_UC_RESTRICT'.
8134         * lib/uninorm.in.h (u8_normalize, u16_normalize, u32_normalize): Use
8135         '_UC_RESTRICT'.
8136         * lib/uniconv.in.h (u8_conv_to_encoding, u16_conv_to_encoding,
8137         u32_conv_to_encoding): Use '_UC_RESTRICT'.
8138         * lib/unicase.in.h (u8_toupper, u16_toupper, u32_toupper, u8_tolower,
8139         u16_tolower, u32_tolower, u8_totitle, u16_totitle, u32_totitle,
8140         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
8141         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
8142         u32_ct_totitle, u8_casefold, u16_casefold, u32_casefold, u8_ct_casefold,
8143         u16_ct_casefold, u32_ct_casefold, u8_casexfrm, u16_casexfrm,
8144         u32_casexfrm, ulc_casexfrm): Use '_UC_RESTRICT'.
8145         * lib/unilbrk.in.h (u8_possible_linebreaks, u16_possible_linebreaks,
8146         u32_possible_linebreaks, ulc_possible_linebreaks, u8_width_linebreaks,
8147         u16_width_linebreaks, u32_width_linebreaks, ulc_width_linebreaks): Use
8148         '_UC_RESTRICT'.
8149         * lib/uniwbrk.in.h (ulc_wordbreaks): Use '_UC_RESTRICT'.
8150         * lib/unistdio.in.h (ulc_sprintf, ulc_snprintf, ulc_asnprintf,
8151         ulc_vsprintf, ulc_vsnprintf, ulc_vasnprintf, u8_u8_sprintf,
8152         u8_u8_snprintf, u8_u8_asnprintf, u8_u8_vsprintf, u8_u8_vsnprintf,
8153         u8_u8_vasnprintf, u16_u16_sprintf, u16_u16_snprintf, u16_u16_asnprintf,
8154         u16_u16_vsprintf, u16_u16_vsnprintf, u16_u16_vasnprintf,
8155         u32_u32_sprintf, u32_u32_snprintf, u32_u32_asnprintf, u32_u32_vsprintf,
8156         u32_u32_vsnprintf, u32_u32_vasnprintf): Use '_UC_RESTRICT'.
8158 2020-02-23  Bruno Haible  <bruno@clisp.org>
8160         glob, spawn: Use improved '_Restrict_' definition.
8161         * lib/glob.in.h (_Restrict_): Use same definition as in lib/regex.h.
8162         * lib/spawn.in.h (_Restrict_, _Restrict_arr_): Likewise.
8164 2020-02-23  Bruno Haible  <bruno@clisp.org>
8166         crypto/gc: Use 'restrict'.
8167         * lib/gc.h (gc_pbkdf2_hmac, gc_pbkdf2_sha1): Use 'restrict'.
8168         * m4/gc.m4 (gl_GC): Require AC_C_RESTRICT.
8170         crypto/hmac-*: Use 'restrict'.
8171         * lib/hmac.h (hmac_md5, hmac_sha1, hmac_sha256, hmac_sha512): Use
8172         'restrict'.
8173         * modules/crypto/hmac-md5 (configure.ac): Require AC_C_RESTRICT.
8174         * modules/crypto/hmac-sha1 (configure.ac): Likewise.
8175         * modules/crypto/hmac-sha256 (configure.ac): Likewise.
8176         * modules/crypto/hmac-sha512 (configure.ac): Likewise.
8178         crypto/sm3: Use 'restrict'.
8179         * lib/sm3.h (sm3_finish_ctx, sm3_read_ctx, sm3_buffer): Use 'restrict'.
8180         * m4/sm3.m4 (gl_SM3): Require AC_C_RESTRICT.
8182         crypto/*-buffer: Use 'restrict'.
8183         * lib/gl_openssl.h (GL_CRYPTO_FN (_finish_ctx), GL_CRYPTO_FN (_buffer),
8184         GL_CRYPTO_FN (_read_ctx)): Use 'restrict'.
8186         crypto/sha512-buffer: Use 'restrict'.
8187         * lib/sha512.h (sha512_finish_ctx, sha384_finish_ctx, sha512_read_ctx,
8188         sha384_read_ctx, sha512_buffer, sha384_buffer): Use 'restrict'.
8189         * modules/crypto/sha512-buffer (configure.ac): Require AC_C_RESTRICT.
8191         crypto/sha256-buffer: Use 'restrict'.
8192         * lib/sha256.h (sha256_finish_ctx, sha224_finish_ctx, sha256_read_ctx,
8193         sha224_read_ctx, sha256_buffer, sha224_buffer): Use 'restrict'.
8194         * modules/crypto/sha256-buffer (configure.ac): Require AC_C_RESTRICT.
8196         crypto/sha1-buffer: Use 'restrict'.
8197         * lib/sha1.h (sha1_finish_ctx, sha1_read_ctx, sha1_buffer): Use
8198         'restrict'.
8199         * modules/crypto/sha1-buffer (configure.ac): Require AC_C_RESTRICT.
8201         crypto/md5-buffer: Use 'restrict'.
8202         * lib/md5.h (__md5_finish_ctx, __md5_read_ctx, __md5_buffer): Use
8203         'restrict'.
8204         * modules/crypto/md5-buffer (configure.ac): Require AC_C_RESTRICT.
8206         crypto/md4: Use 'restrict'.
8207         * lib/md4.h (md4_finish_ctx, md4_read_ctx, md4_buffer): Use 'restrict'.
8208         * modules/crypto/md4 (configure.ac): Require AC_C_RESTRICT.
8210         crypto/md2: Use 'restrict'.
8211         * lib/md2.h (md2_finish_ctx, md2_read_ctx, md2_buffer): Use 'restrict'.
8212         * modules/crypto/md2 (configure.ac): Require AC_C_RESTRICT.
8214         crypto/rijndael: Use 'restrict'.
8215         * lib/rijndael-api-fst.h (rijndaelBlockEncrypt, rijndaelPadEncrypt,
8216         rijndaelBlockDecrypt, rijndaelPadDecrypt): Use 'restrict'.
8217         * modules/crypto/rijndael (configure.ac): Require AC_C_RESTRICT.
8219         crypto/arctwo: Use 'restrict'.
8220         * lib/arctwo.h (arctwo_encrypt, arctwo_decrypt): Use 'restrict'.
8221         * modules/crypto/arctwo (configure.ac): Require AC_C_RESTRICT.
8223         crypto/arcfour: Use 'restrict'.
8224         * lib/arcfour.h (arcfour_stream): Use 'restrict'.
8225         * modules/crypto/arcfour (configure.ac): Require AC_C_RESTRICT.
8227         careadlinkat: Use 'restrict'.
8228         * lib/careadlinkat.h (careadlinkat): Use 'restrict'.
8229         * modules/careadlinkat (configure.ac): Require AC_C_RESTRICT.
8230         * modules/relocatable-prog-wrapper (configure.ac): Likewise.
8232         regex-quote: Use 'restrict'.
8233         * lib/regex-quote.h (regex_quote_copy): Use 'restrict'.
8234         * modules/regex-quote (configure.ac): Require AC_C_RESTRICT.
8236         system-quote: Use 'restrict'.
8237         * lib/system-quote.h (system_quote_copy): Use 'restrict'.
8238         * modules/system-quote (configure.ac): Require AC_C_RESTRICT.
8240         sh-quote: Use 'restrict'.
8241         * lib/sh-quote.h (shell_quote_copy): Use 'restrict'.
8242         * modules/sh-quote (configure.ac): Require AC_C_RESTRICT.
8244         quotearg: Use 'restrict'.
8245         * lib/quotearg.h (quotearg_buffer): Use 'restrict'.
8246         * m4/quotearg.m4 (gl_QUOTEARG): Require AC_C_RESTRICT.
8248         parse-datetime: Use 'restrict'.
8249         * lib/parse-datetime.h (parse_datetime, parse_datetime2): Use
8250         'restrict'.
8251         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Require AC_C_RESTRICT.
8253         nstrftime: Use 'restrict'.
8254         * lib/strftime.h (nstrftime): Use 'restrict'.
8255         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Require AC_C_RESTRICT.
8257         mbstok_r: Use 'restrict'.
8258         * lib/string.in.h (mbstok_r): Use 'restrict'.
8260         xmemcoll: Use 'restrict'.
8261         * lib/xmemcoll.h (xmemcoll): Use 'restrict'.
8262         * modules/xmemcoll (configure.ac): Require AC_C_RESTRICT.
8264         memcoll: Use 'restrict'.
8265         * lib/memcoll.h (memcoll): Use 'restrict'.
8266         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_C_RESTRICT.
8268         vasnprintf: Use 'restrict'.
8269         * lib/vasnprintf.h (asnprintf, vasnprintf): Use 'restrict'.
8270         * modules/vasnprintf (configure.ac): Require AC_C_RESTRICT.
8272         c-vasnprintf: Use 'restrict'.
8273         * lib/c-vasnprintf.h (c_vasnprintf): Use 'restrict'.
8274         * modules/c-vasnprintf (configure.ac): Require AC_C_RESTRICT.
8276         c-vsnprintf: Use 'restrict'.
8277         * lib/c-vsnprintf.h (c_vsnprintf): Use 'restrict'.
8278         * modules/c-vsnprintf (configure.ac): Require AC_C_RESTRICT.
8280         c-snprintf: Use 'restrict'.
8281         * lib/c-snprintf.h (c_snprintf): Use 'restrict'.
8282         * modules/c-snprintf (configure.ac): Require AC_C_RESTRICT.
8284         astrxfrm: Use 'restrict'.
8285         * lib/astrxfrm.h (astrxfrm): Use 'restrict'.
8286         * modules/astrxfrm (configure.ac): Require AC_C_RESTRICT.
8288         amemxfrm: Use 'restrict'.
8289         * lib/amemxfrm.h (amemxfrm): Use 'restrict'.
8290         * modules/amemxfrm (configure.ac): Require AC_C_RESTRICT.
8292 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
8294         fchmodat, lchmod: simplify
8295         It appears that we may have overengineered lchmod and fchmodat,
8296         in that the code was prepared for some hypothetical platforms but
8297         was so complicated that it was hard to understand.  I attempted to
8298         improve the situation by simplifying the code when this
8299         simplification should not hurt on real platforms; we can re-add
8300         complexity later to port to platforms I didn’t know about.
8301         * lib/fchmodat.c (fchmodat):
8302         * lib/lchmod.c (lchmod):
8303         Put the ‘defined __linux__ || defined __ANDROID__’ #ifdef only
8304         around the /proc code that needs it.
8305         * lib/fchmodat.c (fchmodat): Coalese calls to orig_fchmodat.
8306         * lib/lchmod.c (__need_system_sys_stat_h): Omit; no longer needed.
8307         Do not include <config.h> twice.
8308         (orig_lchmod) [HAVE_LCHMOD]: Remove, since we need not wrap
8309         lchmod on any known hosts.
8310         (lchmod): Do not defer to fchmodat, so that the lchmod module
8311         need not depend on the fchmodat module (which is a circular
8312         dependency).  Do not use openat, since ‘open’ suffices.
8313         Coalesce calls to lchmod/chmod.
8314         * lib/lchmod.c, lib/sys_stat.in.h (lchmod):
8315         * m4/sys_stat_h.m4 (REPLACE_FSTAT):
8316         * modules/lchmod (Depends-on, configure.ac):
8317         * modules/sys_stat (Depends-on):
8318         Do not worry about replacing lchmod, since that shouldn’t happen.
8319         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not check for fchmodat.
8320         Do not worry about whether lchmod works on non-symlinks,
8321         since every known lchmod works on non-symlinks.
8322         * modules/lchmod (Depends-on):
8323         Remove circular dependency on fchmodat.
8325 2020-02-22  Bruno Haible  <bruno@clisp.org>
8327         lchmod: Fix link error on Solaris 10 (regression from 2020-02-16).
8328         * lib/lchmod.c (lchmod): Use the code with lstat and chmod also when
8329         NEED_LCHMOD_NONSYMLINK_FIX is not defined.
8331 2020-02-22  Bruno Haible  <bruno@clisp.org>
8333         Use 'restrict' in all POSIX function declarations.
8334         * lib/iconv.in.h (iconv): Use 'restrict'.
8335         * lib/inttypes.in.h (strtoimax, strtoumax): Likewise.
8336         * lib/monetary.in.h (strfmon_l): Likewise.
8337         * lib/pthread.in.h (pthread_create, pthread_mutex_init,
8338         pthread_mutexattr_gettype, pthread_mutexattr_getrobust,
8339         pthread_mutex_timedlock, pthread_rwlock_init,
8340         pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock,
8341         pthread_cond_init, pthread_cond_wait, pthread_cond_timedwait): Likewise.
8342         * lib/search.in.h (tdelete): Likewise.
8343         * lib/signal.in.h (pthread_sigmask, sigprocmask): Likewise.
8344         * lib/stdio.in.h (dprintf, fgets, fopen, fprintf, fputs, fread, freopen,
8345         fscanf, fwrite, getdelim, getline, printf, scanf, snprintf, sprintf,
8346         vdprintf, vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf):
8347         Likewise.
8348         * lib/stdlib.in.h (mbtowc, realpath, strtod, strtold, strtoll,
8349         strtoull): Likewise.
8350         * lib/string.in.h (strncat): Likewise.
8351         * lib/sys_socket.in.h (accept, getpeername, getsockname, getsockopt,
8352         recvfrom): Likewise.
8353         * lib/sys_stat.in.h (fstatat, lstat, stat): Likewise.
8354         * lib/time.in.h (strftime): Likewise.
8355         * lib/unistd.in.h (readlink, readlinkat): Likewise.
8356         * lib/wchar.in.h (mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs, wcrtomb,
8357         wcsrtombs, wcsnrtombs, wmemcpy, wcscpy, wcpcpy, wcsncpy, wcpncpy,
8358         wcscat, wcsncat, wcsxfrm, wcsstr, wcstok, wcsftime): Likewise.
8359         * m4/iconv_h.m4 (gl_ICONV_H): Require AC_C_RESTRICT.
8360         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Likewise.
8361         * m4/monetary_h.m4 (gl_MONETARY_H): Likewise.
8362         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
8363         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
8364         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
8365         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
8366         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
8367         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
8368         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8369         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
8370         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Make consistent with the
8371         other *_h.m4 files.
8372         * m4/time_h.m4 (gl_HEADER_TIME_H): Likewise.
8374 2020-02-22  Bruno Haible  <bruno@clisp.org>
8376         Update NEWS.
8377         * NEWS: Mention the last change.
8379 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
8381         chmodat, chownat: new modules
8382         These are split from fchmodat, fchownat.  GNU Emacs needs the
8383         POSIX-specified fchmodat, but not the gnulib-specified chmodat and
8384         lchmodat.  Split the latter two into a new module chmodat.
8385         Similarly for fchownat.  This the same basic idea for why statat
8386         was split from fstatat on 2013-01-23.
8387         * lib/chmodat.c, lib/openat.h (CHMODAT_INLINE):
8388         Rename from FCHMODAT_INLINE.  All uses changed.
8389         * lib/chownat.c, lib/openat.h (CHOWNAT_INLINE):
8390         Rename from FCHOWNAT_INLINE.  All uses changed.
8391         * lib/openat.h:
8392         (chownat, lchownat): Define if GNULIB_CHOWNAT, not GNULIB_FCHOWNAT.
8393         (chmodat, lchmodat): Define if GNULIB_CHMODAT, not GNULIB_FCHMODAT.
8394         * modules/chmodat, modules/chownat, tests/test-chownat.c: New files.
8395         * modules/fchmodat (Files:): Remove lib/fchmodat.c.
8396         (configure.ac): Remove fchmodat module indicator.
8397         (Makefile.am): Omit chmodat.c.
8398         (Maintainer): Add self.
8399         * modules/fchownat: Similarly, but for chown.
8400         * tests/test-fchownat.c (BASE): Don't define if already defined.
8401         (do_chown, do_lchown) [!TEST_CHOWNAT]: Test fchownat instead.
8403 2020-02-22  Bruno Haible  <bruno@clisp.org>
8405         users.txt: Add groff.
8406         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is>.
8407         * users.txt: Add groff.
8409 2020-02-22  Bruno Haible  <bruno@clisp.org>
8411         gnulib-tool: Ensure copied files are writable.
8412         Reported by Benno Fünfstück <benno.fuenfstueck@gmail.com> in
8413         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00101.html>.
8414         * gnulib-tool (func_ensure_writable): New function.
8415         (func_ln_s, func_hardlink, func_lookup_file, func_import,
8416         func_create_testdir, copy-file): Invoke it after copying a file.
8418 2020-02-22  Bruno Haible  <bruno@clisp.org>
8420         users.txt: Update.
8421         * users.txt: Update URLs to projects that have moved or switched to git.
8422         Use canonical host names. Prefer gitweb over cgit. Prefer the tree view
8423         over the summary view. Add gawk.
8425 2020-02-21  Paul Eggert  <eggert@cs.ucla.edu>
8427         largefile: remove _DARWIN_USE_64_BIT_INODE
8428         It’s not needed in currently-supported macOS versions, and was
8429         problematic anyway in MacOS X 10.5 which was the only version that
8430         could use it.  Problem reported by Peter Eisentraut in:
8431         https://lists.gnu.org/r/bug-autoconf/2020-02/msg00004.html
8432         * m4/largefile.m4 (AC_SYS_LARGEFILE):
8433         Don’t define _DARWIN_USE_64_BIT_INODE.
8434         This syncs with Autoconf master.
8436         Add ‘extern "C"’ to count-one-bits.h etc.
8437         This ports these .h files to C++.
8438         Problem reported by Simon Marchi in:
8439         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00110.html
8440         * lib/count-leading-zeros.h, lib/count-one-bits.h:
8441         * lib/count-trailing-zeros.h: Add ‘extern "C"’.
8443 2020-02-19  Bruno Haible  <bruno@clisp.org>
8445         uninorm/decompose-internal: Avoid "no previous prototype" warning.
8446         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8447         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00105.html>.
8448         * lib/array-mergesort.h: Accept an optional macro definition
8449         STATIC_FROMTO.
8450         * lib/uninorm/decompose-internal.c (STATIC_FROMTO): New macro.
8452 2020-02-16  Bruno Haible  <bruno@clisp.org>
8454         fchmodat: Make more future-proof.
8455         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Define
8456         NEED_FCHMODAT_NONSYMLINK_FIX.
8457         (gl_PREREQ_FCHMODAT): New macro.
8458         * lib/fchmodat.c (fchmodat): Test NEED_FCHMODAT_NONSYMLINK_FIX. Access
8459         /proc only on Linux. Return EOPNOTSUPP only on Linux and on platforms
8460         without lchmod function.
8461         * modules/fchmodat (configure.ac): Invoke gl_PREREQ_FCHMODAT.
8463 2020-02-16  Bruno Haible  <bruno@clisp.org>
8465         lchmod: Make more future-proof.
8466         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Define NEED_LCHMOD_NONSYMLINK_FIX.
8467         (gl_PREREQ_LCHMOD): New macro.
8468         * lib/lchmod.c (orig_lchmod): New function.
8469         (lchmod): Test NEED_LCHMOD_NONSYMLINK_FIX. Access /proc only on Linux.
8470         Return EOPNOTSUPP only on Linux and on platforms without lchmod
8471         function.
8472         * modules/lchmod (configure.ac): Invoke gl_PREREQ_LCHMOD.
8474         lchmod: Fix buggy override on macOS, HP-UX (regression from 2020-02-08).
8475         * modules/lchmod (Makefile.am): Don't add lchmod.c to lib_SOURCES.
8477 2020-02-16  Paul Eggert  <eggert@cs.ucla.edu>
8479         xnanosleep: prefer pause, and get remaining time
8480         Problem reported by Vladimir Panteleev in:
8481         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00052.html
8482         * lib/xnanosleep.c: Include intprops.h, unistd.h.
8483         (xnanosleep) [HAVE_PAUSE]: Prefer pause when sleeping infinitely.
8484         (xnanosleep): Obtain remaining time when nanosleep is interrupted.
8485         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Check for 'pause'.
8486         * modules/xnanosleep (Depends-on): Add intprops, unistd.
8488 2020-02-16  Bruno Haible  <bruno@clisp.org>
8490         lchmod: Improve cross-compilation guess.
8491         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require AC_CANONICAL_HOST. When
8492         cross-compiling, guess depending on the platform.
8494 2020-02-16  Bruno Haible  <bruno@clisp.org>
8496         fstrcmp: Add API to clean up resources.
8497         Reported by Akim Demaille <akim@lrde.epita.fr> in
8498         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00080.html>.
8499         * lib/fstrcmp.h (fstrcmp_free_resources): New declaration.
8500         * lib/fstrcmp.c (fstrcmp_free_resources): New function.
8502 2020-02-14  Bruno Haible  <bruno@clisp.org>
8504         wctype-h: Fix compilation errors in C++ (regression from 2020-01-25).
8505         Reported by Christian Biesinger in
8506         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00064.html>.
8507         * lib/wctype.in.h (iswdigit, iswxdigit): Don't declare if the
8508         corresponding module is not enabled.
8509         * tests/test-wctype-h-c++.cc (iswdigit, iswxdigit): Don't check the
8510         prototype if the corresponding module is not enabled.
8512 2020-02-13  Paul Eggert  <eggert@cs.ucla.edu>
8514         fchmodat, lchmod: port to buggy Linux filesystems
8515         Problem reported by Florian Weimer in:
8516         https://www.sourceware.org/ml/libc-alpha/2020-02/msg00534.html
8517         * lib/fchmodat.c (fchmodat):
8518         * lib/lchmod.c (lchmod):
8519         Don’t assume that chmod on the O_PATH-opened fd will do
8520         the right thing on a symbolic link.
8521         * lib/fchmodat.c (fchmodat):
8522         Don’t attempt to special-case
8523         any flag value other than AT_SYMLINK_NOFOLLOW.
8525 2020-02-11  Paul Eggert  <eggert@cs.ucla.edu>
8527         lchmod: pacify Coverity CID 1491216
8528         * lib/lchmod.c (lchmod): Redo #if nesting so that Coverity does
8529         not complain about unreachable code at the ‘struct stat st;’
8530         declaration.
8532 2020-02-10  Bruno Haible  <bruno@clisp.org>
8534         copysignf: Fix link error on HP-UX with cc.
8535         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Require AC_CANONICAL_HOST. On
8536         HP-UX, set COPYSIGNF_LIBM to -lm.
8538 2020-02-10  Bruno Haible  <bruno@clisp.org>
8540         pthread-mutex-tests, pthread-rwlock-tests: Fix link errors on HP-UX.
8541         * modules/pthread-mutex-tests (Makefile.am): Link test-pthread-mutex
8542         with $(LIB_SEMAPHORE).
8543         * modules/pthread-rwlock-tests (Makefile.am): Link test-pthread-rwlock
8544         with $(LIB_SEMAPHORE).
8546 2020-02-10  Bruno Haible  <bruno@clisp.org>
8548         ptsname_r-tests: Avoid unused function warning.
8549         * tests/test-ptsname_r.c: Don't include null-ptr.h if we don't need it.
8551 2020-02-08  Bruno Haible  <bruno@clisp.org>
8553         lchmod: Add tests.
8554         * tests/test-lchmod.c: New file.
8555         * modules/lchmod-tests: New file.
8557 2020-02-08  Bruno Haible  <bruno@clisp.org>
8559         lchmod: Ensure declaration on HP-UX.
8560         * lib/sys_stat.in.h (lchown): Declare also on HP-UX.
8561         * doc/glibc-functions/lchmod.texi: Mention the HP-UX problem.
8563 2020-02-08  Bruno Haible  <bruno@clisp.org>
8565         fchmodat: Strengthen tests.
8566         * tests/test-fchmodat.c (BASE): New macro.
8567         (main): Use it, to avoid conflicts with other unit tests. Verify that
8568         fchmodat changed the file permission bits.
8570 2020-02-08  Bruno Haible  <bruno@clisp.org>
8572         fchmodat: Fix endless recursion on Cygwin (regression from 2020-02-07).
8573         * lib/fchmodat.c (orig_fchmodat): Move definition to immediately after
8574         '#undef __need_system_sys_stat_h'.
8576 2020-02-08  Bruno Haible  <bruno@clisp.org>
8578         fchmodat: Improve cross-compilation guesses.
8579         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Require AC_CANONICAL_HOST. When
8580         cross-compiling, guess depending on the platform.
8581         * doc/posix-functions/fchmodat.texi: Clarify.
8583 2020-02-08  Bruno Haible  <bruno@clisp.org>
8585         Fix compilation errors in a testdir created with --with-c++-tests.
8586         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Do not use __typeof__ (func),
8587         since it does not work any more with g++ >= 4.4.
8589 2020-02-08  Bruno Haible  <bruno@clisp.org>
8591         doc: Update for glibc 2.31.
8592         * doc/glibc-functions/pthread_clockjoin_np.texi: New file.
8593         * doc/gnulib.texi: Include it.
8594         * doc/pastposix-functions/h_errno.texi: Update.
8595         * doc/posix-functions/*.texi: Likewise.
8597 2020-02-08  Kenneth D'souza  <kdsouza@redhat.com>
8599         mountlist: consider smb3 file systems as remote
8600         * lib/mountlist.c (ME_REMOTE): Recognize file systems of type
8601         "smb3" as remote.
8603 2020-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8605         fchmodat: AT_SYMLINK_NOFOLLOW fix for non-symlinks
8606         Fix lchmod, and fchmodat with AT_SYMLINK_NOFOLLOW, so that
8607         they act like chmod on non-symlinks.
8608         * NEWS:
8609         * doc/glibc-functions/lchmod.texi (lchmod):
8610         * doc/posix-functions/fchmodat.texi (fchmodat):
8611         Mention this.
8612         * lib/fchmodat.c: Define __need_system_sys_stat_h before including
8613         config.h, and undef it after including sys/stat.h the first time.
8614         Include fcntl.h, stdio.h, unistd.h, intprops.h, and include
8615         sys/stat.h a second time after defining orig_fchmodat.
8616         (orig_fchmodat) [HAVE_FCHMODAT]: New function.
8617         (fchmodat) [HAVE_FCHMODAT]: Work around the AT_SYMLINK_NOFOLLOW bug.
8618         * lib/lchmod.c: New file.
8619         * lib/sys_stat.in.h (fchmodat, lchmod):
8620         Support replacing these functions.
8621         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): If fchmodat exists,
8622         test that AT_SYMLINK_NOFOLLOW works on non-symlinks.
8623         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Check for lstat.
8624         Test that lchmod works on non-symlinks.
8625         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS):
8626         Default REPLACE_FCHMODAT and REPLACE_LCHMOD to 0.
8627         * modules/fchmodat (Depends-on): Add fstatat, intprops, lchmod, unistd.
8628         (Depends-on, configure.ac): Check REPLACE_FCHMODAT too.
8629         * modules/lchmod (Files): Add lib/lchmod.c.
8630         (Depends-on): Add errno, fcntl-h, fchmodat, intprops, lstat, unistd.
8631         (configure.ac): Compile lchmod.c if needed.
8632         (lib_SOURCES): Add lchmod.c.
8633         * modules/sys_stat (sys/stat.h): Substitute REPLACE_FCHMODAT
8634         and REPLACE_LCHMOD.
8635         * tests/test-fchmodat.c: Include fcntl.h, sys/stat.h.
8636         (main): Test fchmodat with AT_SYMLINK_NOFOLLOW on non-symlinks.
8638 2020-02-05  Marc Dionne  <marc.dionne@auristor.com>  (tiny change)
8640         mountlist: Consider AFS filesystems as remote
8641         df --local relies on the ME_REMOTE macro to determine if a given
8642         mount entry should be considered "local".  There is special logic
8643         for nfs and smb/cifs mounts, but /afs as mounted by OpenAFS, the
8644         kernel's kafs module or AuriStorFS is treated as a local mount.
8645         * lib/mountlist.c (ME_REMOTE): Treat mounts of type 'afs'
8646         (OpenAFS, kernel kafs) and 'auristorfs' (AuriStorFS) as remote.
8648 2020-02-04  Paul Eggert  <eggert@cs.ucla.edu>
8650         Port _Noreturn to older Clang
8651         Problem reported by Jeffery Walton in:
8652         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00013.html
8653         * lib/_Noreturn.h (_Noreturn):
8654         * m4/gnulib-common.m4 (gl_COMMON_BODY):
8655         Assume _Noreturn works in Clang 3.5 and later.
8656         It is documented to work in Clang 3.5:
8657         http://releases.llvm.org/3.5.0/tools/clang/docs/AttributeReference.html
8658         and is not documented in Clang 3.4:
8659         https://releases.llvm.org/3.4/tools/clang/docs/LanguageExtensions.html
8660         Apple sets __clang_version__ to a different value, so use
8661         __apple_build_version__ there.  See:
8662         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00017.html
8664 2020-02-04  Pádraig Brady  <P@draigBrady.com>
8666         test-canonicalize: avoid unused function warning
8667         * tests/test-canonicalize.c: Protect the inclusion of null-ptr.h
8668         with the same guard as that used to protect usage of the null_ptr
8669         function, so that one doesn't get a -Wunused warning.
8670         * tests/test-canonicalize-lgpl.c: Likewise.
8672 2020-02-03  Paul Eggert  <eggert@cs.ucla.edu>
8674         libc-config: port to Apple’s Clang variant
8675         * lib/libc-config.h (__glibc_clang_prereq):
8676         Port to Apple’s Clang variant, which uses a different
8677         numbering scheme for __clang_major__.
8679 2020-02-02  Bruno Haible  <bruno@clisp.org>
8681         Document the new modules list-c++, set-c++, oset-c++, map-c++, omap-c++.
8682         * doc/containers.texi: Document these new modules.
8684 2020-02-02  Bruno Haible  <bruno@clisp.org>
8686         omap-c++: Add tests.
8687         * tests/test-omap-c++.cc: New file.
8688         * modules/omap-c++-tests: New file.
8690         omap-c++: New module.
8691         * lib/gl_omap.hh: New file, based on lib/gl_omap.h.
8692         * modules/omap-c++: New file.
8694 2020-02-02  Bruno Haible  <bruno@clisp.org>
8696         map-c++: Add tests.
8697         * tests/test-map-c++.cc: New file.
8698         * modules/map-c++-tests: New file.
8700         map-c++: New module.
8701         * lib/gl_map.hh: New file, based on lib/gl_map.h.
8702         * modules/map-c++: New file.
8704 2020-02-02  Bruno Haible  <bruno@clisp.org>
8706         oset-c++: Add tests.
8707         * tests/test-oset-c++.cc: New file.
8708         * modules/oset-c++-tests: New file.
8710         oset-c++: New module.
8711         * lib/gl_oset.hh: New file, based on lib/gl_oset.h.
8712         * modules/oset-c++: New file.
8714 2020-02-02  Bruno Haible  <bruno@clisp.org>
8716         set-c++: Add tests.
8717         * tests/test-set-c++.cc: New file.
8718         * modules/set-c++-tests: New file.
8720         set-c++: New module.
8721         * lib/gl_set.hh: New file, based on lib/gl_set.h.
8722         * modules/set-c++: New file.
8724 2020-02-02  Bruno Haible  <bruno@clisp.org>
8726         list-c++: Add tests.
8727         * tests/test-list-c++.cc: New file.
8728         * modules/list-c++-tests: New file.
8730         list-c++: New module.
8731         * lib/gl_list.hh: New file, based on lib/gl_list.h.
8732         * modules/list-c++: New file.
8734 2020-02-02  Bruno Haible  <bruno@clisp.org>
8736         xalloc: Fix compilation error in C++ mode on FreeBSD 12.
8737         * lib/xalloc.h (xalloc_die): Comment out 'extern' keyword before
8738         '_Noreturn'.
8739         * lib/sigpipe-die.h (sigpipe_die): Likewise.
8741 2020-02-02  Pádraig Brady  <P@draigBrady.com>
8743         read-file: reduce max size from SIZE_MAX to PTRDIFF_MAX
8744         On x86_64 with glibc-2.30, gcc 9.2 is giving:
8745           error: argument 2 value '18446744073709551615'
8746           exceeds maximum object size 9223372036854775807
8747           [-Werror=alloc-size-larger-than=]
8748         The details of this restriction are discussed at:
8749         https://stackoverflow.com/q/42574890/4421
8750         * lib/read-file.c: s/SIZE_MAX/PTRDIFF_MAX/
8752 2020-02-02  Pádraig Brady  <P@draigBrady.com>
8754         sysctl.h: avoid including on glibc
8755         * lib/nproc.c: Avoid including deprecated and unneeded header on GLIBC.
8756         * lib/physmem.c: Likewise.
8758 2020-02-02  Bruno Haible  <bruno@clisp.org>
8760         list, set, oset, map, omap: Avoid imperative voice in documentation.
8761         * lib/gl_list.h: Use descriptive sentences instead of imperative voice
8762         in the specification of functions.
8763         * lib/gl_set.h: Likewise.
8764         * lib/gl_oset.h: Likewise.
8765         * lib/gl_map.h: Likewise.
8766         * lib/gl_omap.h: Likewise.
8767         * lib/gl_*.h: Likewise.
8769 2020-02-01  Bruno Haible  <bruno@clisp.org>
8771         ansi-c++-opt: Set CXXFLAGS to "-g -O2" by default.
8772         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Determine CXXFLAGS like AC_PROG_CXX
8773         does.
8775 2020-01-29  Bruno Haible  <bruno@clisp.org>
8777         array-map, hash-map, linkedhash-map: Fix module description.
8778         * modules/array-map (Description): Fix description.
8779         * modules/hash-map (Description): Likewise.
8780         * modules/linkedhash-map (Description): Likewise.
8782 2020-01-29  Paul Eggert  <eggert@cs.ucla.edu>
8784         dfa: do not depend on isblank
8785         This removes a difference between Gawk dfa.c and Gnulib dfa.c.
8786         * lib/dfa.c (isblank): Define if neither system nor Gnulib does.
8787         * modules/dfa (Depends-on): Remove isblank.
8788         * modules/isblank: Add a module indicator, for lib/dfa.c.
8790         dfa: do not assume 64-bit int
8791         Problem reported for VAX/VMS C (!) by Arnold Robbins in:
8792         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00173.html
8793         * lib/dfa.c (CHARCLASS_PAIR): Bring back this macro.
8794         (CHARCLASS_WORD_BITS, charclass_word) [!UINT_LEAST64_MAX]:
8795         Fall back to 32-bit words.
8796         (CHARCLASS_INIT): Go back to having 8 32-bit args instead
8797         of 4 64-bit args.  All uses changed.
8799 2020-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8801         regex: remove limits-h dependency
8802         * modules/regex (Depends-on): Remove limits-h, since the
8803         code no longer depends on ULONG_WIDTH already being defined.
8805         regex: port to non-GCC pre-IEC-60559
8806         Problem reported by Arnold Robbins in:
8807         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00154.html
8808         * lib/regex_internal.h (ULONG_WIDTH): Make this usable in #if.
8810 2020-01-25  Bruno Haible  <bruno@clisp.org>
8812         c32isxdigit: Add tests.
8813         * tests/test-c32isxdigit.c: New file, based on tests/test-iswxdigit.c.
8814         * tests/test-c32isxdigit.sh: New file.
8815         * modules/c32isxdigit-tests: New file.
8817         c32isxdigit: New module.
8818         * lib/c32isxdigit.c: New file.
8819         * modules/c32isxdigit: New file.
8820         * doc/posix-functions/iswxdigit.texi: Mention the new module.
8822 2020-01-25  Bruno Haible  <bruno@clisp.org>
8824         c32isupper: Add tests.
8825         * tests/test-c32isupper.c: New file.
8826         * tests/test-c32isupper.sh: New file.
8827         * modules/c32isupper-tests: New file.
8829         c32isupper: New module.
8830         * lib/c32isupper.c: New file.
8831         * modules/c32isupper: New file.
8832         * doc/posix-functions/iswupper.texi: Mention the new module.
8834 2020-01-25  Bruno Haible  <bruno@clisp.org>
8836         c32isspace: Add tests.
8837         * tests/test-c32isspace.c: New file.
8838         * tests/test-c32isspace.sh: New file.
8839         * modules/c32isspace-tests: New file.
8841         c32isspace: New module.
8842         * lib/c32isspace.c: New file.
8843         * modules/c32isspace: New file.
8844         * doc/posix-functions/iswspace.texi: Mention the new module.
8846 2020-01-25  Bruno Haible  <bruno@clisp.org>
8848         c32ispunct: Add tests.
8849         * tests/test-c32ispunct.c: New file.
8850         * tests/test-c32ispunct.sh: New file.
8851         * modules/c32ispunct-tests: New file.
8853         c32ispunct: New module.
8854         * lib/c32ispunct.c: New file.
8855         * modules/c32ispunct: New file.
8856         * doc/posix-functions/iswpunct.texi: Mention the new module.
8858 2020-01-25  Bruno Haible  <bruno@clisp.org>
8860         c32isprint: Add tests.
8861         * tests/test-c32isprint.c: New file.
8862         * tests/test-c32isprint.sh: New file.
8863         * modules/c32isprint-tests: New file.
8865         c32isprint: New module.
8866         * lib/c32isprint.c: New file.
8867         * modules/c32isprint: New file.
8868         * doc/posix-functions/iswprint.texi: Mention the new module.
8870 2020-01-25  Bruno Haible  <bruno@clisp.org>
8872         c32islower: Add tests.
8873         * tests/test-c32islower.c: New file.
8874         * tests/test-c32islower.sh: New file.
8875         * modules/c32islower-tests: New file.
8877         c32islower: New module.
8878         * lib/c32islower.c: New file.
8879         * modules/c32islower: New file.
8880         * doc/posix-functions/iswlower.texi: Mention the new module.
8882 2020-01-25  Bruno Haible  <bruno@clisp.org>
8884         c32isgraph: Add tests.
8885         * tests/test-c32isgraph.c: New file.
8886         * tests/test-c32isgraph.sh: New file.
8887         * modules/c32isgraph-tests: New file.
8889         c32isgraph: New module.
8890         * lib/c32isgraph.c: New file.
8891         * modules/c32isgraph: New file.
8892         * doc/posix-functions/iswgraph.texi: Mention the new module.
8894 2020-01-25  Bruno Haible  <bruno@clisp.org>
8896         c32isdigit: Add tests.
8897         * tests/test-c32isdigit.c: New file, based on tests/test-iswdigit.c.
8898         * tests/test-c32isdigit.sh: New file.
8899         * modules/c32isdigit-tests: New file.
8901         c32isdigit: New module.
8902         * lib/c32isdigit.c: New file.
8903         * modules/c32isdigit: New file.
8904         * doc/posix-functions/iswdigit.texi: Mention the new module.
8906 2020-01-25  Bruno Haible  <bruno@clisp.org>
8908         c32iscntrl: Add tests.
8909         * tests/test-c32iscntrl.c: New file.
8910         * tests/test-c32iscntrl.sh: New file.
8911         * modules/c32iscntrl-tests: New file.
8913         c32iscntrl: New module.
8914         * lib/c32iscntrl.c: New file.
8915         * modules/c32iscntrl: New file.
8916         * doc/posix-functions/iswcntrl.texi: Mention the new module.
8918 2020-01-25  Bruno Haible  <bruno@clisp.org>
8920         c32isblank: Add tests.
8921         * tests/test-c32isblank.c: New file.
8922         * tests/test-c32isblank.sh: New file.
8923         * modules/c32isblank-tests: New file.
8925         c32isblank: New module.
8926         * lib/c32isblank.c: New file.
8927         * modules/c32isblank: New file.
8928         * doc/posix-functions/iswblank.texi: Mention the new module.
8930 2020-01-25  Bruno Haible  <bruno@clisp.org>
8932         c32isalpha: Add tests.
8933         * tests/test-c32isalpha.c: New file.
8934         * tests/test-c32isalpha.sh: New file.
8935         * modules/c32isalpha-tests: New file.
8937         c32isalpha: New module.
8938         * lib/c32isalpha.c: New file.
8939         * modules/c32isalpha: New file.
8940         * doc/posix-functions/iswalpha.texi: Mention the new module.
8942 2020-01-25  Bruno Haible  <bruno@clisp.org>
8944         c32isalnum: Add tests.
8945         * tests/test-c32isalnum.c: New file.
8946         * tests/test-c32isalnum.sh: New file.
8947         * modules/c32isalnum-tests: New file.
8949         c32isalnum: New module.
8950         * lib/c32isalnum.c: New file.
8951         * lib/c32is-impl.h: New file.
8952         * modules/c32isalnum: New file.
8953         * doc/posix-functions/iswalnum.texi: Mention the new module.
8955 2020-01-25  Bruno Haible  <bruno@clisp.org>
8957         uchar: Preparations for modules c32isalnum, ..., c32isxdigit.
8958         * lib/uchar.in.h (c32isalnum, c32isalpha, c32isblank, c32iscntrl,
8959         c32isdigit, c32isgraph, c32islower, c32isprint, c32ispunct, c32isspace,
8960         c32isupper, c32isxdigit): New declarations.
8961         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32ISALNUM,
8962         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
8963         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
8964         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
8965         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
8966         * modules/uchar (Makefile.am): Substitute GNULIB_C32ISALNUM,
8967         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
8968         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
8969         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
8970         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
8971         * tests/test-uchar-c++.cc: Test the signature of c32isalnum, c32isalpha,
8972         c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint,
8973         c32ispunct, c32isspace, c32isupper, c32isxdigit.
8975 2020-01-25  Bruno Haible  <bruno@clisp.org>
8977         mbchar, wctype: Use the corrected iswxdigit function.
8978         * modules/mbchar (Depends-on): Add iswxdigit.
8979         * modules/wctype (Depends-on): Likewise.
8981         iswxdigit: Add tests.
8982         * tests/test-iswxdigit.c: New file.
8983         * tests/test-iswxdigit.sh: New file.
8984         * modules/iswxdigit-tests: New file.
8986         iswxdigit: New module.
8987         * m4/iswxdigit.m4: New file.
8988         * lib/wctype.in.h (iswxdigit): Potentially override.
8989         (iswxdigit, rpl_iswxdigit): Test REPLACE_ISWXDIGIT, not
8990         REPLACE_ISWCNTRL. Rely on ISO C compliant definition.
8991         * lib/iswxdigit.c: New file.
8992         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWXDIGIT,
8993         REPLACE_ISWXDIGIT.
8994         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWXDIGIT,
8995         REPLACE_ISWXDIGIT.
8996         * modules/iswxdigit: New file.
8997         * doc/posix-functions/iswxdigit.texi: Mention the portability problem.
8999 2020-01-25  Bruno Haible  <bruno@clisp.org>
9001         lseek: Fix the override to not undo the effects of AC_SYS_LARGEFILE.
9002         Reported by John Donoghue <john.david.donoghue@gmail.com> in
9003         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00146.html>.
9004         * lib/lseek.c (rpl_lseek): When AC_SYS_LARGEFILE has enabled a 64-bit
9005         off_t on mingw, invoke _lseeki64 instead of lseek.
9007 2020-01-25  Bruno Haible  <bruno@clisp.org>
9009         iswdigit tests: Avoid test failure on Cygwin.
9010         * tests/test-iswdigit.c (for_character): If mbrtowc cannot convert the
9011         byte sequence, return 0.
9013         iswdigit: Fix test failure on native Windows.
9014         * lib/wctype.in.h (rpl_iswdigit): Rely on ISO C compliant definition.
9016         mbchar, wctype: Use the corrected iswdigit function.
9017         * modules/mbchar (Depends-on): Add iswdigit.
9018         * modules/wctype (Depends-on): Likewise.
9020         iswdigit: Add tests.
9021         * tests/test-iswdigit.c: New file.
9022         * tests/test-iswdigit.sh: New file.
9023         * modules/iswdigit-tests: New file.
9025         iswdigit: New module.
9026         * m4/iswdigit.m4: New file.
9027         * lib/wctype.in.h (iswdigit): Potentially override.
9028         (iswdigit, rpl_iswdigit): Test REPLACE_ISWDIGIT, not REPLACE_ISWCNTRL.
9029         * lib/iswdigit.c: New file.
9030         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWDIGIT,
9031         REPLACE_ISWDIGIT.
9032         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWDIGIT,
9033         REPLACE_ISWDIGIT.
9034         * modules/iswdigit: New file.
9035         * doc/posix-functions/iswdigit.texi: Mention the portability problem.
9037 2020-01-25  Bruno Haible  <bruno@clisp.org>
9039         hard-locale tests: Make it easy to reuse the musl test.
9040         * m4/musl.m4: New file, extracted from modules/hard-locale-tests.
9041         * modules/hard-locale-tests (Files): Add it.
9042         (configure.ac): Invoke gl_MUSL_LIBC.
9044 2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>
9046         regex: port to Gawk on nonstandard platforms
9047         * lib/regex_internal.h (ULONG_WIDTH): Define if not already defined.
9048         This is useful for Gawk, which does not use the Gnulib stdlib-h
9049         module.  Problem reported by Arnold Robbins in:
9050         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00138.html
9052 2020-01-21  Paul Eggert  <eggert@cs.ucla.edu>
9054         regex: fix bug with >=16 subexpressions
9055         * lib/regex_internal.h (struct re_backref_cache_entry):
9056         Use bitset_word_t as the type of eps_reachable_subexps_map,
9057         instead of unsigned short int.  This fixes a bug I introduced
9058         to glibc in 2005-09-28T17:33:18Z!drepper@redhat.com (glibc commit
9059         2c05d33f90861d074dc12808dafbde30f487b1a0, BZ #1302).
9060         Remove unused member 'unused'.
9062         regex: simplify definition of BITSET_WORD_BITS
9063         * config/srclist.txt: Remove regex.c, regex_internal.h temporarily.
9064         * lib/regex.c (__STDC_WANT_IEC_60559_BFP_EXT__): Define.
9065         * lib/regex_internal.h (BITSET_WORD_BITS):
9066         * modules/regex (Depends-on): Add limits-h.
9067         Simplify now that we can use ULONG_WIDTH.
9069 2020-01-20  Bruno Haible  <bruno@clisp.org>
9071         mbrtoc32: Add note about FreeBSD 12.
9072         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Guess no also on FreeBSD.
9073         * doc/posix-functions/mbrtoc32.texi: Mention that FreeBSD 12 is also
9074         affected.
9076 2020-01-20  Bruno Haible  <bruno@clisp.org>
9078         unistr/u8-uctomb: Fix warning.
9079         Reported by Andreas Schwab <schwab@suse.de> in
9080         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00127.html>.
9081         * lib/unistr/u8-uctomb.c (FALLTHROUGH): New macro.
9082         (u8_uctomb): Add FALLTHROUGH markers.
9084 2020-01-20  Bruno Haible  <bruno@clisp.org>
9086         lock: Fix test-once1 failure on FreeBSD 11 (regression from 2020-01-19).
9087         * lib/glthread/lock.c (glthread_once_multithreaded): New function.
9088         * lib/glthread/lock.h (glthread_once_multithreaded): New declaration.
9089         (glthread_once): Use it.
9091 2020-01-19  Bruno Haible  <bruno@clisp.org>
9093         threadlib: Disable use of weak symbols on FreeBSD 11.
9094         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
9095         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00061.html>.
9096         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): Require AC_CANONICAL_HOST. Test
9097         against a bug in FreeBSD 11.
9099 2020-01-19  Bruno Haible  <bruno@clisp.org>
9101         iconv_open: Improve z/OS support.
9102         * lib/iconv_open-zos.gperf: Choose better aliases. Add mapping for
9103         ISO-8859-3, KOI8-R, KOI8-U, CP775, CP857, CP865, CP1129, CP1131, CP1257.
9104         Remove mapping for EUC-TW.
9106 2020-01-18  Bruno Haible  <bruno@clisp.org>
9108         Rename ~~gnulib.m4 to zzgnulib.m4.
9109         Suggested by Paul Eggert.
9110         * m4/zzgnulib.m4: Renamed from m4/~~gnulib.m4.
9111         * gnulib-tool (func_get_filelist): Update.
9112         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
9114 2020-01-18  Bruno Haible  <bruno@clisp.org>
9116         doc: Update license notices.
9117         * doc/*.texi: Reference the GFDL 1.3 through a URL, rather than by
9118         reference to a section or to a "file as part of this distribution".
9120 2020-01-18  Bruno Haible  <bruno@clisp.org>
9122         Avoid error "m4_require: circular dependency of AC_LANG_COMPILER(C)".
9123         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
9124         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00109.html>.
9125         * m4/00gnulib.m4 (gl_COMPILER_CLANG): Use _AC_COMPILE_IFELSE, not
9126         AC_EGREP_CPP.
9128 2020-01-18  Bruno Haible  <bruno@clisp.org>
9130         Ensure Automake does not drop ~~gnulib.m4.
9131         * m4/~~gnulib.m4 (gl_ZZGNULIB): New macro.
9132         * m4/gnulib-common.m4 (gl_COMMON): Require it.
9134 2020-01-18  Bruno Haible  <bruno@clisp.org>
9136         Fix major regression from 2020-01-10.
9137         Reported by Paul Eggert in
9138         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00079.html>.
9139         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
9140         Don't AC_REQUIRE anything.
9141         (gl_COMPILER_PREPARE_CHECK_DECL): Define through AC_DEFUN, not
9142         AC_DEFUN_ONCE. Use _AC_COMPILE_IFELSE, not AC_COMPILE_IFELSE.
9143         (_AC_CHECK_DECL_BODY): If ac_compile_for_check_decl has not been set,
9144         use ac_compile instead.
9145         (AC_CHECK_DECL): Remove override.
9146         * m4/~~gnulib.m4: New file.
9147         * gnulib-tool (func_get_filelist): Add also ~~gnulib.m4.
9148         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
9150 2020-01-17  Bruno Haible  <bruno@clisp.org>
9151             Paul Eggert  <eggert@cs.ucla.edu>
9153         glob: Fix use-after-free bug.
9154         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
9155         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00102.html>.
9156         * lib/glob.c (__glob): Delay freeing dirname until after the use of
9157         end_name.
9159 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9161         vcs-to-changelog: Fix parsing of fndecl without args.
9162         * build-aux/vcstocl/frontend_c.py (FNDECL_RE): Fix regular expression
9163         for empty arguments.
9165 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9167         vcs-to-changelog: Add documentation.
9168         * doc/vcs-to-changelog.texi: New file.
9169         * doc/gnulib.texi (Build Infrastructure Modules): Add vcs-to-changelog
9170         section.
9172 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9174         vcs-to-changelog: Allow loading of custom quirks file.
9175         * build-aux/vcs_to_changelog.py: New commandline option -q.
9177 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9179         vcs-to-changelog: Fix formatting of ChangeLog output.
9180         * build-aux/vcstocl/vcs_git.py (list_changes): Add newline in print
9181         output.
9183 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9185         vcs-to-changelog: Drop python3 shebang from frontend_c.py.
9186         Reported in
9187         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00050.html>.
9188         * build-aux/vcstocl/frontend_c.py: Remove shebang.
9190 2020-01-15  Simon Josefsson  <simon@josefsson.org>
9192         crypto/gc-pbkdf2: New module.
9193         * MODULES.html.sh (func_all_modules): Add gc-pbkdf2.
9194         * NEWS: Deprecated gc-pbkdf2-sha1 in favor of gc-pbkdf2.
9195         * lib/gc-pbkdf2.c: New file.
9196         * lib/gc-pbkdf2-sha1.c: Use new interface.
9197         * lib/gc.h (GC_MAX_DIGEST_SIZE, gc_pbkdf2_hmac): Add.
9198         * modules/crypto/gc-pbkdf2: New file.
9199         * modules/crypto/gc-pbkdf2-tests: New file.
9200         * tests/test-gc-pbkdf2.c: New file.
9202 2020-01-12  Bruno Haible  <bruno@clisp.org>
9204         c32stombs: Add tests.
9205         * tests/test-c32stombs.c: New file, based on tests/test-c32srtombs.c.
9206         * tests/test-c32stombs-1.sh: New file, based on
9207         tests/test-c32srtombs-1.sh.
9208         * tests/test-c32stombs-2.sh: New file, based on
9209         tests/test-c32srtombs-2.sh.
9210         * tests/test-c32stombs-3.sh: New file, based on
9211         tests/test-c32srtombs-3.sh.
9212         * tests/test-c32stombs-4.sh: New file, based on
9213         tests/test-c32srtombs-4.sh.
9214         * modules/c32stombs-tests: New file, based on modules/c32srtombs-tests.
9216         c32stombs: New module.
9217         * lib/uchar.in.h (c32stombs): New declaration.
9218         * lib/c32stombs.c: New file.
9219         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32STOMBS.
9220         * modules/uchar (Makefile.am): Substitute GNULIB_C32STOMBS.
9221         * modules/c32stombs: New file.
9222         * tests/test-uchar-c++.cc: Test the signature of c32stombs.
9223         * doc/posix-functions/wcstombs.texi: Mention the new module.
9225 2020-01-11  Jim Meyering  <meyering@fb.com>
9227         perl: require the "warnings" module
9228         * m4/perl.m4: Also "use warnings", so we reject the perl found
9229         on at least one IRIX 6.5 system. Reported by Bruno Haible in
9230         https://lists.gnu.org/r/sed-devel/2020-01/msg00004.html
9232 2020-01-10  Bruno Haible  <bruno@clisp.org>
9234         Fix major regression from 2020-01-04.
9235         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
9236         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00072.html>.
9237         * m4/00gnulib.m4 (gl_COMPILER_PREPARE_CHECK_DECL): Define through
9238         AC_DEFUN_ONCE.
9239         (AC_CHECK_DECL): Invoke, not require, it.
9241 2020-01-10  Bruno Haible  <bruno@clisp.org>
9243         c32snrtombs: Add tests.
9244         * tests/test-c32snrtombs.c: New file, based on tests/test-wcsnrtombs.c.
9245         * tests/test-c32snrtombs-1.sh: New file, based on
9246         tests/test-wcsnrtombs1.sh.
9247         * tests/test-c32snrtombs-2.sh: New file, based on
9248         tests/test-wcsnrtombs2.sh.
9249         * tests/test-c32snrtombs-3.sh: New file, based on
9250         tests/test-wcsnrtombs3.sh.
9251         * tests/test-c32snrtombs-4.sh: New file, based on
9252         tests/test-wcsnrtombs4.sh.
9253         * modules/c32snrtombs-tests: New file, based on
9254         modules/wcsnrtombs-tests.
9256         c32snrtombs: New module.
9257         * lib/uchar.in.h (c32snrtombs): New declaration.
9258         * lib/wcsnrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
9259         INTERNAL_STATE, WCRTOMB.
9260         * lib/wcsnrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
9261         * lib/c32snrtombs.c: New file.
9262         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SNRTOMBS.
9263         * modules/uchar (Makefile.am): Substitute GNULIB_C32SNRTOMBS.
9264         * modules/c32snrtombs: New file.
9265         * tests/test-uchar-c++.cc: Test the signature of c32snrtombs.
9266         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
9268 2020-01-09  Bruno Haible  <bruno@clisp.org>
9270         c32srtombs: Add tests.
9271         * tests/test-c32srtombs.c: New file, based on tests/test-wcsrtombs.c.
9272         * tests/test-c32srtombs-1.sh: New file, based on
9273         tests/test-wcsrtombs1.sh.
9274         * tests/test-c32srtombs-2.sh: New file, based on
9275         tests/test-wcsrtombs2.sh.
9276         * tests/test-c32srtombs-3.sh: New file, based on
9277         tests/test-wcsrtombs3.sh.
9278         * tests/test-c32srtombs-4.sh: New file, based on
9279         tests/test-wcsrtombs4.sh.
9280         * modules/c32srtombs-tests: New file, based on modules/wcsrtombs-tests.
9282         c32srtombs: New module.
9283         * lib/uchar.in.h (c32srtombs): New declaration.
9284         * lib/wcsrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
9285         INTERNAL_STATE, WCRTOMB.
9286         * lib/wcsrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
9287         * lib/c32srtombs.c: New file.
9288         * lib/c32srtombs-state.c: New file, based on lib/wcsrtombs-state.c.
9289         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SRTOMBS.
9290         * modules/uchar (Makefile.am): Substitute GNULIB_C32SRTOMBS.
9291         * modules/c32srtombs: New file.
9292         * tests/test-uchar-c++.cc: Test the signature of c32srtombs.
9293         * doc/posix-functions/wcsrtombs.texi: Mention the new module.
9295 2020-01-08  Bruno Haible  <bruno@clisp.org>
9297         c32tob: Make consistent with mbrtoc32.
9298         * lib/c32tob.c: Include <stdio.h>, <string.h>, <wchar.h>.
9299         (c32tob): If the char32_t encoding and the wchar_t encoding may differ,
9300         use c32rtomb, not wctob.
9301         * modules/c32tob (Files): Add m4/mbrtoc32.m4.
9302         (Depends-on): Add c32rtomb.
9303         (configure.ac): Require gl_MBRTOC32_SANITYCHECK.
9305 2020-01-08  Bruno Haible  <bruno@clisp.org>
9307         c32rtomb: Add tests.
9308         * tests/test-c32rtomb.c: New file, based on tests/test-wcrtomb.c.
9309         * tests/test-c32rtomb.sh: New file, based on tests/test-wcrtomb.sh.
9310         * tests/test-c32rtomb-w32.c: New file, based on
9311         tests/test-wcrtomb-w32.c.
9312         * tests/test-c32rtomb-w32-1.sh: New file, based on
9313         tests/test-wcrtomb-w32-1.sh.
9314         * tests/test-c32rtomb-w32-2.sh: New file, based on
9315         tests/test-wcrtomb-w32-2.sh.
9316         * tests/test-c32rtomb-w32-3.sh: New file, based on
9317         tests/test-wcrtomb-w32-3.sh.
9318         * tests/test-c32rtomb-w32-4.sh: New file, based on
9319         tests/test-wcrtomb-w32-4.sh.
9320         * tests/test-c32rtomb-w32-5.sh: New file, based on
9321         tests/test-wcrtomb-w32-5.sh.
9322         * tests/test-c32rtomb-w32-6.sh: New file, based on
9323         tests/test-wcrtomb-w32-6.sh.
9324         * tests/test-c32rtomb-w32-7.sh: New file, based on
9325         tests/test-wcrtomb-w32-7.sh.
9326         * modules/c32rtomb-tests: New file.
9328         c32rtomb: New module.
9329         * lib/uchar.in.h (c32rtomb): New declaration.
9330         * lib/c32rtomb.c: New file, based on lib/unistr/u8-uctomb-aux.c.
9331         * m4/c32rtomb.m4: New file.
9332         * m4/uchar.m4 (gl_UCHAR_H): Test whether c32rtomb is declared.
9333         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32RTOMB, HAVE_C32RTOMB,
9334         REPLACE_C32RTOMB.
9335         * modules/uchar (Makefile.am): Substitute GNULIB_C32RTOMB,
9336         HAVE_C32RTOMB, REPLACE_C32RTOMB.
9337         * modules/c32rtomb: New file.
9338         * tests/test-uchar-c++.cc: Test the signature of c32rtomb.
9339         * doc/posix-functions/c32rtomb.texi: Document the new module.
9340         * doc/posix-functions/wcrtomb.texi: Mention the new module.
9342 2020-01-08  Bruno Haible  <bruno@clisp.org>
9344         mbrtoc32: Use the system's mbrtoc32 if it exists and basically works.
9345         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): New macro.
9346         (gl_FUNC_MBRTOC32): Require it. Set REPLACE_MBRTOC32 if mbrtoc32 exists
9347         but is not working.
9348         * lib/mbrtoc32.c: Include hard-locale.h, <locale.h>.
9349         (mbrtoc32): If the char32_t encoding and the wchar_t encoding may
9350         differ, use the system's mbrtoc32, adding workarounds.
9351         * modules/mbrtoc32 (Depends-on): Add hard-locale.
9352         * doc/posix-functions/mbrtoc32.texi: Mention the Solaris and native
9353         Windows problem.
9354         * lib/btoc32.c: Include <stdio.h>, <string.h>.
9355         (btoc32): If the char32_t encoding and the wchar_t encoding may differ,
9356         use mbrtoc32, not btowc.
9357         * modules/btoc32 (Depends-on): Add mbrtoc32.
9358         * lib/mbsrtoc32s.c (mbsrtoc32s): If the char32_t encoding and the
9359         wchar_t encoding may differ, use mbrtoc32, not mbsrtowcs.
9360         * modules/mbsrtoc32s (Depends-on): Update conditions.
9361         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
9362         * lib/mbsnrtoc32s.c (mbsnrtoc32s): If the char32_t encoding and the
9363         wchar_t encoding may differ, use mbrtoc32, not mbsnrtowcs.
9364         * modules/mbsnrtoc32s (Depends-on): Update conditions.
9365         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
9367 2020-01-07  Bruno Haible  <bruno@clisp.org>
9369         wcrtomb: Make multithread-safe, except possibly on IRIX.
9370         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Don't set REPLACE_WCRTOMB to 1 when
9371         REPLACE_MBSTATE_T is set. Define WCRTOMB_C_LOCALE_BUG and
9372         WCRTOMB_RETVAL_BUG.
9373         * lib/wcrtomb.c (wcrtomb): Use original wcrtomb whenever available. Use
9374         wctomb only on IRIX.
9376 2020-01-05  Jim Meyering  <meyering@fb.com>
9378         tests: skip thread-using tests when threading is disabled
9379         sed's configure.ac specifies gl_DISABLE_THREADS, and that caused three
9380         thread-using gnulib tests to fail. Add an #if-guarded exit (77) to each
9381         of those, so they are skipped in this case.
9382         * tests/test-nl_langinfo-mt.c (main): Exit 77 when threading is disabled.
9383         * tests/test-setlocale_null-mt-all.c (main): Likewise.
9384         * tests/test-setlocale_null-mt-one.c (main): Likewise.
9386 2020-01-05  Bruno Haible  <bruno@clisp.org>
9388         tests: Avoid GCC over-optimization caused by _GL_ARG_NONNULL attributes.
9389         Reported by Jim Meyering in
9390         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00040.html>.
9391         * lib/stdlib.in.h (GNULIB_defined_canonicalize_file_name): New macro.
9392         (GNULIB_defined_ptsname_r): New macro.
9393         * tests/test-canonicalize.c (_GL_ARG_NONNULL): Define to empty.
9394         (main): Disable the NULL argument test if canonicalize_file_name does
9395         not come from gnulib.
9396         * tests/test-canonicalize-lgpl.c (_GL_ARG_NONNULL): Define to empty.
9397         (main): Disable the NULL argument test if canonicalize_file_name does
9398         not come from gnulib.
9399         * tests/test-ptsname_r.c (_GL_ARG_NONNULL): Define to empty.
9400         (test_errors): Disable the NULL argument test if ptsname_r does not come
9401         from gnulib.
9403 2020-01-04  Jim Meyering  <meyering@fb.com>
9405         update-copyright: reenable its always-skipped test
9406         * tests/test-update-copyright.sh: Restore the "-pi" options removed
9407         on 2019-06-15. Without those, an internal preliminary test would
9408         fail, causing this test always to be skipped.
9409         Verify that the test is now run and passes via this:
9410           ./gnulib-tool --test --dir /tmp/x --with-tests update-copyright
9412 2020-01-05  Bruno Haible  <bruno@clisp.org>
9414         mbstoc32s: Add tests.
9415         * tests/test-mbstoc32s.c: New file, based on tests/test-mbsrtoc32s.c.
9416         * tests/test-mbstoc32s-1.sh: New file, based on
9417         tests/test-mbsrtoc32s-1.sh.
9418         * tests/test-mbstoc32s-2.sh: New file, based on
9419         tests/test-mbsrtoc32s-2.sh.
9420         * tests/test-mbstoc32s-3.sh: New file, based on
9421         tests/test-mbsrtoc32s-3.sh.
9422         * tests/test-mbstoc32s-4.sh: New file, based on
9423         tests/test-mbsrtoc32s-4.sh.
9424         * modules/mbstoc32s-tests: New file, based on modules/mbsrtoc32s-tests.
9426         mbstoc32s: New module.
9427         * lib/uchar.in.h (mbstoc32s): New declaration.
9428         * lib/mbstoc32s.c: New file.
9429         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSTOC32S.
9430         * modules/uchar (Makefile.am): Substitute GNULIB_MBSTOC32S.
9431         * modules/mbstoc32s: New file.
9432         * tests/test-uchar-c++.cc: Test the signature of mbstoc32s.
9433         * doc/posix-functions/mbstowcs.texi: Mention the new module.
9435 2020-01-05  Bruno Haible  <bruno@clisp.org>
9437         Tweak recently added tests.
9438         * tests/test-mbrtoc32.c: Make signature consistent with uchar.in.h.
9439         * tests/test-mbsrtoc32s.c: Likewise.
9440         * tests/test-mbsnrtoc32s.c: Likewise.
9442 2020-01-04  Bruno Haible  <bruno@clisp.org>
9444         mbsnrtoc32s: Add tests.
9445         * tests/test-mbsnrtoc32s.c: New file, based on tests/test-mbsnrtowcs.c.
9446         * tests/test-mbsnrtoc32s-1.sh: New file, based on
9447         tests/test-mbsnrtowcs1.sh.
9448         * tests/test-mbsnrtoc32s-2.sh: New file, based on
9449         tests/test-mbsnrtowcs2.sh.
9450         * tests/test-mbsnrtoc32s-3.sh: New file, based on
9451         tests/test-mbsnrtowcs3.sh.
9452         * tests/test-mbsnrtoc32s-4.sh: New file, based on
9453         tests/test-mbsnrtowcs4.sh.
9454         * modules/mbsnrtoc32s-tests: New file, based on
9455         modules/mbsnrtowcs-tests.
9457         mbsnrtoc32s: New module.
9458         * lib/uchar.in.h (mbsnrtoc32s): New declaration.
9459         * lib/mbsnrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
9460         INTERNAL_STATE, MBRTOWC.
9461         * lib/mbsnrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
9462         * lib/mbsnrtoc32s.c: New file.
9463         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOC32S.
9464         * modules/uchar (Makefile.am): Substitute GNULIB_MBSNRTOC32S.
9465         * modules/mbsnrtoc32s: New file.
9466         * tests/test-uchar-c++.cc: Test the signature of mbsnrtoc32s.
9467         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module.
9469 2020-01-04  Bruno Haible  <bruno@clisp.org>
9471         mbsrtoc32s tests: Enhance test.
9472         * tests/test-mbsrtoc32s.c (main): Include a non-BMP character in the
9473         test strings for UTF-8 and GB18030.
9475 2020-01-04  Bruno Haible  <bruno@clisp.org>
9477         mbsrtoc32s: Fix bug.
9478         * modules/mbsrtoc32s (configure.ac): Require gl_UCHAR_H, to make sure
9479         that SMALL_WCHAR_T is defined.
9481 2020-01-04  Bruno Haible  <bruno@clisp.org>
9483         mbsrtoc32s: Add tests.
9484         * tests/test-mbsrtoc32s.c: New file, based on tests/test-mbsrtowcs.c.
9485         * tests/test-mbsrtoc32s-1.sh: New file, based on
9486         tests/test-mbsrtowcs1.sh.
9487         * tests/test-mbsrtoc32s-2.sh: New file, based on
9488         tests/test-mbsrtowcs2.sh.
9489         * tests/test-mbsrtoc32s-3.sh: New file, based on
9490         tests/test-mbsrtowcs3.sh.
9491         * tests/test-mbsrtoc32s-4.sh: New file, based on
9492         tests/test-mbsrtowcs4.sh.
9493         * modules/mbsrtoc32s-tests: New file, based on modules/mbsrtowcs-tests.
9495         mbsrtoc32s: New module.
9496         * lib/uchar.in.h (mbsrtoc32s): New declaration.
9497         * lib/mbsrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
9498         INTERNAL_STATE, MBRTOWC.
9499         * lib/mbsrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
9500         * lib/mbsrtoc32s.c: New file.
9501         * lib/mbsrtoc32s-state.c: New file, based on lib/mbsrtowcs-state.c.
9502         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOC32S.
9503         * modules/uchar (Makefile.am): Substitute GNULIB_MBSRTOC32S.
9504         * modules/mbsrtoc32s: New file.
9505         * tests/test-uchar-c++.cc: Test the signature of mbsrtoc32s.
9506         * doc/posix-functions/mbsrtowcs.texi: Mention the new module.
9508 2020-01-04  Bruno Haible  <bruno@clisp.org>
9510         mbrtowc, mbrtoc32: Tighten dependendies.
9511         * modules/mbrtowc (Depends-on): Disable hard-locale, mbsinit if
9512         REPLACE_MBSTATE_T is 1.
9513         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
9514         REPLACE_MBSTATE_T is 0.
9515         * modules/mbrtoc32 (Depends-on): Remove hard-locale, mbsinit. Disable
9516         mbrtowc dependency if REPLACE_MBSTATE_T is 1.
9517         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
9518         REPLACE_MBSTATE_T is 0.
9520 2020-01-04  Bruno Haible  <bruno@clisp.org>
9522         uchar: Decide about _GL_LARGE_CHAR32_T at configure time.
9523         * m4/uchar.m4 (gl_UCHAR_H): Set SMALL_WCHAR_T.
9524         * modules/uchar (Files): Add stdint.m4.
9525         (Makefile.am): Substitute SMALL_WCHAR_T.
9526         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): Rely on SMALL_WCHAR_T.
9528 2020-01-04  Bruno Haible  <bruno@clisp.org>
9530         Fix AC_CHECK_DECL so that it deactivates clang's built-in declarations.
9531         Reported by Martin Storsjö <martin@martin.st> in
9532         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00016.html>.
9533         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
9534         New macros.
9535         (_AC_CHECK_DECL_BODY, AC_CHECK_DECL): Augment.
9537 2020-01-04  Bruno Haible  <bruno@clisp.org>
9539         btoc32: Add tests.
9540         * tests/test-btoc32.c: New file, based on tests/test-btowc.c.
9541         * tests/test-btoc32-1.sh: New file, based on tests/test-btowc1.sh.
9542         * tests/test-btoc32-2.sh: New file, based on tests/test-btowc2.sh.
9543         * modules/btoc32-tests: New file, based on modules/btowc-tests.
9545         btoc32: New module.
9546         * lib/uchar.in.h (btoc32): New declaration.
9547         * lib/btoc32.c: New file.
9548         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_BTOC32.
9549         * modules/uchar (Makefile.am): Substitute GNULIB_BTOC32.
9550         * modules/btoc32: New file.
9551         * tests/test-uchar-c++.cc: Test the signature of btoc32.
9552         * doc/posix-functions/btowc.texi: Mention the new module.
9554 2020-01-03  Bruno Haible  <bruno@clisp.org>
9556         uchar tests: Avoid compilation error with HP cc.
9557         * tests/test-uchar.c: Disable a test when HP cc is in use.
9559 2020-01-03  Bruno Haible  <bruno@clisp.org>
9561         mbrtoc32: Add tests.
9562         * tests/test-mbrtoc32.c: New file, based on tests/test-mbrtowc.c.
9563         * tests/test-mbrtoc32-1.sh: New file, based on tests/test-mbrtowc1.sh.
9564         * tests/test-mbrtoc32-2.sh: New file, based on tests/test-mbrtowc2.sh.
9565         * tests/test-mbrtoc32-3.sh: New file, based on tests/test-mbrtowc3.sh.
9566         * tests/test-mbrtoc32-4.sh: New file, based on tests/test-mbrtowc4.sh.
9567         * tests/test-mbrtoc32-5.sh: New file, based on tests/test-mbrtowc5.sh.
9568         * tests/test-mbrtoc32-w32.c: New file, based on tests/test-mbrtowc-w32.c.
9569         * tests/test-mbrtoc32-w32-1.sh: New file, based on
9570         tests/test-mbrtowc-w32-1.sh.
9571         * tests/test-mbrtoc32-w32-2.sh: New file, based on
9572         tests/test-mbrtowc-w32-2.sh.
9573         * tests/test-mbrtoc32-w32-3.sh: New file, based on
9574         tests/test-mbrtowc-w32-3.sh.
9575         * tests/test-mbrtoc32-w32-4.sh: New file, based on
9576         tests/test-mbrtowc-w32-4.sh.
9577         * tests/test-mbrtoc32-w32-5.sh: New file, based on
9578         tests/test-mbrtowc-w32-5.sh.
9579         * tests/test-mbrtoc32-w32-6.sh: New file, based on
9580         tests/test-mbrtowc-w32-6.sh.
9581         * tests/test-mbrtoc32-w32-7.sh: New file, based on
9582         tests/test-mbrtowc-w32-7.sh.
9583         * modules/mbrtoc32-tests: New file, based on modules/mbrtowc-tests.
9585         mbrtoc32: New module.
9586         * lib/uchar.in.h (mbrtoc32): New declaration.
9587         * lib/mbrtoc32.c: New file, based on lib/mbrtowc.c.
9588         * m4/mbrtoc32.m4: New file, based on m4/mbrtowc.m4.
9589         * m4/uchar.m4 (gl_UCHAR_H): Test whether mbrtoc32 is declared.
9590         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOC32, HAVE_MBRTOC32,
9591         REPLACE_MBRTOC32.
9592         * modules/uchar (Makefile.am): Substitute GNULIB_MBRTOC32,
9593         HAVE_MBRTOC32, REPLACE_MBRTOC32.
9594         * modules/mbrtoc32: New file, based on modules/mbrtowc.
9595         * tests/test-uchar-c++.cc (mbrtoc32): Verify the signature.
9596         * modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
9597         $(LIB_MBRTOWC).
9598         * doc/posix-functions/mbrtoc32.texi: Document the new module.
9599         * doc/posix-functions/mbrtowc.texi: Mention the new module.
9601 2020-01-03  Bruno Haible  <bruno@clisp.org>
9603         mbrtowc: Refactor to share code with mbrtoc32.
9604         * lib/mbrtowc-impl.h: New file, extracted from lib/mbrtowc.c.
9605         * lib/mbrtowc-impl-utf8.h: Likewise.
9606         * lib/mbrtowc.c (mbrtowc): Define macro FITS_IN_CHAR_TYPE. Include
9607         mbrtowc-impl.h.
9608         * modules/mbrtowc (Files): Add the new files.
9610 2020-01-03  Jim Meyering  <meyering@fb.com>
9612         doc: fix time.texi wording
9613         * doc/posix-headers/time.texi (time.h): Typo.
9615 2020-01-03  Bruno Haible  <bruno@clisp.org>
9617         mbrtowc: Refactor locale charset dispatching.
9618         * lib/lc-charset-dispatch.h: New file, extracted from lib/mbrtowc.c.
9619         * lib/lc-charset-dispatch.c: New file, extracted from lib/mbrtowc.c.
9620         * lib/mbrtowc.c: Include lc-charset-dispatch.h. Don't include
9621         localcharset.h, streq.h.
9622         (enc_t): Remove type.
9623         (locale_enc): Remove function.
9624         (cached_locale_enc): Remove variable.
9625         (locale_enc_cached): Remove function.
9626         (mbrtowc): Invoke locale_encoding_classification.
9627         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Update comment.
9628         * modules/mbrtowc (Files): Add lc-charset-dispatch.h,
9629         lc-charset-dispatch.c.
9630         (configure.ac): Arrange to compile lc-charset-dispatch.c.
9632 2020-01-03  Paul Eggert  <eggert@cs.ucla.edu>
9634         doc: mention 32-bit time_t issue
9635         * doc/posix-headers/sys_stat.texi (sys/stat.h):
9636         * doc/posix-headers/time.texi (time.h): Mention 2038.
9638 2020-01-03  Bruno Haible  <bruno@clisp.org>
9640         mbrtowc: Ensure the mbtowc_lock is unique.
9641         * lib/mbtowc-lock.c: New file, based on lib/setlocale-lock.c.
9642         * lib/mbtowc-lock.h: New file, extracted from lib/mbrtowc.c and
9643         lib/setlocale_null.c.
9644         * lib/mbrtowc.c: Include headers needed for mbtowc-lock.h. Don't include
9645         glthread/lock.h. Include mbtowc-lock.h.
9646         (mbtowc_lock): Remove declaration.
9647         (mbrtowc): Use mbtowc_with_lock.
9648         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Require gl_PTHREADLIB. Check for
9649         threads.h. Set LIB_MBRTOWC.
9650         (gl_PREREQ_MBTOWC_LOCK): New macro.
9651         * modules/mbrtowc (Files): Add lib/mbtowc-lock.h, lib/mbtowc-lock.c,
9652         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
9653         (Depends-on): Remove lock.
9654         (configure.ac): Arrange to compile mbtowc-lock.c.
9655         (Link): Mention $(LIB_MBRTOWC) instead of $(LIBTHREAD).
9656         * modules/acl (Link): Likewise.
9657         * modules/argmatch (Link): Likewise.
9658         * modules/backup-rename (Link): Likewise.
9659         * modules/backupfile (Link): Likewise.
9660         * modules/closein (Link): Likewise.
9661         * modules/closeout (Link): Likewise.
9662         * modules/copy-file (Link): Likewise.
9663         * modules/csharpcomp (Link): Likewise.
9664         * modules/csharpexec (Link): Likewise.
9665         * modules/dfa (Link): Likewise.
9666         * modules/exclude (Link): Likewise.
9667         * modules/fnmatch (Link): Likewise.
9668         * modules/fnmatch-gnu (Link): Likewise.
9669         * modules/fnmatch-posix (Link): Likewise.
9670         * modules/glob (Link): Likewise.
9671         * modules/human (Link): Likewise.
9672         * modules/javacomp (Link): Likewise.
9673         * modules/javaexec (Link): Likewise.
9674         * modules/javaversion (Link): Likewise.
9675         * modules/mbfile (Link): Likewise.
9676         * modules/mbiter (Link): Likewise.
9677         * modules/mbmemcasecmp (Link): Likewise.
9678         * modules/mbmemcasecoll (Link): Likewise.
9679         * modules/mbrlen (Link): Likewise.
9680         * modules/mbscasecmp (Link): Likewise.
9681         * modules/mbscasestr (Link): Likewise.
9682         * modules/mbschr (Link): Likewise.
9683         * modules/mbscspn (Link): Likewise.
9684         * modules/mbsinit (Link): Likewise.
9685         * modules/mbslen (Link): Likewise.
9686         * modules/mbsncasecmp (Link): Likewise.
9687         * modules/mbsnlen (Link): Likewise.
9688         * modules/mbsnrtowcs (Link): Likewise.
9689         * modules/mbspbrk (Link): Likewise.
9690         * modules/mbspcasecmp (Link): Likewise.
9691         * modules/mbsrchr (Link): Likewise.
9692         * modules/mbsrtowcs (Link): Likewise.
9693         * modules/mbssep (Link): Likewise.
9694         * modules/mbsspn (Link): Likewise.
9695         * modules/mbsstr (Link): Likewise.
9696         * modules/mbstok_r (Link): Likewise.
9697         * modules/mbswidth (Link): Likewise.
9698         * modules/mbuiter (Link): Likewise.
9699         * modules/mkdir-p (Link): Likewise.
9700         * modules/propername (Link): Likewise.
9701         * modules/quote (Link): Likewise.
9702         * modules/quotearg (Link): Likewise.
9703         * modules/quotearg-simple (Link): Likewise.
9704         * modules/regex-quote (Link): Likewise.
9705         * modules/rpmatch (Link): Likewise.
9706         * modules/sh-quote (Link): Likewise.
9707         * modules/system-quote (Link): Likewise.
9708         * modules/trim (Link): Likewise.
9709         * modules/unistdio/ulc-asnprintf (Link): Likewise.
9710         * modules/unistdio/ulc-fprintf (Link): Likewise.
9711         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
9712         * modules/unistdio/ulc-vasprintf (Link): Likewise.
9713         * modules/unistdio/ulc-vfprintf (Link): Likewise.
9714         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
9715         * modules/unistdio/ulc-vsprintf (Link): Likewise.
9716         * modules/xfreopen (Link): Likewise.
9717         * modules/xmemcoll (Link): Likewise.
9718         * modules/yesno (Link): Likewise.
9719         * modules/regex (Link): Add $(LIB_MBRTOWC).
9720         * modules/acl-tests (Makefile.am): Link the programs with $(LIB_MBRTOWC)
9721         instead of $(LIBTHREAD).
9722         * modules/argmatch-tests (Makefile.am): Likewise.
9723         * modules/closein-tests (Makefile.am): Likewise.
9724         * modules/copy-file-tests (Makefile.am): Likewise.
9725         * modules/dfa-tests (Makefile.am): Likewise.
9726         * modules/fnmatch-tests (Makefile.am): Likewise.
9727         * modules/glob-tests (Makefile.am): Likewise.
9728         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
9729         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
9730         * modules/mbrtowc-tests (Makefile.am): Likewise.
9731         * modules/mbscasecmp-tests (Makefile.am): Likewise.
9732         * modules/mbscasestr-tests (Makefile.am): Likewise.
9733         * modules/mbschr-tests (Makefile.am): Likewise.
9734         * modules/mbscspn-tests (Makefile.am): Likewise.
9735         * modules/mbsinit-tests (Makefile.am): Likewise.
9736         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
9737         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
9738         * modules/mbspbrk-tests (Makefile.am): Likewise.
9739         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
9740         * modules/mbsrchr-tests (Makefile.am): Likewise.
9741         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
9742         * modules/mbsspn-tests (Makefile.am): Likewise.
9743         * modules/mbsstr-tests (Makefile.am): Likewise.
9744         * modules/quotearg-simple-tests (Makefile.am): Likewise.
9745         * modules/quotearg-tests (Makefile.am): Likewise.
9746         * modules/readtokens-tests (Makefile.am): Likewise.
9747         * modules/sh-quote-tests (Makefile.am): Likewise.
9748         * modules/system-quote-tests (Makefile.am): Likewise.
9749         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
9750         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
9751         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
9752         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
9753         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
9754         * modules/yesno-tests (Makefile.am): Likewise.
9755         * modules/exclude-tests (Makefile.am): Link the programs with
9756         $(LIB_MBRTOWC).
9757         * modules/regex-tests (Makefile.am): Likewise.
9758         * modules/regex-quote-tests (Makefile.am): Likewise.
9760 2020-01-03  Bruno Haible  <bruno@clisp.org>
9762         getopt-posix: Fix compilation failure in testdirs.
9763         * lib/unistd.in.h: Include <getopt-cdefs.h> and <getopt-pfx-core.h> only
9764         when the gnulib module 'getopt-posix' is enabled.
9765         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETOPT_POSIX.
9766         * modules/getopt-posix (configure.ac): Set GNULIB_GETOPT_POSIX as a
9767         module indicator.
9768         * modules/unistd (Makefile.am): Substitute GNULIB_GETOPT_POSIX.
9770 2020-01-03  Bruno Haible  <bruno@clisp.org>
9772         doc: Mention the 64-bit inode number problem.
9773         * m4/largefile.m4 (AC_SYS_LARGEFILE): Mention that this macro fixes the
9774         64-bit inode number problem.
9775         * doc/posix-functions/stat.texi: Mention that this module fixes the
9776         64-bit inode number problem.
9777         * doc/posix-functions/lstat.texi: Likewise.
9778         * doc/posix-functions/fstat.texi: Likewise.
9779         * doc/posix-functions/readdir.texi: Add more details.
9780         * doc/posix-functions/readdir_r.texi: Likewise.
9782 2020-01-02  Bruno Haible  <bruno@clisp.org>
9784         wcrtomb: Add more tests.
9785         * tests/test-wcrtomb-w32.c: Include localcharset.h.
9786         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
9787         locale_charset() returns the expected value; otherwise, skip the test.
9788         * tests/test-wcrtomb-w32-6.sh: Remove old comment.
9789         * tests/test-wcrtomb-w32-7.sh: Likewise.
9790         * modules/wcrtomb-tests (Files): Add these files.
9791         (Depends-on): Add localcharset.
9792         (TESTS): Add test-wcrtomb-w32-6.sh, test-wcrtomb-w32-7.sh.
9794 2020-01-02  Bruno Haible  <bruno@clisp.org>
9796         mbrtowc: Add more tests.
9797         * tests/test-mbrtowc-w32.c: Include localcharset.h.
9798         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
9799         locale_charset() returns the expected value; otherwise, skip the test.
9800         * tests/test-mbrtowc-w32-6.sh: Remove old comment.
9801         * tests/test-mbrtowc-w32-7.sh: Likewise.
9802         * modules/mbrtowc-tests (Files): Add these files.
9803         (Depends-on): Add localcharset.
9804         (TESTS): Add test-mbrtowc-w32-6.sh, test-mbrtowc-w32-7.sh.
9806 2020-01-02  Bruno Haible  <bruno@clisp.org>
9808         mbrtowc: Fix test failures on MSVC (regression by previous commit).
9809         * m4/mbrtowc.m4 (gl_MBRTOWC_STORES_INCOMPLETE): New macro.
9810         (gl_FUNC_MBRTOWC): Invoke it. Define MBRTOWC_STORES_INCOMPLETE_BUG.
9811         * lib/mbrtowc.c (rpl_mbrtowc): Add workaround for
9812         MBRTOWC_STORES_INCOMPLETE_BUG.
9813         * doc/posix-functions/mbrtowc.texi: Mention the MSVC bug.
9815 2020-01-02  Paul Eggert  <eggert@cs.ucla.edu>
9817         doc: mention glibc bug 24269
9818         * doc/regex.texi (Back-reference Operator): Add glibc bug 24269.
9819         Reformat slightly so that it looks nicer in the Grep manual.
9821 2020-01-02  Bruno Haible  <bruno@clisp.org>
9823         mbrtowc: Don't replace mbstate_t on MSVC.
9824         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Require AC_CANONICAL_HOST. Ignore
9825         a missing mbsinit function on native Windows.
9826         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Likewise.
9827         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Strengthen the test, to detect an
9828         MSVC bug.
9829         * doc/posix-functions/wcrtomb.texi: Mention the MSVC bug.
9831 2020-01-02  Bruno Haible  <bruno@clisp.org>
9833         setlocale-null: Avoid crashing the MSVC linker.
9834         * lib/setlocale-lock.c: Don't define IMP(gl_get_setlocale_null_lock) on
9835         MSVC.
9837 2020-01-02  Bruno Haible  <bruno@clisp.org>
9839         wchar: Make the HP-UX workaround work on HP-UX 11.31.
9840         * modules/wchar (Depends-on): Add inttypes-incomplete.
9841         * lib/inttypes.in.h: Define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H.
9842         * lib/wchar.in.h: Test _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H instead
9843         of strtoimax.
9845 2020-01-02  Bruno Haible  <bruno@clisp.org>
9847         mbrtowc: Fix compilation error on IRIX (regression from 2019-12-26).
9848         * lib/mbrtowc.c: Include <stdint.h>.
9849         * modules/mbrtowc (Depends-on): Add stdint.
9851 2020-01-01  Pádraig Brady  <P@draigBrady.com>
9853         md5, sha1, sha256, sha512: support --with-openssl=auto-gpl-compat
9854         * m4/gl-openssl.m4: Add a new "auto-gpl-compat" mode,
9855         which will auto enable use of openssl, only for >= version 3,
9856         which is newly licensed under the Apache Software License.
9858 2020-01-01  Bruno Haible  <bruno@clisp.org>
9860         mbrtowc: Include function name in macro names.
9861         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Define
9862         MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not C_LOCALE_MAYBE_EILSEQ.
9863         (gl_MBRTOWC_C_LOCALE): Change cache variable name to
9864         gl_cv_func_mbrtowc_C_locale_sans_EILSEQ.
9865         * lib/mbrtowc.c: Test MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not
9866         C_LOCALE_MAYBE_EILSEQ.
9868 2020-01-01  Bruno Haible  <bruno@clisp.org>
9870         c32tob: New module.
9871         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): New macro.
9872         (c32tob): New declaration.
9873         * lib/c32tob.c: New file.
9874         * m4/uchar.m4 (gl_UCHAR_MODULE_INDICATOR, gl_UCHAR_H_DEFAULTS): New
9875         macros.
9876         (gl_UCHAR_H): Require gl_UCHAR_H_DEFAULTS.
9877         * modules/uchar (Depends-on): Add snippet/c++defs.
9878         (Makefile.am): Include c++defs.h and substitute GNULIB_C32TOB in
9879         uchar.h.
9880         * modules/c32tob: New file.
9881         * tests/test-uchar.c: Verify that _GL_LARGE_CHAR32_T is correctly
9882         defined.
9883         * tests/test-uchar-c++.cc: Include signature.h. Test the signature of
9884         c32tob.
9885         * modules/uchar-c++-tests (Files): Add tests/signature.h.
9886         * doc/posix-functions/wctob.texi: Mention the new module.
9888 2020-01-01  Bruno Haible  <bruno@clisp.org>
9890         locale C++ tests: Fix link error on AIX (regression from 2019-12-18).
9891         * modules/locale-c++-tests (Makefile.am): Link test-locale-c++ with
9892         $(LIB_SETLOCALE).
9894 2020-01-01  Bruno Haible  <bruno@clisp.org>
9896         hard-locale tests: Fix a conflict with the C++ tests.
9897         * modules/hard-locale-tests (Makefile.am): Build a program named
9898         'current-locale', not 'locale'.
9900 2020-01-01  Bruno Haible  <bruno@clisp.org>
9902         doc: Update documentation about wchar_t.
9903         * doc/*/*wc*.texi: Clarify that 64-bit AIX does not have a too small
9904         wchar_t type.
9906 2020-01-01  Bruno Haible  <bruno@clisp.org>
9908         mbrtowc tests: Fix typos.
9909         * tests/test-mbrtowc.c (main): Fix typo.
9910         * tests/test-mbrtowc-w32.c (test_one_locale): Likewise.
9912 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9914         maint: update copyright notices
9915         Before doing the following changes done by hand, I also ran ‘make
9916         update-copyright’ and ‘config/srclist-update <config/srclist.txt’
9917         to do most of the copyright years automatically.  A few upstream
9918         sources are still in 2019 but these should eventually be changed
9919         automatically too.
9920         * build-aux/declared.sh (func_version):
9921         * build-aux/libtool-next-version (func_version):
9922         * build-aux/run-test (func_version):
9923         Update these notices by hand.  Put just the last year
9924         in output of programs, as per GNU coding standards.
9926 2019-12-31  Bruno Haible  <bruno@clisp.org>
9928         uchar: Add C++ tests.
9929         * tests/test-uchar-c++.cc: New file.
9930         * tests/test-uchar-c++2.cc: New file.
9931         * modules/uchar-c++-tests: New file.
9933         uchar: Add tests.
9934         * tests/test-uchar.c: New file.
9935         * modules/uchar-tests: New file.
9937         uchar: New module.
9938         * lib/uchar.in.h: New file.
9939         * m4/uchar.m4: New file.
9940         * modules/uchar: New file.
9941         * doc/posix-headers/uchar.texi: Mention the new module.
9943 2019-12-30  Jim Meyering  <meyering@fb.com>
9945         localeinfo: ->simple would be wrong for LC_ALL=C
9946         That would lead to using unnecessary and expensive code paths in dfa.c.
9947         * lib/localeinfo.c (using_simple_locale): Fix recently-introduced logic
9948         error that would have made grep many times slower in the C locale.
9949         With this change, and a file created like this:
9950           yes 00 | head -10000000 > in
9951         Running grep as follows becomes more than 40 times faster:
9952           LC_ALL=C grep -Fw 0 in
9954 2019-12-30  Paul Eggert  <eggert@cs.ucla.edu>
9956         doc: document trouble with back-references
9957         * doc/regex.texi (Back-reference Operator): Mention bugs etc.
9959 2019-12-29  Paul Eggert  <eggert@cs.ucla.edu>
9961         doc: use “back-reference” for \1 etc.
9962         * doc/regex.texi: Consistently spell “back-reference” with
9963         a hyphen, since that’s how POSIX does it.
9965 2019-12-26  Jim Meyering  <meyering@fb.com>
9967         test-framework-sh: tighten an internal grep regexp
9968         * tests/init.sh (gl_shell_test_script_): Tighten the grep regexp
9969         that helps test for a working printf.
9971 2019-12-26  Bruno Haible  <bruno@clisp.org>
9973         test-framework-sh: Avoid /bin/sh on AIX 7.2 due to its printf built-in.
9974         Reported by Paul Eggert in
9975         <https://lists.gnu.org/archive/html/grep-devel/2019-12/msg00020.html>.
9976         Simplification by Jim Meyering.
9977         * tests/init.sh (gl_shell_test_script_): Add a test of printf of an
9978         octal escape sequence in a UTF-8 locale.
9980 2019-12-26  Paul Eggert  <eggert@cs.ucla.edu>
9982         mbrtowc: port better to narrow-wchar_t platforms
9983         * lib/mbrtowc.c (mbrtowc): On platforms like AIX 7.2, where
9984         wchar_t is too narrow to represent all the Unicode characters,
9985         consider a byte sequence for an out-of-wchar_t-range character to
9986         be an encoding error.  This fixes grep’s surrogate-pair test
9987         failure on AIX 7.2.
9989 2019-12-24  Bruno Haible  <bruno@clisp.org>
9991         localcharset: Avoid referencing rpl_setlocale on native Windows.
9992         * lib/localcharset.c (setlocale): Undefine.
9994 2019-12-24  Bruno Haible  <bruno@clisp.org>
9996         lock tests: Fix link error on HP-UX/hppa (regression from 2019-12-21).
9997         * m4/semaphore.m4: New file.
9998         * modules/lock-tests (Files): Add it.
9999         (configure.ac): Require gl_SEMAPHORE.
10000         (Makefile.am): Link test-lock with $(LIB_SEMAPHORE).
10002 2019-12-24  Paul Eggert  <eggert@cs.ucla.edu>
10004         strptime: fix typo in previous patch
10005         Problem and fix reported by Bruno Haible in:
10006         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00202.html
10007         * lib/strptime.c (day_of_the_week): Fix paren bug.
10009 2019-12-24  Bruno Haible  <bruno@clisp.org>
10011         setlocale-null: Make it easy to rely on the lock in another library.
10012         * lib/setlocale-lock.c: Do not define anything if OMIT_SETLOCALE_LOCK is
10013         defined.
10015 2019-12-23  Paul Eggert  <eggert@cs.ucla.edu>
10017         gethrxtime, mktime, nstrftime, strptime: tweak division performance
10018         Performanced analyzed by Bruno Haible in:
10019         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00200.html
10020         * config/srclist.txt: Do not sync mktime.c for now.
10021         * lib/mktime.c (shr, ydhms_diff):
10022         * lib/nstrftime.c (SHR, tm_diff, __strftime_internal):
10023         * lib/strptime.c (day_of_the_week):
10024         * lib/xtime.h (xtime_sec):
10025         Redo with neither ‘%’ nor conditional branches.
10027 2019-12-23  Bruno Haible  <bruno@clisp.org>
10029         setlocale-null: Export the lock function also on non-Windows platforms.
10030         * lib/setlocale-lock.c (DLL_EXPORTED): New macro.
10031         (gl_get_setlocale_null_lock): Declare as DLL_EXPORTED.
10032         * m4/setlocale_null.m4 (gl_PREREQ_SETLOCALE_LOCK): New macro.
10033         * modules/setlocale-null (configure.ac): Invoke it.
10034         (Files): Add m4/visibility.m4.
10036 2019-12-22  Paul Eggert  <eggert@cs.ucla.edu>
10038         gethrxtime: fix rounding bug with negative args
10039         Problem reported by Bruno Haible in:
10040         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00192.html
10041         * lib/xtime.h (xtime_sec): Simplify calculation and correct bug
10042         with negative rounding.  Common platforms can compute / and % with
10043         a single instruction, so the simplified code should be shorter and
10044         faster on these platforms anyway.
10046 2019-12-22  Bruno Haible  <bruno@clisp.org>
10048         gethrxtime: remove incorrect overflow detection
10049         * lib/xtime.h (xtime_make): Remove attempt to prevent internal
10050         integer overflow, as it didn’t suffice.  This reverts the xtime.h
10051         part of 2018-10-12T04:46:09Z!akim.demaille@gmail.com, which I
10052         cannot now see the need for anyway (even in cases where it works),
10053         as the patch is helpful only when the signs of S and NS disagree,
10054         and all callers pass nonnegative values for S and NS.
10056 2019-12-22  Bruno Haible  <bruno@clisp.org>
10058         setlocale-null: Add standalone include file.
10059         * lib/setlocale_null.h: New file, extracted from lib/locale.in.h.
10060         * lib/locale.in.h: Include setlocale_null.h.
10061         (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX, setlocale_null_r,
10062         setlocale_null): Remove declarations.
10063         * lib/setlocale_null.c: Include setlocale_null.h.
10064         * lib/localename.c: Likewise.
10065         * modules/setlocale-null (Files): Add lib/setlocale_null.h.
10066         (Depends-on): Add snippet/arg-nonnull.
10067         (Include): Allow either "setlocale_null.h" or <locale.h>.
10069 2019-12-22  Bruno Haible  <bruno@clisp.org>
10071         strfmon_l: Fix test failures on FreeBSD and Cygwin.
10072         * m4/strfmon_l.m4 (gl_FUNC_STRFMON_L): Require gt_LOCALE_FR_UTF8. Add an
10073         AC_RUN_IFELSE test.
10074         * modules/strfmon_l (Files): Add locale-fr.m4, codeset.m4.
10075         * doc/posix-functions/strfmon_l.texi: Mention the FreeBSD and Cygwin
10076         problem.
10078 2019-12-22  Bruno Haible  <bruno@clisp.org>
10080         Prefer lib_SOURCES to unconditional AC_LIBOBJ.
10081         * modules/at-internal: Prefer a lib_SOURCES augmentation to an
10082         unconditional AC_LIBOBJ.
10083         * modules/selinux-at: Likewise.
10084         * modules/xmemdup0: Likewise.
10085         * modules/xstrtoll: Likewise.
10087 2019-12-22  Bruno Haible  <bruno@clisp.org>
10089         longlong: Mark module obsolete.
10090         * modules/longlong (Status, Notice): New sections.
10092         stdint: Assume that the compiler supports 'long long'.
10093         * lib/stdint.in.h (int64_t, uint64_t, intmax_t, uintmax_t, INT64_C,
10094         UINT64_C, INTMAX_C, UINTMAX_C): Assume HAVE_LONG_LONG_INT and
10095         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10096         * m4/stdint.m4 (gl_STDINT_H): Don't require AC_TYPE_LONG_LONG_INT,
10097         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10098         * modules/stdint (Files): Remove longlong.m4.
10099         (Makefile.am): Don't substitute HAVE_LONG_LONG_INT,
10100         HAVE_UNSIGNED_LONG_LONG_INT.
10102         inttypes-incomplete: Assume that the compiler supports 'long long'.
10103         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
10104         _SCNu64_PREFIX): Assume HAVE_LONG_LONG_INT and
10105         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10106         * m4/inttypes.m4 (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): Assume
10107         HAVE_LONG_LONG_INT to be 1.
10108         * modules/inttypes-incomplete (Makefile.am): Don't substitute
10109         HAVE_LONG_LONG_INT, HAVE_UNSIGNED_LONG_LONG_INT.
10111         malloca: Assume that the compiler supports 'long long'.
10112         * lib/malloca.h: Assume HAVE_LONG_LONG_INT to be 1.
10113         * m4/malloca.m4 (gl_MALLOCA): Don't require AC_TYPE_LONG_LONG_INT.
10114         * modules/malloca (Files): Remove longlong.m4.
10115         * modules/relocatable-prog-wrapper (Files): Likewise.
10117         atoll: Assume that the compiler supports 'long long'.
10118         * m4/atoll.m4 (gl_FUNC_ATOLL): Don't require AC_TYPE_LONG_LONG_INT.
10119         * modules/atoll (Files): Remove longlong.m4.
10121         strtoll: Assume that the compiler supports 'long long'.
10122         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Don't require AC_TYPE_LONG_LONG_INT.
10123         * modules/strtoll (Files): Remove longlong.m4.
10125         strtoull: Assume that the compiler supports 'long long'.
10126         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Don't require
10127         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10128         * modules/strtoull (Files): Remove longlong.m4.
10130         strtoimax, strtoumax: Assume that the compiler supports 'long long'.
10131         * lib/strtoimax.c: Assume HAVE_LONG_LONG_INT and
10132         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10133         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Don't require
10134         AC_TYPE_LONG_LONG_INT.
10135         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't require
10136         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10137         * modules/strtoimax (Files): Remove longlong.m4.
10138         * modules/strtoumax (Files): Likewise.
10140         xstrtoll: Assume that the compiler supports 'long long'.
10141         * lib/xstrtol.h (xstrtoll, xstrtoull): Declare unconditionally.
10142         * modules/xstrtoll (configure.ac): Don't invoke AC_TYPE_LONG_LONG_INT.
10144         vasnprintf: Assume that the compiler supports 'long long'.
10145         * lib/printf-args.h: Assume HAVE_LONG_LONG_INT to be 1.
10146         * lib/printf-args.c (PRINTF_FETCHARGS): Likewise.
10147         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
10148         * lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Likewise.
10149         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Don't
10150         require AC_TYPE_LONG_LONG_INT.
10151         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
10152         gl_PREREQ_VASNPRINTF): Likewise.
10153         * modules/vasnprintf (Files): Remove longlong.m4.
10154         * modules/c-vasnprintf (Files): Likewise.
10155         * modules/unistdio/u8-vasnprintf (Files): Likewise.
10156         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
10157         * modules/unistdio/u16-vasnprintf (Files): Likewise.
10158         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
10159         * modules/unistdio/u32-vasnprintf (Files): Likewise.
10160         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
10161         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
10163         gethrxtime: Assume that the compiler supports 'long long'.
10164         * lib/xtime.h (xtime_t): Define to 'long long int' always.
10165         (XTIME_PRECISION): Define to 1000000000 always.
10166         (xtime_make, xtime_sec): Optimize accordingly.
10167         * m4/gethrxtime.m4 (gl_XTIME): Don't require AC_TYPE_LONG_LONG_INT.
10168         * modules/gethrxtime (Files): Remove longlong.m4.
10170         integer_length*: Assume that the compiler supports 'long long'.
10171         * lib/integer_length.h (integer_length_ll): Declare unconditionally.
10172         * modules/integer_length (Files): Remove longlong.m4.
10173         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10174         * modules/integer_length_l (Files): Remove longlong.m4.
10175         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10176         * modules/integer_length_ll (Files): Remove longlong.m4.
10177         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10179         count-one-bits: Assume that the compiler supports 'long long'.
10180         * lib/count-one-bits.h (count_one_bits_ll): Define unconditionally.
10181         * m4/count-one-bits.m4: Remove file.
10182         * modules/count-one-bits (Files): Remove it.
10183         (configure.ac): Don't invoke gl_COUNT_ONE_BITS.
10184         * tests/test-count-one-bits.c (main): Test count_one_bits_ll
10185         unconditionally.
10187         count-trailing-zeros: Assume that the compiler supports 'long long'.
10188         * lib/count-trailing-zeros.h (count_trailing_zeros_ll): Define
10189         unconditionally.
10190         * m4/count-trailing-zeros.m4: Remove file.
10191         * modules/count-trailing-zeros (Files): Remove it.
10192         (configure.ac): Don't invoke gl_COUNT_TRAILING_ZEROS.
10193         * tests/test-count-trailing-zeros.c (main): Test count_trailing_zeros_ll
10194         unconditionally.
10196         count-leading-zeros: Assume that the compiler supports 'long long'.
10197         * lib/count-leading-zeros.h (count_leading_zeros_ll): Define
10198         unconditionally.
10199         * m4/count-leading-zeros.m4: Remove file.
10200         * modules/count-leading-zeros (Files): Remove it.
10201         (configure.ac): Don't invoke gl_COUNT_LEADING_ZEROS.
10202         * tests/test-count-leading-zeros.c (main): Test count_leading_zeros_ll
10203         unconditionally.
10205 2019-12-22  Bruno Haible  <bruno@clisp.org>
10207         localcharset: Update support for OpenBSD.
10208         * lib/localcharset.c (alias_table): Map "US-ASCII" to "ASCII".
10210 2019-12-21  Bruno Haible  <bruno@clisp.org>
10212         pthread_sigmask: Avoid test failure on NetBSD 8.0.
10213         * tests/test-pthread_sigmask2.c (main): Skip the error handling test on
10214         NetBSD.
10215         * doc/posix-functions/pthread_sigmask.texi: Mention the NetBSD problem.
10217 2019-12-21  Bruno Haible  <bruno@clisp.org>
10219         threadlib: Improve code structure.
10220         * m4/threadlib.m4: Reorder macros. Add comments.
10222 2019-12-21  Bruno Haible  <bruno@clisp.org>
10224         threadlib: Fix LIBMULTITHREAD on FreeBSD with --enable-threads=isoc.
10225         * m4/threadlib.m4 (gl_STDTHREADLIB_BODY): New macro (some code moved
10226         here from m4/threads.m4).
10227         (gl_THREADLIB_BODY): Don't test whether mtx_lock and cnd_timedwait exist
10228         in libc. Instead, rely on gl_STDTHREADLIB_BODY.
10229         (gl_STDTHREADLIB): New macro.
10230         * m4/threads.m4 (gl_THREADS_H): Require gl_STDTHREADLIB instead of
10231         gl_THREADLIB_BODY and gl_YIELD. Don't set LIBSTDTHREAD here.
10233 2019-12-21  Bruno Haible  <bruno@clisp.org>
10235         sched_yield: Don't depend on threadlib and yield.
10236         * m4/threadlib.m4 (gl_PTHREADLIB): Document that it sets
10237         LIB_SCHED_YIELD.
10238         (gl_PTHREADLIB_BODY): Set LIB_SCHED_YIELD (code moved here from
10239         m4/yield.m4).
10240         * m4/sched_yield.m4 (gl_FUNC_SCHED_YIELD): Require gl_PTHREADLIB, not
10241         gl_THREADLIB and gl_YIELD.
10242         * m4/yield.m4 (gl_YIELD): Require gl_PTHREADLIB. Determine YIELD_LIB
10243         based on $(LIB_SCHED_YIELD).
10244         * m4/threads.m4 (gl_THREADS_H): Don't require gl_YIELD. Use
10245         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
10246         * modules/sched_yield (Files): Remove yield.m4. Add threadlib.m4.
10247         (Depends-on): Remove threadlib.
10248         (Link): Mention $(LIB_SCHED_YIELD), not $(YIELD_LIB).
10249         * modules/threads-h (Files): Remove m4/yield.m4.
10250         * modules/pthread-cond-tests (Makefile.am): Link the programs against
10251         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
10252         * modules/pthread-mutex-tests (Makefile.am): Likewise.
10253         * modules/pthread-once-tests (Makefile.am): Likewise.
10254         * modules/pthread-rwlock-tests (Makefile.am): Likewise.
10255         * modules/pthread-tss-tests (Makefile.am): Likewise.
10257 2019-12-21  Bruno Haible  <bruno@clisp.org>
10259         threads-h: Don't depend on threadlib.
10260         * modules/threads-h (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY,
10261         not gl_THREADLIB_EARLY.
10263 2019-12-21  Bruno Haible  <bruno@clisp.org>
10265         nl_langinfo tests: Fix link error (regression from 2019-12-18).
10266         * modules/nl_langinfo-tests (Makefile.am): Link also test-nl_langinfo
10267         with $(LIB_SETLOCALE).
10269 2019-12-21  Bruno Haible  <bruno@clisp.org>
10271         threadlib: Remove unused dependency (left over from 2019-07-06).
10272         * modules/threadlib (Depends-on): Remove havelib.
10274 2019-12-21  Bruno Haible  <bruno@clisp.org>
10276         New convention for multithread-safety tests.
10277         * tests/test-setlocale_null-mt-one.c: Renamed from
10278         tests/test-setlocale_null-one.c.
10279         * tests/test-setlocale_null-mt-all.c: Renamed from
10280         tests/test-setlocale_null-all.c.
10281         * modules/setlocale-null-tests (Files, Makefile.am): Update.
10283 2019-12-21  Bruno Haible  <bruno@clisp.org>
10285         quotearg tests: Fix conflict with hard-locale tests.
10286         * tests/testlocale: Renamed from tests/locale.
10287         * modules/quotearg-tests (Files): Update.
10288         * tests/test-quotearg.sh (LOCALEDIR): Likewise.
10290 2019-12-21  Bruno Haible  <bruno@clisp.org>
10292         pthread-thread, lock: On z/OS, use PTHREAD_RWLOCK_INITIALIZER_NP.
10293         Reported by Daniel Richard G. in
10294         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>
10295         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00167.html>
10296         * lib/pthread.in.h (PTHREAD_RWLOCK_INITIALIZER): Define to
10297         PTHREAD_RWLOCK_INITIALIZER_NP when possible.
10298         * lib/glthread/lock.h: Allow PTHREAD_RWLOCK_INITIALIZER_NP as an
10299         alternative to PTHREAD_RWLOCK_INITIALIZER.
10300         * lib/glthread/lock.c: Likewise.
10302 2019-12-21  Bruno Haible  <bruno@clisp.org>
10304         memcmp tests: Work around the clang bug.
10305         * tests/test-memcmp.c (main): Use a volatile function pointer to disable
10306         the clang optimization.
10308 2019-12-20  Bruno Haible  <bruno@clisp.org>
10310         localcharset: Add support for z/OS encoding names.
10311         * lib/localcharset.h: Mention which encodings are used as locale
10312         encodings on z/OS.
10314 2019-12-20  Bruno Haible  <bruno@clisp.org>
10316         iconv_open: Add support for z/OS encoding names.
10317         Reported by Daniel Richard G. in
10318         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00172.html>.
10319         * lib/iconv_open-zos.gperf: New file.
10320         * modules/iconv_open (Files): Add iconv_open-zos.gperf.
10321         (Makefile.am): Add rules for generating iconv_open-zos.h from it.
10322         * lib/iconv_open.c (ICONV_FLAVOR_ZOS): New macro.
10323         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): On z/OS, use ICONV_FLAVOR_ZOS.
10324         * doc/posix-functions/iconv_open.texi: Mention z/OS.
10326 2019-12-20  Bruno Haible  <bruno@clisp.org>
10328         doc: Document the problem of the per-thread locale functions on z/OS.
10329         * doc/posix-functions/uselocale.texi: Document the z/OS problem.
10330         * doc/posix-functions/newlocale.texi: Likewise.
10331         * doc/posix-functions/duplocale.texi: Likewise.
10332         * doc/posix-functions/freelocale.texi: Likewise.
10334 2019-12-20  Bruno Haible  <bruno@clisp.org>
10336         localename, gettext: Fix host_os value for z/OS.
10337         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Fix host_os value in
10338         cross-configuration code.
10340 2019-12-19  Jim Meyering  <meyering@fb.com>
10342         nstrftime: avoid a shadowing warning
10343         * lib/nstrftime.c (libc_hidden_def): Rename inner "i" to "j",
10344         to avoid shadowing an "i" declared hundreds of lines above.
10346 2019-12-19  Paul Eggert  <eggert@cs.ucla.edu>
10348         dfa: struct dfamust now uses flexible array
10349         * lib/dfa.c: Include flexmember.h.
10350         (dfamust, dfamustfree): Adjust to struct dfamust change.
10351         This saves a call to malloc+free.
10352         * lib/dfa.h (struct dfamust): Make the final member a
10353         flexible array member.
10354         * modules/dfa (Depends-on): Add flexmember.
10356         dfa: fast->small for array elements
10357         * lib/dfa.c (charclass_word): Use uint_least64_t not uint_fast64_t,
10358         since this type is used in arrays.  This change is more for
10359         documentation than for any practical effect, since the two types
10360         are the same on all known platforms.
10362 2019-12-19  Bruno Haible  <bruno@clisp.org>
10364         iconv tests: Test canonicalized, not system-dependent, encoding names.
10365         * tests/test-iconv.c (main): Revert part of the 2016-08-17 patch.
10366         * modules/iconv-tests (Depends-on): Add iconv_open.
10368 2019-12-18  Bruno Haible  <bruno@clisp.org>
10370         localename: Fix test failure on AIX 7.2.
10371         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Enable nameless
10372         locales on AIX.
10373         * lib/localename.c (gl_locale_name_thread_unsafe): Handle nameless
10374         locales on AIX.
10376 2019-12-18  Paul Eggert  <eggert@cs.ucla.edu>
10378         Improve port of AC_C_RESTRICT to Oracle C++
10379         Problem reported by Christian Biesinger in:
10380         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
10381         * m4/gnulib-common.m4 (AC_C_RESTRICT): Port better to
10382         Oracle Developer Studio C++ 12.5 or later.
10384 2019-12-18  Bruno Haible  <bruno@clisp.org>
10386         wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
10387         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Do define on AIX and MSVC.
10389 2019-12-18  Bruno Haible  <bruno@clisp.org>
10391         localename: Ensure multithread-safety in future changes.
10392         * lib/localename.c (setlocale): Reference the system's setlocale().
10393         (get_locale_t_name): Invoke setlocale_null instead of setlocale.
10394         (gl_locale_name_posix): Likewise.
10395         * modules/localename (Depends-on): Add setlocale-null.
10397 2019-12-18  Bruno Haible  <bruno@clisp.org>
10399         setlocale-null: Make API more useful.
10400         * lib/locale.in.h (setlocale_null_r): Renamed from setlocale_null. All
10401         callers changed.
10402         (setlocale_null): New declaration.
10403         * lib/setlocale_null.c (setlocale_null_androidfix): New function,
10404         extracted from setlocale_null_unlocked.
10405         (setlocale_null_unlocked): Invoke it.
10406         (setlocale_null_r): Renamed from setlocale_null.
10407         (setlocale_null): New function, extracted from setlocale_mtsafe in
10408         setlocale.c.
10409         * lib/setlocale.c: Don't include <errno.h>.
10410         (setlocale_mtsafe): Invoke setlocale_null.
10411         * lib/setlocale-lock.c: Update comments.
10412         * doc/posix-functions/setlocale.texi: Mention both functions.
10414 2019-12-18  Bruno Haible  <bruno@clisp.org>
10416         localename: Optimize code for native Windows.
10417         * lib/localename.c (gl_locale_name_posix): Remove handling of LC_ALL
10418         category (not allowed here).
10420 2019-12-18  Bruno Haible  <bruno@clisp.org>
10422         setlocale: Make calls with NULL argument multithread-safe.
10423         * lib/setlocale.c: Include <errno.h>.
10424         (setlocale_mtsafe): New function.
10425         (setlocale_unixlike): Invoke setlocale_mtsafe instead of setlocale.
10426         (setlocale_improved): Renamed from rpl_setlocale.
10427         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Require gl_FUNC_SETLOCALE_NULL.
10428         Set and define NEED_SETLOCALE_IMPROVED and NEED_SETLOCALE_MTSAFE. Set
10429         LIB_SETLOCALE.
10430         * modules/setlocale (Depends-on): Add setlocale-null. Update conditions.
10431         (Link): New section.
10432         * tests/locale.c: Undefine setlocale.
10433         * tests/test-setlocale_null-one.c: Likewise.
10434         * tests/test-setlocale_null-all.c: Likewise.
10435         * modules/setlocale-tests (Makefile.am): Link the test programs with
10436         $(LIB_SETLOCALE).
10437         * modules/astrxfrm-tests (Makefile.am): Likewise.
10438         * modules/btowc-tests (Makefile.am): Likewise.
10439         * modules/c-ctype-tests (Makefile.am): Likewise.
10440         * modules/c-snprintf-tests (Makefile.am): Likewise.
10441         * modules/c-strcase-tests (Makefile.am): Likewise.
10442         * modules/c-vasprintf-tests (Makefile.am): Likewise.
10443         * modules/c-vsnprintf-tests (Makefile.am): Likewise.
10444         * modules/c-xvasprintf-tests (Makefile.am): Likewise.
10445         * modules/dfa-tests (Makefile.am): Likewise.
10446         * modules/duplocale-tests (Makefile.am): Likewise.
10447         * modules/hard-locale-tests (Makefile.am): Likewise.
10448         * modules/localcharset-tests (Makefile.am): Likewise.
10449         * modules/localename-tests (Makefile.am): Likewise.
10450         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
10451         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
10452         * modules/mbrtowc-tests (Makefile.am): Likewise.
10453         * modules/mbscasecmp-tests (Makefile.am): Likewise.
10454         * modules/mbscasestr-tests (Makefile.am): Likewise.
10455         * modules/mbschr-tests (Makefile.am): Likewise.
10456         * modules/mbscspn-tests (Makefile.am): Likewise.
10457         * modules/mbsinit-tests (Makefile.am): Likewise.
10458         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
10459         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
10460         * modules/mbspbrk-tests (Makefile.am): Likewise.
10461         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
10462         * modules/mbsrchr-tests (Makefile.am): Likewise.
10463         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
10464         * modules/mbsspn-tests (Makefile.am): Likewise.
10465         * modules/mbsstr-tests (Makefile.am): Likewise.
10466         * modules/nl_langinfo-tests (Makefile.am): Likewise.
10467         * modules/quotearg-tests (Makefile.am): Likewise.
10468         * modules/regex-tests (Makefile.am): Likewise.
10469         * modules/strfmon_l-tests (Makefile.am): Likewise.
10470         * modules/strtod-tests (Makefile.am): Likewise.
10471         * modules/strtold-tests (Makefile.am): Likewise.
10472         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
10473         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
10474         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
10475         * modules/unigbrk/ulc-grapheme-breaks-tests (Makefile.am): Likewise.
10476         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
10477         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
10478         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
10479         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
10480         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
10481         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
10482         * modules/wcrtomb-tests (Makefile.am): Likewise.
10483         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
10484         * modules/wcsrtombs-tests (Makefile.am): Likewise.
10485         * modules/wcwidth-tests (Makefile.am): Likewise.
10486         * doc/posix-functions/setlocale.texi: Mention that the multithread-
10487         safety fix is also available in module 'setlocale'.
10489 2019-12-18  Bruno Haible  <bruno@clisp.org>
10491         hard-locale: Make multithread-safe.
10492         * lib/hard-locale.h (hard_locale): Move documentation to here.
10493         * lib/hard-locale.c: Don't include <stdlib.h>.
10494         (GLIBC_VERSION): Remove macro.
10495         (hard_locale): Assume that all systems name the "C" and "POSIX" locales
10496         "C" or "POSIX". Invoke setlocale_null instead of setlocale.
10497         * modules/hard-locale (Depends-on): Remove strdup. Add setlocale-null.
10498         (configure.ac): Require gl_FUNC_SETLOCALE_NULL. Set LIB_HARD_LOCALE.
10499         (Link): New section.
10500         * modules/hard-locale-tests (Makefile.am): Link test-hard-locale against
10501         $(LIB_HARD_LOCALE).
10503 2019-12-18  Bruno Haible  <bruno@clisp.org>
10505         hard-locale: Avoid test failure on Haiku.
10506         * tests/test-hard-locale.c (test_one): Treat Haiku like recent OpenBSD.
10508 2019-12-18  Bruno Haible  <bruno@clisp.org>
10510         setlocale-null: Handle NULL result from setlocale.
10511         * lib/locale.in.h (setlocale_null): Document EINVAL return value.
10512         * lib/setlocale_null.c (setlocale_null_unlocked): Handle NULL result
10513         from setlocale or _wsetlocale.
10515 2019-12-18  Bruno Haible  <bruno@clisp.org>
10517         hard-locale: Add test.
10518         * tests/test-hard-locale.c: New file.
10519         * tests/locale.c: New file.
10520         * modules/hard-locale-tests: New file.
10522 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
10524         dfa: do not match invalid UTF-8
10525         * lib/dfa.c (struct dfa): Grow utf8_anychar_classes member array
10526         from 5 to 9 tokens; this is needed due to the changes to
10527         add_utf8_anychar.
10528         (charclass_index): 2nd arg is now pointer-to-const.
10529         (add_utf8_anychar): Match only valid UTF-8 byte sequences
10530         instead of allowing overlong encodings or surrogate halves.
10532         dfa: simplify charclass by assuming C99
10533         * lib/dfa.c (CHARCLASS_WORD_BITS): Now always 64.
10534         (charclass_word): Now always uint_fast64_t.
10535         (CHARCLASS_PAIR): Remove.
10536         (CHARCLASS_INIT): Take 4 arguments instead of 8.  All uses changed.
10538         fts: tune via calloc
10539         * lib/fts.c (fts_open): Prefer calloc to malloc + memset.
10541         dfa: tune via xzalloc
10542         * lib/dfa.c (dfaoptimize): Prefer xzalloc to xmalloc + memset.
10544 2019-12-17  Bruno Haible  <bruno@clisp.org>
10546         localcharset: Fix multithread-safety bug on Windows and OS/2.
10547         * lib/localcharset.h (locale_charset): Clarify when the result becomes
10548         invalid.
10549         * lib/localcharset.c (locale_charset): Use a stack-allocated buffer to
10550         assemble the result.
10552 2019-12-17  Bruno Haible  <bruno@clisp.org>
10554         localcharset: Optimize code for native Windows.
10555         * lib/localcharset.c (locale_charset): Don't bother calling
10556         setlocale (LC_ALL, NULL) since we're not interested in its result.
10558 2019-12-17  Bruno Haible  <bruno@clisp.org>
10560         nl_langinfo: Fix multithread-safety bug on OpenBSD 3.8.
10561         * lib/nl_langinfo.c (ctype_codeset): Invoke setlocale_null instead of
10562         setlocale.
10563         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require
10564         gl_FUNC_SETLOCALE_NULL. Set LIB_NL_LANGINFO.
10565         * modules/nl_langinfo (Depends-on): Add setlocale-null.
10567 2019-12-17  Bruno Haible  <bruno@clisp.org>
10569         nl_langinfo: Fix multithread-safety bug on mingw and MSVC.
10570         * lib/nl_langinfo.c (ctype_codeset, rpl_nl_langinfo): Use a
10571         stack-allocated buffer to assemble each result and different static
10572         buffers to return it.
10573         * tests/test-nl_langinfo-mt.c: New file.
10574         * modules/nl_langinfo-tests (Files): Add it.
10575         (Depends-on): Add thread, nanosleep.
10576         (Makefile.am): Build test-nl_langinfo-mt test.
10578 2019-12-17  Bruno Haible  <bruno@clisp.org>
10580         langinfo: Document more details.
10581         * doc/posix-headers/langinfo.texi: List platform details.
10582         * doc/posix-functions/nl_langinfo.texi: Likewise.
10584 2019-12-17  Bruno Haible  <bruno@clisp.org>
10586         mbsinit: Fix compilation error in mingw-w64 7.0 with _UCRT defined.
10587         Reported by Tom Kacvinsky <tom.kacvinsky@vector.com>
10588         and Martin Storsjö <martin@martin.st>
10589         in <https://savannah.gnu.org/bugs/?57406>.
10590         * lib/mbsinit.c: Accommodate an MSVC-like mbstate_t definition with
10591         mingw.
10593 2019-12-17  Bruno Haible  <bruno@clisp.org>
10595         glob: Avoid warning on mingw.
10596         Reported by Christian Biesinger <cbiesinger@google.com> in
10597         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00122.html>.
10598         * lib/glob.c (__stat64): Undefine first.
10600 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
10602         xalloc: tune xzalloc for fresh allocations
10603         * lib/xmalloc.c (xzalloc): Use xcalloc rather than xmalloc+memset,
10604         because when the memory is freshly allocated from the OS via sbrk
10605         or mmap, calloc can avoid doing the memset.
10607         dfa: new function dfacopysyntax
10608         * lib/dfa.c (struct dfa): Move syntax member later so
10609         that dfacopysyntax can easily clear earlier members.
10610         (dfacopysyntax): New function, used by Gawk.
10612 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
10614         dfa: port _GL_ATTRIBUTE_MALLOC to Gawk
10615         Gawk does not use Gnulib, and does not define _GL_ATTRIBUTE_MALLOC.
10616         * lib/dfa.h (_GL_ATTRIBUTE_MALLOC): Define to empty
10617         if not already defined.
10619         dfa: remove one dependency on MB_CUR_MAX
10620         * lib/dfa.c (dfamust): No need to refer to MB_CUR_MAX here.
10622         dfa: remove struct lexer_state.cur_mb_len
10623         * lib/dfa.c (struct lexer_state): Remove cur_mb_len member,
10624         as it’s not needed and the code is simpler without it.
10625         All uses removed.
10627 2019-12-16  Bruno Haible  <bruno@clisp.org>
10629         setlocale-null: Remove need for -lpthread on musl libc, *BSD, Haiku.
10630         Reported by Arnold Robbins <arnold@skeeve.com>.
10631         * lib/setlocale_null.c (c11_threads_in_use, pthread_in_use): New macros,
10632         copied from lib/glthread/lock.h.
10633         (pthread_mutex_lock, pthread_mutex_unlock): Mark as weak.
10634         (setlocale_null_with_lock): If pthread_in_use() is false, use
10635         setlocale_null_unlocked directly.
10636         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): New macro, extracted from
10637         gl_THREADLIB_BODY. Define HAVE_WEAK_SYMBOLS.
10638         (gl_THREADLIB_BODY): Invoke gl_WEAK_SYMBOLS.
10639         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Invoke gl_WEAK_SYMBOLS.
10640         Set LIB_SETLOCALE_NULL to empty if weak symbols are supported.
10641         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Add comment.
10643 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
10645         dfa: make dfasyntax thread-safe
10646         Problem reported by Bruno Haible in:
10647         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00099.html
10648         * lib/dfa.c: Do not include locale.h.
10649         (struct dfa): Remove simple_locale member.
10650         All uses replaced by localeinfo.simple.
10651         (using_simple_locale): Remove; now present (with some
10652         changes) in localeinfo.c.
10653         (dfasyntax): No need to initialize removed member.
10655         localeinfo: record whether locale is simple
10656         * lib/localeinfo.c (using_simple_locale): New function,
10657         copied here from lib/dfa.c but with a change: it uses
10658         strcoll for its heuristic, instead of using setlocale.
10659         This lets it be thread-safe.
10660         * lib/localeinfo.h (struct localeinfo): New member ‘simple’.
10662 2019-12-15  Bruno Haible  <bruno@clisp.org>
10664         duplocale: Fix multithread-safety bug on AIX.
10665         * lib/duplocale.c: Don't include <stdlib.h>.
10666         (rpl_duplocale): Invoke setlocale_null instead of setlocale.
10667         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Require gl_FUNC_SETLOCALE_NULL.
10668         Set LIB_DUPLOCALE.
10669         * modules/duplocale (Depends-on): Add setlocale-null.
10670         (Link): New section.
10671         * modules/duplocale-tests (Makefile.am): Link test-duplocale with
10672         $(LIB_DUPLOCALE).
10674 2019-12-15  Bruno Haible  <bruno@clisp.org>
10676         setlocale-null: Add tests.
10677         * tests/test-setlocale_null.c: New file.
10678         * tests/test-setlocale_null-one.c: New file.
10679         * tests/test-setlocale_null-all.c: New file.
10680         * modules/setlocale-null-tests: New file.
10682         setlocale-null: New module.
10683         * lib/locale.in.h (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX,
10684         setlocale_null): New declarations.
10685         * lib/setlocale_null.c: New file.
10686         * lib/setlocale-lock.c: New file.
10687         * m4/threadlib.m4 (gl_PTHREADLIB_BODY): Define C macro HAVE_PTHREAD_API.
10688         * m4/setlocale_null.m4: New file.
10689         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
10690         GNULIB_SETLOCALE_NULL.
10691         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE_NULL.
10692         * modules/setlocale-null: New file.
10693         * doc/posix-functions/setlocale.texi: Mention the new module.
10695 2019-12-15  Bruno Haible  <bruno@clisp.org>
10697         lock tests: Skip test when no multithreading is enabled.
10698         * tests/test-rwlock1.c: Skip the test when no multithreading is enabled.
10700 2019-12-14  Bruno Haible  <bruno@clisp.org>
10702         locale, duplocale, localename: Fix last patch.
10703         Reported by Daniel Richard G. in
10704         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00093.html>.
10705         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE):
10706         Don't define if locale_t does not exist.
10708 2019-12-13  Bruno Haible  <bruno@clisp.org>
10710         locale, duplocale, localename: Fix errors if locale_t does not exist.
10711         Reported by Daniel Richard G. in
10712         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00078.html>.
10713         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE): New
10714         macros.
10715         * tests/test-locale.c: Test HAVE_WORKING_NEWLOCALE instead of
10716         HAVE_NEWLOCALE.
10717         * tests/test-localename.c: Likewise.
10718         * tests/test-duplocale.c: Test HAVE_WORKING_DUPLOCALE instead of
10719         HAVE_DUPLOCALE.
10720         * tests/test-locale-c++.cc: Likewise.
10722 2019-12-13  Bruno Haible  <bruno@clisp.org>
10724         wcstok: Fix test failure on HP-UX.
10725         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Set REPLACE_WCSTOK to 1 on HP-UX.
10726         * doc/posix-functions/wcstok.texi: Mention the HP-UX bug.
10728 2019-12-12  Bruno Haible  <bruno@clisp.org>
10730         strtod, strtold tests: Avoid test failure on AIX 7.2.
10731         * tests/test-strtod1.c (main): Allow implementations in which ',' and
10732         '.' both are radix characters.
10733         * tests/test-strtold1.c (main): Likewise.
10735 2019-12-12  Paul Eggert  <eggert@cs.ucla.edu>
10737         dfa: prefer ptrdiff_t for API, too
10738         Also, use ‘idx_t’ for ptrdiff_t values that must be nonnegative,
10739         but do this only for internal use for now.
10740         * NEWS: Mention the API change.
10741         * lib/dfa.c (idx_t, IDX_MAX): New type and max value, for internal
10742         use for now.  Use them instead of ptrdiff_t and PTRDIFF_MAX for
10743         values known to be nonnegative.
10744         (dfaparse, dfaexec_mb, dfaexec_sb, dfaexec_noop, dfaexec):
10745         Prefer idx_t or ptrdiff_t to size_t for API.
10746         * lib/dfa.h (dfaparse, dfacomp, dfaexec):
10747         Prefer ptrdiff_t to size_t for API.
10749         stdalign: port to xlclang 16.01
10750         Problem reportd by Bruno Haible in:
10751         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00064.html
10752         * lib/stdalign.in.h (_Alignas): Do not use __attribute__
10753         ((__aligned__ (...))) with xlclang, as a top-level
10754         ‘char __attribute__ ((__aligned__ (8))) c;’ does not work with
10755         xlclang version 16.01.0000.0001; the alignment directive is ignored.
10757 2019-12-12  Bruno Haible  <bruno@clisp.org>
10759         duplocale: Fix test failure on AIX 7.2 with xlclang.
10760         * lib/duplocale.c: Include <stdlib.h>.
10761         (rpl_duplocale): Use a heap-allocated copy of the first setlocale return
10762         value.
10764 2019-12-12  Bruno Haible  <bruno@clisp.org>
10766         stddef: Document the AIX xlc issue.
10767         * doc/posix-headers/stddef.texi: Document the NULL issue with AIX xlc.
10769 2019-12-12  Bruno Haible  <bruno@clisp.org>
10771         duplocale: Don't attempt to override if locale_t does not exist.
10772         Reported by Daniel Richard G. in
10773         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00039.html>.
10774         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): If locale_t does not exist, set
10775         HAVE_DUPLOCALE to 0.
10777 2019-12-12  Bruno Haible  <bruno@clisp.org>
10779         wcwidth: Avoid test failure on AIX 7.2.
10780         * tests/test-wcwidth.c (main): Don't fail if wcwidth(0x200B) is
10781         negative.
10782         * doc/posix-functions/wcwidth.texi: Mention the AIX issue.
10784 2019-12-12  Bruno Haible  <bruno@clisp.org>
10786         ilogbl: Work around Cygwin bug.
10787         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test whether ilogbl(0.0L) is
10788         correct.
10789         * doc/posix-functions/ilogbl.texi: Mention the Cygwin bug.
10791 2019-12-12  Bruno Haible  <bruno@clisp.org>
10793         strtold: Work around Cygwin bug.
10794         * m4/strtold.m4 (gl_FUNC_STRTOLD): Add test for the underflow problem.
10795         If it is present, define STRTOLD_HAS_UNDERFLOW_BUG.
10796         * lib/strtod.c (HAVE_UNDERLYING_STRTOD): Set to 0 if
10797         STRTOLD_HAS_UNDERFLOW_BUG is defined.
10798         * doc/posix-functions/strtold.texi: Mention the Cygwin bug.
10800 2019-12-12  Bruno Haible  <bruno@clisp.org>
10802         strtold: Fix autoconf test.
10803         * m4/strtold.m4 (gl_FUNC_STRTOLD): Test strtold, not strtod.
10805 2019-12-11  Bruno Haible  <bruno@clisp.org>
10807         fsync tests: Skip test that is known to fail.
10808         * doc/posix-functions/fsync.texi: Update list of platforms.
10809         * tests/test-fsync.c (main): Skip test with read-only file descriptors
10810         that is known to fail on AIX and Cygwin.
10812 2019-12-11  Bruno Haible  <bruno@clisp.org>
10814         getaddrinfo: Fix calling convention in 32-bit mode on native Windows.
10815         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Test whether getaddrinfo has a
10816         non-POSIX signature. If so, set REPLACE_GETADDRINFO. Define
10817         HAVE_GETADDRINFO as a C macro.
10818         * lib/netdb.in.h (getaddrinfo, freeaddrinfo): If REPLACE_GETADDRINFO,
10819         declare as replacement functions.
10820         * lib/getaddrinfo.c (getaddrinfo, freeaddrinfo): If HAVE_GETADDRINFO,
10821         define as no-op overrides.
10822         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize REPLACE_GETADDRINFO.
10823         * modules/netdb (Makefile.am): Substitute REPLACE_GETADDRINFO.
10824         * modules/getaddrinfo (Depends-on, configure.ac): Test
10825         REPLACE_GETADDRINFO.
10826         * doc/posix-functions/getaddrinfo.texi: Mention calling convention
10827         problem.
10828         * doc/posix-functions/freeaddrinfo.texi: Mention header file and calling
10829         convention problems.
10831 2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>
10833         dfa: prefer signed integers for internals
10834         Signed integers can be checked more easily for integer overflow.
10835         * lib/dfa.c (position, struct lexer_state, struct parser_state)
10836         (struct dfa, mbs_to_wchar, fetch_wc, parse_bracket_exp)
10837         (struct lexptr, lex, addtok_mb, add_utf8_anychar, atom)
10838         (nsubtoks, copytoks, closure, alloc_position_set, delete)
10839         (replace, state_index, epsclosure, charclass_context)
10840         (state_separate_contexts, merge_nfa_state, dfaoptimize)
10841         (dfaanalyze, build_state, dfaexec_main, dfa_supported)
10842         (maybe_disable_superset_dfa, dfassbuild, dfafree, enlist)
10843         (comsubs, inboth, allocmust):
10844         Prefer a signed to an unsigned integer when calculating indexes,
10845         unless the integer is part of the external API (a bigger deal,
10846         and to be done later).
10848         dfa: fix index overflow
10849         * lib/dfa.c (compare): Avoid integer overflow when analyzing
10850         very large regular expressions.
10852         dfa: update commentary for previous change
10853         * NEWS: Mention the change.
10854         * lib/dfa.c, lib/dfa.h (dfaparse, dfamust, dfacomp): Update comments.
10856 2019-12-11  Norihiro Tanaka  <noritnk@kcn.ne.jp>
10858         dfa: separate parse and compile phase
10859         ‘dfamust’ must be called after parsing and before tokens are
10860         reordered, but both are executed in the compilation phase.
10861         Token reordering was introduced in Gnulib commit
10862         2018-10-22T15:01:08Z!noritnk@kcn.ne.jp
10863         (5c7a0371823876cca7a1347fa09ca26bbbff0c98).
10864         * lib/dfa.c (dfaparse): Change it to global function.
10865         (dfacomp): If first argument is NULL, skip parse.
10866         * lib/dfa.h: (dfaparse): Add a prototype.
10868 2019-12-11  Bruno Haible  <bruno@clisp.org>
10870         unistd tests: Fix link error on MSVC.
10871         * modules/unistd-c++-tests (Makefile.am): Link test-unistd-c++ against
10872         $(LIB_GETLOGIN).
10874 2019-12-11  Bruno Haible  <bruno@clisp.org>
10876         doc: Document that ISO C or POSIX substitutes are supported in C++ mode.
10877         * doc/gnulib-intro.texi (Various Kinds of Modules): Document that ISO C
10878         and POSIX substitutes are supported in C++ mode.
10879         * NEWS: Likewise.
10881 2019-12-11  Bruno Haible  <bruno@clisp.org>
10883         stddef: Fix compilation error in C++ mode on MSVC.
10884         * lib/stddef.in.h (max_align_t): With MSVC in C++ mode, don't define it;
10885         instead, include <cstddef>.
10887 2019-12-11  Bruno Haible  <bruno@clisp.org>
10889         unistd: Fix compilation error in C++ mode on MSVC.
10890         * lib/unistd.in.h: Don't do include[_next] <unistd.h> if the platform
10891         does not have <unistd.h>.
10893 2019-12-11  Bruno Haible  <bruno@clisp.org>
10895         locale: Fix compilation error in C++ mode on MSVC.
10896         * m4/locale_h.m4 (gl_LOCALE_H): Don't set REPLACE_STRUCT_LCONV on MSVC.
10897         * lib/locale.in.h (int_p_cs_precedes, int_p_sign_posn,
10898         int_p_sep_by_space, int_n_cs_precedes, int_n_sign_posn,
10899         int_n_sep_by_space): Define as macros on MSVC.
10901 2019-12-11  Bruno Haible  <bruno@clisp.org>
10903         wchar: Fix compilation error in C++ mode on MSVC.
10904         * lib/wchar.in.h (mbstate_t): Don't override on MSVC.
10906 2019-12-11  Bruno Haible  <bruno@clisp.org>
10908         pthread-thread: Fix compilation error in C++ mode on MSVC.
10909         * lib/pthread.in.h (pthread_exit): Don't use _Noreturn in the
10910         _GL_CXXALIAS_RPL invocation.
10912 2019-12-08  Bruno Haible  <bruno@clisp.org>
10914         Fix compilation errors in C++ mode on Haiku.
10915         * lib/stdio.in.h (vdprintf): Disable _GL_CXXALIASWARN invocation on
10916         non-glibc systems.
10917         * lib/spawn.in.h (posix_spawnattr_getschedpolicy,
10918         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
10919         posix_spawnattr_setschedparam): Likewise.
10920         * lib/stdlib.in.h (random, initstate_r, setstate_r): Use
10921         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
10922         * lib/unistd.in.h (usleep): Likewise.
10924 2019-12-08  Bruno Haible  <bruno@clisp.org>
10926         Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64.
10927         * m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE): New macro.
10928         * modules/fseeko (configure.ac-early): Require it instead of
10929         AC_FUNC_FSEEKO.
10930         * modules/ftello (configure.ac-early): Likewise.
10931         * modules/fflush (configure.ac-early): Likewise.
10933 2019-12-08  Bruno Haible  <bruno@clisp.org>
10935         Fix compilation error in C++ mode on HP-UX 11.
10936         * lib/unistd.in.h (getpagesize): Declare on HP-UX.
10937         * doc/glibc-functions/getpagesize.texi: Mention the HP-UX problem.
10939 2019-12-08  Bruno Haible  <bruno@clisp.org>
10941         Fix compilation errors on HP-UX 11/ia64.
10942         * lib/math.in.h (copysignf, fmaf, fma): Undefine before
10943         _GL_FUNCDECL_SYS.
10945 2019-12-08  Bruno Haible  <bruno@clisp.org>
10947         Fix compilation error in C++ mode on OpenBSD.
10948         * lib/signal.in.h (signal): Declare on OpenBSD.
10950 2019-12-08  Bruno Haible  <bruno@clisp.org>
10952         math tests: Don't fail if isfinite, isinf, isnan, signbit is a macro.
10953         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Use #warning
10954         instead of #error.
10956 2019-12-08  Bruno Haible  <bruno@clisp.org>
10958         Fix compilation errors in C++ mode on FreeBSD.
10959         * lib/pthread.in.h (pthread_exit): Remove _Noreturn from prototype.
10960         * tests/test-pthread-c++.cc (GNULIB_NAMESPACE::pthread_exit): Likewise.
10961         * lib/threads.in.h (thrd_exit): Likewise.
10962         * tests/test-threads-c++.cc (GNULIB_NAMESPACE::thrd_exit): Likewise.
10964 2019-12-08  Bruno Haible  <bruno@clisp.org>
10966         Fix compilation errors in C++ mode on macOS and FreeBSD.
10967         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on macOS
10968         or FreeBSD with clang, use the approach without C preprocessor macro.
10970 2019-12-07  Bruno Haible  <bruno@clisp.org>
10972         Fix compilation errors in C++ mode on AIX with xlclang++.
10973         Reported by Christian Biesinger <cbiesinger@google.com> in
10974         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
10975         * lib/wchar.in.h (mbstate_t): Don't override on AIX.
10977 2019-12-07  Bruno Haible  <bruno@clisp.org>
10979         Document compilation error in C++ mode on NetBSD 8.0.
10980         * doc/posix-headers/monetary.texi: Mention the NetBSD bug.
10982 2019-12-07  Bruno Haible  <bruno@clisp.org>
10984         Fix compilation errors in C++ mode on Solaris 10.
10985         * m4/stdbool.m4 (AM_STDBOOL_H): Require AC_CANONICAL_HOST. Set STDBOOL_H
10986         to non-empty on Solaris with a non-GCC compiler.
10987         * doc/posix-headers/stdbool.texi: Mention the Solaris issue.
10989 2019-12-07  Bruno Haible  <bruno@clisp.org>
10991         Reword NEWS entry.
10992         * NEWS: Reword the latest NEWS entry.
10994 2019-12-05  Pino Toscano  <ptoscano@redhat.com>
10996         Move xstrtol_fatal to a new xstrtol-error module.
10997         * lib/xstrtol.h: Stop including <getopt.h>.
10998         (xstrtol_fatal): Move ...
10999         * lib/xstrtol-error.h: ... here.  New file.
11000         * lib/xstrtol-error.c: Include xstrtol-error.h instead of xstrtol.h.
11001         * tests/test-xstrtol.c: Likewise.
11002         * modules/xstrtol (Files): Remove lib/xstrtol-error.c.
11003         (Depends-on): Remove exitfail, error, getopt-gnu, and gettext-h.
11004         (Makefile.am): Remove xstrtol-error.c from lib_SOURCES.
11005         * modules/xstrtol-error: New file.
11006         * modules/xstrtol-tests (Depends-on): Add xstrtol-error.
11007         * MODULES.html.sh: Add xstrtol-error.
11008         * NEWS: Document the change.
11010 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
11012         nstrftime: better width support for %N, %z
11013         * lib/nstrftime.c (width_add, width_add1, width_cpy):
11014         New macros, which generalize ‘add’, ‘add1’, ‘cpy’ by adding
11015         a new WIDTH parameter.
11016         (add, add1, cpy): Use these macros.
11017         (width_add): Do not treat digits == 0 as a special case,
11018         do not pad if padding is ‘-’, and do not use a negative width.
11019         (__strftime_internal): Redo formatting of nanoseconds and numeric
11020         timezones to avoid buffer misuse in unusual cases, and so that
11021         widths make more sense.  Add support for widths greater than 9 to
11022         the %N format; they are zero filled on the right.
11023         * tests/test-nstrftime.c (posixtm_test): Add a %12N test.
11025 2019-12-05  Bruno Haible  <bruno@clisp.org>
11027         Fix compilation errors in C++ mode on Solaris 10 and Solaris 11.
11028         * m4/isfinite.m4 (gl_ISFINITE): Require AC_CANONICAL_HOST. On Solaris,
11029         set REPLACE_ISFINITE to 1.
11030         * m4/isinf.m4 (gl_ISINF): Require AC_CANONICAL_HOST. On Solaris, set
11031         REPLACE_ISINF to 1.
11032         * m4/signbit.m4 (gl_SIGNBIT): On Solaris, set REPLACE_SIGNBIT to 1.
11033         * lib/pthread.in.h (pthread_create, pthread_once, pthread_key_create):
11034         Use _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
11035         * lib/threads.in.h (call_once): Likewise.
11036         * lib/iconv.in.h (iconv): Likewise.
11038 2019-12-05  Bruno Haible  <bruno@clisp.org>
11040         wchar: Add more C++ tests.
11041         Reported by Christian Biesinger <cbiesinger@google.com> in
11042         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
11043         * tests/test-wchar-c++3.cc: New file.
11044         * modules/wchar-c++-tests (Files): Add it.
11045         (Makefile.am): Compile it.
11047 2019-12-05  Bruno Haible  <bruno@clisp.org>
11049         Add more C++ tests.
11051         assert-h: Add C++ tests.
11052         * tests/test-assert-h-c++.cc: New file.
11053         * tests/test-assert-h-c++2.cc: New file.
11054         * modules/assert-h-c++-tests: New file.
11055         * modules/assert-h-tests: New file.
11057         ctype: Add C++ tests.
11058         * tests/test-ctype-c++.cc: New file.
11059         * tests/test-ctype-c++2.cc: New file.
11060         * modules/ctype-c++-tests: New file.
11061         * modules/ctype-tests (Depends-on): Add ctype-c++-tests.
11063         errno: Add C++ tests.
11064         * tests/test-errno-c++.cc: New file.
11065         * tests/test-errno-c++2.cc: New file.
11066         * modules/errno-c++-tests: New file.
11067         * modules/errno-tests (Depends-on): Add errno-c++-tests.
11069         float: Add C++ tests.
11070         * tests/test-float-c++.cc: New file.
11071         * tests/test-float-c++2.cc: New file.
11072         * modules/float-c++-tests: New file.
11073         * modules/float-tests (Depends-on): Add float-c++-tests.
11075         inttypes: Add more C++ tests.
11076         * tests/test-inttypes-c++2.cc: New file.
11077         * modules/inttypes-c++-tests (Files): Add it.
11078         (Makefile.am): Compile it.
11080         limits-h: Add C++ tests.
11081         * tests/test-limits-h-c++.cc: New file.
11082         * tests/test-limits-h-c++2.cc: New file.
11083         * modules/limits-h-c++-tests: New file.
11084         * modules/limits-h-tests (Depends-on): Add limits-h-c++-tests.
11086         stdarg: Add C++ tests.
11087         * tests/test-stdarg-c++.cc: New file.
11088         * tests/test-stdarg-c++2.cc: New file.
11089         * modules/stdarg-c++-tests: New file.
11090         * modules/stdarg-tests: New file.
11092         stdbool: Add C++ tests.
11093         * tests/test-stdbool-c++.cc: New file.
11094         * tests/test-stdbool-c++2.cc: New file.
11095         * modules/stdbool-c++-tests: New file.
11096         * modules/stdbool-tests (Depends-on): Add stdbool-c++-tests.
11098         stddef: Add C++ tests.
11099         * tests/test-stddef-c++.cc: New file.
11100         * tests/test-stddef-c++2.cc: New file.
11101         * modules/stddef-c++-tests: New file.
11102         * modules/stddef-tests (Depends-on): Add stddef-c++-tests.
11104         stdint: Add C++ tests.
11105         * tests/test-stdint-c++.cc: New file.
11106         * tests/test-stdint-c++2.cc: New file.
11107         * modules/stdint-c++-tests: New file.
11108         * modules/stdint-tests (Depends-on): Add stdint-c++-tests.
11110         wchar: Add more C++ tests.
11111         * tests/test-wchar-c++2.cc: New file.
11112         * modules/wchar-c++-tests (Files): Add it.
11113         (Makefile.am): Compile it.
11115         wctype-h: Add more C++ tests.
11116         * tests/test-wctype-h-c++2.cc: New file.
11117         * modules/wctype-h-c++-tests (Files): Add it.
11118         (Makefile.am): Compile it.
11120 2019-12-04  Bruno Haible  <bruno@clisp.org>
11122         Fix compilation errors in C++ mode with xlclang++ on AIX.
11123         * lib/math.in.h (expm1l, fmal, remainderl, roundl): Don't redeclare in
11124         C++ mode on AIX.
11125         (isfinite, signbit): In C++ mode on AIX with clang, use the approach
11126         without C preprocessor macro.
11127         * lib/pthread.in.h (pthread_exit): Use _GL_CXXALIAS_SYS_CAST instead of
11128         _GL_CXXALIAS_SYS.
11129         * lib/threads.in.h (thrd_exit): Likewise.
11131 2019-12-04  Bruno Haible  <bruno@clisp.org>
11133         Fix compilation error in C++ mode on Solaris 11 OpenIndiana.
11134         * lib/wchar.in.h (wcsnrtombs): Force declaration in C++ mode on Solaris.
11135         * doc/posix-functions/wcsnrtombs.texi: Mention the issue.
11137 2019-12-04  Bruno Haible  <bruno@clisp.org>
11139         Disable more _GL_CXXALIASWARN on all platforms other than glibc systems.
11140         * lib/wchar.in.h (wcsnrtombs, wcwidth, wcswidth): Disable
11141         _GL_CXXALIASWARN invocation on non-glibc systems.
11142         * lib/wctype.in.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswgraph,
11143         iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, wctype,
11144         iswctype, towlower, towupper): Likewise.
11146 2019-12-03  Bruno Haible  <bruno@clisp.org>
11148         Avoid hassles caused by [[noreturn]] in C++.
11149         Reported by Christian Biesinger <cbiesinger@google.com> in
11150         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00010.html>.
11151         * m4/gnulib-common.m4 (gl_COMMON_BODY): Disable the use of [[noreturn]].
11152         * lib/_Noreturn.h: Likewise.
11154 2019-12-02  Bruno Haible  <bruno@clisp.org>
11156         Fix mistakes in --enable-threads=isoc fixes from 2019-12-01.
11157         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Use LIBPMULTITHREAD, not
11158         LIBMULTITHREAD.
11159         * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.
11160         * m4/pthread-thread.m4 (gl_PTHREAD_THREAD): Likewise.
11161         * m4/timer_time.m4 (gl_TIMER_TIME): Likewise. Require gl_PTHREADLIB, not
11162         gl_THREADLIB.
11163         * modules/timer-time (Depends-on): Add pthread-h. Remove threadlib.
11165 2019-12-02  Bruno Haible  <bruno@clisp.org>
11167         Fix some more link errors with --enable-threads=isoc.
11168         * modules/pthread-mutex (Depends-on): Test $gl_threads_api differently.
11169         * modules/pthread-rwlock (Depends-on): Likewise.
11171 2019-12-02  Bruno Haible  <bruno@clisp.org>
11173         Fix link errors with --enable-threads=posix on AIX.
11174         * modules/string-c++-tests (Makefile.am): Link the test-string-c++
11175         program with $(LIBTHREAD).
11176         * modules/wchar-c++-tests (Makefile.am): Link the test-wchar-c++
11177         program with $(LIBTHREAD).
11179 2019-12-02  Bruno Haible  <bruno@clisp.org>
11181         Fix link errors with --enable-threads=posix on AIX.
11182         * modules/mbrtowc (Link): New section.
11183         * modules/acl (Link): Likewise.
11184         * modules/argmatch (Link): Likewise.
11185         * modules/backup-rename (Link): Likewise.
11186         * modules/backupfile (Link): Likewise.
11187         * modules/closein (Link): Likewise.
11188         * modules/closeout (Link): Likewise.
11189         * modules/copy-file (Link): Likewise.
11190         * modules/csharpcomp (Link): Likewise.
11191         * modules/csharpexec (Link): Likewise.
11192         * modules/dfa (Link): Likewise.
11193         * modules/exclude (Link): Likewise.
11194         * modules/fnmatch (Link): Likewise.
11195         * modules/fnmatch-gnu (Link): Likewise.
11196         * modules/fnmatch-posix (Link): Likewise.
11197         * modules/glob (Link): Likewise.
11198         * modules/human (Link): Likewise.
11199         * modules/javacomp (Link): Likewise.
11200         * modules/javaexec (Link): Likewise.
11201         * modules/javaversion (Link): Likewise.
11202         * modules/mbfile (Link): Likewise.
11203         * modules/mbiter (Link): Likewise.
11204         * modules/mbmemcasecmp (Link): Likewise.
11205         * modules/mbmemcasecoll (Link): Likewise.
11206         * modules/mbrlen (Link): Likewise.
11207         * modules/mbscasecmp (Link): Likewise.
11208         * modules/mbscasestr (Link): Likewise.
11209         * modules/mbschr (Link): Likewise.
11210         * modules/mbscspn (Link): Likewise.
11211         * modules/mbsinit (Link): Likewise.
11212         * modules/mbslen (Link): Likewise.
11213         * modules/mbsncasecmp (Link): Likewise.
11214         * modules/mbsnlen (Link): Likewise.
11215         * modules/mbsnrtowcs (Link): Likewise.
11216         * modules/mbspbrk (Link): Likewise.
11217         * modules/mbspcasecmp (Link): Likewise.
11218         * modules/mbsrchr (Link): Likewise.
11219         * modules/mbsrtowcs (Link): Likewise.
11220         * modules/mbssep (Link): Likewise.
11221         * modules/mbsspn (Link): Likewise.
11222         * modules/mbsstr (Link): Likewise.
11223         * modules/mbstok_r (Link): Likewise.
11224         * modules/mbswidth (Link): Likewise.
11225         * modules/mbuiter (Link): Likewise.
11226         * modules/mkdir-p (Link): Likewise.
11227         * modules/propername (Link): Likewise.
11228         * modules/quote (Link): Likewise.
11229         * modules/quotearg (Link): Likewise.
11230         * modules/quotearg-simple (Link): Likewise.
11231         * modules/regex-quote (Link): Likewise.
11232         * modules/rpmatch (Link): Likewise.
11233         * modules/sh-quote (Link): Likewise.
11234         * modules/system-quote (Link): Likewise.
11235         * modules/trim (Link): Likewise.
11236         * modules/unistdio/ulc-asnprintf (Link): Likewise.
11237         * modules/unistdio/ulc-fprintf (Link): Likewise.
11238         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
11239         * modules/unistdio/ulc-vasprintf (Link): Likewise.
11240         * modules/unistdio/ulc-vfprintf (Link): Likewise.
11241         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
11242         * modules/unistdio/ulc-vsprintf (Link): Likewise.
11243         * modules/xfreopen (Link): Likewise.
11244         * modules/xmemcoll (Link): Likewise.
11245         * modules/yesno (Link): Likewise.
11246         * modules/acl-tests (Makefile.am): Link the programs with $(LIBTHREAD).
11247         * modules/argmatch-tests (Makefile.am): Likewise.
11248         * modules/closein-tests (Makefile.am): Likewise.
11249         * modules/copy-file-tests (Makefile.am): Likewise.
11250         * modules/dfa-tests (Makefile.am): Likewise.
11251         * modules/fnmatch-tests (Makefile.am): Likewise.
11252         * modules/glob-tests (Makefile.am): Likewise.
11253         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
11254         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
11255         * modules/mbrtowc-tests (Makefile.am): Likewise.
11256         * modules/mbscasecmp-tests (Makefile.am): Likewise.
11257         * modules/mbscasestr-tests (Makefile.am): Likewise.
11258         * modules/mbschr-tests (Makefile.am): Likewise.
11259         * modules/mbscspn-tests (Makefile.am): Likewise.
11260         * modules/mbsinit-tests (Makefile.am): Likewise.
11261         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
11262         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
11263         * modules/mbspbrk-tests (Makefile.am): Likewise.
11264         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
11265         * modules/mbsrchr-tests (Makefile.am): Likewise.
11266         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
11267         * modules/mbsspn-tests (Makefile.am): Likewise.
11268         * modules/mbsstr-tests (Makefile.am): Likewise.
11269         * modules/quotearg-tests (Makefile.am): Likewise.
11270         * modules/quotearg-simple-tests (Makefile.am): Likewise.
11271         * modules/readtokens-tests (Makefile.am): Likewise.
11272         * modules/regex-quote-tests (Makefile.am): Likewise.
11273         * modules/sh-quote-tests (Makefile.am): Likewise.
11274         * modules/system-quote-tests (Makefile.am): Likewise.
11275         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
11276         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
11277         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
11278         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
11279         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
11280         * modules/yesno-tests (Makefile.am): Likewise.
11282 2019-12-02  Bruno Haible  <bruno@clisp.org>
11284         Simplify link sections.
11285         * modules/threadlib (Link): Stop mentioning LTLIBTHREAD.
11286         * modules/lock (Link): Likewise.
11287         * modules/cond (Link): Likewise.
11288         * modules/tls (Link): Likewise.
11289         * modules/yield (Link): Likewise.
11290         * modules/regex (Link): Likewise.
11291         * modules/localename (Link): Likewise.
11292         * modules/unicase/locale-language (Link): Likewise.
11293         * modules/thread (Link): Stop mentioning LTLIBMULTITHREAD.
11295 2019-12-02  Bruno Haible  <bruno@clisp.org>
11297         thread tests: Avoid link error with --enable-threads=isoc+posix on AIX.
11298         * tests/test-thread_self.c (main): Disable test on AIX.
11300 2019-12-01  Bruno Haible  <bruno@clisp.org>
11302         pthread-h: Fix link errors with --enable-threads=isoc on AIX.
11303         * m4/threadlib.m4 (gl_ANYTHREADLIB_EARLY): New macro, extracted from
11304         gl_THREADLIB_EARLY_BODY.
11305         (gl_THREADLIB_EARLY_BODY): Invoke it.
11306         (gl_PTHREADLIB_BODY): New macro, extracted from gl_THREADLIB_BODY.
11307         (gl_THREADLIB_BODY): Invoke it.
11308         (gl_PTHREADLIB): New macro.
11309         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_PTHREADLIB. Require
11310         gl_THREADLIB and test $gl_threads_api only if module 'threadlib' is
11311         present. Define LIB_PTHREAD using LIBPMULTITHREAD, not LIBMULTITHREAD.
11312         * modules/pthread-h (Files): Add threadlib.m4.
11313         (Depends-on): Remove threadlib.
11314         (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY. Don't set _REENTRANT
11315         and _THREAD_SAFE here.
11316         (Link): Use LIBPTHREAD, not LIBTHREAD.
11317         * modules/pthread-thread (Link): Use LIBPMULTITHREAD, not
11318         LIBMULTITHREAD.
11319         * modules/pthread-once (Link): Likewise.
11320         * modules/pthread-mutex (Link): Likewise.
11321         * modules/pthread-rwlock (Link): Likewise.
11322         * modules/pthread-cond (Link): Likewise.
11323         * modules/pthread-tss (Link): Likewise.
11324         * modules/pthread-spin (Link): Likewise.
11325         * modules/pthread (Link): Likewise.
11326         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Likewise.
11327         * modules/pthread-thread-tests (test_pthread_thread_LDADD): Likewise.
11328         * modules/pthread-once-tests (test_pthread_once1_LDADD,
11329         test_pthread_once2_LDADD): Likewise.
11330         * modules/pthread-mutex-tests (test_pthread_mutex_LDADD): Likewise.
11331         * modules/pthread-rwlock-tests (test_pthread_rwlock_LDADD): Likewise.
11332         * modules/pthread-cond-tests (test_pthread_cond_LDADD): Likewise.
11333         * modules/pthread-tss-tests (test_pthread_tss_LDADD): Likewise.
11335 2019-12-01  Bruno Haible  <bruno@clisp.org>
11337         cond: State linking requirements.
11338         * modules/cond (Link): New section.
11340 2019-12-01  Bruno Haible  <bruno@clisp.org>
11342         threadlib: Remove unnecessary file (left over from 2019-07-06).
11343         * modules/threadlib (Files): Remove config.rpath.
11345 2019-11-29  Tim Rühsen  <tim.ruehsen@gmx.de>
11347         gnulib-tool.py: Fix libgnu_la_LDFLAGS section in generated Makefile.am.
11348         Reported by Dagobert Michelsen <dam@opencsw.org> in
11349         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00086.html>.
11350         * pygnulib/GLModuleSystem.py (getLink): Don't join the parts. Return a
11351         list of strings instead of one string.
11352         * pygnulib/GLEmiter.py (lib_Makefile_am): Adapt accordingly.
11353         * pygnulib/GLImport.py (execute): Likewise.
11355 2019-11-27  Bruno Haible  <bruno@clisp.org>
11357         openpty, forkpty: Fix build error on Solaris 11.4.
11358         * m4/pty_h.m4 (gl_PTY_H): Test for termios.h. Look for the declarations
11359         also in <termios.h>.
11360         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Look for the declaration
11361         of the function also in <termios.h>.
11362         * doc/glibc-functions/openpty.texi: Mention the Solaris 11.4 problems.
11363         * doc/glibc-functions/forkpty.texi: Likewise.
11365 2019-11-27  Bruno Haible  <bruno@clisp.org>
11367         New options --enable-threads=isoc and --enable-threads=isoc+posix.
11368         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Accept the options
11369         --enable-threads=isoc and --enable-threads=isoc+posix.
11370         (gl_THREADLIB_BODY): Test whether the ISO C threads API is available.
11371         When both the ISO C and the POSIX threads API are available, choose
11372         USE_ISOC_AND_POSIX_THREADS instead of USE_POSIX_THREADS if
11373         --enable-threads=isoc+posix was specified. When only the ISO C threads
11374         API is available and --enable-threads=iso was specified, choose
11375         USE_ISOC_THREADS.
11376         * lib/glthread/lock.h: Add new code for USE_ISOC_THREADS ||
11377         USE_ISOC_AND_POSIX_THREADS.
11378         * lib/glthread/lock.c: Likewise.
11379         * lib/glthread/cond.h: Likewise.
11380         * lib/glthread/cond.c: Likewise.
11381         * lib/glthread/tls.h: Likewise.
11382         * lib/glthread/tls.c: Likewise.
11383         * lib/glthread/yield.h: Likewise.
11384         * lib/glthread/thread.h: Add new code for USE_ISOC_THREADS. Treat
11385         USE_ISOC_AND_POSIX_THREADS like USE_POSIX_THREADS.
11386         * lib/glthread/thread.c: Likewise.
11387         * lib/glthread/threadlib.c: Likewise.
11388         * tests/test-lock.c: Save and restore the values of USE_ISOC_THREADS and
11389         USE_ISOC_AND_POSIX_THREADS.
11390         * tests/test-cond.c: Consider USE_ISOC_THREADS and
11391         USE_ISOC_AND_POSIX_THREADS.
11392         * tests/test-tls.c: Likewise.
11393         * tests/test-thread_create.c (main): Likewise.
11394         * tests/test-pthread-cond.c: Likewise.
11395         * tests/test-pthread-mutex.c: Likewise.
11396         * tests/test-pthread-once2.c: Likewise.
11397         * tests/test-pthread-rwlock.c: Likewise.
11398         * tests/test-pthread-tss.c: Likewise.
11399         * tests/test-pthread_sigmask2.c: Treat USE_ISOC_AND_POSIX_THREADS like
11400         USE_POSIX_THREADS.
11402 2019-11-24  Bruno Haible  <bruno@clisp.org>
11404         mbrtowc: Modernize autoconf test.
11405         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Require
11406         gt_LOCALE_FR_UTF8. If a traditional Japanese locale is not available,
11407         try a UTF-8 locale.
11408         * doc/posix-functions/mbrtowc.texi: Update info about AIX.
11410 2019-11-24  Bruno Haible  <bruno@clisp.org>
11412         Fix errors in C++ mode on mingw.
11413         * lib/arpa_inet.in.h (inet_ntop, inet_pton): Use _GL_CXXALIAS_SYS_CAST
11414         instead of _GL_CXXALIAS_SYS.
11415         * lib/signal.in.h (pthread_sigmask): Likewise.
11416         * lib/spawn.in.h (posix_spawn_file_actions_addopen,
11417         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
11418         Likewise.
11419         * lib/wchar.in.h (btowc): Likewise.
11421 2019-11-24  Bruno Haible  <bruno@clisp.org>
11423         sys_time: Fix errors in C++ mode on mingw.
11424         * lib/sys_time.in.h (timeval): Restore the redirection
11425         '#define timeval rpl_timeval', for when the symbol timeval is being used
11426         outside the 'gnulib' namespace.
11427         * lib/sys_select.in.h (select): In C++, write 'timeval', not
11428         'struct timeval'.
11430 2019-11-24  Bruno Haible  <bruno@clisp.org>
11432         iswctype: Fix errors in C++ mode on mingw.
11433         * lib/wctype.in.h (rpl_iswctype): Override if GNULIB_OVERRIDES_WINT_T
11434         is 1.
11435         * lib/iswctype.c (iswctype): Add another implementation, for the
11436         GNULIB_defined_wint_t case.
11437         * modules/iswctype (configure.ac): Compile iswctype.c also if
11438         GNULIB_OVERRIDES_WINT_T is 1.
11440 2019-11-24  Bruno Haible  <bruno@clisp.org>
11442         windows-timedmutex: Fix errors in C++ mode on mingw.
11443         * lib/windows-timedmutex.h: Add closing brace.
11445 2019-11-24  Bruno Haible  <bruno@clisp.org>
11447         Fix errors in C++ mode on Cygwin.
11448         * lib/sys_wait.in.h (waitpid): Use _GL_CXXALIAS_SYS_CAST instead of
11449         _GL_CXXALIAS_SYS.
11451 2019-11-24  Bruno Haible  <bruno@clisp.org>
11453         time_r: Fix for mingw (regression from 2019-11-16).
11454         * m4/time_r.m4 (gl_TIME_R): Revert to using AC_CHECK_FUNCS_ONCE. Use the
11455         AC_LINK_IFELSE test only if the function does not appear to exist.
11457 2019-11-24  Bruno Haible  <bruno@clisp.org>
11459         wcstok: Add tests.
11460         * tests/test-wcstok.c: New file.
11461         * modules/wcstok-tests: New file.
11463 2019-11-24  Bruno Haible  <bruno@clisp.org>
11465         wcstok: Work around wrong signature on native Windows.
11466         * lib/wchar.in.h (wcstok): Override when REPLACE_WCSTOK is 1.
11467         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Check for signature of wcstok. Set
11468         REPLACE_WCSTOK.
11469         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSTOK.
11470         * modules/wchar (Makefile.am): Substitute REPLACE_WCSTOK.
11471         * modules/wcstok (Depends-on, configure.ac): Consider REPLACE_WCSTOK.
11472         * doc/posix-functions/wcstok.texi: Mention the problem.
11474 2019-11-22  Paul Eggert  <eggert@cs.ucla.edu>
11476         intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
11477         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 8.x where 4 <= x,
11478         remove workaround for GCC bug 91450 as the bug should be fixed
11479         there too.
11481 2019-11-21  Bruno Haible  <bruno@clisp.org>
11483         Disable many _GL_CXXALIASWARN on all platforms other than glibc systems.
11484         Reported by Christian Biesinger <cbiesinger@google.com> in
11485         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00066.html>.
11486         * lib/fnmatch.in.h (fnmatch): Disable _GL_CXXALIASWARN invocation on
11487         non-glibc systems.
11488         * lib/locale.in.h (localeconv, setlocale): Likewise.
11489         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
11490         frexp, hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder,
11491         rint, round, trunc): Likewise.
11492         * lib/monetary.in.h (strfmon_l): Likewise.
11493         * lib/pthread.in.h (pthread_mutexattr_getrobust,
11494         pthread_mutexattr_setrobust, pthread_mutex_lock, pthread_spin_init,
11495         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock,
11496         pthread_spin_destroy): Likewise.
11497         * lib/signal.in.h (raise, signal): Likewise.
11498         * lib/stdio.in.h (fclose, fflush, fgetc, fgets, fopen, fprintf, fputc,
11499         fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar,
11500         perror, printf, putc, putchar, puts, remove, rename, scanf, sprintf,
11501         tmpfile, vfprintf, vprintf, vsprintf): Likewise.
11502         * lib/stdlib.in.h (calloc, malloc, mbtowc, realloc, strtod, wctomb):
11503         Likewise.
11504         * lib/string.in.h (memchr, strncat, strpbrk, strstr, strerror):
11505         Likewise.
11506         * lib/time.in.h (mktime, localtime, ctime, strftime): Likewise.
11507         * lib/wchar.in.h (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs,
11508         wcrtomb, wcsrtombs, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset,
11509         wcslen, wcscpy, wcsncpy, wcscat, wcsncat, wcscmp, wcsncmp, wcscoll,
11510         wcsxfrm, wcschr, wcsrchr, wcscspn, wcsspn, wcspbrk, wcsstr, wcstok,
11511         wcsftime): Likewise.
11512         * lib/wctype.in.h (iswblank, wctrans, towctrans): Likewise.
11514 2019-11-21  Bruno Haible  <bruno@clisp.org>
11516         Fix various errors in _GL_CXXALIAS_SYS invocations.
11517         * lib/locale.in.h (freelocale): Use _GL_CXXALIAS_SYS_CAST instead of
11518         _GL_CXXALIAS_SYS.
11519         * lib/pthread.in.h (pthread_mutexattr_gettype,
11520         pthread_mutexattr_getrobust): Likewise.
11521         * lib/stdlib.in.h (srandom, initstate, setstate): Likewise.
11522         * lib/sys_socket.in.h (recv, send): Likewise.
11523         * lib/unistd.in.h (getdtablesize): Likewise.
11524         * lib/sys_select.in.h (select): In C++, write 'timeval' instead of
11525         'struct timeval'.
11527 2019-11-21  Bruno Haible  <bruno@clisp.org>
11529         math tests: Update after 2019-08-28 change.
11530         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Expect a
11531         return type of 'bool', not 'int'.
11533 2019-11-21  Bruno Haible  <bruno@clisp.org>
11535         pthread-spin: Fix errors in C++ mode.
11536         * m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Mark the pthread_spin_*
11537         functions as nonexistent when <pthread.h> exists but does not define
11538         the pthread_spinlock_t type.
11540 2019-11-21  Bruno Haible  <bruno@clisp.org>
11542         pthread-mutex: Fix errors in C++ mode.
11543         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Test whether
11544         pthread_mutexattr_getrobust exists. If not, define
11545         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
11546         * lib/pthread-mutex.c (pthread_mutexattr_getrobust,
11547         pthread_mutexattr_setrobust): Define also if <pthread.h> exists but
11548         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
11549         * modules/pthread-mutex (configure.ac): Compile pthread-mutex.c also
11550         when <pthread.h> exists but pthread_mutexattr_getrobust needs a gnulib
11551         definition.
11553 2019-11-19  Bruno Haible  <bruno@clisp.org>
11555         threads-h tests: Fix typo.
11556         * tests/test-threads-c++.cc: Fix references to undefined type 'mtx'.
11558 2019-11-19  Bruno Haible  <bruno@clisp.org>
11560         pthread-thread: Fix prototype of pthread_attr_getdetachstate.
11561         * lib/pthread.in.h (pthread_attr_getdetachstate): Change first parameter
11562         to 'const pthread_attr_t *'.
11563         * lib/pthread-thread.c (pthread_attr_getdetachstate): Likewise.
11564         * tests/test-pthread-c++.cc (pthread_attr_getdetachstate): Likewise.
11566 2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>
11568         intprops: speed up INT_MULTIPLY_WRAPV in GCC 9.3
11569         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 9.3 or later, do not
11570         work around GCC bug 91450 as the bug should be fixed there.
11572 2019-11-18  Paul Eggert  <eggert@cs.ucla.edu>
11574         glob: get closer to glibc glob.c
11575         Omit differences from glibc when the differences don’t matter.
11576         * lib/glob.c [_LIBC]: Include shlib-compat.h.
11577         (__glob) [!_LIBC]: New macro.  All uses of glob changed to __glob.
11578         (glob_lstat): New function.
11579         (glob_in_dir): Use it.
11580         (GLOB_ATTRIBUTE): Define to empty if not already defined.
11581         Use changed.
11583 2019-11-18  Bruno Haible  <bruno@clisp.org>
11585         stdint: Define [u]intptr_t correctly on 64-bit native Windows.
11586         * lib/stdint.in.h (gl_intptr_t, gl_uintptr_t, INTPTR_MIN, INTPTR_MAX,
11587         UINTPTR_MAX): Consider _WIN64.
11588         * tests/test-stdint.c: Verify that [u]intptr_t is large enough to hold
11589         a pointer.
11591 2019-11-18  Bruno Haible  <bruno@clisp.org>
11593         stdint: Fix value of WINT_MAX when we override wint_t.
11594         * lib/stdint.in.h (WINT_MIN, WINT_MAX): Don't override a second time
11595         when GNULIB_OVERRIDES_WINT_T is 1.
11597 2019-11-18  Bruno Haible  <bruno@clisp.org>
11599         vcs-to-changelog: New module.
11600         * modules/vcs-to-changelog: New file.
11601         * MODULES.html.sh (func_all_modules): Add it.
11603 2019-11-01  Siddhesh Poyarekar  <siddhesh@gotplt.org>
11605         vcs-to-changelog: New script to generate ChangeLog-like output.
11606         Discussion:
11607         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00062.html>
11608         * build-aux/vcs_to_changelog.py: New file.
11609         * build-aux/vcstocl/frontend_c.py: New file.
11610         * build-aux/vcstocl/misc_util.py: New file.
11611         * build-aux/vcstocl/vcs_git.py: New file.
11613 2019-11-18  Bruno Haible  <bruno@clisp.org>
11615         stdint: Avoid triggering a "conflicting types" error on mingw 5.22.
11616         Reported by Keith Marshall <keith@users.osdn.me> in
11617         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00044.html>
11618         and <https://osdn.net/projects/mingw/ticket/39677>.
11619         * lib/stdint.in.h (intptr_t, uintptr_t): Don't define if the types have
11620         already been defined by mingw's <crtdefs.h>.
11622 2019-11-18  Bruno Haible  <bruno@clisp.org>
11624         gnulib-tool: Fix build error on macOS with --conditional-dependencies.
11625         * gnulib-tool (func_modules_add_dummy): Ignore modules that are
11626         conditionally enabled.
11628 2019-11-18  Bruno Haible  <bruno@clisp.org>
11630         gc: Mirror libgcrypt.m4 from libgcrypt.
11631         * config/srclistvars.sh (LIBGCRYPT): New variable.
11632         * config/srclist.txt: Use it to fetch m4/libgcrypt.m4.
11634 2019-11-17  Bruno Haible  <bruno@clisp.org>
11636         locale, localename: Improve z/OS support.
11637         Reported by Daniel Richard G. in
11638         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>.
11639         * m4/locale_h.m4 (gl_LOCALE_T): New macro, partially extracted from
11640         gl_LOCALE_H.
11641         (gl_LOCALE_H): Require it.
11642         * m4/localename.m4 (gl_LOCALENAME): Likewise. If locale_t is not
11643         defined, don't even check for newlocale, duplocale, freelocale.
11644         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Make the test fail when
11645         locale_t is not defined.
11647 2019-11-17  Bruno Haible  <bruno@clisp.org>
11649         havelib: Make libdirstems processing more flexible.
11650         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Set 3 libdirstem
11651         variables: Consider 'lib' always, also on Solaris. Look for lib32 in
11652         addition to lib64. Don't invoke /usr/bin/gcc (reverting the second
11653         patch from 2017-02-19).
11654         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Consider up to 3 additional
11655         libdirs, even when the first one exists as a directory.
11657 2019-11-17  Bruno Haible  <bruno@clisp.org>
11659         havelib: Match the bitness when searching for libraries.
11660         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Define a function
11661         acl_is_expected_elfclass.
11662         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When testing whether a library
11663         file exists, in ELF, also test whether it has the ELF class that
11664         corresponds to the host's bitness.
11666 2019-11-17  Bruno Haible  <bruno@clisp.org>
11668         host-cpu-c-abi: Add support for unknown CPUs.
11669         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): Set
11670         gl_cv_host_cpu_c_abi_32bit to 'unknown' if we don't know whether it's
11671         32-bit or 64-bit.
11673 2019-11-17  Bruno Haible  <bruno@clisp.org>
11675         havelib: Remove redundant code.
11676         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Remove Solaris specific
11677         test for 64-bit host. Use gl_HOST_CPU_C_ABI_32BIT result instead.
11679 2019-11-17  Bruno Haible  <bruno@clisp.org>
11681         havelib: Fix a bug in dependency processing.
11682         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): During dependency processing
11683         of .la files, don't overwrite the value of additional_libdir for the
11684         next rounds.
11686 2019-11-16  Bruno Haible  <bruno@clisp.org>
11688         wctype-h: When overriding wint_t, override also the related functions.
11689         Reported by Christian Biesinger <cbiesinger@google.com> in
11690         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00027.html>.
11691         * m4/wctype_h.m4 (gl_WCTYPE_H): When GNULIB_OVERRIDES_WINT_T is 1, set
11692         REPLACE_ISWCNTRL to 1.
11693         * lib/wctype.in.h (rpl_iswalnum, rpl_iswalpha, rpl_iswblank,
11694         rpl_iswcntrl, rpl_iswdigit, rpl_iswgraph, rpl_iswlower, rpl_iswprint,
11695         rpl_iswpunct, rpl_iswspace, rpl_iswupper, rpl_iswxdigit, rpl_towlower,
11696         rpl_towupper): New definitions when GNULIB_OVERRIDES_WINT_T is 1.
11697         * doc/posix-headers/wchar.texi: Mention that wint_t is also overridden
11698         on mingw.
11699         * doc/posix-headers/wctype.texi: Likewise.
11701 2019-11-16  Bruno Haible  <bruno@clisp.org>
11703         time_r: Fix for mingw.
11704         Reported by Christian Biesinger <cbiesinger@google.com> in
11705         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00014.html>.
11706         * lib/time.in.h: On mingw, include <unistd.h>.
11707         * m4/time_r.m4 (gl_TIME_R): On mingw, include <unistd.h> before
11708         <time.h>. Test for localtime_r in a way that works when it is defined
11709         as an inline function.
11711 2019-11-13  Bruno Haible  <bruno@clisp.org>
11713         havelib: Revert last change.
11714         * build-aux/config.rpath: Revert last change. We can add msys2 support
11715         when it has been added to libtool.m4 upstream.
11717 2019-11-09  Paul Eggert  <eggert@cs.ucla.edu>
11719         config: add msys support
11720         Requested by Arnold Robbins in:
11721         https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html
11722         He also requested a change to config.guess, which I’ll forward
11723         upstream.
11724         * build-aux/ar-lib (func_file_conv):
11725         * build-aux/compile (func_file_conv):
11726         * build-aux/config.rpath (wl, with_gnu_ld)
11727         (hardcode_libdir_flag_spec, libext, shrext, library_names_spec):
11728         Treat msys like cygwin.
11730 2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>
11732         regex: now back in sync with glibc
11733         * config/srclist.txt: regcomp.c, regex_internal.c, regex_internal.h,
11734         regexec.c got merged into glibc and are now copies again.
11736 2019-10-27  Bruno Haible  <bruno@clisp.org>
11738         host-cpu-c-abi: Recognize i386 and a couple of other CPUs as 32-bit.
11739         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Include i386 in the case
11740         statement.
11741         (gl_HOST_CPU_C_ABI_32BIT): Likewise. Also recognize a couple of other
11742         32-bit CPUs.
11744 2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11746         timespec-add, timespec-sub: simplify
11747         * lib/timespec-add.c (timespec_add):
11748         * lib/timespec-sub.c (timespec_sub):
11749         Simplify, now that INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
11750         work on unsigned integers.
11752 2019-10-23  Paul Eggert  <eggert@cs.ucla.edu>
11754         nstrftime: speed up integer overflow checking
11755         * lib/nstrftime.c: Include intprops.h.
11756         (INT_STRLEN_BOUND): Remove, as we can use intprops.h’s defn.
11757         (__strftime_internal): Use INT_MULTIPLY_WRAPV and INT_ADD_WRAPV
11758         instead of doing it by hand.
11759         * modules/nstrftime (Depends-on): Add intprops.
11761         Port better to GCC under macOS
11762         Work around macOS header that has ‘#define __has_builtin(x) 0’
11763         when compiled by GCC.  Apple really, really doesn’t want you to
11764         use GCC, apparently.  Rroblem reported by Akim Demaille in:
11765         https://lists.gnu.org/r/bug-bison/2019-10/msg00071.html
11766         The fix is to not trust __has_builtin when being compiled by
11767         recent-enough GCC.
11768         * lib/intprops.h (__has_builtin)
11769         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
11770         * lib/verify.h (__has_builtin, _GL_HAS___builtin_unreachable)
11771         (_GL_HAS___builtin_trap, _GL_TEMPDEF___has_builtin):
11772         Remove.  All uses removed.
11773         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Use __has_builtin
11774         directly, if defined and if not newer GCC.
11775         * lib/verify.h (_GL_HAS_BUILTIN_TRAP, _GL_HAS_BUILTIN_UNREACHABLE):
11776         New macro, that use __has_builtin directly, if defined and if
11777         not newer GCC.
11778         (assume): Use them.
11780 2019-10-22  Akim Demaille  <akim@lrde.epita.fr>
11782         maintainer-makefile: update rule for argmatch.
11783         * top/maint.mk (sc_prohibit_argmatch_without_use): Add ARGMATCH_DEFINE_GROUP.
11785 2019-10-21  Akim Demaille  <akim@lrde.epita.fr>
11787         bitset: let freeing functions accept NULL.
11788         * lib/bitset.c (bitset_free, bitset_obstack_free): Do nothing if
11789         given NULL.
11790         * lib/bitset.h: Document that.
11791         * doc/bitset.texi: Fix the example, and demonstrate bitset_free.
11793 2019-10-15  Paul Eggert  <eggert@cs.ucla.edu>
11795         inttypes: use more-robust test for int range
11796         This fixes Bison 3.4.2 when built with Oracle Solaris Studio 12.3.
11797         Problem reported by Dagobert Michelsen in:
11798         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00042.html
11799         * lib/inttypes.in.h: Rely only on limits.h when checking
11800         int range.
11802 2019-10-15  Bruno Haible  <bruno@clisp.org>
11804         libtextstyle-optional: Sync with current not-yet-released libtextstyle.
11805         * libtextstyle-optional (styled_ostream_get_hyperlink_ref,
11806         styled_ostream_get_hyperlink_id, styled_ostream_set_hyperlink,
11807         term_ostream_get_hyperlink_ref, term_ostream_get_hyperlink_id,
11808         term_ostream_set_hyperlink): New functions.
11809         (term_styled_ostream_get_hyperlink_ref,
11810         term_styled_ostream_get_hyperlink_id,
11811         term_styled_ostream_set_hyperlink): New function aliases.
11813 2019-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11815         update-copyright: use en dashes in .texi ranges
11816         * build-aux/update-copyright: Match year ranges like "1998--2019",
11817         which are used in the Autoconf manual.  Also, update ranges in
11818         .tex, .texi, and .texinfo files to use en dashes instead of
11819         hyphens.
11821 2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>
11823         * config/srclist.txt: Remove posix/regex_internal.c for now.
11825 2019-10-13  Bruno Haible  <bruno@clisp.org>
11827         git-version-gen: Allow 'snapshot' as .tarball-version contents.
11828         * build-aux/git-version-gen: Don't map non-numeric .tarball-version
11829         contents to the empty string.
11831 2019-10-12  Bruno Haible  <bruno@clisp.org>
11833         intprops tests: Fix compilation errors on HP-UX/ia64 with cc.
11834         * tests/test-intprops.c (main): Disable two more tests when using
11835         HP-UX cc.
11837 2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>
11839         Simplify and regularize regex use of ‘assert’
11840         Also, tell GCC about the asserts even when compiling without
11841         debugging, to give it further optimization opportunities.
11842         * lib/regex_internal.h (DEBUG_ASSERT): New macro.
11843         * lib/regcomp.c (link_nfa_nodes, calc_eclosure)
11844         (parse_expression, parse_bracket_exp):
11845         * lib/regex_internal.c (build_wcs_buffer)
11846         (build_wcs_upper_buffer, re_string_reconstruct)
11847         (re_string_context_at):
11848         * lib/regexec.c (re_search_stub, re_copy_regs)
11849         (re_search_internal, prune_impossible_nodes, check_matching)
11850         (check_halt_state_context, set_regs, sift_states_backward)
11851         (build_sifted_states, transit_state_mb, transit_state_bkref)
11852         (check_arrival_add_next_nodes, check_arrival_expand_ecl)
11853         (match_ctx_add_subtop):
11854         Use it instead of plain ‘assert’.
11856 2019-10-09  Paul Eggert  <eggert@cs.ucla.edu>
11858         regex: omit debug assignment when not debugging
11859         * lib/regexec.c (re_search_internal) [!DEBUG]:
11860         Remove unnecessary assignment.
11862         regex: tell compiler there’s at most 256 arcs out
11863         Partly this is to help the reader (and maybe help GCC);
11864         partly this is to pacify Coverity.
11865         * lib/regex_internal.h: Include verify.h.
11866         * lib/regexec.c (group_nodes_into_DFAstates):
11867         Tell the compiler that ndests cannot exceed SBC_MAX.
11868         * modules/regex (Depends-on): Add ‘verify’.
11870         regex: simplify by assuming C99
11871         * config/srclist.txt: Comment out regex_internal.h and regexec.c
11872         temporarily.
11873         * lib/regex_internal.h (lock_define, re_match_context_t):
11874         Simplify by assuming C99 macros and const.
11875         * lib/regexec.c (re_search_internal): Simplify by assuming C99
11876         initializers.  Remove unnecessary assignment, as mctx is now
11877         safely initialized earlier.
11879         regex: avoid copying of uninitialized storage
11880         * config/srclist.txt: Comment out regcomp.c temporarily.
11881         * lib/regcomp.c (build_charclass_op, create_tree) [! (GCC_LINT||lint)]:
11882         Initialize even when not checking for lint, as the behavior is
11883         arguably undefined otherwise and Coverity warns about it.
11885 2019-10-06  Bruno Haible  <bruno@clisp.org>
11887         access tests: Fix test failure when run as root.
11888         * tests/test-access.c: Include root-uid.h.
11889         (geteuid): Define fallback.
11890         (main): Don't expect that writing to a read-only file would fail when
11891         running as root. Also, remove the created files at the end.
11892         * modules/access-tests (Depends-on): Add root-uid.
11893         (configure.ac): Test whether geteuid exists.
11895 2019-10-06  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
11897         users.txt: add GNU nano
11898         Nano has been making use of gnulib since March 2017, version 2.8.0.
11900 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
11902         bootstrap: simplify debugging of wget failures
11903         Problem reported by Tim Rühsen in:
11904         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00000.html
11905         * build-aux/bootstrap (po_download_command_format):
11906         Invoke wget with -nv instead of -q, to make debugging easier.
11908 2019-09-29  Bruno Haible  <bruno@clisp.org>
11910         avltree-list: Fix compilation warning (introduced on 2014-09-16).
11911         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Remove
11912         'const' attribute.
11914 2019-09-29  Bruno Haible  <bruno@clisp.org>
11916         fbufmode: Fix compilation error on glibc >= 2.28 systems.
11917         * lib/stdio-impl.h (_IO_UNBUFFERED): Define fallback on glibc >= 2.28.
11919 2019-09-28  Bruno Haible  <bruno@clisp.org>
11921         Update comments that refer to POSIX.
11922         * lib/creat.c, lib/fopen.c, lib/open.c, lib/openat.c: Cite the relevant
11923         sentence about trailing slashes.
11924         * lib/fflush.c: Clarify the reasoning.
11925         * tests/test-fflush2.c: Cite the relevant sentence.
11927 2019-09-28  Bruno Haible  <bruno@clisp.org>
11929         access: Document limitations on Windows.
11930         Suggested by Zaretskii <eliz@gnu.org>.
11931         * doc/posix-functions/access.texi: Mention two limitations on Windows.
11933 2019-09-28  Bruno Haible  <bruno@clisp.org>
11935         findprog-in: Fix comment.
11936         Reported by Eli Zaretskii <eliz@gnu.org>.
11937         * lib/findprog.h (find_in_given_path): Extend description of EACCES
11938         condition.
11939         * lib/stat.c (rpl_stat): Fix typo in comment.
11940         * lib/utime.c (_gl_utimens_windows): Likewise.
11942 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
11944         Update URLs and associated text
11945         (Thanks to Bruno Haible for proofreading this patch.)
11946         Prefer https: to http: in URLs where either will do, for the usual
11947         security reasons.  I also updated broken and/or moved URLs
11948         discovered during the process. In a few places I had to resort to
11949         archive.org, since I didn't find the originals elsewhere.
11951 2019-09-15  Paul Smith  <psmith@gnu.org>
11952             Bruno Haible  <bruno@clisp.org>
11954         findprog-in: Set errno when the search fails.
11955         * lib/findprog-in.c: Include <errno.h>.
11956         (find_in_given_path): Set errno before returning NULL.
11957         * lib/findprog.h (find_in_given_path): Update comment accordingly.
11958         Define the term "slash".
11960 2019-09-15  Bruno Haible  <bruno@clisp.org>
11962         findprog, findprog-lgpl, findprog-in: Fix crash on MSVC.
11963         * modules/findprog (Depends-on): Add access.
11964         * modules/findprog-lgpl (Depends-on): Likewise.
11965         * modules/findprog-in (Depends-on): Likewise.
11967 2019-09-15  Bruno Haible  <bruno@clisp.org>
11969         access: Add tests.
11970         * tests/test-access.c: New file.
11971         * modules/access-tests: New file.
11973         access: New module.
11974         * lib/unistd.in.h (access): New declaration.
11975         * lib/access.c: New file.
11976         * m4/access.m4: New file.
11977         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether access is declared.
11978         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ACCESS, REPLACE_ACCESS.
11979         * modules/unistd (Makefile.am): Substitute GNULIB_ACCESS,
11980         REPLACE_ACCESS.
11981         * modules/access: New file.
11982         * tests/test-unistd-c++.cc (access): Check signature.
11983         * doc/posix-functions/access.texi: Mention the new module.
11985 2019-09-15  Bruno Haible  <bruno@clisp.org>
11987         fcntl-h: Fix compilation error of creat.c on MSVC.
11988         * lib/fcntl.in.h: Include <io.h> also when __need_system_fcntl_h is
11989         defined.
11991 2019-09-15  Bruno Haible  <bruno@clisp.org>
11993         creat: Add tests.
11994         * tests/test-creat.c: New file, based on tests/test-open.h.
11995         * modules/creat-tests: New file.
11997         creat: New module.
11998         * lib/fcntl.in.h (creat): New declaration.
11999         * lib/creat.c: New file, based on lib/open.c.
12000         * m4/creat.m4: New file.
12001         * m4/open-slash.m4: New file, extracted from m4/open.m4.
12002         * m4/open.m4 (gl_FUNC_OPEN): Move trailing-slash test to open-slash.m4.
12003         Invoke gl_OPEN_TRAILING_SLASH_BUG.
12004         * modules/open (Files): Add m4/open-slash.m4.
12005         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_CREAT,
12006         REPLACE_CREAT.
12007         * modules/fcntl-h (Makefile.am): Substitute GNULIB_CREAT, REPLACE_CREAT.
12008         * modules/creat: New file.
12009         * tests/test-fcntl-h-c++.cc (creat): Check signature.
12010         * doc/posix-functions/creat.texi: Mention the new module.
12012 2019-09-15  Bruno Haible  <bruno@clisp.org>
12014         open tests: Enhance test.
12015         * tests/test-open.h (test_open): Test the creation of an executable
12016         regular file. Also improve initial cleanup.
12018 2019-09-15  Bruno Haible  <bruno@clisp.org>
12020         intprops tests: Avoid build failure with HP-UX cc.
12021         * tests/test-intprops.c: Disable a check that makes HP cc choke with
12022         "error 4018: Macro param too large after substitution - use -H option.".
12024 2019-09-14  Bruno Haible  <bruno@clisp.org>
12026         Make autoconf tests work with -Werror=implicit-function-declaration.
12027         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Include <wctype.h>, for
12028         towupper() declaration.
12029         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Include <stdlib.h>, for ptsname()
12030         declaration.
12032 2019-09-14  Bruno Haible  <bruno@clisp.org>
12034         findprog-in: Better mimic the system on native Windows.
12035         Reported by Paul Smith <psmith@gnu.org>.
12036         * lib/findprog-in.c (find_in_given_path): On native Windows, don't try
12037         non-empty suffixes when the file name already contains a '.'.
12039 2019-09-10  Bruno Haible  <bruno@clisp.org>
12041         wctob: Fix autoconf test.
12042         Based on patch by Florian Weimer <fweimer@redhat.com>.
12043         * m4/wctob.m4 (gl_FUNC_WCTOB): Include <stdlib.h> before using mbtowc.
12045 2019-09-09  Akim Demaille  <akim@lrde.epita.fr>
12047         xhash: provide hash_xinitialize.
12048         Suggested by Egor Pugin <egor.pugin@gmail.com>
12049         https://lists.gnu.org/archive/html/bison-patches/2019-09/msg00026.html
12050         * modules/xhash, lib/xhash.c: New.
12051         * lib/hash.h (hash_xinitialize): New.
12053 2019-09-09  Bruno Haible  <bruno@clisp.org>
12055         findprog-in: Make exec optimization optional.
12056         * lib/findprog.h: Add double-inclusion guard. Include <stdbool.h>.
12057         (find_in_given_path): Add optimize_for_exec parameter.
12058         * lib/findprog-in.c (find_in_given_path): Likewise.
12060 2019-09-08  Bruno Haible  <bruno@clisp.org>
12062         Add option to assume the best, not the worst, when cross-compiling.
12063         Suggested by Jonas Termansen <sortie@maxsi.org>.
12064         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add --enable-cross-guesses=...
12065         option. Set gl_cross_guess_normal and gl_cross_guess_inverted.
12066         * m4/argz.m4 (gl_FUNC_ARGZ): Obey --enable-cross-guesses for
12067         lt_cv_sys_argz_works.
12068         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Obey --enable-cross-guesses for
12069         ac_cv_func_calloc_0_nonnull.
12070         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Obey
12071         --enable-cross-guesses for gl_cv_func_realpath_works.
12072         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Obey --enable-cross-guesses for
12073         gl_cv_func_cbrtl_ieee.
12074         * m4/ceil.m4 (gl_FUNC_CEIL): Obey --enable-cross-guesses for
12075         gl_cv_func_ceil_ieee.
12076         * m4/ceilf.m4 (gl_FUNC_CEILF): Obey --enable-cross-guesses for
12077         gl_cv_func_ceilf_ieee.
12078         * m4/ceill.m4 (gl_FUNC_CEILL): Obey --enable-cross-guesses for
12079         gl_cv_func_ceill_ieee.
12080         * m4/chown.m4 (AC_FUNC_CHOWN): Obey --enable-cross-guesses for
12081         ac_cv_func_chown_works.
12082         (gl_FUNC_CHOWN): Obey --enable-cross-guesses for
12083         gl_cv_func_chown_slash_works, gl_cv_func_chown_ctime_works.
12084         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Obey
12085         --enable-cross-guesses for gl_cv_struct_dirent_d_ino.
12086         * m4/exp2l.m4 (gl_FUNC_EXP2L): Obey --enable-cross-guesses for
12087         gl_cv_func_exp2l_works, gl_cv_func_exp2l_ieee.
12088         * m4/expl.m4 (gl_FUNC_EXPL): Obey --enable-cross-guesses for
12089         gl_cv_func_expl_works.
12090         * m4/expm1.m4 (gl_FUNC_EXPM1): Obey --enable-cross-guesses for
12091         gl_cv_func_expm1_ieee.
12092         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Obey --enable-cross-guesses for
12093         gl_cv_func_expm1l_works.
12094         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Obey --enable-cross-guesses for
12095         gl_cv_func_open_directory_works.
12096         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Obey
12097         --enable-cross-guesses for gl_cv_func_fchownat_nofollow_works.
12098         (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Obey --enable-cross-guesses for
12099         gl_cv_func_fchownat_empty_filename_works.
12100         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Obey --enable-cross-guesses for
12101         gl_cv_func_fdopendir_works.
12102         * m4/floor.m4 (gl_FUNC_FLOOR): Obey --enable-cross-guesses for
12103         gl_cv_func_floor_ieee.
12104         * m4/floorf.m4 (gl_FUNC_FLOORF): Obey --enable-cross-guesses for
12105         gl_cv_func_floorf_ieee.
12106         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Obey --enable-cross-guesses for
12107         gl_cv_func_fma_works.
12108         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Obey --enable-cross-guesses for
12109         gl_cv_func_fmaf_works.
12110         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Obey --enable-cross-guesses for
12111         gl_cv_func_fmal_works.
12112         * m4/fmod.m4 (gl_FUNC_FMOD): Obey --enable-cross-guesses for
12113         gl_cv_func_fmod_ieee.
12114         * m4/fmodf.m4 (gl_FUNC_FMODF): Obey --enable-cross-guesses for
12115         gl_cv_func_fmodf_ieee.
12116         * m4/fmodl.m4 (gl_FUNC_FMODL): Obey --enable-cross-guesses for
12117         gl_cv_func_fmodl_ieee.
12118         * m4/fpurge.m4 (gl_FUNC_FPURGE): Obey --enable-cross-guesses for
12119         gl_cv_func_fpurge_works.
12120         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Obey
12121         --enable-cross-guesses for gl_cv_func_getcwd_path_max.
12122         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Obey --enable-cross-guesses for
12123         gl_cv_func_getcwd_null.
12124         (gl_FUNC_GETCWD): Update for getcwd-path-max.m4 change.
12125         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Obey --enable-cross-guesses for
12126         gl_cv_func_working_getdelim.
12127         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Obey --enable-cross-guesses for
12128         ac_cv_func_getgroups_works. Keep this macro also in Autoconf >= 2.70.
12129         (gl_FUNC_GETGROUPS): Obey --enable-cross-guesses for
12130         gl_cv_func_getgroups_works.
12131         * m4/getline.m4 (gl_FUNC_GETLINE): Obey --enable-cross-guesses for
12132         am_cv_func_working_getline.
12133         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Obey --enable-cross-guesses
12134         for gl_cv_func_getopt_gnu.
12135         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Obey
12136         --enable-cross-guesses for gl_cv_func_gettimeofday_clobber.
12137         * m4/hypot.m4 (gl_FUNC_HYPOT): Obey --enable-cross-guesses for
12138         gl_cv_func_hypot_ieee.
12139         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Obey --enable-cross-guesses for
12140         gl_cv_func_hypotf_ieee.
12141         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Obey --enable-cross-guesses for
12142         gl_cv_func_hypotl_ieee.
12143         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Obey
12144         --enable-cross-guesses for gl_cv_func_iconv_supports_utf.
12145         * m4/link.m4 (gl_FUNC_LINK): Obey --enable-cross-guesses for
12146         gl_cv_func_link_works.
12147         * m4/linkat.m4 (gl_FUNC_LINKAT): Obey --enable-cross-guesses for
12148         gl_cv_func_linkat_slash.
12149         * m4/log.m4 (gl_FUNC_LOG): Obey --enable-cross-guesses for
12150         gl_cv_func_log_ieee.
12151         * m4/logf.m4 (gl_FUNC_LOGF): Obey --enable-cross-guesses for
12152         gl_cv_func_logf_ieee.
12153         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Obey --enable-cross-guesses for
12154         gl_cv_func_logl_works.
12155         * m4/log10.m4 (gl_FUNC_LOG10): Obey --enable-cross-guesses for
12156         gl_cv_func_log10_ieee.
12157         * m4/log10f.m4 (gl_FUNC_LOG10F): Obey --enable-cross-guesses for
12158         gl_cv_func_log10f_ieee.
12159         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Obey --enable-cross-guesses for
12160         gl_cv_func_log10l_works.
12161         * m4/log1p.m4 (gl_FUNC_LOG1P): Obey --enable-cross-guesses for
12162         gl_cv_func_log1p_ieee.
12163         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Obey --enable-cross-guesses for
12164         gl_cv_func_log1pf_ieee.
12165         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Obey --enable-cross-guesses for
12166         gl_cv_func_log1pl_ieee.
12167         * m4/log2.m4 (gl_FUNC_LOG2): Obey --enable-cross-guesses for
12168         gl_cv_func_log2_ieee.
12169         * m4/log2f.m4 (gl_FUNC_LOG2F): Obey --enable-cross-guesses for
12170         gl_cv_func_log2f_ieee.
12171         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Obey
12172         --enable-cross-guesses for
12173         gl_cv_func_lstat_dereferences_slashed_symlink.
12174         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Obey --enable-cross-guesses for
12175         ac_cv_func_malloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
12176         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Obey --enable-cross-guesses for
12177         gl_cv_C_locale_sans_EILSEQ.
12178         * m4/memchr.m4 (gl_FUNC_MEMCHR): Obey --enable-cross-guesses for
12179         gl_cv_func_memchr_works.
12180         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Obey --enable-cross-guesses for
12181         gl_cv_func_memmem_works_always.
12182         (gl_FUNC_MEMMEM): Obey --enable-cross-guesses for
12183         gl_cv_func_memmem_works_fast.
12184         * m4/mkdir.m4 (gl_FUNC_MKDIR): Obey --enable-cross-guesses for
12185         gl_cv_func_mkdir_trailing_slash_works,
12186         gl_cv_func_mkdir_trailing_dot_works.
12187         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Obey --enable-cross-guesses for
12188         gl_cv_func_mkfifo_works.
12189         * m4/mknod.m4 (gl_FUNC_MKNOD): Obey --enable-cross-guesses for
12190         gl_cv_func_mknod_works.
12191         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Obey --enable-cross-guesses for
12192         gl_cv_func_working_mkstemp.
12193         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Obey --enable-cross-guesses for
12194         gl_cv_func_working_mktime.
12195         * m4/modf.m4 (gl_FUNC_MODF): Obey --enable-cross-guesses for
12196         gl_cv_func_modf_ieee.
12197         * m4/modff.m4 (gl_FUNC_MODFF): Obey --enable-cross-guesses for
12198         gl_cv_func_modff_ieee.
12199         * m4/modfl.m4 (gl_FUNC_MODFL): Obey --enable-cross-guesses for
12200         gl_cv_func_modfl_ieee.
12201         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Obey --enable-cross-guesses for
12202         gl_cv_func_nanosleep.
12203         * m4/perror.m4 (gl_FUNC_PERROR): Obey --enable-cross-guesses for
12204         gl_cv_func_perror_works.
12205         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Obey --enable-cross-guesses for
12206         gl_cv_func_printf_sizes_c99.
12207         (gl_PRINTF_INFINITE): Obey --enable-cross-guesses for
12208         gl_cv_func_printf_infinite.
12209         (gl_PRINTF_INFINITE_LONG_DOUBLE): Obey --enable-cross-guesses for
12210         gl_cv_func_printf_infinite_long_double.
12211         (gl_PRINTF_DIRECTIVE_A): Obey --enable-cross-guesses for
12212         gl_cv_func_printf_directive_a.
12213         (gl_PRINTF_DIRECTIVE_F): Obey --enable-cross-guesses for
12214         gl_cv_func_printf_directive_f.
12215         (gl_PRINTF_FLAG_ZERO): Obey --enable-cross-guesses for
12216         gl_cv_func_printf_flag_zero.
12217         (gl_PRINTF_ENOMEM): Obey --enable-cross-guesses for
12218         gl_cv_func_printf_enomem.
12219         (gl_SNPRINTF_TRUNCATION_C99): Obey --enable-cross-guesses for
12220         gl_cv_func_snprintf_truncation_c99.
12221         (gl_SNPRINTF_RETVAL_C99): Obey --enable-cross-guesses for
12222         gl_cv_func_snprintf_retval_c99.
12223         (gl_SNPRINTF_DIRECTIVE_N): Obey --enable-cross-guesses for
12224         gl_cv_func_snprintf_directive_n.
12225         (gl_VSNPRINTF_ZEROSIZE_C99): Obey --enable-cross-guesses for
12226         gl_cv_func_vsnprintf_zerosize_c99.
12227         * m4/pselect.m4 (gl_FUNC_PSELECT): Obey --enable-cross-guesses for
12228         gl_cv_func_pselect_detects_ebadf.
12229         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
12230         Obey --enable-cross-guesses for
12231         gl_cv_pthread_rwlock_rdlock_prefer_writer.
12232         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Obey --enable-cross-guesses for
12233         gl_cv_func_ptsname_sets_errno.
12234         * m4/putenv.m4 (gl_FUNC_PUTENV): Obey --enable-cross-guesses for
12235         gl_cv_func_svid_putenv.
12236         * m4/readlink.m4 (gl_FUNC_READLINK): Obey --enable-cross-guesses for
12237         gl_cv_func_readlink_works.
12238         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Obey --enable-cross-guesses for
12239         ac_cv_func_realloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
12240         * m4/regex.m4 (gl_REGEX): Obey --enable-cross-guesses for
12241         gl_cv_func_re_compile_pattern_working.
12242         * m4/remainder.m4 (gl_FUNC_REMAINDER): Obey --enable-cross-guesses for
12243         gl_cv_func_remainder_ieee.
12244         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Obey --enable-cross-guesses for
12245         gl_cv_func_remainderf_ieee.
12246         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Obey --enable-cross-guesses for
12247         gl_cv_func_remainderl_ieee.
12248         * m4/rintl.m4 (gl_FUNC_RINTL): Obey --enable-cross-guesses for
12249         gl_cv_func_rintl_works.
12250         * m4/rmdir.m4 (gl_FUNC_RMDIR): Obey --enable-cross-guesses for
12251         gl_cv_func_rmdir_works.
12252         * m4/round.m4 (gl_FUNC_ROUND): Obey --enable-cross-guesses for
12253         gl_cv_func_round_ieee.
12254         * m4/roundf.m4 (gl_FUNC_ROUNDF): Obey --enable-cross-guesses for
12255         gl_cv_func_roundf_ieee.
12256         * m4/roundl.m4 (gl_FUNC_ROUNDL): Obey --enable-cross-guesses for
12257         gl_cv_func_roundl_ieee.
12258         * m4/select.m4 (gl_FUNC_SELECT): Obey --enable-cross-guesses for
12259         gl_cv_func_select_detects_ebadf.
12260         * m4/setenv.m4 (gl_FUNC_SETENV): Obey --enable-cross-guesses for
12261         gl_cv_func_setenv_works.
12262         (gl_FUNC_UNSETENV): Obey --enable-cross-guesses for
12263         gl_cv_func_unsetenv_works.
12264         * m4/signbit.m4 (gl_SIGNBIT): Obey --enable-cross-guesses for
12265         gl_cv_func_signbit, gl_cv_func_signbit_gcc.
12266         * m4/sleep.m4 (gl_FUNC_SLEEP): Obey --enable-cross-guesses for
12267         gl_cv_func_sleep_works.
12268         * m4/stat.m4 (gl_FUNC_STAT): Obey --enable-cross-guesses for
12269         gl_cv_func_stat_file_slash.
12270         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Obey --enable-cross-guesses for
12271         gl_cv_func_stpncpy.
12272         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Obey
12273         --enable-cross-guesses for gl_cv_func_strcasestr_works_always.
12274         (gl_FUNC_STRCASESTR): Obey --enable-cross-guesses for
12275         gl_cv_func_strcasestr_linear.
12276         * m4/strerror.m4 (gl_FUNC_STRERROR): Obey --enable-cross-guesses for
12277         gl_cv_func_working_strerror.
12278         (gl_FUNC_STRERROR_0): Obey --enable-cross-guesses for
12279         gl_cv_func_strerror_0_works.
12280         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Obey
12281         --enable-cross-guesses for gl_cv_func_strerror_r_works.
12282         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Obey --enable-cross-guesses for
12283         gl_cv_func_strstr_works_always.
12284         (gl_FUNC_STRSTR): Obey --enable-cross-guesses for
12285         gl_cv_func_strstr_linear.
12286         * m4/strtod.m4 (gl_FUNC_STRTOD): Obey --enable-cross-guesses for
12287         gl_cv_func_strtod_works.
12288         * m4/strtold.m4 (gl_FUNC_STRTOLD): Obey --enable-cross-guesses for
12289         gl_cv_func_strtold_works.
12290         * m4/symlink.m4 (gl_FUNC_SYMLINK): Obey --enable-cross-guesses for
12291         gl_cv_func_symlink_works.
12292         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Obey --enable-cross-guesses for
12293         gl_cv_func_symlinkat_works.
12294         * m4/trunc.m4 (gl_FUNC_TRUNC): Obey --enable-cross-guesses for
12295         gl_cv_func_trunc_ieee.
12296         * m4/truncf.m4 (gl_FUNC_TRUNCF): Obey --enable-cross-guesses for
12297         gl_cv_func_truncf_ieee.
12298         * m4/truncl.m4 (gl_FUNC_TRUNCL): Obey --enable-cross-guesses for
12299         gl_cv_func_truncl_ieee.
12300         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Obey --enable-cross-guesses for
12301         gl_cv_func_tzset_clobber.
12302         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Obey --enable-cross-guesses for
12303         gl_cv_func_ungetc_works.
12304         * m4/unlink.m4 (gl_FUNC_UNLINK): Obey --enable-cross-guesses for
12305         gl_cv_func_unlink_honors_slashes, gl_cv_func_unlink_parent_fails.
12306         * m4/usleep.m4 (gl_FUNC_USLEEP): Obey --enable-cross-guesses for
12307         gl_cv_func_usleep_works.
12308         * m4/utimens.m4 (gl_UTIMENS): Obey --enable-cross-guesses for
12309         gl_cv_func_futimesat_works.
12310         * m4/utimes.m4 (gl_FUNC_UTIMES): Obey --enable-cross-guesses for
12311         gl_cv_func_working_utimes.
12312         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Obey --enable-cross-guesses for
12313         gl_cv_func_wcwidth_works.
12314         * m4/glob.m4 (gl_GLOB): When cross-compiling, don't create symlinks for
12315         testing. Obey --enable-cross-guesses for gl_cv_glob_lists_symlinks.
12316         * m4/rename.m4 (gl_FUNC_RENAME): When cross-compiling, don't create
12317         links for testing. Obey --enable-cross-guesses for
12318         gl_cv_func_rename_slash_dst_works, gl_cv_func_rename_slash_src_works,
12319         gl_cv_func_rename_link_works, gl_cv_func_rename_dest_works.
12321 2019-09-08  Bruno Haible  <bruno@clisp.org>
12323         Clarify that cross-compilation guesses are guesses.
12324         * m4/threads.m4 (gl_THREADS_H): Say "guessing yes" or "guessing no" when
12325         cross-compiling.
12327 2019-09-08  Bruno Haible  <bruno@clisp.org>
12329         chown: Fix configure output (regression from 2019-03-23).
12330         * m4/chown.m4 (gl_FUNC_CHOWN): Fix reference to
12331         gl_cv_func_chown_follows_symlink variable.
12333 2019-09-08  Bruno Haible  <bruno@clisp.org>
12335         findprog-in: New module.
12336         Suggested by Paul Smith <psmith@gnu.org>.
12337         * lib/findprog.h (find_in_given_path): New declaration.
12338         * lib/findprog-in.c: New file, based on lib/findprog.c.
12339         * m4/findprog-in.m4: New file, based on m4/findprog.m4.
12340         * modules/findprog-in: New file.
12342 2019-09-08  Bruno Haible  <bruno@clisp.org>
12344         findprog: Remove unused dependency.
12345         * modules/findprog (Depends-on): Remove strdup.
12347 2019-09-08  Bruno Haible  <bruno@clisp.org>
12349         findprog: Remove test that is obsolete since 2006-04-24.
12350         * m4/findprog.m4 (gl_FINDPROG): Don't test for unistd.h.
12352 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
12354         bitset: style changes
12355         * lib/bitset/vector.c (vbitset_resize): Factor computation.
12356         * lib/bitset.c, lib/bitset/stats.c, lib/bitsetv.c: Prefer
12357         xzalloc to xcalloc.
12358         Suggested by Paul Eggert.
12360 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
12362         bitset: check memory allocation
12363         Reported by 江 祖铭 (Zu-Ming Jiang).
12364         With help from Paul Eggert.
12365         https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00016.html
12366         * lib/bitset/table.c (tbitset_resize): When growing, use xrealloc
12367         instead of realloc.
12368         When shrinking, accept failures.
12369         * lib/bitset/vector.c (vbitset_resize): Likewise.
12371 2019-09-07  Paul Eggert  <eggert@cs.ucla.edu>
12373         scratch_buffer: sync from glibc
12374         * config/srclist.txt: Add the scratch_buffer source
12375         code from glibc, since these should be in sync.
12376         Autoupdate.
12378 2019-09-07  Bruno Haible  <bruno@clisp.org>
12380         doc: Update for glibc 2.30.
12381         * doc/glibc-functions/gettid.texi: New file.
12382         * doc/glibc-functions/pthread_cond_clockwait.texi: New file.
12383         * doc/glibc-functions/pthread_mutex_clocklock.texi: New file.
12384         * doc/glibc-functions/pthread_rwlock_clockrdlock.texi: New file.
12385         * doc/glibc-functions/pthread_rwlock_clockwrlock.texi: New file.
12386         * doc/glibc-functions/sem_clockwait.texi: New file.
12387         * doc/glibc-functions/tgkill.texi: New file.
12388         * doc/glibc-functions/twalk_r.texi: New file.
12389         * doc/gnulib.texi: Include them.
12390         (Glibc semaphore.h): New section.
12391         * doc/pastposix-functions/h_errno.texi: Update.
12392         * doc/posix-functions/*.texi: Likewise.
12394 2019-09-06  Bruno Haible  <bruno@clisp.org>
12396         symlink tests: Avoid test failure on Linux with Lustre file system.
12397         Reported by Thomas C Oppe <Thomas.C.Oppe@erdc.dren.mil>
12398         at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37312>.
12399         * tests/test-symlink.h (test_symlink): Accept errno value ENOENT.
12401 2019-09-01  Bruno Haible  <bruno@clisp.org>
12403         gitsub.sh: Add support for shallow-cloning of subdirectories.
12404         * top/gitsub.sh (func_usage): Document allowed git options with
12405         'git pull'.
12406         (func_pull): Accept GIT_OPTIONS argument.
12407         (pull): Parse git options before complaining about too many arguments.
12408         Pass the git options to func_pull.
12410 2019-08-29  Bruno Haible  <bruno@clisp.org>
12412         lock: Fix cross-compilation guesses.
12413         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
12414         Require AC_CANONICAL_HOST. When cross-compiling, guess no on most
12415         platforms.
12417 2019-08-28  Bruno Haible  <bruno@clisp.org>
12419         isfinite, isinf, isnan, signbit: Fix error in C++ mode on mingw.
12420         Reported by Martin Storsjö <martin@martin.st> in
12421         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00075.html>.
12422         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Add more arguments.
12423         (isfinite, isinf, isnan, signbit): On platforms that use C++ include
12424         files from GCC 6 or newer, use an override through '#define', because
12425         the inline definitions in the platform's <cmath> cannot be overridden
12426         in another way.
12428 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
12430         Revert macOS INT_MULTIPLY_WRAPV patch
12431         Problem reported by Bruno Haible in:
12432         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00076.html
12433         * lib/intprops.h (_GL_HAS___builtin_mul_overflow): Remove.
12434         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
12435         Go back to working around the Clang bug on macOS.
12437 2019-08-27  Bruno Haible  <bruno@clisp.org>
12439         libtool-next-version: Fix error output.
12440         * build-aux/libtool-next-version (func_fatal_error): Fix the program
12441         name.
12443 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
12445         Speed up INT_MULTIPLY_WRAPV on macOS
12446         Assume that __builtin_mul_overflow works OK with Clang on macOS.
12447         Mattias Engdegård says it’s safe to assume the relevant library
12448         is always available there.
12449         * lib/intprops.h (_GL_HAS___builtin_mul_overflow):
12450         New temporary internal macro.
12451         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
12452         No need to work around the Clang bug on macOS.
12454 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
12456         intprops.h, verify.h: port better to clang
12457         Improve code generated by INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
12458         with Clang.  Problem reported privately by Mattias Engdegård.
12459         Also, insulate intprops.h and verify.h better against each other’s
12460         definitions of __has_builtin on non-Clang hosts.
12461         * lib/intprops.h (__has_builtin): Define a temporary substitute
12462         if __has_builtin is not already defined.
12463         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
12464         New temporary internal macros.
12465         (_GL_HAS_BUILTIN_ADD_OVERFLOW, _GL_HAS_BUILTIN_MUL_OVERFLOW):
12466         Now two separate macros, replacing the old
12467         _GL_HAS_BUILTIN_OVERFLOW, since we no longer assume that
12468         __builtin_mul_overflow is like the rest.  All uses changed.
12469         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV):
12470         Adjust to above changes.
12471         (_GL_INT_OP_WRAPV): Remove ‘builtin’ arg, since it’s no
12472         longer relevant.  All uses changed.
12473         * lib/verify.h (__has_builtin): Treat like intprops.h,
12474         so that the two .h files do not collide with each other.
12475         (_GL_HAS___builtin_unreachable, _GL_HAS___builtin_trap)
12476         (_GL_TEMPDEF___has_builtin): New temporary internal macros.
12478 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12480         intprops: say why not Clang __builtin_add_overflow
12481         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW):
12482         Mention Clang in comment, responding to a query from
12483         Mattias Engdegård.
12485 2019-08-24  Bruno Haible  <bruno@clisp.org>
12487         doc: Document most of the files outside of modules.
12488         * doc/gnulib.texi (Build Infrastructure Files,
12489         Release Management Files): New chapters.
12491 2019-08-24  Bruno Haible  <bruno@clisp.org>
12493         bootstrap: Keep in sync with the 'gettext' module.
12494         Reported by Assaf Gordon in
12495         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>.
12496         * build-aux/po/Makefile.in.in: Update to gettext 0.20.
12497         * build-aux/po/remove-potcdate.sin: Likewise.
12499 2019-08-24  Bruno Haible  <bruno@clisp.org>
12501         crypto/gc-sha512: Add tests.
12502         * tests/test-gc-sha512.c: New file, based on tests/test-gc-sha1.c.
12503         * modules/crypto/gc-sha512-tests: New file.
12505         crypto/gc-sha256: Add tests.
12506         * tests/test-gc-sha256.c: New file, based on tests/test-gc-sha1.c.
12507         * modules/crypto/gc-sha256-tests: New file.
12509         crypto/gc-sha256, crypto/gc-sha512: New modules.
12510         * lib/gc.h (gc_sha256, gc_sha512): New declarations.
12511         * lib/gc-gnulib.c: Include sha256.h, sha512.h.
12512         (MAX_DIGEST_SIZE): Set to 64.
12513         (_gc_hash_ctx, gc_hash_open, gc_hash_digest_length, gc_hash_write,
12514         gc_hash_read, gc_hash_buffer): Add support for sha256 and sha512.
12515         (gc_sha256, gc_sha512): New functions.
12516         * lib/gc-libgcrypt.c (gc_sha256, gc_sha512): New functions.
12517         * modules/crypto/gc-sha256: New file, based on modules/crypto/gc-sha1.
12518         * modules/crypto/gc-sha512: New file, based on modules/crypto/gc-sha1.
12520 2019-08-24  Bruno Haible  <bruno@clisp.org>
12522         crypto/gc-sha1 tests: Improve output when the test fails.
12523         * tests/test-gc-sha1.c (main): In case of mismatch, print the entire
12524         output.
12526 2019-08-24  Bruno Haible  <bruno@clisp.org>
12528         crypto/gc-sm3: Fix compilation error with --with-libgcrypt.
12529         * m4/gc-sm3.m4 (gl_GC_SM3): Test whether libgcrypt supports SM3. Define
12530         LIBGCRYPT_HAS_MD_SM3.
12531         * lib/gc-libgcrypt.c: Include sm3.h.
12532         (_gc_hash_ctx, gc_hash_open, gc_hash_hmac_setkey, gc_hash_write,
12533         gc_hash_read, gc_hash_close, gc_hash_buffer, gc_sm3): Use the gnulib
12534         implementation if libgcrypt does not support SM3.
12536 2019-08-24  Bruno Haible  <bruno@clisp.org>
12538         crypto/gc-md2: Optimize and clarify code.
12539         * lib/gc-gnulib.c (gc_hash_open): Comment out md2_init_ctx invocation.
12540         * lib/gc-libgcrypt.c (gc_hash_open): Clarify why md2_init_ctx invocation
12541         is not needed.
12543 2019-08-24  Bruno Haible  <bruno@clisp.org>
12545         crypto/gc-md2: Add comment.
12546         * lib/gc-libgcrypt.c: Add comment.
12548 2019-08-24  Bruno Haible  <bruno@clisp.org>
12550         crypto/gc-{md[24],rijndael} tests: Fix link error with --with-libgcrypt.
12551         * modules/crypto/gc-md2-tests (test_gc_md2_LDADD): New variable.
12552         * modules/crypto/gc-md4-tests (test_gc_md4_LDADD): New variable.
12553         * modules/crypto/gc-rijndael-tests (test_gc_rijndael_LDADD): New
12554         variable.
12556 2019-08-24  Bruno Haible  <bruno@clisp.org>
12558         crypto/gc: Fix link error with --with-libgcrypt.
12559         * m4/gc.m4 (gl_GC): Set LIB_CRYPTO to the value found by the
12560         AC_LIB_HAVE_LINKFLAGS invocation.
12562 2019-08-24  Bruno Haible  <bruno@clisp.org>
12564         crypto/gc: Access the module indicators correctly.
12565         * lib/gc-gnulib.c: Use '#if GNULIB_GC_*', not '#ifdef GNULIB_GC_*'.
12566         * lib/gc-libgcrypt.c: Likewise.
12568 2019-08-24  Bruno Haible  <bruno@clisp.org>
12570         crypto/gc: Fix configuration with --with-libgcrypt.
12571         * m4/libgcrypt.m4: New file, copied from libgcrypt/src/libgcrypt.m4.
12572         * modules/crypto/gc (Files): Add it.
12573         * m4/gc.m4 (gl_GC): Assume AM_PATH_LIBGCRYPT is defined.
12575 2019-08-24  Bruno Haible  <bruno@clisp.org>
12577         Remove unused file.
12578         * m4/stat-macros.m4: Remove file.
12580 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
12582         New strip-trailing-space option for srclist-update
12583         * config/srclist-update (fixfile): Support new option.
12584         * config/srclist.txt (texinfo.tex, maintain.texi, standards.texi):
12585         Use it.
12587 2019-08-20  Eric Blake  <eblake@redhat.com>
12589         accept4: Support SOCK_NONBLOCK, if defined
12590         * lib/accept4.c (accept4): If SOCK_NONBLOCK is defined, honor it.
12592         accept4: Fix compilation when native accept4() exists.
12593         Reported by Richard W.M. Jones <rjones@redhat.com> in
12594         https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00029.html
12595         * lib/accept4.c (accept4): Match witness symbol to m4 file update.
12597 2019-08-18  Bruno Haible  <bruno@clisp.org>
12599         Defeat -flto GCC optimization in math autoconf tests.
12600         Reported by Tomasz Kłoczko <kloczko.tomasz@gmail.com>
12601         at <https://savannah.gnu.org/bugs/?56109>.
12602         * m4/mathfunc.m4 (gl_MATHFUNC): Mark function pointer as 'volatile'.
12603         * m4/acosl.m4 (gl_FUNC_ACOSL): Likewise.
12604         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
12605         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
12606         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
12607         * m4/exp2.m4 (gl_FUNC_EXP2): Likewise.
12608         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
12609         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
12610         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
12611         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
12612         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
12613         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
12615 2019-08-17  Bruno Haible  <bruno@clisp.org>
12617         windows-spin: Implement declared functions.
12618         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
12619         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00024.html>.
12620         * lib/windows-spin.c (glwthread_spin_trylock): Fix typo in function
12621         name.
12623 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
12625         intprops: port to Oracle Developer Studio 12.6
12626         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix recently-introduced
12627         typos that were in a section not compiled by GCC.
12629 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
12631         intprops: support uchar, ushort _WRAPV dests
12632         * lib/intprops.h (_GL_INT_OP_WRAPV_SMALLISH): New macro, defined
12633         when __builtin_add_overflow etc. and _Generic are not used.
12634         (_GL_INT_OP_WRAPV): Use it to support destinations that
12635         are unsigned char or unsigned short, even in compilers
12636         that lack __typeof__ and are not C11-compatible.
12638         intprops: pacify picky GCC
12639         * lib/intprops.h (_GL_BUILTIN_MUL_OVERFLOW):
12640         Pacify GCC’s complaints about ignoring __builtin_mul_overflow’s
12641         possibly-incorrect result.
12642         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): Pacify GCC’s complaints
12643         about (A) used as a boolean, when A is an expression like 3 * 4.
12645         intprops: support unsigned *_WRAPV results
12646         Add support for unsigned, unsigned long, and unsigned long long
12647         results to INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, and
12648         INT_MULTIPLY_WRAPV.  Also, work around GCC bug 91450, and fix a
12649         bug with unsigned inputs reported by Eli Zaretskii in:
12650         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00012.html
12651         * config/srclist.txt: Break the glibc connection for intprops.h
12652         temporarily, while more testing is done in Gnulib-using apps.
12653         * lib/intprops.h (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
12654         (INT_MULTIPLY_WRAPV, _GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH):
12655         Support unsigned results no narrower than unsigned int.  Report
12656         overflow correctly if some arguments are unsigned.
12657         (_GL_BUILTIN_MUL_OVERFLOW): New macro, to work around GCC bug 91450.
12658         (_GL_INT_OP_CALC): Simplify now that the OVERFLOW argument does
12659         the right thing with narrow args.
12660         (_GL_INT_OP_CALC1): Remove.  All callers removed.
12661         (_GL_INT_ADD_RANGE_OVERFLOW, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
12662         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): New macros.
12663         * tests/test-intprops.c: Check for bugs and test new behavior.
12665 2019-08-14  Bruno Haible  <bruno@clisp.org>
12667         get_progname_of: New module.
12668         * lib/get_progname_of.h: New file.
12669         * lib/get_progname_of.c: New file, based on lib/getprogname.c.
12670         * lib/getprogname.c (getprogname): Tweak coding style.
12671         * lib/vma-iter.c (vma_iterate_bsd): Update comment.
12672         * modules/get_progname_of: New file.
12674 2019-08-14  Bruno Haible  <bruno@clisp.org>
12676         get_ppid_of: New module.
12677         * lib/get_ppid_of.h: New file.
12678         * lib/get_ppid_of.c: New file.
12679         * modules/get_ppid_of: New file.
12681 2019-08-13  Bruno Haible  <bruno@clisp.org>
12683         libtextstyle-optional tests: Support the NO_COLOR environment variable.
12684         * tests/test-libtextstyle.c (main): Do not emit styling when the
12685         environment variable NO_COLOR is set.
12687 2019-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12689         verify: improve diagnostic quality in recent GCC
12690         If ‘verify’ fails in a deeply-nested macro, GCC does not output a
12691         useful line number containing the top-level caller of the macro.
12692         So, bring back the older way of issuing a diagnostic containing
12693         the top-level call’s arg, so that it is easier to diagnose
12694         ‘verify’ failures with recent GCC.
12695         * lib/verify.h (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE):
12696         Bring back DIAGNOSTIC arg.  All callers changed.
12697         (verify): Just use _GL_VERIFY.
12699 2019-08-11  Bruno Haible  <bruno@clisp.org>
12701         localcharset: Add more aliases for OS/2.
12702         Based on patch by KO Myung-Hun <komh78@gmail.com> in
12703         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2019-08/msg00004.html>.
12704         * lib/localcharset.c (alias_table) [OS2]: Add more aliases.
12706 2019-08-10  Eric Blake  <eblake@redhat.com>
12708         configmake: Update advice on usage.
12709         * modules/configmake (Include): No longer necessary to include
12710         last, since configmake.h itself worries about collision avoidance.
12712 2019-08-10  Assaf Gordon <assafgordon@gmail.com>
12714         parse-datetime: fix 'T' military timezone handling
12715         * lib/parse-datetime.y (zone):
12716         follow-up to the previous commit: the 'T' case is handled outside the
12717         conversion table (used as either military timezone UTC-7 or ISO8601
12718         separator). Change it from "HOUR(7)" to "-HOUR(7)" to match other
12719         timezone letters.
12721 2019-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12723         parse-datetime: fix military timezone letters
12724         Problem and trivial fix reported by Neil Hoggarth in:
12725         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00005.html
12726         * lib/parse-datetime.y (military_table):
12727         Do it the right way, not the RFC 822 way.
12729 2019-08-08  Eric Blake  <eblake@redhat.com>
12731         configmake: Avoid namespace pollution issue on mingw.
12732         * modules/configmake (Makefile.am): If the project uses
12733         <winsock2.h>, include that header before defining DATADIR.
12735 2019-07-28  Bruno Haible  <bruno@clisp.org>
12737         mbrtowc tests: Fix regression on mingw (regression from 2018-02-24).
12738         * tests/test-mbrtowc.c (main): Fix expected value of wc.
12740 2019-07-24  Bruno Haible  <bruno@clisp.org>
12742         pthread-h: Fix definitions of types and macros on mingw.
12743         * lib/pthread.in.h (pthread_t, pthread_attr_t, PTHREAD_CREATE_JOINABLE,
12744         PTHREAD_CREATE_DETACHED): Define also when module 'pthread-thread' is
12745         not in use.
12746         (pthread_once_t, PTHREAD_ONCE_INIT): Define also when module
12747         'pthread-once' is not in use.
12748         (pthread_mutex_t, pthread_mutexattr_t, PTHREAD_MUTEX_INITIALIZER,
12749         PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK,
12750         PTHREAD_MUTEX_RECURSIVE): Define also when module 'pthread-mutex' is not
12751         in use.
12752         (pthread_rwlock_t, pthread_rwlockattr_t, PTHREAD_RWLOCK_INITIALIZER):
12753         Define also when module 'pthread-rwlock' is not in use.
12754         (pthread_cond_t, pthread_condattr_t, PTHREAD_COND_INITIALIZER): Define
12755         also when module 'pthread-cond' is not in use.
12756         (pthread_key_t, PTHREAD_DESTRUCTOR_ITERATIONS): Define also when module
12757         'pthread-tss' is not in use.
12758         (pthread_spinlock_t): Define also when module 'pthread-spin' is not in
12759         use.
12761 2019-07-24  Simon Josefsson  <simon@josefsson.org>
12763         crypto/gc: Cope with libgcrypt without SM3.
12764         * lib/gc-libgcrypt.c (gc_hash_open): Guard SM3 usage.
12766 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
12768         backupfile: fix resource leak on memory failure
12769         Problem found by Coverity (CID 1484214).
12770         * lib/backupfile.c (backupfile_internal): Don’t leak dirp.
12772 2019-07-22  Bruno Haible  <bruno@clisp.org>
12774         Avoid missing-declarations warning in various tests.
12775         * tests/test-argp.c (fail, test1, test2, test_file, test3, test4, test5,
12776         test6, test_optional, test7, test8, test9, test10, test11, test12,
12777         test13, test14, test15, test_fun): Declare static.
12778         * tests/test-cnd.c (test_cnd_wait): Likewise.
12779         * tests/test-cond.c (test_cond): Likewise.
12781 2019-07-22  Bernhard Voelker  <mail@bernhard-voelker.de>
12783         pthread tests: Avoid missing-declarations warning.
12784         * tests/test-pthread-cond.c (test_pthread_cond_wait): Declare static.
12786 2019-07-19  Bruno Haible  <bruno@clisp.org>
12788         parse-datetime: Avoid warnings from bison versions >= 3.3.
12789         Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
12790         * modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.
12792 2019-07-19  Bruno Haible  <bruno@clisp.org>
12794         parse-datetime: Require Bison 2.4 or newer.
12795         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Set PARSE_DATETIME_BISON.
12796         Code taken from gettext's intl.m4.
12797         * modules/parse-datetime (Makefile.am): Use PARSE_DATETIME_BISON instead
12798         of YACC.
12800 2019-07-19  Bruno Haible  <bruno@clisp.org>
12802         areadlink-with-size, xgethostname, xgetdomainname: Fix GCC warning.
12803         * lib/areadlink-with-size.c: Include <string.h>.
12804         * lib/areadlinkat-with-size.c: Likewise.
12805         * lib/xgethostname.c: Likewise.
12806         * lib/xgetdomainname.c: Likewise.
12808 2019-07-19  Bernhard Voelker  <mail@bernhard-voelker.de>
12810         parse-datetime: avoid "%pure-parser" deprecation warning from Bison 3.4
12811         * lib/parse-datetime.y: Use "%define api.pure" rather than obsolescent
12812         "%pure-parser".  The former is available since Bison 2.3b (2008),
12813         while the latter is marked as obsolete since version 3.4 (May 2019).
12815 2019-07-16  Bruno Haible  <bruno@clisp.org>
12817         update-copyright: Make it work again (regression from 2019-06-15).
12818         Reported by Brian C. Lane <bcl@redhat.com>.
12819         * build-aux/update-copyright: Add back the -0777, -p, -i options.
12821 2019-07-14  Bruno Haible  <bruno@clisp.org>
12823         doc: Update info about <pthread.h>.
12824         * doc/posix-headers/pthread.texi: Mention the module 'pthread-h' instead
12825         of 'pthread'.
12827 2019-07-14  Bruno Haible  <bruno@clisp.org>
12829         pthread_sigmask tests: Use new multithread modules.
12830         * tests/test-pthread_sigmask2.c: Include <pthread.h> instead of
12831         glthread/thread.h.
12832         (main_thread, killer_thread): Change type to pthread_t.
12833         (main): Update accordingly.
12834         * modules/pthread_sigmask-tests (Depends-on): Add pthread-thread. Remove
12835         thread.
12837 2019-07-14  Bruno Haible  <bruno@clisp.org>
12839         pthread-tss: Add tests.
12840         * tests/test-pthread-tss.c: New file, based on tests/test-tls.c and
12841         tests/test-tss.c.
12842         * modules/pthread-tss-tests: New file.
12844 2019-07-14  Bruno Haible  <bruno@clisp.org>
12846         pthread-cond: Add tests.
12847         * tests/test-pthread-cond.c: New file, based on tests/test-cond.c and
12848         tests/test-cnd.c.
12849         * modules/pthread-cond-tests: New file.
12851 2019-07-14  Bruno Haible  <bruno@clisp.org>
12853         pthread-rwlock: Add tests.
12854         * tests/test-pthread-rwlock.c: New file, based on tests/test-lock.c.
12855         * modules/pthread-rwlock-tests: New file.
12857 2019-07-14  Bruno Haible  <bruno@clisp.org>
12859         pthread-mutex: Add tests.
12860         * tests/test-pthread-mutex.c: New file, based on tests/test-lock.c and
12861         tests/test-mtx.c.
12862         * modules/pthread-mutex-tests: New file.
12864 2019-07-14  Bruno Haible  <bruno@clisp.org>
12866         pthread-once: Add tests.
12867         * tests/test-pthread-once1.c: New file, based on tests/test-once.c and
12868         tests/test-call_once.c.
12869         * tests/test-pthread-once2.c: New file, based on tests/test-lock.c and
12870         tests/test-mtx.c.
12871         * modules/pthread-once-tests: New file.
12873 2019-07-14  Bruno Haible  <bruno@clisp.org>
12875         pthread-thread: Add tests.
12876         * tests/test-pthread-thread.c: New file, based on
12877         tests/test-thread_create.c and tests/test-thrd_create.c.
12878         * modules/pthread-thread-tests: New file.
12880 2019-07-14  Bruno Haible  <bruno@clisp.org>
12882         pthread: Turn into a convenience module.
12883         * lib/pthread.in.h: Remove declarations for extern inline functions.
12884         * lib/pthread.c: Remove file.
12885         * modules/pthread (Files): Remove it.
12886         (Depends-on): Add pthread-thread, pthread-once, pthread-mutex,
12887         pthread-rwlock, pthread-cond, pthread-tss, pthread-spin.
12888         (configure.ac): Don't compile lib/pthread.c. Don't set GNULIB_PTHREAD.
12889         * m4/pthread_h.m4 (gl_PTHREAD_H_DEFAULTS): Don't initialize
12890         GNULIB_PTHREAD.
12891         * modules/pthread-h (Makefile.am): Don't substitute GNULIB_PTHREAD.
12893 2019-07-14  Bruno Haible  <bruno@clisp.org>
12895         pthread-spin: New module.
12896         * lib/pthread.in.h (pthread_spin_init, pthread_spin_destroy,
12897         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Remove
12898         inline definitions.
12899         * lib/pthread-spin.c: New file.
12900         * m4/pthread-spin.m4: New file.
12901         * modules/pthread-spin: New file.
12902         * doc/posix-functions/pthread_spin_init.texi: Mention the new module.
12903         * doc/posix-functions/pthread_spin_lock.texi: Likewise.
12904         * doc/posix-functions/pthread_spin_trylock.texi: Likewise.
12905         * doc/posix-functions/pthread_spin_unlock.texi: Likewise.
12906         * doc/posix-functions/pthread_spin_destroy.texi: Likewise.
12908 2019-07-14  Bruno Haible  <bruno@clisp.org>
12910         pthread-tss: New module.
12911         * lib/pthread-tss.c: New file.
12912         * m4/pthread-tss.m4: New file.
12913         * modules/pthread-tss: New file.
12914         * doc/posix-functions/pthread_key_create.texi: Mention the new module.
12915         * doc/posix-functions/pthread_setspecific.texi: Likewise.
12916         * doc/posix-functions/pthread_getspecific.texi: Likewise.
12917         * doc/posix-functions/pthread_key_delete.texi: Likewise.
12919 2019-07-14  Bruno Haible  <bruno@clisp.org>
12921         pthread-cond: New module.
12922         * lib/pthread.in.h (pthread_cond_destroy, pthread_cond_init,
12923         pthread_cond_signal, pthread_cond_wait): Remove inline definitions.
12924         * lib/pthread-cond.c: New file.
12925         * m4/pthread-cond.m4: New file.
12926         * modules/pthread-cond: New file.
12927         * doc/posix-functions/pthread_cond_init.texi: Mention the new module.
12928         * doc/posix-functions/pthread_condattr_init.texi: Likewise.
12929         * doc/posix-functions/pthread_condattr_destroy.texi: Likewise.
12930         * doc/posix-functions/pthread_cond_wait.texi: Likewise.
12931         * doc/posix-functions/pthread_cond_timedwait.texi: Likewise.
12932         * doc/posix-functions/pthread_cond_signal.texi: Likewise.
12933         * doc/posix-functions/pthread_cond_broadcast.texi: Likewise.
12934         * doc/posix-functions/pthread_cond_destroy.texi: Likewise.
12936 2019-07-14  Bruno Haible  <bruno@clisp.org>
12938         pthread-rwlock: New module.
12939         * lib/pthread-rwlock.c: New file, based on lib/glthread/lock.c.
12940         * m4/pthread-rwlock.m4: New file.
12941         * modules/pthread-rwlock: New file.
12942         * doc/posix-functions/pthread_rwlock_init.texi: Mention the new module
12943         and the Android problem.
12944         * doc/posix-functions/pthread_rwlockattr_init.texi: Likewise.
12945         * doc/posix-functions/pthread_rwlockattr_destroy.texi: Likewise.
12946         * doc/posix-functions/pthread_rwlock_rdlock.texi: Likewise.
12947         * doc/posix-functions/pthread_rwlock_wrlock.texi: Likewise.
12948         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise.
12949         * doc/posix-functions/pthread_rwlock_trywrlock.texi: Likewise.
12950         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
12951         * doc/posix-functions/pthread_rwlock_timedwrlock.texi: Likewise.
12952         * doc/posix-functions/pthread_rwlock_unlock.texi: Likewise.
12953         * doc/posix-functions/pthread_rwlock_destroy.texi: Likewise.
12955 2019-07-14  Bruno Haible  <bruno@clisp.org>
12957         pthread-mutex: New module.
12958         * lib/pthread.in.h (pthread_mutexattr_destroy, pthread_mutexattr_init,
12959         pthread_mutexattr_settype, pthread_mutex_destroy, pthread_mutex_init,
12960         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
12961         pthread_mutex_unlock): Remove inline definitions.
12962         * lib/pthread-mutex.c: New file.
12963         * m4/pthread-mutex.m4: New file.
12964         * modules/pthread-mutex: New file.
12965         * doc/posix-functions/pthread_mutex_init.texi: Mention the new module.
12966         * doc/posix-functions/pthread_mutexattr_init.texi: Likewise.
12967         * doc/posix-functions/pthread_mutexattr_gettype.texi: Likewise.
12968         * doc/posix-functions/pthread_mutexattr_settype.texi: Likewise.
12969         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
12970         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
12971         * doc/posix-functions/pthread_mutexattr_destroy.texi: Likewise.
12972         * doc/posix-functions/pthread_mutex_lock.texi: Likewise.
12973         * doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
12974         * doc/posix-functions/pthread_mutex_timedlock.texi: Likewise.
12975         * doc/posix-functions/pthread_mutex_unlock.texi: Likewise.
12976         * doc/posix-functions/pthread_mutex_destroy.texi: Likewise.
12978 2019-07-14  Bruno Haible  <bruno@clisp.org>
12980         pthread-once: New module.
12981         * lib/pthread-once.c: New file.
12982         * m4/pthread-once.m4: New file.
12983         * modules/pthread-once: New file.
12984         * doc/posix-functions/pthread_once.texi: Mention the new module.
12986 2019-07-14  Bruno Haible  <bruno@clisp.org>
12988         pthread-thread: New module.
12989         * lib/pthread.in.h (pthread_create, pthread_exit, pthread_join): Remove
12990         inline definitions.
12991         * lib/pthread-thread.c: New file.
12992         * m4/pthread-thread.m4: New file.
12993         * modules/pthread-thread: New file.
12994         * doc/posix-functions/pthread_create.texi: Mention the new module.
12995         * doc/posix-functions/pthread_attr_init.texi: Likewise.
12996         * doc/posix-functions/pthread_attr_getdetachstate.texi: Likewise.
12997         * doc/posix-functions/pthread_attr_setdetachstate.texi: Likewise.
12998         * doc/posix-functions/pthread_attr_destroy.texi: Likewise.
12999         * doc/posix-functions/pthread_self.texi: Likewise.
13000         * doc/posix-functions/pthread_equal.texi: Likewise.
13001         * doc/posix-functions/pthread_detach.texi: Likewise.
13002         * doc/posix-functions/pthread_join.texi: Likewise.
13003         * doc/posix-functions/pthread_exit.texi: Likewise.
13005 2019-07-14  Bruno Haible  <bruno@clisp.org>
13007         pthread-h: Prepare for adding new modules.
13008         * lib/pthread.in.h: Define the types and macros for each of the
13009         facilities separately.
13010         * m4/pthread_h.m4 (gl_PTHREAD_H): Set HAVE_PTHREAD_CREATE_DETACHED,
13011         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
13012         HAVE_PTHREAD_PROCESS_SHARED.
13013         (gl_PTHREAD_H_DEFAULTS): Initialize HAVE_PTHREAD_CREATE_DETACHED,
13014         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
13015         HAVE_PTHREAD_PROCESS_SHARED.
13016         * modules/pthread-h (Makefile.am): Substitute
13017         HAVE_PTHREAD_CREATE_DETACHED, HAVE_PTHREAD_MUTEX_RECURSIVE,
13018         HAVE_PTHREAD_MUTEX_ROBUST, HAVE_PTHREAD_PROCESS_SHARED.
13020 2019-07-14  Bruno Haible  <bruno@clisp.org>
13022         pthread-h: Add declarations of essential pthread functions.
13023         * lib/pthread.in.h: Include snippets.
13024         (pthread_create, pthread_attr_init, pthread_attr_getdetachstate,
13025         pthread_attr_setdetachstate, pthread_attr_destroy, pthread_self,
13026         pthread_equal, pthread_detach, pthread_join, pthread_exit, pthread_once,
13027         pthread_mutex_init, pthread_mutexattr_init, pthread_mutexattr_gettype,
13028         pthread_mutexattr_settype, pthread_mutexattr_getrobust,
13029         pthread_mutexattr_setrobust, pthread_mutexattr_destroy,
13030         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock,
13031         pthread_mutex_destroy, pthread_rwlock_init, pthread_rwlockattr_init,
13032         pthread_rwlockattr_destroy, pthread_rwlock_rdlock,
13033         pthread_rwlock_wrlock, pthread_rwlock_tryrdlock,
13034         pthread_rwlock_trywrlock, pthread_rwlock_timedrdlock,
13035         pthread_rwlock_timedwrlock, pthread_rwlock_unlock,
13036         pthread_rwlock_destroy, pthread_cond_init, pthread_condattr_init,
13037         pthread_condattr_destroy, pthread_cond_wait, pthread_cond_timedwait,
13038         pthread_cond_signal, pthread_cond_broadcast, pthread_cond_destroy,
13039         pthread_key_create, pthread_setspecific, pthread_getspecific,
13040         pthread_key_delete, pthread_spin_init, pthread_spin_lock,
13041         pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy): New
13042         declarations.
13043         (pthread_mutex_timedlock): Move declaration.
13044         * m4/pthread_h.m4 (gl_PTHREAD_H): Check whether the new functions are
13045         declared.
13046         (gl_PTHREAD_H_DEFAULTS): Initialize GNULIB_PTHREAD_THREAD,
13047         GNULIB_PTHREAD_ONCE, GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK,
13048         GNULIB_PTHREAD_COND, GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the
13049         HAVE_* and REPLACE_* variables for the new functions.
13050         * modules/pthread-h (Depends-on): Add snippet/c++defs,
13051         snippet/_Noreturn, snippet/arg-nonnull, snippet/warn-on-use.
13052         (Makefile.am): Substitute GNULIB_PTHREAD_THREAD, GNULIB_PTHREAD_ONCE,
13053         GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK, GNULIB_PTHREAD_COND,
13054         GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the HAVE_* and REPLACE_*
13055         variables for the new functions. Split the sed script, to avoid the
13056         limit of 99 commands of HP-UX sed.
13057         * tests/test-pthread-c++.cc: Check the signature of the new functions.
13059 2019-07-14  Bruno Haible  <bruno@clisp.org>
13061         pthread-h: Respect --enable-threads={posix|windows} option on mingw.
13062         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_THREADLIB. Set
13063         HAVE_PTHREAD_H if gl_threads_api is 'windows'.
13064         (LIB_PTHREAD): Rely on $LIBMULTITHREAD from threadlib.m4.
13065         * modules/pthread (Link): Change to $(LIBMULTITHREAD).
13066         * modules/pthread-h (Depends-on): Add threadlib.
13067         (Link): Change to $(LIBTHREAD).
13068         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Use
13069         $(LIBMULTITHREAD) instead of $(LIB_PTHREAD).
13071 2019-07-14  Bruno Haible  <bruno@clisp.org>
13073         pthread-h: Add C++ tests.
13074         * tests/test-pthread-c++.cc: New file.
13075         * modules/pthread-h-c++-tests: New file.
13077 2019-07-14  Bruno Haible  <bruno@clisp.org>
13079         pthread-h: Add tests.
13080         * tests/test-pthread.c: New file.
13081         * modules/pthread-h-tests: New file.
13083 2019-07-14  Bruno Haible  <bruno@clisp.org>
13085         pthread-h: New module.
13086         * lib/pthread.in.h: Define replacement functions only if GNULIB_PTHREAD
13087         is 1.
13088         * m4/pthread_h.m4: Renamed from m4/pthread.m4.
13089         (gl_PTHREAD_H): Renamed from gl_PTHREAD_CHECK. Don't test whether
13090         <pthread.h> pollutes the namespace; instead, prepare for generating a
13091         pthread.h always. Substitute HAVE_PTHREAD_H here.
13092         (gl_PTHREAD_H_DEFAULTS): Renamed from gl_PTHREAD_DEFAULTS. Initialize
13093         GNULIB_PTHREAD. Don't initialize HAVE_PTHREAD_H here.
13094         * modules/pthread-h: New file, based on modules/pthread.
13095         * modules/pthread: Rely on 'pthread-h'.
13096         * m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK):
13097         Update.
13098         * modules/pthread_mutex_timedlock (Depends-on): Add pthread-h. Remove
13099         pthread.
13101 2019-07-14  Bruno Haible  <bruno@clisp.org>
13103         sched_yield: New module.
13104         * lib/sched.in.h: Add _GL_FUNCDECL_RPL, _GL_WARN_ON_USE placeholders.
13105         (sched_yield): New declaration.
13106         * lib/sched_yield.c: New file.
13107         * m4/sched_yield.m4: New file.
13108         * m4/sched_h.m4 (gl_SCHED_H): Require gl_SCHED_H_DEFAULTS. Arrange to
13109         provide a replacement sched.h always. Test whether sched_yield is
13110         declared.
13111         (gl_SCHED_MODULE_INDICATOR, gl_SCHED_H_DEFAULTS): New macros.
13112         * modules/sched (Depends-on): Add snippet/c++defs, snippet/warn-on-use.
13113         (Makefile.am): Provide a replacement sched.h always. Substitute
13114         GNULIB_SCHED_YIELD, HAVE_SCHED_YIELD, REPLACE_SCHED_YIELD,
13115         _GL_FUNCDECL_RPL, _GL_WARN_ON_USE.
13116         * modules/sched_yield: New file.
13117         * doc/posix-functions/sched_yield.texi: Mention the new module.
13119 2019-07-14  Bruno Haible  <bruno@clisp.org>
13121         windows-spin: New module.
13122         * lib/windows-spin.h: New file.
13123         * lib/windows-spin.c: New file.
13124         * modules/windows-spin: New file.
13126 2019-07-14  Bruno Haible  <bruno@clisp.org>
13128         windows-timedrwlock: New module.
13129         * lib/windows-timedrwlock.h: New file, based on windows-rwlock.h.
13130         * lib/windows-timedrwlock.c: New file, based on windows-rwlock.c and
13131         windows-cond.c.
13132         * lib/windows-cond.h (struct glwthread_waitqueue_link): Protect against
13133         redefinition conflict with windows-timedrwlock.h.
13134         * modules/windows-timedrwlock: New file.
13136 2019-07-14  Bruno Haible  <bruno@clisp.org>
13138         windows-rwlock: New module.
13139         * lib/windows-rwlock.h: New file, extracted from lib/glthread/lock.h.
13140         * lib/windows-rwlock.c: New file, extracted from lib/glthread/lock.c.
13141         * lib/glthread/lock.h: Include windows-rwlock.h. Don't include
13142         windows-initguard.h.
13143         (gl_rwlock_t): Define using glwthread_rwlock_t.
13144         (gl_rwlock_initializer): Define using GLWTHREAD_RWLOCK_INIT.
13145         (glthread_rwlock_init): Define using glwthread_rwlock_init.
13146         (glthread_rwlock_rdlock): Define using glwthread_rwlock_rdlock.
13147         (glthread_rwlock_wrlock): Define using glwthread_rwlock_wrlock.
13148         (glthread_rwlock_unlock): Define using glwthread_rwlock_unlock.
13149         (glthread_rwlock_destroy): Define using glwthread_rwlock_destroy.
13150         (glthread_rwlock_init_func, glthread_rwlock_rdlock_func,
13151         glthread_rwlock_wrlock_func, glthread_rwlock_unlock_func,
13152         glthread_rwlock_destroy_func): Remove declarations.
13153         * lib/glthread/lock.c (gl_waitqueue_t): Remove type.
13154         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_notify_first,
13155         gl_waitqueue_notify_all, glthread_rwlock_init_func,
13156         glthread_rwlock_rdlock_func, glthread_rwlock_wrlock_func,
13157         glthread_rwlock_unlock_func, glthread_rwlock_destroy_func): Remove
13158         functions.
13159         * modules/windows-rwlock: New file.
13160         * modules/lock (Depends-on): Add windows-rwlock.
13162 2019-07-14  Bruno Haible  <bruno@clisp.org>
13164         windows-thread: Add support for creating a thread in detached state.
13165         * lib/windows-thread.h (GLWTHREAD_ATTR_DETACHED): New macro.
13166         (glwthread_thread_create): Add attr argument.
13167         * lib/windows-thread.c (glwthread_thread_create): Likewise.
13168         * lib/glthread/thread.h (glthread_create): Update.
13169         * lib/thrd.c (thrd_create): Update.
13171 2019-07-14  Bruno Haible  <bruno@clisp.org>
13173         windows-*: Rename glwthread_spinlock_t to glwthread_initguard_t.
13174         * lib/windows-initguard.h: Renamed from lib/windows-spinlock.h.
13175         (glwthread_initguard_t): Renamed from glwthread_spinlock_t.
13176         (GLWTHREAD_INITGUARD_INIT): Renamed from GLWTHREAD_SPINLOCK_INIT.
13177         * lib/windows-mutex.h: Update.
13178         * lib/windows-recmutex.h: Likewise.
13179         * lib/windows-timedmutex.h: Likewise.
13180         * lib/windows-timedrecmutex.h: Likewise.
13181         * lib/windows-cond.h: Likewise.
13182         * lib/glthread/lock.h: Likewise.
13183         * modules/windows-mutex (Files): Add lib/windows-initguard.h. Remove
13184         lib/windows-spinlock.h.
13185         * modules/windows-recmutex (Files): Likewise.
13186         * modules/windows-timedmutex (Files): Likewise.
13187         * modules/windows-timedrecmutex (Files): Likewise.
13188         * modules/windows-cond (Files): Likewise.
13189         * modules/threads-h (Files): Likewise.
13191 2019-07-14  Bruno Haible  <bruno@clisp.org>
13193         doc: Fix info about pthread API in HP-UX.
13194         * doc/posix-functions/pthread_*.texi: Fix info about HP-UX 11.
13196 2019-07-14  Bruno Haible  <bruno@clisp.org>
13198         threads-h: Fix generation of threads.h.
13199         * modules/threads-h (Makefile.am): Insert the required header file
13200         snippets.
13202 2019-07-09  Bruno Haible  <bruno@clisp.org>
13204         striconveh test: Fix a compilation failure when iconv is not available.
13205         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13206         * tests/test-striconveh.c (main): Move iconv_close invocations inside
13207         HAVE_ICONV.
13209 2019-07-07  Akim Demaille  <akim@lrde.epita.fr>
13211         argmatch: adjust columns for help2man.
13212         * lib/argmatch.h (argmatch_##Name##_doc_col): If some argument
13213         requires column 20 or more, return 20.
13215 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13217         areadlink-with-size: avoid realloc when size==0
13218         * lib/areadlink-with-size.c (areadlink_with_size):
13219         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
13220         Reallocate at the end to the actual size, to avoid memory waste,
13221         as suggested by Bruno Haible.  But when the guessed size is zero -
13222         useful when the size is unknown - do the initial small readlink
13223         into the stack, to avoid that realloc in the usual case.
13225 2019-07-06  Pádraig Brady  <P@draigBrady.com>
13227         areadlink-with-size: guess a buffer size with 0 size
13228         The size is usually taken from st_size, which can be zero,
13229         resulting in inefficient operation.
13230         Instead let zero select an initial memory allocation
13231         of 128 bytes, which most symlinks fit within.
13232         * lib/areadlink-with-size.c (areadlink_with_size):
13233         Start with a 128 byte buffer, for SIZE == 0.
13234         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Likewise.
13236 2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
13238         Replace manually crafted hex regexes with [:xdigit:]
13239         * build-aux/gitlog-to-changelog (parse_amend_file)
13240         (git_dir_option):
13241         Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
13242         This patch is backported from Emacs (Bug#36167).
13244 2019-07-06  Bruno Haible  <bruno@clisp.org>
13246         error: Fix documentation.
13247         * doc/glibc-functions/error_at_line.texi: Document what the 'error'
13248         module provides.
13249         * doc/glibc-functions/error_message_count.texi: Likewise.
13250         * doc/glibc-functions/error_one_per_line.texi: Likewise.
13251         * doc/glibc-functions/error_print_progname.texi: Likewise.
13253 2019-07-06  Bruno Haible  <bruno@clisp.org>
13255         doc: Remove documentation of glibc <= 2.1.x as a supported platform.
13256         * doc/gnulib-intro.texi (Target Platforms): Mention that glibc 2.1.x
13257         and older is unsupported.
13258         * doc/**/*.texi: Update.
13260 2019-07-06  Bruno Haible  <bruno@clisp.org>
13262         doc: Remove documentation of Linux libc5 as a supported platform.
13263         * doc/posix-functions/iswalnum.texi: Don't mention workarounds specific
13264         to Linux libc5.
13265         * doc/posix-functions/iswalpha.texi: Likewise.
13266         * doc/posix-functions/iswblank.texi: Likewise.
13267         * doc/posix-functions/iswcntrl.texi: Likewise.
13268         * doc/posix-functions/iswdigit.texi: Likewise.
13269         * doc/posix-functions/iswgraph.texi: Likewise.
13270         * doc/posix-functions/iswlower.texi: Likewise.
13271         * doc/posix-functions/iswprint.texi: Likewise.
13272         * doc/posix-functions/iswpunct.texi: Likewise.
13273         * doc/posix-functions/iswspace.texi: Likewise.
13274         * doc/posix-functions/iswupper.texi: Likewise.
13275         * doc/posix-functions/iswxdigit.texi: Likewise.
13276         * doc/posix-functions/snprintf.texi: Likewise.
13277         * doc/posix-functions/vsnprintf.texi: Likewise.
13279 2019-07-06  Bruno Haible  <bruno@clisp.org>
13281         doc: Remove documentation of Tandem/NSK as a supported platform.
13282         * doc/posix-headers/stdlib.texi: Don't mention workarounds specific to
13283         Tandem/NSK.
13284         * doc/**/*.texi: Update.
13286 2019-07-06  Bruno Haible  <bruno@clisp.org>
13288         doc: Remove documentation of Mac OS X <= 10.4 as a supported platform.
13289         * doc/gnulib-intro.texi (Target Platforms): Mention that Mac OS X 10.4
13290         and older is unsupported.
13291         * doc/posix-functions/acosl.texi: Don't mention workarounds specific to
13292         Mac OS X 10.4 and older.
13293         * doc/posix-functions/asinl.texi: Likewise.
13294         * doc/posix-functions/atanl.texi: Likewise.
13295         * doc/posix-functions/cosl.texi: Likewise.
13296         * doc/posix-functions/expl.texi: Likewise.
13297         * doc/posix-functions/frexpl.texi: Likewise.
13298         * doc/posix-functions/gettimeofday.texi: Likewise.
13299         * doc/posix-functions/logl.texi: Likewise.
13300         * doc/posix-functions/mkstemp.texi: Likewise.
13301         * doc/posix-functions/sinl.texi: Likewise.
13302         * doc/posix-functions/sqrtl.texi: Likewise.
13303         * doc/posix-functions/tanl.texi: Likewise.
13304         * doc/posix-functions/wcswidth.texi: Likewise.
13305         * doc/**/*.texi: Update.
13307 2019-07-06  Bruno Haible  <bruno@clisp.org>
13309         doc: Remove documentation of AIX 4 as a supported platform.
13310         * doc/gnulib-intro.texi (Target Platforms): Mention that AIX 4 is
13311         unsupported.
13312         * doc/posix-functions/nanosleep.texi: Don't mention AIX 4 specific
13313         workarounds.
13314         * doc/posix-functions/strnlen.texi: Likewise.
13315         * doc/posix-headers/inttypes.texi: Likewise.
13316         * doc/**/*.texi: Update.
13318 2019-07-06  Bruno Haible  <bruno@clisp.org>
13320         doc: Remove documentation of HP-UX 10 as a supported platform.
13321         * doc/gnulib-intro.texi (Target Platforms): Mention that HP-UX 10 is
13322         unsupported.
13323         * doc/*-functions/*printf.texi: Don't mention HP-UX 10 specific
13324         workarounds.
13325         * doc/posix-functions/gmtime_r.texi: Likewise.
13326         * doc/posix-functions/localtime_r.texi: Likewise.
13327         * doc/posix-functions/mkstemp.texi: Likewise.
13328         * doc/**/*.texi: Update.
13330 2019-07-06  Bruno Haible  <bruno@clisp.org>
13332         doc: Remove documentation of Interix 3.5 as a supported platform.
13333         * doc/gnulib-intro.texi (Target Platforms): Mention that Interix is
13334         unsupported.
13335         * doc/posix-functions/select.texi: Don't mention Interix specific
13336         workarounds.
13337         * doc/posix-headers/signal.texi: Likewise.
13338         * doc/**/*.texi: Update.
13340 2019-07-06  Bruno Haible  <bruno@clisp.org>
13342         doc: Remove documentation of IRIX 6.4 and older as supported platforms.
13343         * doc/gnulib-intro.texi (Target Platforms): Mention that IRIX <= 6.4 is
13344         unsupported.
13345         * doc/pastposix-functions/usleep.texi: Don't mention IRIX specific
13346         workarounds.
13347         * doc/posix-functions/nl_langinfo.texi: Likewise.
13348         * doc/posix-functions/remainder.texi: Likewise.
13349         * doc/posix-functions/towlower.texi: Likewise.
13350         * doc/posix-functions/towupper.texi: Likewise.
13351         * doc/posix-functions/vsnprintf.texi: Likewise.
13352         * doc/posix-functions/wcscat.texi: Likewise.
13353         * doc/posix-functions/wcschr.texi: Likewise.
13354         * doc/posix-functions/wcscmp.texi: Likewise.
13355         * doc/posix-functions/wcscpy.texi: Likewise.
13356         * doc/posix-functions/wcscspn.texi: Likewise.
13357         * doc/posix-functions/wcslen.texi: Likewise.
13358         * doc/posix-functions/wcsncat.texi: Likewise.
13359         * doc/posix-functions/wcsncmp.texi: Likewise.
13360         * doc/posix-functions/wcsncpy.texi: Likewise.
13361         * doc/posix-functions/wcspbrk.texi: Likewise.
13362         * doc/posix-functions/wcsrchr.texi: Likewise.
13363         * doc/posix-functions/wcsspn.texi: Likewise.
13364         * doc/posix-headers/langinfo.texi: Likewise.
13365         * doc/posix-headers/signal.texi: Likewise.
13366         * doc/posix-headers/wchar.texi: Likewise.
13367         * doc/posix-headers/wctype.texi: Likewise.
13368         * doc/**/*.texi: Update.
13370 2019-07-05  Bruno Haible  <bruno@clisp.org>
13372         doc: Remove documentation of OSF/1 as supported platform.
13373         * doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is
13374         unsupported.
13375         * doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific
13376         workarounds.
13377         * doc/glibc-functions/pthread_setname_np.texi: Likewise.
13378         * doc/glibc-functions/ptsname_r.texi: Likewise.
13379         * doc/posix-functions/ceil.texi: Likewise.
13380         * doc/posix-functions/ceilf.texi: Likewise.
13381         * doc/posix-functions/ceill.texi: Likewise.
13382         * doc/posix-functions/fchdir.texi: Likewise.
13383         * doc/posix-functions/floor.texi: Likewise.
13384         * doc/posix-functions/floorf.texi: Likewise.
13385         * doc/posix-functions/fmod.texi: Likewise.
13386         * doc/posix-functions/fmodf.texi: Likewise.
13387         * doc/posix-functions/fmodl.texi: Likewise.
13388         * doc/posix-functions/log.texi: Likewise.
13389         * doc/posix-functions/logf.texi: Likewise.
13390         * doc/posix-functions/logl.texi: Likewise.
13391         * doc/posix-functions/log10.texi: Likewise.
13392         * doc/posix-functions/log10f.texi: Likewise.
13393         * doc/posix-functions/log10l.texi: Likewise.
13394         * doc/posix-functions/log2.texi: Likewise.
13395         * doc/posix-functions/log2f.texi: Likewise.
13396         * doc/posix-functions/log2l.texi: Likewise.
13397         * doc/posix-functions/mbrtowc.texi: Likewise.
13398         * doc/posix-functions/recv.texi: Likewise.
13399         * doc/posix-functions/recvfrom.texi: Likewise.
13400         * doc/posix-functions/remainder.texi: Likewise.
13401         * doc/posix-functions/remainderf.texi: Likewise.
13402         * doc/posix-functions/remainderl.texi: Likewise.
13403         * doc/posix-functions/round.texi: Likewise.
13404         * doc/posix-functions/roundf.texi: Likewise.
13405         * doc/posix-functions/roundl.texi: Likewise.
13406         * doc/posix-functions/send.texi: Likewise.
13407         * doc/posix-functions/sendto.texi: Likewise.
13408         * doc/posix-functions/setenv.texi: Likewise.
13409         * doc/posix-functions/snprintf.texi: Likewise.
13410         * doc/posix-functions/tcgetsid.texi: Likewise.
13411         * doc/posix-functions/trunc.texi: Likewise.
13412         * doc/posix-functions/truncf.texi: Likewise.
13413         * doc/posix-functions/truncl.texi: Likewise.
13414         * doc/posix-functions/ttyname_r.texi: Likewise.
13415         * doc/posix-functions/unsetenv.texi: Likewise.
13416         * doc/posix-functions/wcsrtombs.texi: Likewise.
13417         * doc/posix-headers/sys_select.texi: Likewise.
13418         * doc/posix-headers/wchar.texi: Likewise.
13419         * doc/posix-headers/wctype.texi: Likewise.
13420         * doc/**/*.texi: Update.
13422 2019-07-05  Bruno Haible  <bruno@clisp.org>
13424         doc: Remove documentation of BSDI and BSD/OS as supported platforms.
13425         * doc/**/*.texi: Update.
13427 2019-07-05  Bruno Haible  <bruno@clisp.org>
13429         doc: Remove documentation of Solaris 8 and older as supported platforms.
13430         * doc/gnulib-intro.texi (Target Platforms): Mention that Solaris <= 8 is
13431         unsupported.
13432         * doc/posix-functions/mbrtowc.texi: Don't mention Solaris specific
13433         workarounds.
13434         * doc/posix-functions/memcmp.texi: Likewise.
13435         * doc/posix-functions/rename.texi: Likewise.
13436         * doc/posix-functions/tzset.texi: Likewise.
13437         * doc/posix-headers/wctype.texi: Likewise.
13438         * doc/**/*.texi: Update.
13440 2019-07-05  Bruno Haible  <bruno@clisp.org>
13442         doc: Remove documentation of Interix 3.5 as a supported platform.
13443         * doc/**/*.texi: Update.
13445 2019-07-05  Bruno Haible  <bruno@clisp.org>
13447         doc: Remove documentation of BeOS as a supported platform.
13448         * doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is
13449         unsupported.
13450         * doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds.
13451         * doc/posix-functions/getdelim.texi: Likewise.
13452         * doc/**/*.texi: Update.
13454 2019-07-05  Bruno Haible  <bruno@clisp.org>
13456         thread, lock, cond, tls: Remove support for Pth threads.
13457         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
13458         --enable-threads=pth any more.
13459         (gl_THREADLIB_BODY): Don't set USE_PTH_THREADS any more.
13460         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update comment.
13461         * m4/threads.m4 (gl_THREADS_H): Remove test for conflict between Pth
13462         threads and ISO C11 threads.
13463         * lib/glthread/thread.h: Remove code for USE_PTH_THREADS.
13464         * lib/glthread/lock.h: Likewise.
13465         * lib/glthread/lock.c: Likewise.
13466         * lib/glthread/cond.h: Likewise.
13467         * lib/glthread/cond.c: Likewise.
13468         * lib/glthread/tls.h: Likewise.
13469         * lib/glthread/tls.c: Likewise.
13470         * lib/glthread/yield.h: Likewise.
13471         * lib/regex_internal.h: Likewise.
13472         * tests/test-thread_create.c: Likewise.
13473         * tests/test-lock.c: Likewise.
13474         * tests/test-cond.c: Likewise.
13475         * tests/test-tls.c: Likewise.
13476         * tests/test-rwlock1.c: Don't include glthread/yield.h.
13477         (main): Sleep without calling gl_thread_yield.
13479 2019-07-05  Bruno Haible  <bruno@clisp.org>
13481         thread, lock, cond, tls: Remove support for old Solaris threads.
13482         Solaris >= 2.5.1 has POSIX threads.
13483         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
13484         --enable-threads=solaris any more.
13485         (gl_THREADLIB_BODY): Don't set USE_SOLARIS_THREADS any more.
13486         * lib/glthread/thread.c: Update comment.
13487         * lib/glthread/thread.h: Remove code for USE_SOLARIS_THREADS.
13488         * lib/glthread/lock.h: Likewise.
13489         * lib/glthread/lock.c: Likewise.
13490         * lib/glthread/cond.h: Likewise.
13491         * lib/glthread/cond.c: Likewise.
13492         * lib/glthread/tls.h: Likewise.
13493         * lib/glthread/tls.c: Likewise.
13494         * lib/glthread/yield.h: Likewise.
13495         * lib/regex_internal.h: Likewise.
13496         * tests/test-thread_create.c: Likewise.
13497         * tests/test-lock.c: Likewise.
13498         * tests/test-cond.c: Likewise.
13499         * tests/test-tls.c: Likewise.
13501 2019-07-05  Bruno Haible  <bruno@clisp.org>
13503         getcwd-lgpl, getcwd: Don't call realloc when it is pointless.
13504         * lib/getcwd-lgpl.c (rpl_getcwd): Don't call realloc if the result's
13505         needed size is equal to the allocated size.
13506         * lib/getcwd.c (__getcwd): Likewise.
13508 2019-07-05  Bruno Haible  <bruno@clisp.org>
13510         xgetdomainname: Don't return an excessive memory allocation.
13511         * lib/xgetdomainname.c (xgetdomainname): Shrink the domainname buffer
13512         before returning it.
13514 2019-07-05  Bruno Haible  <bruno@clisp.org>
13516         xgethostname: Don't return an excessive memory allocation.
13517         * lib/xgethostname.c (xgethostname): Shrink the hostname buffer before
13518         returning it.
13520 2019-07-05  Bruno Haible  <bruno@clisp.org>
13522         areadlinkat-with-size: Don't return an excessive memory allocation.
13523         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Shrink the buffer
13524         before returning it.
13526 2019-07-05  Bruno Haible  <bruno@clisp.org>
13528         areadlink-with-size: Don't return an excessive memory allocation.
13529         Reported by Andreas Dilger <adilger@whamcloud.com>.
13530         * lib/areadlink-with-size.c (areadlink_with_size): Shrink the buffer
13531         before returning it.
13533 2019-07-03  Bruno Haible  <bruno@clisp.org>
13535         renameatu: Fix test failure on MSVC.
13536         * lib/at-func2.c (at_func2): Fail with ENOENT if file1 or file2 is the
13537         empty string.
13539 2019-07-03  Bruno Haible  <bruno@clisp.org>
13541         mbrtowc: Fix invalid use of mbtowc() on MSVC.
13542         * lib/mbrtowc.c: Include glthread/lock.h.
13543         (mbtowc_lock): New variable.
13544         (mbrtowc): Treat UTF-8 encoding without locking. For the other
13545         encodings, explicitly reset the internal state of mbtowc, and protect
13546         this through a lock.
13547         * modules/mbrtowc (Depends-on): Add lock.
13549 2019-07-03  Akim Demaille  <akim@lrde.epita.fr>
13551         argmatch: don't define _ in the header.
13552         Reported by Jim Meyering.
13553         * lib/argmatch.h (N_, _): Don't define.
13554         Use gettext instead.
13555         * lib/argmatch.h (_): Define.
13556         * tests/test-argmatch.c (N_): Define.
13558 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
13560         verify: document ‘assume’ better
13561         * lib/verify.h: Reword doc (Bug#36370).
13563 2019-07-02  Bruno Haible  <bruno@clisp.org>
13565         localcharset, nl_langinfo: Fix return value for UTF-8 locales on MSVC.
13566         * lib/localcharset.c (locale_charset): Return "UTF-8" instead of
13567         "CPutf8".
13568         * lib/nl_langinfo.c (ctype_codeset): Likewise.
13570 2019-07-02  Bruno Haible  <bruno@clisp.org>
13572         getcwd: Fix crash when invoked with size = 0 on MSVC.
13573         * lib/getcwd.c: Include msvc-inval.h.
13574         (getcwd_nothrow): New function/macro.
13575         (getcwd_system): New macro.
13576         (__getcwd): Use it instead of getcwd.
13577         * modules/getcwd (Depends-on): Add msvc-inval.
13578         * doc/posix-functions/getcwd.texi: Mention the MSVC issue.
13580 2019-07-02  Bruno Haible  <bruno@clisp.org>
13582         nonblocking-pipe tests: Fix test failure on MSVC.
13583         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE): Set to 10000 on
13584         native Windows.
13586 2019-07-02  Bruno Haible  <bruno@clisp.org>
13588         usleep: Implement with millisecond resolution on native Windows.
13589         * lib/usleep.c (usleep): On native Windows, implement using Sleep().
13590         * doc/pastposix-functions/usleep.texi: Update accordingly.
13592 2019-07-02  Bruno Haible  <bruno@clisp.org>
13594         lstat tests: Fix test failure on MSVC.
13595         * tests/test-lstat.h (test_lstat_func): Don't test SAME_INODE values on
13596         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
13598 2019-07-02  Bruno Haible  <bruno@clisp.org>
13600         stat tests: Fix test failure on MSVC.
13601         * tests/test-stat.h (test_stat_func): Don't test SAME_INODE values on
13602         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
13604 2019-07-02  Bruno Haible  <bruno@clisp.org>
13606         getaddrinfo tests: Fix test failure on MSVC.
13607         * tests/test-getaddrinfo.c: Include sockets.h.
13608         (main): Invoke gl_sockets_startup.
13609         * modules/getaddrinfo-tests (Depends-on): Add sockets.
13611 2019-07-01  Hannes Müller  <h.c.f.mueller@gmx.de>
13613         poll: Fix type of timeout pointer passed to select() on mingw x86_64.
13614         * lib/poll.c: Call Windows native select() with Windows native timeval.
13616 2019-06-30  Bruno Haible  <bruno@clisp.org>
13618         argmatch: Fix compilation errors.
13619         * lib/argmatch.h: Include <limits.h>, for INT_MAX.
13620         * tests/test-argmatch.c (main): Update after last-minute function names
13621         change.
13623 2019-06-30  Bruno Haible  <bruno@clisp.org>
13625         Include <stdlib.h> when needed.
13626         * lib/cnd.c: Include <stdlib.h>, needed for abort().
13627         * lib/fcntl.c: Likewise.
13628         * lib/mbscasestr.c: Likewise.
13629         * lib/mbssep.c: Likewise.
13630         * lib/mbsstr.c: Likewise.
13631         * lib/openat.c: Include <stdlib.h>, needed for free().
13632         * lib/windows-tls.c: Include <stdlib.h>, needed for malloc(), free(),
13633         abort().
13635 2019-06-30  Bruno Haible  <bruno@clisp.org>
13637         Include <stdlib.h> when needed.
13638         * lib/areadlinkat.c: Include <stdlib.h>, needed for free() in at-func.c.
13639         * lib/faccessat.c: Likewise.
13640         * lib/fchmodat.c: Likewise.
13641         * lib/fchownat.c: Likewise.
13642         * lib/fstatat.c: Likewise.
13643         * lib/mkfifoat.c: Likewise.
13644         * lib/mknodat.c: Likewise.
13645         * lib/readlinkat.c: Likewise.
13646         * lib/symlinkat.c: Likewise.
13647         * lib/utimensat.c: Likewise.
13648         * lib/mkdirat.c: Likewise. Include also the specification header.
13650 2019-06-30  Bruno Haible  <bruno@clisp.org>
13652         inet_ntop, inet_pton: Avoid conflict with native Windows functions.
13653         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WS2TCPIP): New macro, extracted
13654         from gl_PREREQ_SYS_H_SOCKET.
13655         (gl_PREREQ_SYS_H_SOCKET): Invoke it.
13656         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Invoke
13657         gl_PREREQ_SYS_H_WS2TCPIP.
13658         * modules/arpa_inet (Files): Add m4/sys_socket_h.m4, m4/socklen.m4.
13659         (Makefile.am): Substitute HAVE_WS2TCPIP_H.
13660         * lib/arpa_inet.in.h: Include <ws2tcpip.h>.
13662 2019-06-30  Bruno Haible  <bruno@clisp.org>
13664         inet_ntop, inet_pton: Forward-compatibility with newer Windows versions.
13665         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): On native Windows, set
13666         REPLACE_INET_NTOP to 1 always.
13667         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): On native Windows, set
13668         REPLACE_INET_PTON to 1 always.
13670 2019-06-30  Bruno Haible  <bruno@clisp.org>
13672         inet_pton: Fix link error on mingw with _WIN32_WINNT >= 0x0600.
13673         * modules/inet_pton (Depends-on, configure.ac): Test REPLACE_INET_PTON,
13674         not REPLACE_INET_NTOP.
13676 2019-06-30  Bruno Haible  <bruno@clisp.org>
13678         poll: Add comment.
13679         * lib/poll.c: Add comment about WSAPoll.
13681 2019-06-30  Bruno Haible  <bruno@clisp.org>
13683         poll-h: Fix compilation error on mingw with _WIN32_WINNT >= 0x0600.
13684         Reported by Hannes Müller <h.c.f.mueller@gmx.de>.
13685         * lib/poll.in.h: Include <winsock2.h>.
13686         (POLL*, pollfd): Override on native Windows.
13687         * m4/poll_h.m4 (gl_POLL_H): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13688         * modules/poll-h (Files): Add m4/sys_socket_h.m4.
13689         (Makefile.am): Substitute HAVE_WINSOCK2_H.
13691 2019-06-28  Bruno Haible  <bruno@clisp.org>
13693         accept4: Fix compilation error on OpenIndiana.
13694         Reported by Michal Nowak <mnowak@startmail.com>
13695         via Mark H Weaver <mhw@netris.org>.
13696         * m4/accept.m4 (gl_FUNC_ACCEPT4): Test whether accept4 is declared, not
13697         whether it exists as a function.
13699 2019-06-26  Paul Eggert  <eggert@cs.ucla.edu>
13701         strverscmp: sync from glibc
13702         * lib/strverscmp.c: Sync from glibc, except use UTF-8 encoding in
13703         comments, include libc-config.h, define __strverscmp to be
13704         strverscmp, and don’t assume types line uint8_t and int8_t that
13705         that C99 doesn’t guarantee.
13706         [!_LIBC]: Include libc-config.h; define __strverscmp.
13707         Include stdint.h.
13708         (__strverscmp): Assume C99.  Use uint_least8_t
13709         and int_least8_t instead of unsigned char and signed char.
13710         * modules/strverscmp (Depends-on): Add libc-config, stdint.
13712 2019-06-25  Bruno Haible  <bruno@clisp.org>
13714         tss tests: Add tests for destructors and races.
13715         * tests/test-tss.c (worker_thread): Fix typo in debug message.
13716         (test_tss_dtorcheck1, test_tss_dtorcheck2, test_tss_racecheck): New
13717         functions.
13718         (main): Invoke them.
13719         * modules/tls-tests (Depends-on): Add mtx.
13721 2019-06-25  Bruno Haible  <bruno@clisp.org>
13723         tls tests: Add tests for destructors and races.
13724         * tests/test-tls.c: Include glthread/lock.h.
13725         (test_tls_dtorcheck1, test_tls_dtorcheck2, test_tls_racecheck): New
13726         functions.
13727         (main): Invoke them.
13728         * modules/tls-tests (Depends-on): Add lock.
13730 2019-06-25  Bruno Haible  <bruno@clisp.org>
13732         windows-tls: Implement TLS key destructors for native Windows.
13733         * lib/windows-tls.h (glwthread_tls_process_destructors): New
13734         declaration.
13735         (GLWTHREAD_DESTRUCTOR_ITERATIONS): New macro.
13736         * lib/windows-tls.c: Include <limits.h>, windows-once.h.
13737         (dtor_table_init_once, dtor_table_lock: New variables.
13738         (struct dtor): New type.
13739         (dtor_table, dtors_count, dtors_used, dtors_allocated,
13740         dtor_processing_threads): New variables.
13741         (dtor_table_initialize, dtor_table_ensure_initialized,
13742         dtor_table_shrink_used, glwthread_tls_process_destructors): New
13743         functions.
13744         (glwthread_tls_key_create, glwthread_tls_key_delete): Rewritten to
13745         handle non-NULL destructors.
13746         * modules/windows-tls (Depends-on): Add windows-once.
13747         * lib/glthread/tls.h (glthread_tls_key_init, glthread_tls_key_destroy):
13748         Use the functions declared in windows-tls.h.
13749         * lib/threads.in.h (TSS_DTOR_ITERATIONS): Define using
13750         GLWTHREAD_DESTRUCTOR_ITERATIONS.
13751         * lib/windows-thread.c: Include windows-tls.h.
13752         (wrapper_func, glwthread_thread_exit): Invoke
13753         glwthread_tls_process_destructors.
13754         * modules/windows-thread (Depends-on): Add windows-tls.
13756 2019-06-25  Bruno Haible  <bruno@clisp.org>
13758         threadlib: Avoid autoconf warning "was expanded before it was required".
13759         * modules/threadlib (configure.ac): Require gl_THREADLIB.
13761 2019-06-25  Akim Demaille  <akim@lrde.epita.fr>
13763         argmatch: remove duplicate const qualifier
13764         * lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Here.
13766 2019-06-24  Paul Eggert  <eggert@cs.ucla.edu>
13768         unistd: stddef.h and sys/types.h namespace cleanup
13769         * lib/unistd.in.h [__GLIBC__]:
13770         Do not include stddef.h or sys/types.h.
13771         [!__GLIBC__]: Always include sys/types.h, since unistd.h is
13772         supposed to declare off_t and ssize_t.  Problem found when looking
13773         at why @GNULIB_PWRITE@ was different from the newly-added
13774         @GNULIB_COPY_FILE_RANGE@ with respect to ssize_t.
13776 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
13778         maintainer-makefile: restore portability to non-GNU awks
13779         Reported by Tim Rühsen.
13780         * top/maint.mk (AWK): New variable.  Use it.
13781         (sc_prohibit_gnu_make_extensions): Skip if $(AWK) is not gawk.
13783 2019-06-23  Paul Eggert  <eggert@cs.ucla.edu>
13785         Document setvbuf _IOLBF problem
13786         * doc/posix-functions/setvbuf.texi (setvbuf):
13787         Document MS-Windows portability problem with _IOLBF.
13789         Document lseek SEEK_DATA/SEEK_HOLE
13790         * doc/posix-functions/lseek.texi (lseek):
13791         Document some systems that do not support SEEK_DATA and SEEK_HOLE.
13793 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
13795         argmatch: put all the docs member last.
13796         Reported by Bruno Haible.
13797         * lib/argmatch.h (argmatch_##Name##_group_type): Put the args
13798         member before the docs done.
13799         * doc/argmatch.texi, tests/test-argmatch.c: Adjust.
13801 2019-06-21  Akim Demaille  <akim@lrde.epita.fr>
13803         argmatch: add support to generate the usage message.
13804         * lib/argmatch.c: Move some #includes and gettext support to...
13805         * lib/argmatch.h: here.
13806         (ARGMATCH_DEFINE_GROUP): New macro.
13807         * tests/test-argmatch.c (argmatch_backup_docs, argmatch_backup_args)
13808         (argmatch_backup_group): New.
13809         (CHECK): New.
13810         (main): Check argmatch_backup_value, argmatch_backup_xvalue,
13811         argmatch_backup_argument and argmatch_backup_usage.
13812         * modules/argmatch: We depend on c99.
13813         * doc/argmatch.texi (Recognizing Option Arguments): New.
13814         * doc/gnulib.texi: Use it.
13816 2019-06-21  Bruno Haible  <bruno@clisp.org>
13818         thrd: Add comment.
13819         * lib/thrd.c (pthread_main_func): Add comment.
13821 2019-06-21  Bruno Haible  <bruno@clisp.org>
13823         threads-h: Define 'thread_local' if and only if it actually works.
13824         * m4/threads.m4 (gl_THREAD_LOCAL_DEFINITION): New macro.
13825         (gl_THREADS_H): Define _Thread_local to __thread also for ARM C, IBM C,
13826         Oracle Solaris Studio C. Compile a simple program, to see whether
13827         _Thread_local basically works. Set HAVE_THREAD_LOCAL and LIBTHREADLOCAL.
13828         (gl_THREADS_H_DEFAULTS): Initialize HAVE_THREAD_LOCAL.
13829         * lib/threads.in.h (thread_local): Undefine if it does not work.
13830         * modules/threads-h (Makefile.am): Substitute HAVE_THREAD_LOCAL.
13831         (Link): Mention LIBTHREADLOCAL.
13832         * tests/test-threads.c: Don't check that thread_local is defined.
13833         * tests/test-thread_local.c: New file.
13834         * modules/threads-h-tests (Files): Add it and macros.h.
13835         (Depends-on): Add thrd and stdint.
13836         (configure.ac): Test whether 'alarm' is declared.
13837         (Makefile.am): Arrange to build and link test-thread_local.
13838         * doc/posix-headers/threads.texi: Mention the platforms that don't
13839         support 'thread_local'.
13841 2019-06-20  Bruno Haible  <bruno@clisp.org>
13843         threads-h: Simplify link dependencies.
13844         * m4/threads.m4 (gl_THREADS_H): Bail out if Pth threading is requested.
13845         Don't set LTLIBSTDTHREAD.
13846         * modules/thrd (Link): Simplify accordingly.
13847         * modules/mtx (Link): Likewise.
13848         * modules/cnd (Link): Likewise.
13849         * modules/tss (Link): Likewise.
13850         * modules/threads (Link): Likewise.
13852 2019-06-20  Bruno Haible  <bruno@clisp.org>
13854         threads-h: Fix link error on FreeBSD 11.
13855         * m4/threads.m4 (gl_THREADS_H): When linking with -lstdthreads, link
13856         also with -lpthread.
13858 2019-06-20  Bruno Haible  <bruno@clisp.org>
13860         threadlib: Fix typo (regression from today).
13861         * m4/threadlib.m4 (gl_THREADLIB_BODY): Fix typo in comment marker.
13863 2019-06-20  Bruno Haible  <bruno@clisp.org>
13865         windows-thread, windows-tls: Fix compilation error on 32-bit mingw.
13866         * lib/windows-thread.c: Include <errno.h>.
13867         * lib/windows-tls.c: Likewise.
13869 2019-06-20  Bruno Haible  <bruno@clisp.org>
13871         tss tests: Small improvement.
13872         * tests/test-tss.c (test_tss): Pass a different id to each thread.
13874 2019-06-20  Bruno Haible  <bruno@clisp.org>
13876         threads: New module.
13877         * modules/threads: New file.
13879 2019-06-20  Bruno Haible  <bruno@clisp.org>
13881         tss: Add tests.
13882         * tests/test-tss.c: New file, based on tests/test-tls.c.
13883         * modules/tss-tests: New file.
13885 2019-06-20  Bruno Haible  <bruno@clisp.org>
13887         cnd: Add tests.
13888         * tests/test-cnd.c: New file, based on tests/test-cond.c.
13889         * modules/cnd-tests: New file.
13891 2019-06-20  Bruno Haible  <bruno@clisp.org>
13893         mtx: Add tests.
13894         * tests/test-mtx.c: New file, based on tests/test-lock.c.
13895         * tests/test-call_once.c: New file, based on tests/test-once.c.
13896         * modules/mtx-tests: New file.
13898 2019-06-20  Bruno Haible  <bruno@clisp.org>
13900         thrd: Add tests.
13901         * tests/test-thrd_create.c: New file, based on
13902         tests/test-thread_create.c.
13903         * tests/test-thrd_current.c: New file, based on
13904         tests/test-thread_self.c.
13905         * modules/thrd-tests: New file.
13907 2019-06-20  Bruno Haible  <bruno@clisp.org>
13909         tss: New module.
13910         * lib/tss.c: New file.
13911         * modules/tss: New file.
13912         * doc/posix-functions/tss_create.texi: Mention the new module.
13913         * doc/posix-functions/tss_set.texi: Likewise.
13914         * doc/posix-functions/tss_get.texi: Likewise.
13915         * doc/posix-functions/tss_delete.texi: Likewise.
13917 2019-06-20  Bruno Haible  <bruno@clisp.org>
13919         cnd: New module.
13920         * lib/cnd.c: New file.
13921         * modules/cnd: New file.
13922         * doc/posix-functions/cnd_init.texi: Mention the new module.
13923         * doc/posix-functions/cnd_wait.texi: Likewise.
13924         * doc/posix-functions/cnd_timedwait.texi: Likewise.
13925         * doc/posix-functions/cnd_signal.texi: Likewise.
13926         * doc/posix-functions/cnd_broadcast.texi: Likewise.
13927         * doc/posix-functions/cnd_destroy.texi: Likewise.
13929 2019-06-20  Bruno Haible  <bruno@clisp.org>
13931         mtx: New module.
13932         * lib/mtx.c: New file.
13933         * modules/mtx: New file.
13934         * doc/posix-functions/call_once.texi: Mention the new module.
13935         * doc/posix-functions/mtx_init.texi: Likewise.
13936         * doc/posix-functions/mtx_lock.texi: Likewise.
13937         * doc/posix-functions/mtx_trylock.texi: Likewise.
13938         * doc/posix-functions/mtx_timedlock.texi: Likewise.
13939         * doc/posix-functions/mtx_unlock.texi: Likewise.
13940         * doc/posix-functions/mtx_destroy.texi: Likewise.
13942 2019-06-20  Bruno Haible  <bruno@clisp.org>
13944         thrd: New module.
13945         * lib/thrd.c: New file.
13946         * m4/thrd.m4: New file.
13947         * modules/thrd: New file.
13948         * doc/posix-functions/thrd_current.texi: Mention the new module.
13949         * doc/posix-functions/thrd_detach.texi: Likewise.
13950         * doc/posix-functions/thrd_equal.texi: Likewise.
13951         * doc/posix-functions/thrd_exit.texi: Likewise.
13952         * doc/posix-functions/thrd_sleep.texi: Likewise.
13953         * doc/posix-functions/thrd_yield.texi: Likewise.
13954         * doc/posix-functions/thrd_create.texi: Mention the new module and the
13955         AIX bug.
13956         * doc/posix-functions/thrd_join.texi: Mention the new module and the
13957         AIX and Solaris bugs.
13959 2019-06-20  Bruno Haible  <bruno@clisp.org>
13961         threads-h: Add tests.
13962         * tests/test-threads.c: New file.
13963         * modules/threads-h-tests: New file.
13964         * tests/test-threads-c++.cc: New file.
13965         * modules/threads-h-c++-tests: New file.
13967 2019-06-20  Bruno Haible  <bruno@clisp.org>
13969         threads-h: New module.
13970         * lib/threads.in.h: New file.
13971         * m4/threads.m4: New file.
13972         * m4/yield.m4 (gl_YIELD): Update comment.
13973         * modules/threads-h: New file.
13974         * modules/yields (configure.ac): Use AC_REQUIRE.
13975         * doc/posix-headers/threads.texi: Mention the new module and the AIX
13976         bugs.
13978 2019-06-20  Bruno Haible  <bruno@clisp.org>
13980         windows-thread: New module.
13981         * lib/windows-thread.h: New file, based on lib/glthread/thread.h.
13982         * lib/windows-thread.c: New file, based on lib/glthread/thread.c.
13983         * lib/glthread/thread.h: Include windows-thread.h.
13984         (gl_thread_t): Define using glwthread_thread_t.
13985         (glthread_create): Define using glwthread_thread_create.
13986         (glthread_join): Define using glwthread_thread_join.
13987         (gl_thread_self): Define using glwthread_thread_self.
13988         (gl_thread_exit): Define using glwthread_thread_exit.
13989         (glthread_create_func, glthread_join_func, gl_thread_self_func,
13990         gl_thread_exit_func): Remove declarations.
13991         * lib/glthread/thread.c (self_key): Remove variable.
13992         (do_init_self_key, init_self_key): Remove functions.
13993         (struct gl_thread_struct): Remove type.
13994         (get_current_thread_handle, gl_thread_self_func, wrapper_func,
13995         glthread_create_func, glthread_join_func, gl_thread_exit_func): Remove
13996         functions.
13997         * modules/windows-thread: New file.
13998         * modules/thread (Depends-on): Add windows-thread.
14000 2019-06-20  Bruno Haible  <bruno@clisp.org>
14002         windows-tls: New module.
14003         * lib/windows-tls.h: New file, based on lib/glthread/tls.h.
14004         * lib/windows-tls.c: New file, based on lib/glthread/tls.h.
14005         * lib/glthread/tls.h: Include windows-tls.h.
14006         (gl_tls_key_t): Define using glwthread_tls_key_t.
14007         * modules/windows-tls: New file.
14008         * modules/tls (Depends-on): Add windows-tls.
14010 2019-06-20  Bruno Haible  <bruno@clisp.org>
14012         windows-cond: New module.
14013         * lib/windows-cond.h: New file, based on lib/glthread/cond.h.
14014         * lib/windows-cond.c: New file, based on lib/glthread/cond.c.
14015         * lib/glthread/cond.h: Include windows-cond.h.
14016         (struct gl_waitqueue_link, gl_linked_waitqueue_t): Remove types.
14017         (gl_cond_t): Define using glwthread_cond_t.
14018         (gl_cond_initializer): Define using GLWTHREAD_COND_INIT.
14019         (glthread_cond_init): Define using glwthread_cond_init.
14020         (glthread_cond_wait): Define using glwthread_cond_wait.
14021         (glthread_cond_timedwait): Define using glwthread_cond_timedwait.
14022         (glthread_cond_signal): Define using glwthread_cond_signal.
14023         (glthread_cond_broadcast): Define using glwthread_cond_broadcast.
14024         (glthread_cond_destroy): Define using glwthread_cond_destroy.
14025         (glthread_cond_init_func, glthread_cond_wait_func,
14026         glthread_cond_timedwait_func, glthread_cond_signal_func,
14027         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
14028         declarations.
14029         * lib/glthread/cond.c (gl_waitqueue_t, gl_waitqueue_element): Remove
14030         types.
14031         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
14032         gl_waitqueue_notify_first, gl_waitqueue_notify_all,
14033         glthread_cond_init_func, glthread_cond_wait_func,
14034         glthread_cond_timedwait_func, glthread_cond_signal_func,
14035         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
14036         functions.
14037         * modules/windows-cond: New file.
14038         * modules/cond (Depends-on): Add windows-cond. Remove gettimeofday.
14040 2019-06-20  Bruno Haible  <bruno@clisp.org>
14042         windows-timedrecmutex: New module.
14043         * lib/windows-timedrecmutex.h: New file, based on windows-recmutex.h.
14044         * lib/windows-timedrecmutex.c: New file, based on windows-recmutex.c.
14045         * modules/windows-timedrecmutex: New file.
14047 2019-06-20  Bruno Haible  <bruno@clisp.org>
14049         windows-timedmutex: New module.
14050         * lib/windows-timedmutex.h: New file, based on windows-mutex.h.
14051         * lib/windows-timedmutex.c: New file, based on windows-mutex.c.
14052         * modules/windows-timedmutex: New file.
14054 2019-06-20  Bruno Haible  <bruno@clisp.org>
14056         windows-recmutex: New module.
14057         * lib/windows-recmutex.h: New file, extracted from lib/glthread/lock.h.
14058         * lib/windows-recmutex.c: New file, extracted from lib/glthread/lock.c.
14059         * lib/glthread/lock.h: Include windows-recmutex.h.
14060         (gl_recursive_lock_t): Define using glwthread_recmutex_t.
14061         (gl_recursive_lock_initializer): Define using GLWTHREAD_RECMUTEX_INIT.
14062         (glthread_recursive_lock_init): Define using glwthread_recmutex_init.
14063         (glthread_recursive_lock_lock): Define using glwthread_recmutex_lock.
14064         (glthread_recursive_lock_unlock): Define using
14065         glwthread_recmutex_unlock.
14066         (glthread_recursive_lock_destroy): Define using
14067         glwthread_recmutex_destroy.
14068         (glthread_recursive_lock_init_func, glthread_recursive_lock_lock_func,
14069         glthread_recursive_lock_unlock_func,
14070         glthread_recursive_lock_destroy_func): Remove declarations.
14071         * lib/glthread/lock.c (glthread_recursive_lock_init_func,
14072         glthread_recursive_lock_lock_func, glthread_recursive_lock_unlock_func,
14073         glthread_recursive_lock_destroy_func): Remove functions.
14074         * modules/windows-recmutex: New file.
14075         * modules/lock (Depends-on): Add windows-recmutex.
14077 2019-06-20  Bruno Haible  <bruno@clisp.org>
14079         windows-mutex: New module.
14080         * lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h.
14081         * lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c.
14082         * lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h.
14083         * lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h.
14084         (gl_spinlock_t): Remove type.
14085         (gl_lock_t): Define using glwthread_mutex_t.
14086         (gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT.
14087         (glthread_lock_init): Define using glwthread_mutex_init.
14088         (glthread_lock_lock): Define using glwthread_mutex_lock.
14089         (glthread_lock_unlock): Define using glwthread_mutex_unlock.
14090         (glthread_lock_destroy): Define using glwthread_mutex_destroy.
14091         (glthread_lock_init_func, glthread_lock_lock_func,
14092         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
14093         declarations.
14094         Use glwthread_spinlock_t instead of gl_spinlock_t.
14095         (gl_rwlock_initializer, gl_recursive_lock_initializer): Define using
14096         GLWTHREAD_SPINLOCK_INIT.
14097         * lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func,
14098         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
14099         functions.
14100         * lib/glthread/cond.h: Use glwthread_spinlock_t instead of
14101         gl_spinlock_t.
14102         * modules/windows-mutex: New file.
14103         * modules/lock (Depends-on): Add windows-mutex.
14105 2019-06-20  Bruno Haible  <bruno@clisp.org>
14107         windows-once: New module.
14108         * lib/windows-once.h: New file, extracted from lib/glthread/lock.h.
14109         * lib/windows-once.c: New file, extracted from lib/glthread/lock.c.
14110         * lib/glthread/lock.h: Include windows-once.h.
14111         (gl_once_t): Define using glwthread_once_t.
14112         (gl_once_define): Define using GLWTHREAD_ONCE_INIT.
14113         (glthread_once): Define using glwthread_once.
14114         (glthread_once_func): Remove declaration.
14115         * lib/glthread/lock.c (glthread_once_func): Remove function.
14116         * modules/windows-once: New file.
14117         * modules/lock (Depends-on): Add windows-once.
14119 2019-06-20  Bruno Haible  <bruno@clisp.org>
14121         lock, cond: Avoid possible counter wraparound on Windows.
14122         * lib/glthread/lock.c (glthread_lock_lock_func): Leave the 'started'
14123         field of the guard unchanged if it was already positive.
14124         (glthread_rwlock_rdlock_func): Likewise.
14125         (glthread_rwlock_wrlock_func): Likewise.
14126         (glthread_recursive_lock_lock_func): Likewise.
14127         * lib/glthread/cond.c (glthread_cond_wait_func): Likewise.
14128         (glthread_cond_timedwait_func): Likewise.
14130 2019-06-20  Bruno Haible  <bruno@clisp.org>
14132         cond: Make glthread_cond_timedwait more reliable on Windows.
14133         * lib/glthread/cond.c (glthread_cond_timedwait_func): Initialize the
14134         condition variable before looking at the current time.
14136 2019-06-20  Bruno Haible  <bruno@clisp.org>
14138         pthread_mutex_timedlock: New module.
14139         * lib/pthread.in.h (pthread_mutex_timedlock): New dummy function and
14140         new declaration.
14141         * lib/pthread_mutex_timedlock.c: New file.
14142         * m4/pthread_mutex_timedlock.m4: New file.
14143         * m4/pthread.m4 (gl_PTHREAD_CHECK): Don't call AC_LIBOBJ here. Test
14144         whether pthread_mutex_timedlock is declared.
14145         (gl_PTHREAD_MODULE_INDICATOR): New macro.
14146         (gl_PTHREAD_DEFAULTS): Initialize GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
14147         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
14148         * modules/pthread (configure.ac): Call AC_LIBOBJ here.
14149         (Makefile.am): Substitute GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
14150         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
14151         * modules/pthread_mutex_timedlock: New file.
14152         * doc/posix-functions/pthread_mutex_timedlock.texi: Mention the new
14153         module.
14155 2019-06-20  Bruno Haible  <bruno@clisp.org>
14157         thread, lock, cond, tls: Recognize C11 multithreaded applications.
14158         * m4/threadlib.m4 (gl_THREADLIB_BODY): Test for <threads.h>.
14159         * lib/glthread/thread.h (c11_threads_in_use): New macro.
14160         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14161         * lib/glthread/lock.h (c11_threads_in_use): New macro.
14162         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14163         * lib/glthread/cond.h (c11_threads_in_use): New macro.
14164         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14165         * lib/glthread/tls.h (c11_threads_in_use): New macro.
14166         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14168 2019-06-20  Bruno Haible  <bruno@clisp.org>
14170         tls tests: Small improvements.
14171         * tests/test-tls.c: Include <stdint.h>.
14172         (worker_thread): Avoid gcc warning on 64-bit mingw.
14173         (test_tls): Pass a different id to each thread.
14174         * modules/tls-tests (Depends-on): Add stdint.
14176 2019-06-20  Bruno Haible  <bruno@clisp.org>
14178         cond tests: Simplify.
14179         * tests/test-cond.c (test_timedcond): Remove redundant assignment.
14181 2019-06-20  Bruno Haible  <bruno@clisp.org>
14183         lock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.
14184         * tests/test-lock.c (test_once): Don't reference fire_signal if
14185         !ENABLE_LOCKING.
14187 2019-06-19  Bruno Haible  <bruno@clisp.org>
14189         nanosleep: Relicense under LGPLv2+.
14190         Approved by Jim Meyering, Paul Eggert, Eric Blake, Pádraig Brady.
14191         * modules/nanosleep (License): Change to LGPLv2+.
14193 2019-06-19  Bruno Haible  <bruno@clisp.org>
14195         Reorder pieces of header in perl scripts.
14196         The desired order is
14197         - Prologue part 1 (2 lines with #!)
14198         - Program short description
14199         - Copyright and license notice
14200         - Written-by notice
14201         - Program short description (optional)
14202         - Program long description (optional)
14203         - Prologue part 2
14204         - Time stamp
14205         - Code
14206         Reported by Paul Eggert.
14207         * build-aux/announce-gen: Reorder header.
14208         * build-aux/gitlog-to-changelog: Likewise.
14209         * build-aux/useless-if-before-free: Likewise.
14210         * build-aux/prefix-gnulib-mk: Add copyright notice and short
14211         description.
14212         * build-aux/update-copyright: Likewise. Add short description. Bump
14213         time-stamp-line-limit to 200.
14215 2019-06-18  Paul Eggert  <eggert@cs.ucla.edu>
14217         verify-tests: work around xlc bug
14218         Problem reported by Bruno Haible in:
14219         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00049.html
14220         * tests/test-verify.c (item): Move the arithmetic inside the
14221         verify_expr, to avoid tickling a bug in IBM AIX xlc V12.1.
14223 2019-06-16  Bruno Haible  <bruno@clisp.org>
14225         Restore Emacs time-stamp hook applicability.
14226         Reported by Darshit Shah <darnir@gnu.org>.
14227         * build-aux/useless-if-before-free: Bump time-stamp-line-limit to 50.
14228         * build-aux/announce-gen: Likewise.
14229         * build-aux/gitlog-to-changelog: Likewise.
14230         * build-aux/prefix-gnulib-mk: Likewise.
14231         * build-aux/update-copyright: Likewise.
14233 2019-06-15  Bruno Haible  <bruno@clisp.org>
14235         Fix scripts to have valid executable format on Alpine Linux.
14236         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
14237         Idea by Paul Eggert.
14238         * build-aux/useless-if-before-free: Use a prologue that starts with
14239         '#!/bin/sh'.
14240         * build-aux/announce-gen: Likewise.
14241         * build-aux/gitlog-to-changelog: Likewise.
14242         * build-aux/prefix-gnulib-mk: Likewise.
14243         * build-aux/update-copyright: Likewise.
14244         * tests/test-update-copyright.sh: Update test program accordingly.
14246 2019-06-10  Bruno Haible  <bruno@clisp.org>
14248         nproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.
14249         Reported by Nikita Ermakov <arei@altlinux.org> in
14250         <https://lists.gnu.org/archive/html/bug-gnulib/2019-06/msg00003.html>.
14251         * lib/nproc.c (num_processors_ignoring_omp): Treat a return value of
14252         sysconf (_SC_NPROCESSORS_CONF) == 2 like a return value == 1.
14254 2019-06-10  Bruno Haible  <bruno@clisp.org>
14256         posix_spawn_file_actions_addchdir: Fix possible use-after-free bug.
14257         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
14258         * lib/spawn_faction_addchdir.c (posix_spawn_file_actions_addchdir): Make
14259         a copy of the path argument.
14260         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
14261         it.
14263 2019-06-10  Bruno Haible  <bruno@clisp.org>
14265         posix_spawn_file_actions_addopen: Fix possible use-after-free bug.
14266         Reported at <https://sourceware.org/bugzilla/show_bug.cgi?id=17048>.
14267         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
14268         * lib/spawn_faction_addopen.c (posix_spawn_file_actions_addopen): Make
14269         a copy of the path argument.
14270         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
14271         it.
14273 2019-06-10  Bruno Haible  <bruno@clisp.org>
14275         posix_spawn_file_actions_addfchdir: Add tests.
14276         * tests/test-posix_spawn_file_actions_addfchdir.c: New file.
14277         * tests/test-posix_spawn5.c: New file.
14278         * modules/posix_spawn_file_actions_addfchdir-tests: New file.
14280 2019-06-10  Bruno Haible  <bruno@clisp.org>
14282         posix_spawn_file_actions_addfchdir: New module.
14283         * lib/spawn.in.h (posix_spawn_file_actions_addfchdir): New declaration.
14284         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_fchdir' and
14285         union member 'fchdir_action'.
14286         * lib/spawn_faction_addfchdir.c: New file.
14287         * lib/spawni.c (__spawni): Implement the spawn_do_fchdir action.
14288         * m4/posix_spawn_faction_addfchdir.m4: New file.
14289         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
14290         'posix_spawn_file_actions_addfchdir' is present and whether
14291         posix_spawn_file_actions_addfchdir_np exists. Set REPLACE_POSIX_SPAWN.
14292         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
14293         posix_spawn_file_actions_addfchdir is declared.
14294         (gl_SPAWN_H_DEFAULTS): Initialize
14295         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
14296         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
14297         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
14298         * modules/spawn (Makefile.am): Substitute
14299         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
14300         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
14301         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
14302         * modules/posix_spawn_file_actions_addfchdir: New file.
14303         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addfchdir): Check
14304         signature.
14305         * doc/posix-functions/posix_spawn.texi: Mention the new module.
14306         * doc/posix-functions/posix_spawnp.texi: Likewise.
14307         * doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
14308         Likewise.
14310 2019-06-10  Bruno Haible  <bruno@clisp.org>
14312         doc: Document existence of posix_spawn_file_actions_addchdir module.
14313         * doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: Mention
14314         the posix_spawn_file_actions_addchdir module.
14316 2019-06-10  Bruno Haible  <bruno@clisp.org>
14318         posix_spawn-internal: Fix module description.
14319         * modules/posix_spawn (configure.ac): Move request to compile spawni.c
14320         from here...
14321         * modules/posix_spawnp (configure.ac): ... and here...
14322         * modules/posix_spawn-internal (configure.ac): ... to here.
14324 2019-06-10  Bruno Haible  <bruno@clisp.org>
14326         doc: Update and improve documentation of glibc functions.
14327         This is a series of commits that
14328         - updates the documentation to the state of glibc 2.29,
14329         - adds references to Linux man pages and glibc documentation,
14330         - marks Linux specific functions as such.
14331         These are the commits:
14332         doc: Update after removal of crypt functions from glibc 2.28.
14333         doc: Remove mention of function vm86 (does not exist on x86_64).
14334         doc: Remove mention of functions that are gone from glibc.
14335         doc: Mention that glibc no longer provides h_errno.
14336         doc: Mention the availability of specific functions in glibc versions.
14337         doc: Mention eaccess.
14338         doc: Add references to Linux man pages.
14339         doc: Add references to glibc documentation.
14340         doc: Mention inotify_* functions.
14341         doc: Mention ppoll.
14342         doc: Mention sched_getcpu.
14343         doc: Mention sync_file_range.
14344         doc: Mention epoll_pwait.
14345         doc: Mention eventfd, eventfd_read, eventfd_write.
14346         doc: Mention signalfd.
14347         doc: Mention timerfd_create, timerfd_gettime, timerfd_settime.
14348         doc: Mention epoll_create1.
14349         doc: Mention getauxval.
14350         doc: Mention pthread_getattr_default_np, pthread_setattr_default_np.
14351         doc: Mention nextdown, nextup.
14352         doc: Mention more ISO TS 18661-1 <math.h> functions.
14353         doc: Mention ISO TS 18661-1 <fenv.h> functions.
14354         doc: Mention getrandom, getentropy.
14355         doc: Mention strfromf, strfromd, strfroml.
14356         doc: Mention preadv2, pwritev2.
14357         doc: Mention copy_file_range.
14358         doc: Mention memfd_create.
14359         doc: Mention mlock2.
14360         doc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.
14361         doc: Mention more ISO TS 18661-1 <math.h> functions.
14362         doc: Mention renameat2.
14363         doc: Mention statx.
14364         doc: Mention the ISO C11 multithreading header and functions.
14365         doc: Mention getcpu.
14366         doc: Mention posix_spawn_file_actions_add[f]chdir_np.
14367         doc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.
14368         doc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.
14369         doc: Some glibc functions also exist on FreeBSD, Solaris 11.
14370         doc: Some glibc functions also exist on Solaris 11.
14371         doc: Some glibc functions also exist on Solaris 11.4.
14372         doc: Some glibc functions also exist on FreeBSD.
14373         doc: Some glibc functions also exist on BeOS.
14374         doc: Some glibc functions also exist on Haiku.
14375         doc: Mark functions which exist only on Linux.
14376         doc: Mark functions which exist only on Linux and illumos.
14378 2019-06-06  Paul Eggert  <eggert@cs.ucla.edu>
14380         copy-file: fix typo
14381         * lib/copy-file.c (qcopy_file_preserving): Remove unused label.
14383         copy-file-range: simplify into a stub
14384         Based on a comment by Florian Weimer in:
14385         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00007.html
14386         It turns out that Emacs (which will use this module) won’t need an
14387         emulation and I suspect other programs won’t either, because these
14388         programs will need to fall back on read+write anyway.  Perhaps I
14389         am wrong and other programs will be able to use an emulation; if
14390         so, this patch can be reverted.
14391         * lib/copy-file-range.c (COPY_FILE_RANGE): Replace with a stub.
14392         Just call it copy_file_range.
14393         * m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
14394         Check via AC_LINK_IFELSE.
14395         * modules/copy-file-range (Depends-on): Remove modules no longer used.
14397 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
14399         copy-file: prefer copy_file_range
14400         * lib/copy-file.c: Do not include xalloc.h.
14401         (qcopy_file_preserving): Allocate a buffer only if
14402         copy_file_range does not suffice.  If the allocation fails
14403         don't give up; just use a small stack-based buffer.
14404         Prefer copy_file_range if it works.
14405         * modules/copy-file (Depends-on): Add copy-file-range.
14406         Remove xalloc.
14408         copy-file-range: new module
14409         * MODULES.html.sh: Add copy-file-range.
14410         * lib/copy-file-range.c, m4/copy-file-range.m4:
14411         * modules/copy-file-range: New files.
14412         * lib/unistd.in.h (copy_file_range): Declare.
14413         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS):
14414         Set up GNULIB_COPY_FILE_RANGE and HAVE_COPY_FILE_RANGE.
14415         * modules/unistd (unistd.h): Substitute them.
14417 2019-05-28  Bruno Haible  <bruno@clisp.org>
14419         binary-io: Attempted use of O_BINARY on consoles no longer fails.
14420         Reported by KO Myung-Hun <komh78@gmail.com> in
14421         <https://lists.gnu.org/archive/html/bug-gnulib/2019-05/msg00124.html>.
14422         * lib/binary-io.h (__gl_setmode_check): Remove function.
14423         (set_binary_mode): Declare as notinline on DJGPP and EMX.
14424         * lib/binary-io.c (__gl_setmode_check): Remove function.
14425         (set_binary_mode): Define here on DJGPP and EMX. Inline
14426         __gl_setmode_check. In case of a tty, don't return an error code.
14428 2019-05-28  James Youngman  <jay@gnu.org>
14430         dirent-safer: Make opendir_safer usable from C++.
14431         * lib/dirent-safer.h: use extern "C".
14433 2019-05-28  James Youngman  <jay@gnu.org>
14435         canonicalize: Make canonicalize_filename_mode usable from C++.
14436         * lib/canonicalize.h: use extern "C".
14438 2019-05-26  Akim Demaille  <akim@lrde.epita.fr>
14440         prefix-gnulib-mk: Fix CPPFLAGS migration.
14441         * build-aux/prefix-gnulib-mk (prefix_assignment): Don't forget the
14442         _a part of the library name.
14444 2019-05-24  Paul Eggert  <eggert@cs.ucla.edu>
14446         flexmember: update comments again
14447         * lib/flexmember.h, m4/flexmember.m4: Improve comments further.
14449         flexmember: update comment
14450         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Improve comment.
14452 2019-05-20  Bruno Haible  <bruno@clisp.org>
14454         setlocale: Improve fallback on macOS.
14455         * lib/setlocale.c (search): Optimize away a redundant strcmp()
14456         invocation.
14457         (locales_with_principal_territory): New array.
14458         (langcmp, get_main_locale_with_same_language): New functions.
14459         (locales_with_principal_language): New array.
14460         (terrcmp, get_main_locale_with_same_territory): New functions.
14461         (rpl_setlocale): When setlocale_single failed, try again with a locale
14462         that is more likely to exist. Don't warn if the environment variable
14463         SETLOCALE_VERBOSE is not set.
14465 2019-05-19  Bruno Haible  <bruno@clisp.org>
14467         localename: Fix default on macOS.
14468         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for CFLocaleCopyCurrent.
14469         * lib/localename.c: Remove includes for HAVE_CFLOCALECOPYCURRENT.
14470         (gl_locale_name_environ, gl_locale_name_default): Remove code for
14471         HAVE_CFLOCALECOPYCURRENT.
14472         * lib/localename.h (gl_locale_name_default): Update.
14474 2019-05-19  Karl Berry  <karl@freefriends.org>
14476         * config/srclistvars.sh (TEXINFOTEX): make ftp.gnu.org be the
14477         source for texinfo.tex, replacing TEXINFOSRC, per Texinfo maintainer.
14478         * config/srclist.txt (texinfo.tex): use it. (Also doc changes.)
14480 2019-05-18  Akim Demaille  <akim@lrde.epita.fr>
14482         maintainer-makefile: catch uses of $< in non-implicit rules
14483         * top/maint.mk (sc_prohibit_magic_number_exit): New.
14485 2019-05-18  Bruno Haible  <bruno@clisp.org>
14487         threadlib: Provide an easy way to avoid mingw's winpthreads library.
14488         * m4/threadlib.m4 (gl_AVOID_WINPTHREAD): New macro.
14489         (gl_THREADLIB_EARLY_BODY): Recognize when it was invoked, and set
14490         gl_use_threads accordingly.
14492 2019-05-18  Bruno Haible  <bruno@clisp.org>
14494         pthread_sigmask: Fix compilation error with --enable-threads=windows.
14495         Reported by Tim Rühsen in
14496         <https://lists.gnu.org/archive/html/bug-gnulib/2018-01/msg00018.html>
14497         and Michele Locati in
14498         <https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00057.html>.
14499         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Revert change from
14500         2015-06-01. Test whether pthread_sigmask is a macro, regardless of
14501         $LIBMULTITHREAD. Consider it regardless whether module 'threadlib' is
14502         in use and regardless which threads API is chosen.
14504 2019-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14506         close-stream, closein, closeout: simplify
14507         I noticed this opportunity for simplification while drafting a
14508         new, related module that I haven’t had time to finish yet.
14509         * m4/close-stream.m4, m4/closein.m4, m4/closeout.m4: Remove.
14510         * modules/close-stream (Files): Remove m4/close-stream.m4.
14511         (configure.ac): Omit gl_CLOSE_STREAM.
14512         * modules/closein (Files): Remove m4/closein.m4
14513         (configure.ac): Omit gl_CLOSEIN.
14514         * modules/closeout (Files): Remove m4/closeout.m4.
14515         (configure.ac): Omit gl_CLOSEOUT.
14517 2019-05-12  Bruno Haible  <bruno@clisp.org>
14519         libtool-next-version: New program.
14520         * build-aux/libtool-next-version: New file.
14522 2019-05-11  John Darrington  <john@darrington.wattle.id.au>
14523             Bruno Haible  <bruno@clisp.org>
14525         version-etc: Ease translation.
14526         * lib/version-etc.c (version_etc_arn, emit_bug_reporting_address): Move
14527         URLs and formatting newlines out of translatable string.
14529 2019-05-11  Bruno Haible  <bruno@clisp.org>
14531         gnupload: Explain how to create symlinks.
14532         * build-aux/gnupload (usage): Add an example that creates symlinks.
14534 2019-05-11  Paul Eggert  <eggert@cs.ucla.edu>
14536         fpucw: port to gcc -pedantic
14537         * lib/fpucw.h (GET_FPUCW, SET_FPUCW):
14538         Use __extension__ if using ({ ... }).
14540         crypto/af_alg: port to strict C compilers
14541         * lib/af_alg.c: Include af_alg.h regardless, so that the
14542         compilation unit is nonempty.
14544 2019-05-10  Bruno Haible  <bruno@clisp.org>
14546         base64: Avoid false positive warning from Coverity.
14547         Reported by Kamil Dudka <kdudka@redhat.com>.
14548         Idea by Paul Eggert.
14549         * lib/base64.c (base64_encode_fast, base64_encode): Add a no-op
14550         '& 0x3f' to the array index expressions. This convinces Coverity that
14551         there is no out-of-bounds array reference, regardless of the input.
14553 2019-05-09  Bruno Haible  <bruno@clisp.org>
14555         gettext: Update to gettext 0.20.
14556         * modules/gettext (Files): Remove m4/codeset.m4, m4/fcntl-o.m4,
14557         m4/glibc2.m4, m4/glibc21.m4, m4/intdiv0.m4, m4/intl.m4, m4/intldir.m4,
14558         m4/intmax.m4, m4/inttypes_h.m4, m4/inttypes-pri.m4, m4/lcmessage.m4,
14559         m4/lock.m4, m4/longlong.m4, m4/printf-posix.m4, m4/size_max.m4,
14560         m4/stdint_h.m4, m4/threadlib.m4, m4/uintmax_t.m4, m4/visibility.m4,
14561         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. Add m4/host-cpu-c-abi.m4.
14562         (configure.ac): Request infrastructure compatible with gettext 0.20.
14563         * m4/glibc2.m4: Remove file.
14564         * m4/intdiv0.m4: Remove file.
14565         * m4/intl.m4: Remove file.
14566         * m4/intldir.m4: Remove file.
14567         * m4/intmax.m4: Remove file.
14568         * m4/printf-posix.m4: Remove file.
14569         * m4/uintmax_t.m4: Remove file.
14570         * m4/gettext.m4: Update from gettext 0.20.
14571         * m4/po.m4: Likewise.
14573 2019-05-09  Paul Eggert  <eggert@cs.ucla.edu>
14575         verify: remove verify_true
14576         * NEWS: Mention this.
14577         * lib/verify.h (verify_true): Remove.
14578         * tests/test-verify.c (item): Test verify_expr, not verify_true.
14580         Support C2X and C++17 static_assert
14581         C2X and C++17 finally added support for a simple, single-argument
14582         ‘static_assert’ that implements what the Gnulib ‘verify’ macro was
14583         doing back in 2005.  Implement static_assert on older platforms.
14584         The only remaining advantage of ‘verify’ is a shorter name.
14585         * doc/posix-headers/assert.texi (assert.h):
14586         * doc/verify.texi (Compile-time Assertions):
14587         Modernize for C2X and C++17.
14588         * lib/verify.h (_GL_HAVE__STATIC_ASSERT1, _GL_HAVE_STATIC_ASSERT1):
14589         New macros.
14590         (_GL_HAVE__STATIC_ASSERT): Remove.
14591         (_GL_HAVE__STATIC_ASSERT): Rely more heavily on __STDC_VERSION__.
14592         (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE): Remove 2nd arg, the diagnostic
14593         string.  All callers changed.
14594         (_GL_VERIFY): Require 3 or more args, of which only the first 2
14595         are used.  All callers changed.
14596         (_Static_assert): Allow either 1 or 2 args, and define if
14597         !_GL_HAVE__STATIC_ASSERT1 instead of defining if
14598         !_GL_HAVE__STATIC_ASSERT.
14599         (static_assert): Define if !_GL_HAVE_STATIC_ASSERT1 instead
14600         of defining if !_GL_HAVE_STATIC_ASSERT.
14601         (verify_expr, verify): Don’t bother trying to copy the expression
14602         into the diagnostic, since 1-argument static_assert doesn’t.
14603         (verify): Prefer 1-argument _Static_assert if it works.
14604         * m4/assert_h.m4 (gl_ASSERT_H): Check for 1-argument static_assert.
14606 2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>
14608         Fix _GL_HAVE__STATIC_ASSERT typo
14609         * lib/verify.h (_Static_assert): For the FreeBSD workaround,
14610         use _GL_HAVE__STATIC_ASSERT, not _GL_HAVE_STATIC_ASSERT.
14612 2019-05-05  Bruno Haible  <bruno@clisp.org>
14614         wcwidth: Ensure width 1, not 2, for ambiguous characters.
14615         Reported by Kiyoshi KANAZAWA <yoi_no_myoujou@yahoo.co.jp>
14616         via Akim Demaille <akim.demaille@gmail.com>.
14617         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the width of U+2202. Use an
14618         en_US.UTF-8 locale, since that is more likely to be present than an
14619         fr_FR.UTF-8 locale.
14620         * tests/test-wcwidth.c (main): Check the width of U+2202.
14621         * doc/posix-functions/wcwidth.texi: Mention the issue.
14623 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
14625         Port manywarnings to GCC 9
14626         * build-aux/gcc-warning.spec: Sort.  Add -Wattribute-alias,
14627         -Wc11-c2x-compat, -Wcast-result (for the D programming language),
14628         -Wclass-conversion, -Wdeprecated-copy, -Wdeprecated-copy-dtor,
14629         -Winit-list-lifetime, -Wpessimizing-move, -Wprio-ctor-dtor,
14630         -Wredundant-move.  Adjust to minor wording changes in GCC 9’s
14631         --help=warnings output.
14632         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wabsolute-value,
14633         -Waddress-of-packed-member, -Wattribute-warning, -Wcannot-profile,
14634         -Wmissing-profile.  Change -Wattribute-alias to -Wattribute-alias=2.
14636 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
14638         Sync lib/mktime-internal.h from glibc
14639         * config/srclist.txt: Add entry for lib/mktime-internal.h.
14640         * lib/mktime-internal.h: Autoupdate.
14642 2019-04-28  Bruno Haible  <bruno@clisp.org>
14644         tls tests: Prevent that the test takes too long.
14645         * tests/test-tls.c: Include <signal.h>, <unistd.h>.
14646         (main): Let the test fail if it takes more than 10 minutes.
14647         * modules/tls-tests (configure.ac): Test whether 'alarm' is declared.
14649 2019-04-27  Bruno Haible  <bruno@clisp.org>
14651         lock tests: Prevent that the test takes too long.
14652         * tests/test-lock.c: Include <signal.h>, <unistd.h>.
14653         (main): Let the test fail if it takes more than 10 minutes.
14654         * modules/lock-tests (configure.ac): Test whether 'alarm' is declared.
14656 2019-04-27  Bruno Haible  <bruno@clisp.org>
14658         localename: Fix crash on mingw (regression from 2018-11-23).
14659         * lib/localename.c (gl_locale_name_posix): Don't attempt to convert a
14660         locale name that is null.
14662 2019-04-27  Bruno Haible  <bruno@clisp.org>
14664         Fix gcc warnings on 64-bit mode mingw.
14665         * lib/clean-temp.c: Include <stdint.h> instead of defining uintptr_t.
14666         * lib/gl_array_list.c: Likewise.
14667         * lib/gl_array_map.c: Likewise.
14668         * lib/gl_array_set.c: Likewise.
14669         * lib/gl_carray_list.c: Likewise.
14670         * lib/gl_sublist.c: Likewise.
14671         * lib/gl_avltreehash_list.c (uintptr_t): Remove definition.
14672         * lib/gl_rbtreehash_list.c (uintptr_t): Likewise.
14673         * lib/gl_hash_map.c (uintptr_t): Likewise.
14674         * lib/gl_hash_set.c (uintptr_t): Likewise.
14675         * lib/gl_linkedhash_list.c (uintptr_t): Likewise.
14676         * lib/gl_linkedhash_map.c (uintptr_t): Likewise.
14677         * lib/gl_linkedhash_set.c (uintptr_t): Likewise.
14678         * lib/iconv.c (uintptr_t): Likewise.
14679         * lib/iconv_close.c (uintptr_t): Likewise.
14680         * tests/test-lock.c: Include <stdint.h>.
14681         (once_contender_thread, test_once): Cast through 'intptr_t' instead of
14682         'long'.
14683         * modules/clean-temp (Depends-on): Add stdint.
14684         * modules/array-list (Depends-on): Likewise.
14685         * modules/array-map (Depends-on): Likewise.
14686         * modules/array-set (Depends-on): Likewise.
14687         * modules/carray-list (Depends-on): Likewise.
14688         * modules/sublist (Depends-on): Likewise.
14689         * modules/lock-tests (Depends-on): Likewise.
14691 2019-04-27  Bruno Haible  <bruno@clisp.org>
14693         error: Tweak indentation.
14694         * lib/error.c: Correct indentation.
14696 2019-04-27  Bruno Haible  <bruno@clisp.org>
14698         term-style-control: Fix gcc warning on mingw.
14699         * lib/term-style-control.c (ensure_other_signal_handlers): Reduce scope
14700         of i.
14702 2019-04-26  Bruno Haible  <bruno@clisp.org>
14704         pipe-filter-gi, pipe-filter-ii: Fix gcc warning.
14705         * lib/pipe-filter-aux.h (read): Undefine before redefinition.
14707 2019-04-26  Bruno Haible  <bruno@clisp.org>
14709         relocatable-prog: Fix gcc warning on mingw.
14710         * lib/progreloc.c (maybe_executable): Don't define on native Windows and
14711         on EMX.
14713 2019-04-02  Bruno Haible  <bruno@clisp.org>
14715         gitsub.sh: New file.
14716         * top/gitsub.sh: New file.
14718 2019-04-18  Akim Demaille  <akim@lrde.epita.fr>
14720         argmatch: use void* for raw memory pointers
14721         * lib/argmatch.h, lib/argmatch.c (argmatch, argmatch_valid)
14722         (__xargmatch_internal, argmatch_to_argument): Use void* for pointers
14723         to "values", keep char* for strings.
14725 2019-04-21  Akim Demaille  <akim@lrde.epita.fr>
14727         prefix-gnulib-mk: fix the support for gnulib-po
14728         * build-aux/prefix-gnulib-mk (prefix_assignment): Remove useless $res.
14729         Don't touch HAVE_* variables.
14730         Map AM_CPPFLAGS and AM_CPPFLAGS to the library's corresponding variables.
14732 2019-04-18  Bernhard Voelker  <mail@bernhard-voelker.de>
14734         di-set: allow free with 'ino_map' being NULL.
14735         * lib/di-set.c (di_set_free): Avoid ino_map_free() when dis->ino_map
14736         is NULL.  Bug introduced in commit 3703dbbe88dd.
14737         * tests/test-di-set.c: Add di_set_free() right after di_set_alloc()
14738         as a test.
14740 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
14742         * lib/str-two-way.h: Fix comment typo.
14744 2019-04-13  Bruno Haible  <bruno@clisp.org>
14746         x-to-1: Restore ability to use original calling convention.
14747         * build-aux/x-to-1.in: Add comments. Accept the original form of
14748         HELP2MAN argument as well as the form expected since 2012-12-12.
14750 2019-04-13  Bruno Haible  <bruno@clisp.org>
14752         x-to-1: Avoid failure due to missing perl modules.
14753         * build-aux/x-to-1.in: Test whether all the perl modules that help2man
14754         needs are installed.
14756 2019-04-13  Bruno Haible  <bruno@clisp.org>
14758         openmp-init: New module.
14759         * modules/openmp-init: New file.
14760         * modules/openmp: (Files, Depends-on, configure.ac, Makefile.am): Revert
14761         the changes from 2019-04-09.
14763 2019-04-12  Bruno Haible  <bruno@clisp.org>
14765         signbit: Fix compilation error when gnulib's math.h exists twice.
14766         * lib/math.in.h (GNULIB_defined_signbit): New macro.
14768 2019-04-12  Bruno Haible  <bruno@clisp.org>
14770         openmp: Fix compilation error on platforms without OpenMP.
14771         * lib/omp-init.c: Include <omp.h> only if _OPENMP.
14773 2019-04-09  Bernhard Voelker  <mail@bernhard-voelker.de>
14775         mountlist: make parsing /proc/self/mountinfo more robust
14776         Cater for the following issues with mountinfo parsing (the first
14777         one was reported by Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
14778         in <https://bugs.gnu.org/35137>).
14779         1. The fields source, target, mntroot and fstype may contain characters
14780         like '\r'; sscanf(3) fails to read such values with the %s format
14781         specifier because it would stop at such characters.
14782         Example: "mount -t tmpfs tmpfs /foo^Mbar".
14783         The only true separator in that file is the ' ' character.
14784         2. The source field may be an empty string, which happens e.g. with
14785         "mount -t tmpfs '' /target".
14786         3. The fstype field may contain mangled characters as well which need
14787         unescaping.
14788         * lib/mountlist.c (terminate_at_blank): Add utility function.
14789         (read_file_system_list): In the block trying to read the mountinfo file,
14790         avoid using sscanf(3) with %s format; instead, parse the above fields
14791         separated by spaces one by one.
14792         This also handles the case when the source field is an empty string.
14793         Unescape the fstype field.
14795 2019-04-09  Bruno Haible  <bruno@clisp.org>
14797         openmp: Add workaround for 32-bit programs on AIX.
14798         * lib/omp.in.h: New file.
14799         * lib/omp-init.c: New file, based on lib/nproc.c.
14800         * m4/omp_h.m4: New file.
14801         * modules/openmp (Files): Add them.
14802         (Depends-on): Add include_next, c-ctype, setenv.
14803         (configure.ac): Invoke gl_OMP_H.
14804         (Makefile.am): Add rules to create omp.h and compile omp-init.c.
14805         (Include): Mention <omp.h>.
14807 2019-04-09  Bruno Haible  <bruno@clisp.org>
14809         nproc: Fix return value for privileged processes.
14810         * lib/nproc.c (num_processors_ignoring_omp): Test getuid(), not
14811         getpid().
14813 2019-04-07  Bruno Haible  <bruno@clisp.org>
14815         Add copyright notices in several files.
14816         Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
14817         * lib/_Noreturn.h: Add LGPLv2+ copyright notice.
14818         * lib/libunistring.valgrind: Likewise.
14819         * lib/iconv_open-*.gperf: Add GPLv2+ copyright notice.
14820         * lib/uniname/gen-uninames.lisp: Add GPLv3+ copyright notice.
14821         * lib/memchr.valgrind: Likewise.
14822         * lib/memchr2.valgrind: Likewise.
14823         * lib/rawmemchr.valgrind: Likewise.
14824         * lib/relocatable.valgrind: Likewise.
14825         * lib/strchrnul.valgrind: Likewise.
14827 2019-03-25  Bruno Haible  <bruno@clisp.org>
14829         term-style-control tests: Fix link error.
14830         Reported by Tom G. Christensen in
14831         <https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00108.html>.
14832         * modules/term-style-control-tests (Makefile.am): Link
14833         test-term-style-control-hello and test-term-style-control-yes against
14834         LIBINTL.
14836 2019-03-24  Bruno Haible  <bruno@clisp.org>
14838         term-style-control: Add tests.
14839         * tests/test-term-style-control-hello.c: New file.
14840         * tests/test-term-style-control-yes.c: New file.
14841         * modules/term-style-control-tests: New file.
14843         term-style-control: New module.
14844         * lib/term-style-control.h: New file, based on libtextstyle's
14845         term-ostream.oo.h and term-ostream.oo.c.
14846         * lib/term-style-control.c: New file, based on libtextstyle's
14847         term-ostream.oo.c.
14848         * modules/term-style-control: New file.
14850 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
14852         _Noreturn: beware of C's _Noreturn in C++ pre C++11.
14853         * lib/_Noreturn.h, m4/gnulib-common.m4: Using C's _Noreturn in
14854         C++98 appears to be supported by Clang, but not by GCC nor ICC.
14856 2019-03-23  Bruno Haible  <bruno@clisp.org>
14858         Support cross-compilation to musl libc.
14859         Reported by Necktwi Ozfguah <necktwi@ferryfair.com>.
14860         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Add cross-compilation guesses for
14861         musl libc.
14862         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
14863         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
14864         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
14865         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14866         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14867         * m4/chown.m4 (gl_FUNC_CHOWN): Likewise.
14868         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
14869         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
14870         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
14871         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
14872         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
14873         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
14874         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
14875         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
14876         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
14877         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
14878         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
14879         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
14880         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
14881         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
14882         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
14883         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
14884         * m4/getgroups.m4 (AC_FUNC_GETGROUPS, gl_FUNC_GETGROUPS): Likewise.
14885         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
14886         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
14887         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
14888         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
14889         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
14890         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.
14891         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
14892         * m4/log.m4 (gl_FUNC_LOG): Likewise.
14893         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
14894         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
14895         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
14896         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
14897         * m4/log10l.m4 (gl_FUNC_LOG10L): Likewise.
14898         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
14899         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
14900         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
14901         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
14902         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
14903         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
14904         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
14905         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
14906         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
14907         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
14908         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
14909         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
14910         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
14911         gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
14912         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
14913         gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
14914         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
14915         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
14916         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
14917         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
14918         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
14919         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
14920         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
14921         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
14922         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14923         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14924         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14925         * m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
14926         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
14927         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
14928         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
14929         * m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
14930         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
14931         * m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
14932         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14933         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14934         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14935         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
14936         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
14937         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
14938         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
14939         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
14941 2019-03-23  Bruno Haible  <bruno@clisp.org>
14943         posix_spawn_file_actions_*: Document musl libc bugs.
14944         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
14945         the bug.
14946         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Likewise.
14947         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Likewise.
14948         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): When
14949         cross-compiling to a musl system, guess no.
14950         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): Likewise.
14951         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
14953 2019-03-23  Bruno Haible  <bruno@clisp.org>
14955         futimens: Document musl libc bug.
14956         * doc/posix-functions/futimens.texi: Mention the bug.
14957         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Require AC_CANONICAL_HOST. When
14958         cross-compiling, guess no on glibc and musl systems.
14960 2019-03-23  Bruno Haible  <bruno@clisp.org>
14962         Clarify that cross-compilation guesses are guesses.
14963         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): When cross-compiling, add
14964         prefix 'guessing ' to gl_cv_func_chown_follows_symlink.
14965         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): When cross-compiling, add
14966         prefix 'guessing ' to gl_cv_func_fchownat_nofollow_works.
14967         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): When
14968         cross-compiling, add prefix 'guessing ' to gl_cv_func_getcwd_abort_bug.
14969         * m4/glob.m4 (gl_GLOB): When cross-compiling, add prefix 'guessing ' to
14970         gl_cv_glob_lists_symlinks.
14971         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): When cross-compiling, add prefix
14972         'guessing ' to ac_cv_func_malloc_0_nonnull.
14973         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): When cross-compiling, add prefix
14974         'guessing ' to ac_cv_func_realloc_0_nonnull.
14975         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, add prefix
14976         'guessing ' to gl_cv_func_poll.
14977         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): When cross-
14978         compiling, add prefix 'guessing ' to gl_cv_func_iconv_supports_utf.
14979         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Update accordingly.
14981 2019-03-23  Bruno Haible  <bruno@clisp.org>
14983         strtold: Fix typo.
14984         * m4/strtold.m4 (gl_FUNC_STRTOLD): Fix typo in variable name.
14986 2019-03-23  Bruno Haible  <bruno@clisp.org>
14988         noreturn: In C++ mode with clang, use _Noreturn as fallback.
14989         Reported by Akim Demaille.
14990         * lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when
14991         [[noreturn]] would not work, use _Noreturn instead.
14993 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
14995         libtextstyle-optional: Fix compiler warnings.
14996         * lib/textstyle.in.h (html_styled_ostream_create): Flag arguments
14997         as unused.
14999 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15001         bitset: fix memory leaks
15002         Reported by Bruno Haible.
15003         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00027.html
15004         * lib/bitset/vector.c (vbitset_free): New.
15005         (vbitset_vtable): Use it.
15007 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15009         bitset: minor changes
15010         * lib/bitset/base.h (bitset_alloc_type): Remove, unused.
15011         * lib/bitset/table.c: Formatting changes.
15012         Remove useless braces.
15013         Prefer using else in cascades of if/else-if with returns.
15014         * lib/bitset/vector.c: Reduce scopes.
15016 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15018         bitset: expose bitset_resize
15019         * lib/bitset.h (bitset_resize): Bounce on the polymorphic implementation.
15020         * tests/test-bitset.c (check_attributes): Check bitset_resize.
15021         (main): Use a variable bitset as reference, since fixed does not support resize.
15023 2019-03-19  Bruno Haible  <bruno@clisp.org>
15025         doc: Document the 'stdnoreturn' and 'noreturn' modules.
15026         Reported by Akim Demaille.
15027         * doc/noreturn.texi: New file.
15028         * doc/gnulib.texi: Include it.
15030 2019-03-19  Bruno Haible  <bruno@clisp.org>
15032         doc: Document how to use 'static inline'.
15033         * doc/static-inline.texi: New file.
15034         * doc/gnulib.texi: Include it.
15036 2019-03-19  Bruno Haible  <bruno@clisp.org>
15038         libtextstyle-optional: Add tests.
15039         * tests/test-libtextstyle.c: New file, based on libtextstyle's
15040         adhoc-tests/hello.c.
15041         * tests/test-libtextstyle-default.css: New file, copied from
15042         libtextstyle's adhoc-tests/hello-default.css.
15043         * modules/libtextstyle-optional-tests: New file.
15045         libtextstyle-optional: New module.
15046         * lib/textstyle.in.h: New file, based on libtextstyle's textstyle.h.
15047         * m4/libtextstyle-optional.m4: New file, based on m4/libtextstyle.m4.
15048         * modules/libtextstyle-optional: New file.
15050 2019-03-19  Bruno Haible  <bruno@clisp.org>
15052         c-stack: Make signal handlers more reliable.
15053         * lib/c-stack.c (progname): New variable.
15054         (die): Use it.
15055         (c_stack_action): Initialize it.
15056         (segv_handler): Save and restore errno.
15058 2019-03-19  Bruno Haible  <bruno@clisp.org>
15060         Help making signal handlers more reliable.
15061         * m4/gnulib-common.m4 (gl_COMMON_BODY): Emit definition of
15062         _GL_ASYNC_SAFE into config.h.
15063         * lib/nanosleep.c (sighandler): Mark as _GL_ASYNC_SAFE.
15064         * lib/fatal-signal.h (at_fatal_signal): Add _GL_ASYNC_SAFE marker to
15065         argument.
15066         * lib/fatal-signal.c (action_t, uninstall_handlers,
15067         fatal_signal_handler): Mark as _GL_ASYNC_SAFE.
15068         * lib/clean-temp.c (cleanup_action): Mark as _GL_ASYNC_SAFE.
15069         * lib/wait-process.c (cleanup_slaves, cleanup_slaves_action): Mark as
15070         _GL_ASYNC_SAFE.
15071         * lib/c-stack.h (c_stack_action): Add _GL_ASYNC_SAFE marker to argument.
15072         * lib/c-stack.c: Add _GL_ASYNC_SAFE markers.
15074 2019-03-18  Bruno Haible  <bruno@clisp.org>
15076         _Noreturn: clang and MSVC do support [[noreturn]] in C++11 mode.
15077         * lib/_Noreturn.h: Use [[noreturn]] if __GNUC__ and __GNUC_MINOR__
15078         indicate clang, or if _MSC_VER indicates MSVC++ 14.0 or newer.
15080 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
15082         _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
15083         * lib/_Noreturn.h, m4/gnulib-common.m4: Don't use [[noreturn]] before
15084         GCC 4.8.
15086 2019-03-17  Paul Eggert  <eggert@cs.ucla.edu>
15088         fts: minor simplification
15089         * lib/fts.c (fts_safe_changedir): Remove redundant assignment.
15091 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
15093         bitset, timevar: Depend on c99.
15094         Reported by Bruno Haible.
15095         * modules/bitset, modules/timevar (Depends-on): Add c99.
15097 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
15099         bitset: a bit (...) more tests
15100         * tests/test-bitset.c (check_attributes): Check zero and ones.
15102 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
15104         bitset: fix overflows.
15105         Reported by Bruno Haible.
15106         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00017.html
15107         * lib/bitset/table.c (tbitset_test): last_bit is the position of
15108         the bit in the array of bitset_word, so be sure to take its modulo
15109         number-of-bits-in-bitset-word (i.e., EBITSET_ELT_WORDS).
15110         * lib/bitset/list.c (lbitset_unused_clear): Likewise.
15112 2019-03-14  Akim Demaille  <akim@lrde.epita.fr>
15114         bitset: style changes.
15115         * lib/bitset/table.c: Use NULL, not 0, for pointers.
15116         Formatting changes.
15117         (tbitset_list): Reduce scopes.
15119 2019-03-16  Bruno Haible  <bruno@clisp.org>
15121         fatal-signal: Pass the signal number to the action.
15122         * lib/fatal-signal.h (at_fatal_signal): Change the signature.
15123         * lib/fatal-signal.c (action_t): Take the signal number as parameter.
15124         (fatal_signal_handler): Pass the signal number to the action.
15125         * lib/clean-temp.c (cleanup_action): Renamed from cleanup. Take the
15126         signal number as parameter.
15127         (create_temp_dir): Update.
15128         * lib/wait-process.c (cleanup_slaves_action): New function.
15129         (register_slave_subprocess): Update at_fatal_signal invocation.
15130         * NEWS: Mention the change.
15132 2019-03-16  Bruno Haible  <bruno@clisp.org>
15134         fatal-signal: Add function that lists the fatal signals.
15135         * lib/fatal-signal.h (get_fatal_signals): New declaration.
15136         * lib/fatal-signal.c (get_fatal_signals): New function.
15138 2019-03-14  Bruno Haible  <bruno@clisp.org>
15140         isatty: Make it return true in Cygwin consoles on native Windows.
15141         * lib/isatty.c: Include <string.h>.
15142         (GetProcAddress): New macro.
15143         (GetNamedPipeClientProcessIdFuncType): New type.
15144         (GetNamedPipeClientProcessIdFunc): New variable.
15145         (QueryFullProcessImageNameFuncType): New type.
15146         (QueryFullProcessImageNameFunc): New variable.
15147         (initialized): New variable.
15148         (initialize): New function.
15149         (IsCygwinConsoleHandle): New function.
15150         (isatty): Invoke it.
15151         * doc/posix-functions/isatty.texi: Mention the issue.
15153 2019-03-14  Bruno Haible  <bruno@clisp.org>
15155         all: Update URLs to msdn.microsoft.com.
15156         * lib/stat-w32.c et al.: Update URLs after most of msdn.microsoft.com
15157         was moved to docs.microsoft.com.
15159 2019-03-13  Bruno Haible  <bruno@clisp.org>
15161         gnulib-tool: Clarify the coding style.
15162         Suggested by Pavel Raiskup <praiskup@redhat.com>.
15163         * gnulib-tool: Add comment about coding style.
15165 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
15167         strtod: fix clash with strtold
15168         Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
15169         * lib/strtod.c (compute_minus_zero, minus_zero):
15170         Simplify by remving the macro / external variable,
15171         and having just a function.  User changed.  This avoids
15172         the need for an external variable that might clash.
15174 2019-03-10  Bruno Haible  <bruno@clisp.org>
15176         alloca-opt: Fix conflict mingw's new <alloca.h> file.
15177         Reported by Eli Zaretskii <eliz@gnu.org>.
15178         * lib/alloca.in.h: On mingw systems that have <alloca.h>, include that.
15179         * m4/alloca.m4 (gl_FUNC_ALLOCA): Set HAVE_ALLOCA_H.
15180         * modules/alloca-opt (Makefile.am): Substitute HAVE_ALLOCA_H.
15182 2019-03-10  Bruno Haible  <bruno@clisp.org>
15184         tests: Avoid havoc with "gcc -fcheck-pointer-bounds".
15185         * tests/test-fprintf-posix2.c: Skip the test when -fcheck-pointer-bounds
15186         is in use.
15187         * tests/test-printf-posix2.c: Likewise.
15189 2019-03-10  Bruno Haible  <bruno@clisp.org>
15191         uninorm tests: Free allocated memory.
15192         * tests/uninorm/test-u32-normalize-big.h
15193         (struct normalization_test_file): Remove 'const' from allocated member.
15194         (free_normalization_test_file): New declaration.
15195         * tests/uninorm/test-u32-normalize-big.c (test_other): Free allocated
15196         memory.
15197         (free_normalization_test_file): New function.
15198         * tests/uninorm/test-u32-nfc-big.c (main): Free allocated
15199         'struct normalization_test_file' contents.
15200         * tests/uninorm/test-u32-nfd-big.c (main): Likewise.
15201         * tests/uninorm/test-u32-nfkc-big.c (main): Likewise.
15202         * tests/uninorm/test-u32-nfkd-big.c (main): Likewise.
15204 2019-03-10  Bruno Haible  <bruno@clisp.org>
15206         di-set: Fix memory leak.
15207         * lib/di-set.c (di_set_free): Free the ino_map through ino_map_free(),
15208         not free().
15210 2019-03-10  Bruno Haible  <bruno@clisp.org>
15212         tests: Free allocated memory.
15213         Reported by <deltatau@protonmail.com> via Assaf Gordon.
15214         * tests/test-astrxfrm.c (main): Free allocated memory.
15215         * tests/test-bitset.c (compare, check_attributes): Free allocated
15216         bitsets.
15217         * tests/test-filenamecat.c (main): Free allocated memory.
15218         * tests/test-freadahead.c (main): Free allocated memory and close stdin.
15219         * tests/test-freadptr.c (main): Likewise.
15220         * tests/test-freadptr2.c (main): Free allocated memory.
15221         * tests/test-freadseek.c (main): Likewise.
15222         * tests/test-gc-arcfour.c (main): Close allocated context.
15223         * tests/test-gc-arctwo.c (main): Likewise.
15224         * tests/test-gc-des.c (main): Close all allocated contexts.
15225         * tests/test-pipe-filter-gi1.c (main): Free allocated memory.
15226         * tests/test-pipe-filter-ii1.c (main): Likewise.
15227         * tests/test-posix_spawn_file_actions_addchdir.c (main): Destroy the
15228         allocated file actions.
15229         * tests/test-posix_spawn_file_actions_addclose.c (main): Likewise.
15230         * tests/test-posix_spawn_file_actions_adddup2.c (main): Likewise.
15231         * tests/test-posix_spawn_file_actions_addopen.c (main): Likewise.
15232         * tests/test-sameacls.c (main): Free allocated memory and ACLs.
15233         * tests/test-strfmon_l.c (main): Free allocated locales.
15234         * tests/test-striconveh.c (main): Free allocated iconv_t objects.
15235         * tests/uniconv/test-u8-conv-to-enc.c (main): Free allocated memory.
15236         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
15237         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
15238         * tests/unistr/test-chr.h (main): Free input32.
15239         * tests/unistr/test-strchr.h (test_strchr): Likewise.
15241 2019-03-10  Bruno Haible  <bruno@clisp.org>
15243         tests: Prepare for using valgrind.
15244         * tests/*.sh: Invoke all test programs through ${CHECKER}.
15245         * tests/*/*.sh: Likewise.
15246         * tests/test-freadptr.c (main): Update accordingly.
15247         * tests/test-freadseek.c (main): Likewise.
15249 2019-03-09  Bruno Haible  <bruno@clisp.org>
15251         get-rusage-as, pthread_sigmask tests: Fix -fsanitize=thread findings.
15252         * lib/get-rusage-as.c (get_rusage_as): When compiled by
15253         "gcc -fsanitize=thread", don't try get_rusage_as_via_setrlimit.
15254         * tests/test-pthread_sigmask2.c (main): Clean up the killer_thread
15255         before exiting.
15257 2019-03-09  Jim Meyering  <meyering@fb.com>
15259         test-userspec.c: don't print NULL
15260         * tests/test-userspec.c (main): A test release of gcc,
15261         9.0.1 20190310, warned that this test would attempt to
15262         print a NULL pointer via a %s printf format.  Fix that
15263         and remove the unnecessary preceding "!diag" conjunct.
15264         Also add a comment.
15266 2019-03-03  Bruno Haible  <bruno@clisp.org>
15268         getloadavg: Write NULL for the null pointer.
15269         Reported by Michal Privoznik <mprivozn@redhat.com>.
15270         * lib/getloadavg.c (getloadavg): Write NULL instead of 0.
15272 2019-02-28  Michal Privoznik  <mprivozn@redhat.com>
15274         alloca, tsearch-tests: Write NULL for the null pointer.
15275         * lib/alloca.c (i00afunc): Write NULL instead of 0.
15276         * tests/test-tsearch.c (mangle_tree): Likewise.
15278 2019-03-09  Bruno Haible  <bruno@clisp.org>
15280         strfmon_l: Fix -fsanitize=address finding.
15281         * lib/strfmon_l.c: Include <errno.h>, <stdbool.h>, <stdlib.h>,
15282         <string.h>.
15283         (MAX_ARGS): Renamed from MAX_ARG_WORDS.
15284         (directive_t, directives_t): New types.
15285         (fmon_parse): New function.
15286         (rpl_strfmon_l): Don't call va_arg more often than needed for the
15287         format string. Consume 'long double' arguments in places where the
15288         format string indicates so.
15289         * modules/strfmon_l (Depends-on): Add 'stdbool'.
15291 2019-03-09  Bruno Haible  <bruno@clisp.org>
15293         crypto/des: Fix undefined behaviour.
15294         * lib/des.c (READ_64BIT_DATA): Cast bytes to 'unsigned int', to avoid
15295         shift operations on 'int'.
15297 2019-03-09  Bruno Haible  <bruno@clisp.org>
15299         Fix undefined behaviour.
15300         * lib/bitrotate.h (rotl16, rotr16, rotl8, rotr8): Cast x to
15301         'unsigned int', to avoid shift operations on 'int'.
15302         * lib/xmemdup0.c (xmemdup0): Don't invoke memcpy with a zero size.
15303         * tests/test-count-leading-zeros.c (main): Use a random number that has
15304         as many bits as TYPE, not only 2*15 or 2*31 bits.
15305         * tests/test-count-trailing-zeros.c (main): Likewise.
15306         * tests/test-count-one-bits.c (main): Likewise.
15307         * tests/test-memmem.c: Don't include "null-ptr.h".
15308         (main): Use zerosize_ptr() instead of null_ptr().
15309         * modules/memmem-tests (Files): Remove tests/null-ptr.h.
15311 2019-03-08  Bruno Haible  <bruno@clisp.org>
15313         unilbrk/u*-possible-linebreaks: Fix undefined behaviour.
15314         Reported by Jeffrey Walton <noloader@gmail.com>.
15315         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
15316         invoke memset with a zero size.
15317         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
15318         Likewise.
15319         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
15320         Adjust accordingly.
15322 2019-03-08  Bruno Haible  <bruno@clisp.org>
15324         unistr/*, uniconv/*: Fix undefined behaviour.
15325         Reported by Jeffrey Walton <noloader@gmail.com>.
15326         * lib/unistr/u-cpy.h (FUNC): Don't invoke memcpy with a zero size.
15327         * lib/unistr/u-cpy-alloc.h (FUNC): Likewise.
15328         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
15329         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
15331 2019-03-08  Bruno Haible  <bruno@clisp.org>
15333         unistr/u8-cmp: Fix undefined behaviour.
15334         Reported by Jeffrey Walton <noloader@gmail.com>.
15335         * lib/unistr/u8-cmp.c (u8_cmp): Don't invoke memcmp if n is zero.
15337 2019-03-08  Bruno Haible  <bruno@clisp.org>
15339         unictype/numeric: Fix undefined behaviour.
15340         Reported by Jeffrey Walton <noloader@gmail.com>.
15341         * lib/unictype/numeric.c (uc_numeric_value): Avoid undefined behaviour
15342         on shift overflow, caught by "gcc -fsanitize=undefined".
15343         * lib/unictype/bidi_of.c (uc_bidi_class): Add cast, for clarity.
15344         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
15345         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
15347 2019-03-05  Paul Eggert  <eggert@cs.ucla.edu>
15349         git-version-gen: fix --version copyright year
15350         * build-aux/git-version-gen, build-aux/move-if-change (version):
15351         --version output copyright year is now taken from script year,
15352         so that it no longer needs to be updated by hand.
15354 2019-03-04  Bruno Haible  <bruno@clisp.org>
15356         relocatable-prog: Use wrapper-free installation on Mac OS X, take 2.
15357         This approach supports relocatable installation of shared libraries
15358         which depend on other shared libraries from the same package.
15359         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
15360         If use_macos_tools is true, use reloc-ldflags and set LIBTOOL to be a
15361         wrapper around the original LIBTOOL.
15362         * build-aux/reloc-ldflags: Add support for Mac OS X, which uses the
15363         token '@loader_path' instead of '$ORIGIN'.
15364         * build-aux/libtool-reloc: New file.
15365         * modules/relocatable-prog (Files): Add it.
15366         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
15367         the recent changes. Document the need to set the *_LDFLAGS of libraries.
15368         RELOCATABLE_LIBRARY_PATH and RELOCATABLE_CONFIG_H_DIR should be set in
15369         Makefile.am, not in configure.ac.
15371 2019-03-04  Bruno Haible  <bruno@clisp.org>
15373         relocatable-prog: Revert "Use wrapper-free installation on Mac OS X."
15374         * build-aux/install-reloc: Revert change.
15375         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
15377 2019-02-24  Paul Eggert  <eggert@cs.ucla.edu>
15379         nstrftime: support the ‘+’ flag
15380         * lib/nstrftime.c (add, __strftime_internal):
15381         Add support for the ‘+’ flag introduced in POSIX.1-2017.
15382         (__strftime_internal): New arg ‘width’.  All uses changed.
15383         (DO_YEARISH, DO_MAYBE_SIGNED_NUMBER): New macros.
15385 2019-02-24  Bruno Haible  <bruno@clisp.org>
15387         relocatable-prog: Improve verbose output.
15388         * build-aux/install-reloc (func_verbose): Escape characters that would
15389         be interpreted by the shell.
15391 2019-02-24  Bruno Haible  <bruno@clisp.org>
15393         stat, lstat: Fix conflict with relocatable-prog-wrapper module.
15394         * lib/stat.c: On platforms other than OSF/1, include <sys/stat.h>, not
15395         "sys/stat.h".
15396         * lib/lstat.c: Likewise.
15397         * lib/fstat.c: Likewise.
15398         * lib/fstatat.c: Likewise.
15400 2019-02-23  Bernhard Voelker  <mail@bernhard-voelker.de>
15402         long-options: add parse_gnu_standard_options_only
15403         Discussed in https://bugs.gnu.org/33468 .
15405         * lib/long-options.c (parse_long_options): Use EXIT_SUCCESS instead of 0
15406         (parse_gnu_standard_options_only): Add function to process
15407         the GNU default options --help and --version and fail for
15408         any other unknown long or short option. See
15409         https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
15410         * lib/long-options.h (parse_gnu_standard_options_only): Declare it.
15411         * modules/long-options (depends-on): Add stdbool, exitfail.
15412         * top/maint.mk (sc_prohibit_long_options_without_use): Update
15413         syntax-check rule, add new function name.
15415 2019-02-23  Bruno Haible  <bruno@clisp.org>
15417         relocatable-prog: Update documentation.
15418         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
15419         the recent changes.
15421 2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>
15423         nstrftime: tweak arg order
15424         * lib/nstrftime.c (__strftime_internal): Interchange arg order.
15425         All callers changed.  Suggested by TAMUKI Shoichi in:
15426         https://lists.gnu.org/r/bug-gnulib/2019-02/msg00052.html
15428 2019-02-23  Bruno Haible  <bruno@clisp.org>
15430         relocatable-prog: Use wrapper-free installation also on Mac OS X.
15431         Reported by Paul Smith <psmith@gnu.org>.
15432         * build-aux/install-reloc: Accept a 'mode' argument as first argument.
15433         (func_relativize): New function, from gnulib-tool.
15434         Handle mode 'macosx' through invocations of 'otool' and
15435         'install_name_tool'.
15436         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
15437         If use_macos_tools is true, set INSTALL_PROGRAM_ENV to an
15438         'install-reloc' invocation with mode 'macosx'.
15440 2019-02-23  Bruno Haible  <bruno@clisp.org>
15442         relocatable-prog: Use $ORIGIN trick also on GNU/Hurd.
15443         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
15444         Hurd with glibc >= 2.27.
15446 2019-02-21  Paul Eggert  <eggert@cs.ucla.edu>
15448         nstrftime: merge glibc strftime changes
15449         This incorporates:
15450         2019-02-11 Fix a few whitespace arrangement inconsistencies
15451         2019-01-24 strftime: Pass flags from "%EY" to "%Ey" [BZ #24096]
15452         2019-01-24 Set the default width of "%Ey" to 2 [BZ #23758]
15453         2019-01-11 strftime: use the "L_" macro with character literals
15454         * lib/nstrftime.c (__strftime_internal): New arg yr_spec.  All
15455         callers changed.  Default width of %Ey is now 2.  This is needed
15456         for proper handling of Japanese dates starting on 2019-05-01.
15458 2019-02-19  Bruno Haible  <bruno@clisp.org>
15460         relocatable-prog: Use $ORIGIN trick on more platforms.
15461         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
15462         FreeBSD >= 7.3, DragonFly >= 3.0, NetBSD >= 8.0, OpenBSD >= 5.4,
15463         Solaris >= 10, Haiku. But don't use it on Android.
15464         * build-aux/reloc-ldflags: Allow the use of the $ORIGIN trick also on
15465         Hurd, FreeBSD, DragonFly, NetBSD, OpenBSD, Solaris, Haiku.
15467 2019-02-19  Bruno Haible  <bruno@clisp.org>
15469         progreloc: Speed up executable lookup on various platforms.
15470         * lib/progreloc.c: Include <errno.h>.
15471         (safe_read, full_read): New functions.
15472         (find_executable): On GNU/kFreeBSD, FreeBSD, DragonFly, NetBSD, Solaris,
15473         prefer the information from the /proc file system to a PATH search.
15475 2019-02-19  Bruno Haible  <bruno@clisp.org>
15477         progreloc: Simplify code for Android.
15478         * lib/progreloc.c (executable_fd): Don't define on Android.
15479         (maybe_executable, find_executable): Don't use executable_fd on Android.
15481 2019-02-15  Bruno Haible  <bruno@clisp.org>
15483         gnulib-tool: Support --import with just a few tests, not --with-tests.
15484         * gnulib-tool (func_import): New variable 'gentests'. Use it instead of
15485         'inctests' when generating files; use 'inctests' only for computing the
15486         transitive closure.
15488 2019-02-14  Bruno Haible  <bruno@clisp.org>
15490         gnulib-tool: Improve handling of multiple --local-dir options.
15491         * doc/gnulib.texi (Extending Gnulib): Explain how multiple --local-dir
15492         options work.
15493         * gnulib-tool (func_path_prepend): Remove function.
15494         (func_path_foreach): Make IFS handling more robust.
15495         (local_gnulib_path): Collect --local-dir values using func_path_append,
15496         not func_path_prepend.
15497         (func_determine_path_separator): Make IFS handling more robust.
15498         (func_lookup_file_cb): New function.
15499         (func_lookup_file): Rewritten to use func_lookup_file_cb instead of
15500         func_lookup_local_file. Apply the patches in the reverse order of their
15501         origin in $local_gnulib_path.
15502         (func_count_relative_local_gnulib_path): Make IFS handling more robust.
15503         * NEWS: Mention that the first --local-dir option is the one with
15504         highest priority.
15506 2019-02-10  Bruno Haible  <bruno@clisp.org>
15508         libtextstyle: New module.
15509         * m4/libtextstyle.m4: New file.
15510         * modules/libtextstyle: New file.
15512 2019-02-05  Bruno Haible  <bruno@clisp.org>
15514         declared.sh: Fix bug with variables of pointer type.
15515         * build-aux/declared.sh (sed_extract_extern_declared): Allow the space
15516         before the symbol to be omitted if the preceding character is a '*'.
15518 2019-02-04  Bruno Haible  <bruno@clisp.org>
15520         Add script for running tests under valgrind.
15521         * build-aux/run-test: New file, from GNU libunistring.
15522         * doc/valgrind-tests.texi: Rewritten to mention alternative approaches
15523         as well.
15525 2019-02-04  Bruno Haible  <bruno@clisp.org>
15527         declared.sh: Fix --version output.
15528         * build-aux/declared.sh (func_version): Update package name.
15530 2019-02-03  Bruno Haible  <bruno@clisp.org>
15532         Add script for determining the set of symbols to export from a library.
15533         * build-aux/declared.sh: New file, from GNU libunistring.
15534         * doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries):
15535         Mention it.
15537 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
15539         vla: add commentary about VLA_ELEMS
15540         * lib/vla.h (VLA_ELEMS): Add commentary,
15541         some inspired by Bruno Haible’s proposal in:
15542         https://lists.gnu.org/r/bug-gnulib/2019-01/msg00109.html
15544         dtoastr,ftoastr,ldtoastr: port to c-strtod changes
15545         Decouple these modules from c-strtod.  Nowadays it’s reasonable to
15546         assume the C99 signatures for strtod and strtold.  Programs that
15547         require stricter adherence to C99 should also use the strtod and
15548         strtold modules as needed, and we no longer need the
15549         HAVE_C99_STRTOLD macro.
15550         * NEWS: Mention this.
15551         * lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
15552         * m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
15553         * modules/dtoastr, modules/ftoastr, modules/ldtoastr:
15554         (Files): Remove m4/c-strtod.m4.
15555         (configure.ac): Do not require gl_C99_STRTOLD, which no longer
15556         exists.
15558 2019-02-02  Bruno Haible  <bruno@clisp.org>
15560         fma: Improve code style.
15561         * lib/fma.c: Include <limits.h>, for CHAR_BIT.
15563 2019-02-02  Colin Watson  <cjwatson@debian.org>
15565         *-map tests: Fix compilation error.
15566         * tests/test-array_map.c: Include <limits.h>, for CHAR_BIT.
15567         * tests/test-hash_map.c: Likewise.
15568         * tests/test-linkedhash_map.c: Likewise.
15570 2019-01-31  Bruno Haible  <bruno@clisp.org>
15572         c-strtod, c-strtold: Use the bug fixes for strtod, strtold.
15573         * lib/stdlib.in.h (GNULIB_defined_strtod_function,
15574         GNULIB_defined_strtold_function): New macros.
15575         * lib/c-strtod.c (HAVE_GOOD_STRTOD_L): New macro.
15576         (STRTOD): Ignore HAVE_C99_STRTOLD.
15577         (c_locale): Don't define it on platforms where strtod_l/strtold_l is
15578         deemed buggy. But do use it on platforms where uselocale exists and is
15579         usable.
15580         (C_STRTOD): Don't use STRTOD_L on platforms where strtod_l/strtold_l is
15581         deemed buggy. On platforms where uselocale exists and is usable, use
15582         uselocale and strtod/strtold.
15583         * m4/c-strtod.m4 (gl_C99_STRTOLD): Remove macro.
15584         (gl_C_STRTOD): Require gt_FUNC_USELOCALE.
15585         (gl_C_STRTOLD): Likewise. Define HAVE_C99_STRTOLD unconditionally.
15586         * modules/c-strtod (Files): Add m4/intl-thread-locale.m4.
15587         (Depends-on): Add strtod.
15588         * modules/c-strtold (Files): Add m4/intl-thread-locale.m4.
15589         (Depends-on): Add strtold.
15591 2019-01-31  Bruno Haible  <bruno@clisp.org>
15593         strtod, strtold: Use the locale's decimal point.
15594         * lib/strtod.c: Include <locale.h>, <stdio.h>, <langinfo.h>.
15595         (decimal_point_char): New function, copied from lib/vasnprintf.c.
15596         (parse_number): Add a radixchar argument. Use it instead of '.'.
15597         (STRTOD): Invoke decimal_point_char and pass the result to parse_number.
15598         * m4/strtod.m4 (gl_PREREQ_STRTOD): Test whether nl_langinfo exists.
15599         * m4/strtold.m4 (gl_PREREQ_STRTOLD): Likewise.
15600         * tests/test-strtod1.c: New file.
15601         * tests/test-strtod1.sh: New file.
15602         * modules/strtod-tests (Files): Add test-strtod1.{sh,c}. Add
15603         locale-fr.m4 and its dependencies.
15604         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
15605         (Makefile.am): Arrange to compile test-strtod1.c and run
15606         test-strtod1.sh.
15607         * tests/test-strtold1.c: New file.
15608         * tests/test-strtold1.sh: New file.
15609         * modules/strtold-tests (Files): Add test-strtold1.{sh,c}. Add
15610         locale-fr.m4 and its dependencies.
15611         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
15612         (Makefile.am): Arrange to compile test-strtold1.c and run
15613         test-strtold1.sh.
15615 2019-01-31  Bruno Haible  <bruno@clisp.org>
15617         strtod, strtold tests: Simplify tests.
15618         * tests/test-strtod.c (main): Assume no rounding errors for 0.5.
15619         * tests/test-strtold.c (main): Likewise.
15621 2019-01-31  Bruno Haible  <bruno@clisp.org>
15623         strtod, strtold: Avoid unnecessary rounding errors.
15624         * lib/strtod.c (parse_number): Drop trailing zeroes before doing the
15625         decimal to DOUBLE conversion.
15627 2019-01-31  Bruno Haible  <bruno@clisp.org>
15629         strtod, strtold: Work around HP-UX 11.31/ia64 bug.
15630         * lib/strtod.c (STRTOD): When there is an extra character after the
15631         exponent marker 'p', reparse the number.
15632         * doc/posix-functions/strtod.texi: Document the HP-UX 11.31 bug.
15633         * doc/posix-functions/strtold.texi: Likewise.
15635 2019-01-29  Bruno Haible  <bruno@clisp.org>
15637         strtold: Add tests.
15638         * tests/test-strtold.c: New file, based on tests/test-strtod.c.
15639         * modules/strtold-tests: New file.
15641 2019-01-29  Bruno Haible  <bruno@clisp.org>
15643         strtold: New module.
15644         * lib/stdlib.in.h (strtold): New declaration.
15645         * lib/strtold.c: New file.
15646         * lib/strtod.c: Consider USE_LONG_DOUBLE.
15647         (STRTOD, LDEXP, HAVE_UNDERLYING_STRTOD, DOUBLE, MIN, MAX, L_,
15648         USE_LDEXP): New macros.
15649         (LDEXP, scale_radix_exp, parse_number, STRTOD): Adapt for
15650         USE_LONG_DOUBLE.
15651         (underlying_strtod): Remove function. Replace with some macros.
15652         Re-add the code for a missing underlying function that was removed on
15653         2013-02-19.
15654         * m4/strtold.m4: New file.
15655         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtold is declared.
15656         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLD, HAVE_STRTOLD,
15657         REPLACE_STRTOLD.
15658         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLD, HAVE_STRTOLD,
15659         REPLACE_STRTOLD.
15660         * modules/strtold: New file.
15661         * doc/posix-functions/strtold.texi: Document the new module.
15663 2019-01-29  Bruno Haible  <bruno@clisp.org>
15665         strtod: Fix compilation error on IRIX 6.5.
15666         * modules/strtod (Depends-on): Add 'math'.
15668 2019-01-28  Bruno Haible  <bruno@clisp.org>
15670         Fix build error when building a shared libunistring on Android.
15671         * tests/uninorm/test-nfc.c (n): Don't define on Android.
15672         (main): Add 'volatile', to defeat a GCC optimization that would
15673         eliminate the reference.
15674         * tests/uninorm/test-nfd.c (n): Don't define on Android.
15675         (main): Add 'volatile', to defeat a GCC optimization that would
15676         eliminate the reference.
15677         * tests/uninorm/test-nfkc.c (n): Don't define on Android.
15678         (main): Add 'volatile', to defeat a GCC optimization that would
15679         eliminate the reference.
15680         * tests/uninorm/test-nfkd.c (n): Don't define on Android.
15681         (main): Add 'volatile', to defeat a GCC optimization that would
15682         eliminate the reference.
15684 2019-01-27  Bruno Haible  <bruno@clisp.org>
15686         Avoid build errors due to wrong references between modules.
15687         * lib/uninorm/canonical-decomposition.c: Include
15688         "uninorm/decomposition-table.h", not "decomposition-table.h".
15689         * lib/uninorm/decomposition.c: Likewise.
15690         * lib/uninorm/u8-normalize.c: Include "uninorm/decompose-internal.h",
15691         not "decompose-internal.h".
15692         * lib/uninorm/u16-normalize.c: Likewise.
15693         * lib/uninorm/u32-normalize.c: Likewise.
15694         * lib/uninorm/uninorm-filter.c: Likewise.
15695         * lib/uninorm/nfkc.c: Likewise.
15696         * lib/uninorm/nfkd.c: Likewise.
15697         * lib/unicase/u8-casemap.c: Include "unicase/caseprop.h", not
15698         "caseprop.h".
15699         * lib/unicase/u8-ct-totitle.c: Likewise.
15700         * lib/unicase/u8-prefix-context.c: Likewise.
15701         * lib/unicase/u8-suffix-context.c: Likewise.
15702         * lib/unicase/u16-casemap.c: Likewise.
15703         * lib/unicase/u16-ct-totitle.c: Likewise.
15704         * lib/unicase/u16-prefix-context.c: Likewise.
15705         * lib/unicase/u16-suffix-context.c: Likewise.
15706         * lib/unicase/u32-casemap.c: Likewise.
15707         * lib/unicase/u32-ct-totitle.c: Likewise.
15708         * lib/unicase/u32-prefix-context.c: Likewise.
15709         * lib/unicase/u32-suffix-context.c: Likewise.
15710         * lib/unicase/u8-tolower.c: Include "unicase/unicasemap.h", not
15711         "unicasemap.h".
15712         * lib/unicase/u8-toupper.c: Likewise.
15713         * lib/unicase/u8-ct-tolower.c: Likewise.
15714         * lib/unicase/u8-ct-toupper.c: Likewise.
15715         * lib/unicase/u16-tolower.c: Likewise.
15716         * lib/unicase/u16-toupper.c: Likewise.
15717         * lib/unicase/u16-ct-tolower.c: Likewise.
15718         * lib/unicase/u16-ct-toupper.c: Likewise.
15719         * lib/unicase/u32-tolower.c: Likewise.
15720         * lib/unicase/u32-toupper.c: Likewise.
15721         * lib/unicase/u32-ct-tolower.c: Likewise.
15722         * lib/unicase/u32-ct-toupper.c: Likewise.
15723         * lib/unicase/u8-ct-casefold.c: Include "unicase/unicasemap.h", not
15724         "unicasemap.h", and "unicase/casefold.h", not "casefold.h".
15725         * lib/unicase/u16-ct-casefold.c: Likewise.
15726         * lib/unicase/u32-ct-casefold.c: Likewise.
15728 2019-01-27  Bruno Haible  <bruno@clisp.org>
15730         gperf: Fix error when this module is required by some test module.
15731         * modules/gperf (Applicability): Set to 'all'.
15733 2019-01-27  Bruno Haible  <bruno@clisp.org>
15735         tmpfile: Add support for Android.
15736         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Add a runtime test whether tmpfile()
15737         works.
15738         * lib/tmpfile.c (tmpfile): Add an alternative implementation for
15739         Android.
15740         * modules/tmpfile (Depends-on): Add 'stdbool'.
15741         * doc/posix-functions/tmpfile.texi: Mention the Android bug.
15742         * modules/argv-iter-tests (Depends-on): Add 'tmpfile'.
15744 2019-01-27  Akim Demaille  <akim@lrde.epita.fr>
15746         bitsetv: allow free on NULL.
15747         * lib/bitsetv.c (bitsetv_free): Do nothing when the bitsetv is NULL.
15749 2019-01-27  Bruno Haible  <bruno@clisp.org>
15751         test-framework-sh: Improve maintainability.
15752         * tests/init.sh: Clarify what belongs together. Reorder definitions.
15754 2019-01-27  Bruno Haible  <bruno@clisp.org>
15756         tests: Don't assume that /tmp exists.
15757         * tests/test-set-mode-acl-1.sh: Skip the test if /tmp does not exist.
15758         * tests/test-copy-acl-1.sh: Likewise.
15759         * tests/test-file-has-acl-1.sh: Likewise.
15760         * tests/test-copy-file-1.sh: Likewise.
15762 2019-01-27  Bruno Haible  <bruno@clisp.org>
15764         tests: Accommodate a shell that is not in /bin/sh.
15765         * tests/init.sh (setup_): Set srcdir and builddir.
15766         (BOURNE_SHELL): New variable.
15767         * modules/acl-tests (Depends-on): Add 'test-framework-sh'.
15768         * modules/file-has-acl-tests (Depends-on): Likewise.
15769         * modules/copy-file-tests (Depends-on): Likewise.
15770         * tests/test-set-mode-acl-1.sh: Use the test framework. Invoke shell
15771         scripts through $BOURNE_SHELL.
15772         * tests/test-set-mode-acl-2.sh: Likewise.
15773         * tests/test-copy-acl-1.sh: Likewise.
15774         * tests/test-copy-acl-2.sh: Likewise.
15775         * tests/test-file-has-acl-1.sh: Likewise.
15776         * tests/test-file-has-acl-2.sh: Likewise.
15777         * tests/test-copy-file-1.sh: Likewise.
15778         * tests/test-copy-file-2.sh: Likewise.
15779         * tests/test-set-mode-acl.sh (builddir): Consider value set by the
15780         invoker.
15781         * tests/test-copy-acl.sh (builddir): Likewise.
15782         * tests/test-file-has-acl.sh (builddir): Likewise.
15783         * tests/test-copy-file.sh (builddir): Likewise.
15784         * tests/test-vc-list-files-cvs.sh: Don't create shims for executables in
15785         build-aux/. Instead, invoke shell scripts through $BOURNE_SHELL.
15786         * tests/test-vc-list-files-git.sh: Likewise.
15788 2019-01-27  Bruno Haible  <bruno@clisp.org>
15790         tests: Fix some "unused variable" warnings.
15791         * tests/test-fts.c (fts_dealloc): Remove unused variable.
15792         * tests/unigbrk/test-uc-grapheme-breaks.c (main): Likewise.
15793         * tests/test-striconveh.c (main): Move some variable into the
15794         '#if HAVE_ICONV'.
15795         * tests/test-striconveha.c (main): Likewise.
15796         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
15797         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
15798         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
15799         * tests/uniconv/test-u8-conv-to-enc.c (main): Likewise.
15800         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
15801         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
15802         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
15803         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
15804         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
15805         * tests/uniconv/test-u8-strconv-to-enc.c (main): Likewise.
15806         * tests/uniconv/test-u16-strconv-to-enc.c (main): Likewise.
15807         * tests/uniconv/test-u32-strconv-to-enc.c (main): Likewise.
15808         * tests/test-tsearch.c (main): Move some variable into the
15809         '#if HAVE_INITSTATE'.
15811 2019-01-27  Bruno Haible  <bruno@clisp.org>
15813         unigbrk/uc-grapheme-breaks: Fix build failure.
15814         * lib/unigbrk/uc-grapheme-breaks.c: Don't include unistr.h.
15815         * modules/unigbrk/uc-grapheme-breaks (Makefile.am): Fix typo.
15817 2019-01-27  Bruno Haible  <bruno@clisp.org>
15819         mountlist: Merge two .m4 files.
15820         * m4/mountlist.m4 (gl_MOUNTLIST): Inline gl_LIST_MOUNTED_FILE_SYSTEMS.
15821         (AC_FUNC_GETMNTENT): Move to here, from m4/ls-mntd-fs.m4.
15822         * m4/ls-mntd-fs.m4: Remove file.
15823         * modules/mountlist (Files): Remove m4/ls-mntd-fs.m4.
15825 2019-01-27  Bruno Haible  <bruno@clisp.org>
15827         tests: Enable Linux specific tests on Android.
15828         * tests/test-flock.c (main): Treat Android like Linux.
15829         * tests/test-openat-safer.c (main): Likewise.
15831 2019-01-27  Bruno Haible  <bruno@clisp.org>
15833         relocatable-prog: Use Linux code on Android.
15834         * lib/progreloc.c: Treat Android like Linux.
15836 2019-01-26  Bruno Haible  <bruno@clisp.org>
15838         getloadavg: Add support for Android.
15839         * lib/getloadavg.c: Treat Android like Linux.
15841 2019-01-26  Bruno Haible  <bruno@clisp.org>
15843         vma-iter: Add support for Android.
15844         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Android as well.
15845         * lib/vma-iter.c: Treat Android like Linux.
15846         * lib/get-rusage-data.c (get_rusage_data): Likewise.
15848 2019-01-26  Bruno Haible  <bruno@clisp.org>
15850         fts: Optimize on Android.
15851         * lib/fts.c: Treat Android like Linux.
15853 2019-01-26  Bruno Haible  <bruno@clisp.org>
15855         fts: Add support for Android.
15856         * m4/fts.m4 (gl_FUNC_FTS_CORE): Avoid conflicts between the symbols
15857         defined by this module and the ones in libc.
15858         * tests/test-fts.c (main): Treat mkdir error EMLINK like EMFILE.
15860 2019-01-26  Bruno Haible  <bruno@clisp.org>
15862         mountlist: Use Linux code on Android.
15863         * lib/mountlist.c (setmntent, endmntent): Define fallbacks.
15864         (unescape_tab, read_file_system_list): Enable Linux code on Android
15865         as well.
15866         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Test for setmntent
15867         and endmntent.
15868         * modules/mountlist (Depends-on): Add 'getline'.
15870 2019-01-26  Bruno Haible  <bruno@clisp.org>
15872         localename tests: Fix test failure on Android.
15873         * modules/localename-tests (Depends-on): Add 'setlocale'.
15875 2019-01-26  Bruno Haible  <bruno@clisp.org>
15877         mountlist: Port better to Android.
15878         * lib/mountlist.c (MOUNTED): Redefine on Android.
15879         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Redefine MOUNTED on
15880         Android.
15882 2019-01-26  Bruno Haible  <bruno@clisp.org>
15884         striconveh: Fix use of uninitialized iconv_t.
15885         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
15886         <https://lists.gnu.org/archive/html/bug-libunistring/2019-01/msg00000.html>.
15887         * lib/striconveh.c (iconveh_open): Correct the iconv_close argument.
15889 2019-01-26  Bruno Haible  <bruno@clisp.org>
15891         nonblocking-socket-tests: Fix test failure on Android 4.3.
15892         * tests/test-nonblocking-socket.h (SOCKET_HAS_LARGE_BUFFER): Define to 1
15893         also on Android.
15895 2019-01-26  Bruno Haible  <bruno@clisp.org>
15897         sh-filename: Add support for Android 4.3.
15898         * m4/sh-filename.m4 (gl_SH_FILENAME): Set to "sh" on Android.
15900 2019-01-26  Bruno Haible  <bruno@clisp.org>
15902         ptsname_r: Work around bug on Android 4.3.
15903         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Define
15904         HAVE_ESSENTIALLY_WORKING_PTSNAME_R. Test whether the return value is
15905         correct.
15906         * lib/ptsname_r.c (__ptsname_r): If HAVE_ESSENTIALLY_WORKING_PTSNAME_R
15907         is defined, just fix the return value.
15908         * doc/glibc-functions/ptsname_r.texi: Mention the Android bug. Reword:
15909         The behaviour of musl libc is nothing to be "fixed", since it is
15910         compliant with the next POSIX standard.
15912 2019-01-26  Bruno Haible  <bruno@clisp.org>
15914         ttyname_r: Work around bug on Android 4.3.
15915         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is a stub.
15916         * lib/ttyname_r.c (ttyname_r): Implement for Android.
15917         * doc/posix-functions/ttyname_r.texi: Mention the Android bug.
15918         * doc/posix-functions/ttyname.texi: Likewise.
15920 2019-01-25  Bruno Haible  <bruno@clisp.org>
15922         getprogname: Port to Android 4.3.
15923         * lib/getprogname.c (getprogname): On Android, take only the last
15924         component of __progname.
15926 2019-01-25  Bruno Haible  <bruno@clisp.org>
15928         wcrtomb: Work around bug on Android 4.3.
15929         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test also whether wcrtomb works in
15930         the C locale.
15931         * lib/wcrtomb.c (wcrtomb): Provide alternate implementation for Android,
15932         which does not have the 'wctomb' function.
15933         * doc/posix-functions/wcrtomb.texi: Mention the Android bug.
15934         * tests/test-wcrtomb.c (main): Accept argument '5'.
15935         * tests/test-wcrtomb.sh: Add tests in the POSIX locale.
15937 2019-01-25  Bruno Haible  <bruno@clisp.org>
15939         setlocale: Work around bug on Android 4.3.
15940         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Test whether setlocale supports
15941         the "C" locale.
15942         * lib/setlocale.c (setlocale_unixlike): New wrapper for Android.
15943         * doc/posix-functions/setlocale.texi: Mention the Android bug.
15945 2019-01-24  Bruno Haible  <bruno@clisp.org>
15947         memchr: Work around bug on Android <= 5.0.
15948         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add test against the Android bug.
15949         * doc/posix-functions/memchr.texi: Mention the Android bug.
15951 2019-01-24  Bruno Haible  <bruno@clisp.org>
15953         random: Fix compilation error on Android 4.3.
15954         * lib/stdlib.in.h (random, srandom): Test also REPLACE_RANDOM.
15955         (initstate): Test REPLACE_INITSTATE and HAVE_INITSTATE, not HAVE_RANDOM.
15956         (setstate): Test REPLACE_SETSTATE and HAVE_SETSTATE, not HAVE_RANDOM.
15957         * m4/random.m4 (gl_FUNC_RANDOM): Set HAVE_INITSTATE, HAVE_SETSTATE,
15958         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
15959         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_INITSTATE,
15960         HAVE_SETSTATE, REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
15961         * modules/stdlib (Makefile.am): Substitute HAVE_INITSTATE, HAVE_SETSTATE,
15962         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
15963         * modules/random (Depends-on, configure.ac): Test also REPLACE_RANDOM,
15964         REPLACE_INITSTATE, REPLACE_SETSTATE.
15965         * doc/posix-functions/random.texi: Correct the description of the
15966         situation on Android.
15967         * doc/posix-functions/srandom.texi: Likewise.
15968         * doc/posix-functions/rand.texi: Likewise.
15969         * doc/posix-functions/srand.texi: Likewise.
15971 2019-01-24  Bruno Haible  <bruno@clisp.org>
15973         mbtowc: Fix compilation error on Android 4.3.
15974         * lib/stdlib.in.h (mbtowc): Test also HAVE_MBTOWC.
15975         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Test whether mbtowc exists. Set
15976         HAVE_MBTOWC.
15977         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether mbtowc is declared.
15978         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MBTOWC.
15979         * modules/stdlib (Makefile.am): Substitute HAVE_MBTOWC.
15980         * modules/mbtowc (Depends-on, configure.ac): Test also HAVE_MBTOWC.
15981         * doc/posix-functions/mbtowc.texi: Mention the change.
15983 2019-01-24  Bruno Haible  <bruno@clisp.org>
15985         fdatasync: Fix compilation error on Android 4.3.
15986         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): On platforms other than Solaris,
15987         test whether fdatasync() exists.
15989 2019-01-24  Bruno Haible  <bruno@clisp.org>
15991         unlinkat: Fix compilation error on Android 4.3.
15992         * lib/unistd.in.h: Include <fcntl.h> when module 'unlinkat' is in use
15993         also on Android.
15994         * doc/posix-functions/unlinkat.texi: Mention the issue.
15996 2019-01-24  Bruno Haible  <bruno@clisp.org>
15998         renameat: Fix compilation error on Android 4.3.
15999         * lib/stdio.in.h: Include <sys/stat.h> when module 'renameat' is in use.
16000         * doc/posix-functions/renameat.texi: Mention the issue.
16002 2019-01-24  Bruno Haible  <bruno@clisp.org>
16004         fchownat: Fix compilation error on Android 4.3.
16005         * lib/unistd.in.h: Include <sys/stat.h> when module 'fchownat' is in
16006         use.
16007         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
16008         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Include also <sys/stat.h>.
16009         * doc/posix-functions/fchownat.texi: Mention the issue.
16011 2019-01-23  Bruno Haible  <bruno@clisp.org>
16013         gnulib-tool: Support running testdirs on Android.
16014         * build-aux/test-driver.diff: New file.
16015         * gnulib-tool (func_create_testdir, func_create_megatestdir): Patch
16016         build-aux/test-driver after running automake.
16018 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
16020         relocatable-prog: avoid warnings from Automake
16021         * modules/relocatable-prog: Don't declare PHONY dependencies in
16022         Automake conditionals.
16024 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
16026         array-list: Pacify warnings about unused arguments (-Wunused-parameter).
16027         * lib/gl_array_list.c (gl_array_iterator_free): "Use" the argument.
16029 2019-01-23  Bruno Haible  <bruno@clisp.org>
16031         threadlib: Revert commit from 2018-06-25. We now have a better fix.
16032         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't attempt to defeat a
16033         preceding -Wl,--as-needed option. Don't check whether the linker
16034         supports --as-needed/--no-as-needed and --push-state/--pop-state.
16036 2019-01-23  Bruno Haible  <bruno@clisp.org>
16038         thread: Force linking with -lpthread, even when --as-needed is in use.
16039         Reported by Richard W.M. Jones <rjones@redhat.com> in
16040         <https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00123.html>.
16041         * lib/glthread/thread.h (pthread_create): Don't declare weak.
16043 2019-01-23  Akim Demaille  <akim.demaille@gmail.com>
16044             Bruno Haible  <bruno@clisp.org>
16046         relocatable: avoid compiler warnings (-Wshadow)
16047         * lib/relocatable.c (compute_curr_prefix): Rename local variables
16048         to avoid name collisions with global variables.
16050 2019-01-22  Bruno Haible  <bruno@clisp.org>
16052         vasnprintf: Don't use %n on Android.
16053         Reported and fix suggested by Hugo Beauzée-Luyssen <hugo@beauzee.fr> in
16054         <https://lists.gnu.org/archive/html/bug-gnulib/2018-12/msg00123.html>.
16055         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on Android.
16057 2019-01-22  Bruno Haible  <bruno@clisp.org>
16059         *printf: Support cross-compilation to Android.
16060         * m4/printf.m4: Add cross-compilation guesses for Android.
16062 2019-01-21  Bruno Haible  <bruno@clisp.org>
16064         diacrit: Mark deprecated.
16065         * modules/diacrit (Status, Notice): Mark as deprecated.
16066         * NEWS: Mention it.
16068 2019-01-20  Bruno Haible  <bruno@clisp.org>
16070         rintl: Override broken implementation on NetBSD.
16071         * lib/math.in.h (rintl): Test also REPLACE_RINTL.
16072         * m4/rintl.m4 (gl_FUNC_RINTL): Add test for negative arguments. Set
16073         REPLACE_RINTL.
16074         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_RINTL.
16075         * modules/math (Makefile.in): Substitute REPLACE_RINTL.
16076         * modules/rintl (Depends-on, configure.ac): Test REPLACE_RINTL.
16077         * doc/posix-functions/rintl.texi: Mention the NetBSD bug.
16079 2019-01-20  Bruno Haible  <bruno@clisp.org>
16081         log10l: Work around inaccurate implementation on NetBSD.
16082         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Add test for a certain accuracy.
16083         * lib/log10l.c: Comment out too simplistic override.
16084         * doc/posix-functions/log10l.texi: Mention the NetBSD bug.
16086 2019-01-20  Bruno Haible  <bruno@clisp.org>
16088         logl: Work around inaccurate implementation on NetBSD.
16089         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Add test for a certain accuracy.
16090         * lib/logl.c: Comment out unused code.
16091         * doc/posix-functions/logl.texi: Mention the NetBSD bug.
16093 2019-01-20  Bruno Haible  <bruno@clisp.org>
16095         expm1l: Work around inaccurate implementation on NetBSD.
16096         * lib/math.in.h (expm1l): Test also REPLACE_EXPM1L.
16097         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Add test for a certain accuracy. Set
16098         REPLACE_EXPM1L.
16099         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1L.
16100         * modules/math (Makefile.in): Substitute REPLACE_EXPM1L.
16101         * modules/expm1l (Depends-on, configure.ac): Test REPLACE_EXPM1L.
16102         * doc/posix-functions/expm1l.texi: Mention the NetBSD bug.
16104 2019-01-20  Bruno Haible  <bruno@clisp.org>
16106         expl: Work around inaccurate implementation on NetBSD.
16107         * lib/math.in.h (expl): Test also REPLACE_EXPL.
16108         * m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set
16109         REPLACE_EXPL.
16110         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL.
16111         * modules/math (Makefile.in): Substitute REPLACE_EXPL.
16112         * modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL.
16113         * doc/posix-functions/expl.texi: Mention the NetBSD bug.
16115 2019-01-20  Bruno Haible  <bruno@clisp.org>
16117         exp2l: Work around inaccurate implementation on NetBSD.
16118         * m4/exp2l.m4 (gl_FUNC_EXP2L): Add test for a certain accuracy.
16119         * doc/posix-functions/exp2l.texi: Mention the NetBSD bug.
16121 2019-01-20  Bruno Haible  <bruno@clisp.org>
16123         floor, floorl: Avoid autoconf warnings.
16124         * modules/floor (configure.ac): Use AC_REQUIRE.
16125         * modules/floorl (configure.ac): Likewise.
16127 2019-01-20  Bruno Haible  <bruno@clisp.org>
16129         Defeat current GCC optimizations in math autoconf tests.
16130         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'.
16131         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16132         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16133         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16134         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
16135         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
16136         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16137         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
16138         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
16139         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
16140         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
16141         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
16142         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
16143         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
16144         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
16145         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
16146         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise.
16147         * m4/log.m4 (gl_FUNC_LOG): Likewise.
16148         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
16149         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
16150         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
16151         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
16152         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
16153         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
16154         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
16155         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
16156         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
16157         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
16158         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
16159         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
16160         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
16161         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
16162         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16163         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16164         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16165         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16166         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16167         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16169 2019-01-19  Pádraig Brady  <P@draigBrady.com>
16171         gettext: support disabling use of VLAs
16172         * lib/gettext.h: Disable use of VLAs if GNULIB_NO_VLA is defined
16174 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
16176         sys_stat: Fix 'implicit declaration of function' warning on OS/2 kLIBC.
16177         * lib/sys_stat.in.h [kLIBC]: Include <unistd.h>.
16179 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
16181         fcntl: Fix syntax error (regression from 2018-10-05).
16182         * lib/fcntl.c (klibc_fcntl): Remove mis-placed ';'.
16184 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
16186         relocatable: improve documentation.
16187         * doc/relocatable-maint.texi (Supporting Relocation): For
16188         substitutions performed by config.status, we need more variables
16189         (for instance datarootdir defaults to '${prefix}/share' so we need
16190         prefix).
16192 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
16194         backup: update dependencies
16195         * modules/backup-rename (Depends-on): It now depends on opendirat
16196         instead of opendir.  It also uses stdint, and xalloc-oversized.
16197         But no longer dirfd.
16198         * modules/backupfile (Depends-on): Add xalloc-oversized.
16200 2019-01-13  Bruno Haible  <bruno@clisp.org>
16202         getcwd: Fix test failure when building on a Linux 9p file system.
16203         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): On Linux, treat error
16204         EINVAL from mkdir like ENAMETOOLONG.
16205         * tests/test-getcwd.c (test_long_name): Likewise.
16207 2019-01-12  Tim Rühsen  <tim.ruehsen@gmx.de>
16209         Fix typos found by codespell.
16210         * lib/*.[hc]: Fix typos in comments.
16211         * pygnulib/*.py: Fix typos in error messages and comments.
16213 2019-01-12  Bruno Haible  <bruno@clisp.org>
16215         doc: Fix documentation about container data types.
16216         Reported by Werner Lemberg <wl@gnu.org>.
16217         * doc/containers.texi (Container data types): Fix typo.
16219 2019-01-10  Bruno Haible  <bruno@clisp.org>
16221         verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++ versions.
16222         Reported by Reuben Thomas <rrt@sc3d.org>.
16223         * lib/verify.h (_GL_HAVE_STATIC_ASSERT): Define for g++ versions >= 6.
16225 2019-01-06  Bruno Haible  <bruno@clisp.org>
16227         maintainer-makefile: Make the configure.ac section optional.
16228         * top/maint.mk (GREP, SED): Define if not defined.
16230 2019-01-06  Bruno Haible  <bruno@clisp.org>
16232         localename: Assume setlocale function.
16233         * lib/localename.c (gl_locale_name_posix): Assume setlocale exists.
16234         * m4/localename.m4 (gl_LOCALENAME): Don't test whether setlocale exists.
16236 2019-01-06  Bruno Haible  <bruno@clisp.org>
16238         doc: Add documentation about container data types.
16239         * doc/containers.texi: New file.
16240         * doc/gnulib.texi (Particular Modules): Include it.
16242 2019-01-06  Bruno Haible  <bruno@clisp.org>
16244         doc: Update documentation about 'progname' module.
16245         * doc/progname.texi: Rename from doc/error.texi. Change node name and
16246         title. Rewrite.
16247         * doc/gnulib.texi (Particular Modules): Update.
16249 2019-01-06  Bruno Haible  <bruno@clisp.org>
16251         doc: Document the xstdopen and *-safer modules.
16252         * doc/xstdopen.texi: New file.
16253         * doc/gnulib.texi (Particular Modules): Include it.
16255 2019-01-06  Bruno Haible  <bruno@clisp.org>
16257         xstdopen: Add tests.
16258         * tests/test-xstdopen.c: New file.
16259         * tests/test-xstdopen.sh: New file.
16260         * modules/xstdopen-tests: New file.
16262         xstdopen: New module.
16263         * lib/xstdopen.h: New file.
16264         * lib/xstdopen.c: New file.
16265         * modules/xstdopen: New file.
16267 2019-01-06  Bruno Haible  <bruno@clisp.org>
16269         stdopen: Fix compilation error with IRIX cc.
16270         * lib/stdopen.c (stdopen): Do not use C99-style decl in loop.
16272 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
16274         xfreopen need not include stdio--.h
16275         * lib/xfreopen.c: Do not include stdio--.h.
16277         xfreopen need not depend on freopen-safer
16278         * modules/xfreopen (Depends-on):
16279         Depend on freopen, not freopen-safer.
16281         stdopen: modernize and simplify
16282         * lib/stdopen.c: Update copyright date
16283         Do not include sys/types.h; no longer needed these days.
16284         (stdopen): Use C99-style decl in loop.  Return int errno
16285         value, rather than just a bool.  Do not worry about fd mismatches,
16286         since the caller cares only if 0, 1, 2 are occupied.
16287         * lib/stdopen.h: No need to include <stdbool.h>.
16288         * m4/stdopen.m4: Remove.
16289         * modules/stdopen: New file.
16291         stdopen: copy from last use in coreutils
16292         * lib/stdopen.c, lib/stdopen.h, m4/stdopen.m4:
16293         New files, taken from their last commit in coreutils
16294         2007-07-23T12:35:58Z!jim@meyering.net
16295         71aa3ea88084d17bcb4fc1031ad7b66f8647115e.
16297 2019-01-05  Bruno Haible  <bruno@clisp.org>
16299         argp: Don't pass an invalid argument to dgettext().
16300         Reported by He X <xw897002528@gmail.com>.
16301         * lib/argp-help.c (print_header, argp_doc): Don't pass a NULL doc to
16302         dgettext().
16304 2019-01-05  Bruno Haible  <bruno@clisp.org>
16306         argp: Don't pass an invalid argument to dgettext().
16307         Reported by He X <xw897002528@gmail.com>.
16308         * lib/argp.h (struct argp): Clarify that the args_doc field may be NULL.
16309         * lib/argp-help.c (argp_args_usage): Don't pass a NULL args_doc to
16310         dgettext().
16312 2018-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16314         stdioext: port to newer 32-bit Android
16315         Problem reported by Tom Yan in:
16316         https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00014.html
16317         * lib/stdio-impl.h (_gl_FILE_flags_t) [__ANDROID__]: New macro.
16318         (fp_) [__ANDROID__]: Use it.
16320 2019-01-04  Bruno Haible  <bruno@clisp.org>
16322         lock: Fix link error with --enable-threads=pth.
16323         * lib/glthread/lock.h (pth_cond_init, pth_cond_await, pth_cond_notify):
16324         Mark as weak.
16326 2019-01-04  Bruno Haible  <bruno@clisp.org>
16328         Fix link errors in unit tests.
16329         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16330         * modules/bitset-tests (Makefile.am): Link test-bitset against libintl.
16331         * modules/array-map-tests (Makefile.am): Link test-array_map against
16332         libintl.
16333         * modules/array-set-tests (Makefile.am): Link test-array_set against
16334         libintl.
16335         * modules/hash-map-tests (Makefile.am): Link test-hash_map against
16336         libintl.
16337         * modules/hash-set-tests (Makefile.am): Link test-hash_set against
16338         libintl.
16339         * modules/linkedhash-map-tests (Makefile.am): Link test-linkedhash_map
16340         against libintl.
16341         * modules/linkedhash-set-tests (Makefile.am): Link test-linkedhash_set
16342         against libintl.
16344 2019-01-04  Bruno Haible  <bruno@clisp.org>
16346         Fix incorrect 'Link' sections.
16347         * modules/regex (Link): Mention the link requirement of module 'lock'.
16348         * modules/regex-tests (Makefile.am): Don't use LIB_PTHREAD.
16350 2019-01-04  Bruno Haible  <bruno@clisp.org>
16352         Fix some 'Link' sections.
16353         * modules/c-stack (Link): Add link directive from the 'gettext-h'
16354         dependency.
16355         * modules/getaddrinfo (Link): Likewise.
16357 2019-01-04  Bruno Haible  <bruno@clisp.org>
16359         Remove redundant 'Link' sections.
16360         * modules/canon-host (Link): Remove section.
16361         * modules/timevar (Link): Likewise.
16363 2019-01-04  Bruno Haible  <bruno@clisp.org>
16365         Remove incorrect 'Link' sections.
16366         * modules/acl (Link): Remove section. Use combined 'Link' sections from
16367         the dependencies instead.
16368         * modules/crypto/md5 (Link): Likewise.
16369         * modules/crypto/sha1 (Link): Likewise.
16370         * modules/crypto/sha256 (Link): Likewise.
16371         * modules/crypto/sha512 (Link): Likewise.
16372         * modules/faccessat (Link): Likewise.
16373         * modules/fdutimensat (Link): Likewise.
16374         * modules/iconv_open-utf (Link): Likewise.
16375         * modules/propername (Link): Likewise.
16376         * modules/qacl (Link): Likewise.
16377         * modules/unicodeio (Link): Likewise.
16378         * modules/utimecmp (Link): Likewise.
16379         * modules/utimensat (Link): Likewise.
16380         * modules/xstriconv (Link): Likewise.
16381         * modules/xstriconveh (Link): Likewise.
16383 2019-01-04  Bruno Haible  <bruno@clisp.org>
16385         gnulib-tool: New option --extract-recursive-link-directive.
16386         * gnulib-tool (func_usage): Document the new options
16387         --extract-recursive-dependencies, --extract-recursive-link-directive.
16388         (func_verify_module): Document output variables.
16389         (func_get_dependencies_recursively): New function.
16390         (func_get_link_directive_recursively): New function.
16391         Use them to implement the new options
16392         --extract-recursive-dependencies, --extract-recursive-link-directive.
16393         * doc/gnulib-tool.texi (Link-time requirements): New section.
16395 2019-01-04  Bruno Haible  <bruno@clisp.org>
16397         Clarify meaning of 'Link' section in module description.
16398         * doc/gnulib.texi (Module description): Clarify the meaning of the
16399         'Link' section versus the one of the dependencies.
16400         * NEWS: Mention the change.
16402 2019-01-04  Bruno Haible  <bruno@clisp.org>
16404         pselect: Fix module description.
16405         * modules/pselect (Link): Put one link option per line.
16407 2019-01-04  Bruno Haible  <bruno@clisp.org>
16409         cosl: Fix module description.
16410         * modules/cosl (Link): Fix typo.
16411         * modules/mathl (configure.ac): Likewise.
16413 2019-01-04  Bruno Haible  <bruno@clisp.org>
16415         c-xvasprintf: Fix module dependencies.
16416         * modules/c-xvasprintf (Depends-on): Add 'xalloc-die'.
16418 2019-01-04  Akim Demaille  <akim@lrde.epita.fr>
16420         bootstrap: die when some submodules are not initialized
16421         * build-aux/bootstrap: Make sure all submodules are initialized.
16423 2019-01-04  Bruno Haible  <bruno@clisp.org>
16425         bitsetv: Fix module dependencies.
16426         * lib/bitsetv.c: Include xalloc.h.
16427         * modules/bitsetv (Depends-on): Add 'xalloc'.
16429 2019-01-04  Bruno Haible  <bruno@clisp.org>
16431         xmemdup0: Remove redundant code.
16432         * lib/xmemdup0.h (xalloc_die): Remove declaration.
16434 2019-01-04  Bruno Haible  <bruno@clisp.org>
16436         backupfile: Fix module dependencies.
16437         * modules/backupfile (Depends-on): Add 'xalloc'.
16439 2019-01-03  Paul Eggert  <eggert@cs.ucla.edu>
16441         bitset, crypto/gc: fix conflicts with Solaris 11
16442         * lib/bitset.h (_GL_BITSET_H): Rename from _BITSET_H, to
16443         avoid clash with Solaris 11 <sys/bitset.h>.
16444         * lib/gc.h (_GL_GC_H): Rename from GC_H, to avoid clash
16445         with Solaris 11 <xorg/gc.h>.
16447 2019-01-04  Bruno Haible  <bruno@clisp.org>
16449         safe-read, safe-write: Fix conflict with Illumos-Joyent <sys/limits.h>.
16450         Reported by Andy Fiddaman <andy@omniosce.org>.
16451         * lib/sys-limits.h: Add a '_GL' prefix to the guard symbol.
16453 2019-01-03  Eric Blake  <eblake@redhat.com>
16455         maintainer-makefile: fix typo in previous patch
16456         * top/maint.mk (_sc_search_regexp): Fix my accidental corruption
16457         of Roman's work.
16459 2019-01-02  Roman Bolshakov <r.bolshakov@yadro.com>  (tiny change)
16461         maintainer-makefile: prefer $(GREP) over grep
16462         * modules/maintainer-makefile (configure.ac): Ensure $(GREP) is
16463         defined.
16464         * top/maint.mk: Use it everywhere.
16466         maintainer-makefile: split long argument lines
16467         * top/maint.mk: Use xargs to split $(VC_LIST_EXCEPT) usage where
16468         it would be too long for exec limits on BSD.
16470 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16472         mkfifo: bring back HAVE_MKFIFO macro
16473         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): #define HAVE_MKFIFO as needed.
16474         Problem reported by Andrew Janke in:
16475         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00147.html
16477 2018-12-21  Bruno Haible  <bruno@clisp.org>
16479         Assume Autoconf >= 2.63.
16480         * modules/stdarg (configure.ac-early): Remove comment about Autoconf
16481         versions < 2.60.
16483 2018-12-21  Bruno Haible  <bruno@clisp.org>
16485         memcmp: Mention the clang bug.
16486         * tests/test-memcmp.c: Add comment about a known test failure.
16487         * doc/posix-functions/memcmp.texi: Mention the clang bug.
16489 2018-12-20  Jim Meyering  <meyering@fb.com>
16491         revert v0.1-2213-gae4b73e28 and part of v0.1-2281-g95cd86dd7
16492         v0.1-2213-gae4b73e28 caused a regression in grep-3.2 (no match):
16493           echo '123-x'|LC_ALL=C grep -E '.\bx'
16494         The goal is to revert the first, but reverting it requires to restore
16495         the function deleted in the second. I ran this to restore the deleted
16496         function:
16497           git show v0.1-2281-g95cd86dd7 lib/dfa.c \
16498             | perl -0777 -pe 's/^@@[^\n]*dfaan.*//ms' \
16499             | patch -R -p1
16500         * lib/dfa.c (charclass_context): Restore deleted function.
16501         Reverting the primary commit removes this change:
16502         dfa: Simplify a building state
16503         * lib/dfa.c (build_state): Simplify a building state.
16505 2018-12-20  Paul Eggert  <eggert@cs.ucla.edu>
16507         version-etc: allow zero authors
16508         * lib/version-etc.c (version_etc_arn): If no authors are given,
16509         omit authorship info instead of dumping core.
16511 2018-12-19  Bruno Haible  <bruno@clisp.org>
16513         lchown tests: Be more permissive regarding errno values.
16514         Reported by Ivan Zakharyaschev <imz@altlinux.org>.
16515         * tests/test-lchown.h (test_lchown): Recognize EOPNOTSUPP as an
16516         alternative to ENOSYS.
16517         * modules/lchown-tests (Depends-on): Add 'errno'.
16518         * modules/fchownat-tests (Depends-on): Likewise.
16520 2018-12-18  Bruno Haible  <bruno@clisp.org>
16522         duplocale: Avoid test failure on AIX 7.
16523         * modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
16524         (configure.ac): Invoke gt_FUNC_USELOCALE.
16525         * tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
16526         HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
16527         works.
16529 2018-12-18  Bruno Haible  <bruno@clisp.org>
16531         localename: Fix test failure on AIX 7.
16532         Reported by Assaf Gordon in
16533         <https://lists.gnu.org/archive/html/sed-devel/2018-12/msg00019.html>.
16534         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): New macro.
16535         (gt_INTL_THREAD_LOCALE_NAME): Invoke it. Test gt_cv_func_uselocale_works
16536         instead of ac_cv_func_uselocale.
16537         * lib/localename.c: Test HAVE_WORKING_USELOCALE instead of
16538         HAVE_USELOCALE.
16539         * lib/localename-table.h: Likewise.
16540         * lib/localename-table.c: Likewise.
16541         * tests/test-localename.c: Likewise.
16542         * doc/posix-functions/uselocale.texi: Mention the AIX problem.
16544 2018-12-18  Bruno Haible  <bruno@clisp.org>
16546         localename: Update comments regarding Cygwin.
16547         * lib/localename.c: Update comment.
16548         * doc/posix-functions/uselocale.texi: Update platforms list.
16549         * doc/posix-functions/newlocale.texi: Likewise.
16550         * doc/posix-functions/duplocale.texi: Likewise.
16551         * doc/posix-functions/freelocale.texi: Likewise.
16553 2018-12-16  Bruno Haible  <bruno@clisp.org>
16555         c-stack: Fix for Linux/sparc.
16556         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Set
16557         ac_cv_sys_xsi_stack_overflow_heuristic to 'no' on Linux/sparc.
16559 2018-12-16  Bruno Haible  <bruno@clisp.org>
16561         localename: Avoid test failure on some glibc systems.
16562         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
16563         Unset environment variables that might disturb the first setlocale call,
16564         and verify that this setlocale call succeeds.
16566 2018-12-16  Assaf Gordon  <assafgordon@gmail.com>
16568         random: Fix build error on native Windows (regression from 2018-06-21).
16569         * lib/random.c (__srandom, __initstate, __setstate, __random,
16570         __srandom_r, __initstate_r, __setstate_r, __random_r) [!_LIBC]: Redirect
16571         to the symbols without '__' prefix.
16573 2018-12-16  Bruno Haible  <bruno@clisp.org>
16575         obstack, libc-config: Support HP-UX cc in C99 mode.
16576         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER): Treat HP-UX cc as a pre-C99
16577         compiler, even when in C99 mode.
16578         * lib/cdefs.h (__flexarr): Likewise.
16579         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Update comment.
16581 2018-12-16  Bruno Haible  <bruno@clisp.org>
16583         localename: Fix test failure on OpenBSD >= 6.2.
16584         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Test for fake
16585         locale system. Define HAVE_FAKE_LOCALES in this case.
16586         * lib/localename.c (HAVE_GOOD_USELOCALE): New macro. Use it instead of
16587         HAVE_USELOCALE.
16588         * tests/test-localename.c (HAVE_GOOD_USELOCALE): New macro. Use it
16589         instead of HAVE_NEWLOCALE && HAVE_USELOCALE.
16590         * doc/posix-functions/uselocale.texi: Mention OpenBSD problem. Update
16591         platforms list.
16592         * doc/posix-functions/newlocale.texi: Likewise.
16593         * doc/posix-functions/duplocale.texi: Update platforms list.
16594         * doc/posix-functions/freelocale.texi: Likewise.
16596 2018-12-16  Bruno Haible  <bruno@clisp.org>
16598         duplocale tests: Re-enable the test on platforms without <monetary.h>.
16599         * tests/test-duplocale.c: Use more fine-grained #ifs to re-enable most
16600         of the test, on platforms without <monetary.h>.
16602 2018-12-16  Bruno Haible  <bruno@clisp.org>
16604         localename: Update comments.
16605         * lib/localename.c (HAVE_USELOCALE): Update list of platforms.
16607 2018-12-15  Jim Meyering  <meyering@fb.com>
16609         regex: fix indentation
16610         * m4/regex.m4 (gl_REGEX): Indent with spaces, not TABs.
16612 2018-12-15  Bruno Haible  <bruno@clisp.org>
16614         openat-safer tests: Avoid test failure on NetBSD 8.
16615         * tests/test-openat-safer.c (main): Execute a Linux specific test only
16616         on Linux.
16618 2018-12-15  Jim Meyering  <meyering@fb.com>
16620         regex: work around a bug in glibc-2.27 and prior
16621         * m4/regex.m4 (gl_REGEX): Reject any system regexp that gets a failed
16622         assertion for /0|()0|\1|0/.
16623         * tests/test-regex.c (main): Add the same test here.
16625 2018-12-15  Bruno Haible  <bruno@clisp.org>
16627         localename: Fix use of uninitialized shell variable.
16628         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Initialize
16629         gt_cv_locale_solaris114 always before use. Remove assignment without
16630         effect.
16632 2018-12-15  Bruno Haible  <bruno@clisp.org>
16634         dfa tests: Avoid test failure on Alpine Linux.
16635         * tests/dfa-match.sh (timeout_10): Accommodate the BusyBox 'timeout'
16636         command found on Alpine Linux.
16638 2018-12-15  Jim Meyering  <meyering@fb.com>
16640         dfa: avoid new warnings from gcc
16641         These would prevent building with -Werror and a Dec snapshot of gcc.
16642         * lib/dfa.c (dfaanalyze): Avoid shadowing warnings for "pos".
16643         Rename each inner instance to "p".
16644         (charclass_context): Remove unused static function.
16646 2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>
16648         mkdir-p: improve diagnostic for FUSE mounts
16649         Problem reported by Niklas Hambüchen in:
16650         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00074.html
16651         * lib/mkdir-p.c (make_dir_parents): In diagnostic, prefer stat
16652         errno to mkdir errno if the stat errno is likely more interesting.
16654 2018-12-14  Bruno Haible  <bruno@clisp.org>
16656         hash-map: Add tests.
16657         * tests/test-hash_map.c: New file.
16658         * modules/hash-map-tests: New file.
16660         linkedhash-map: Add tests.
16661         * tests/test-linkedhash_map.c: New file.
16662         * modules/linkedhash-map-tests: New file.
16664         array-map: Add tests.
16665         * tests/test-array_map.c: New file.
16666         * modules/array-map-tests: New file.
16668         xmap: New module.
16669         * lib/gl_xmap.h: New file.
16670         * lib/gl_xmap.c: New file.
16671         * modules/xmap: New file.
16673         hash-map: New module.
16674         * lib/gl_hash_map.h: New file.
16675         * lib/gl_hash_map.c: New file.
16676         * modules/hash-map: New file.
16678         linkedhash-map: New module.
16679         * lib/gl_linkedhash_map.h: New file.
16680         * lib/gl_linkedhash_map.c: New file.
16681         * lib/gl_anyhash1.h: Update comments.
16682         * lib/gl_anyhash2.h: Likewise.
16683         * modules/linkedhash-map: New file.
16685         array-map: New module.
16686         * lib/gl_array_map.h: New file.
16687         * lib/gl_array_map.c: New file.
16688         * modules/array-map: New file.
16690         map: New module.
16691         * lib/gl_map.h: New file.
16692         * lib/gl_map.c: New file.
16693         * lib/gl_omap.h (gl_mapkey_dispose_fn, gl_mapvalue_dispose_fn): Avoid
16694         conflict with gl_map.h.
16695         * modules/map: New file.
16697 2018-12-13  Bruno Haible  <bruno@clisp.org>
16699         select tests: Avoid test failure on Cygwin.
16700         * tests/test-select.h (test_bad_fd): Use an fd < FD_SETSIZE.
16702 2018-12-13  Bruno Haible  <bruno@clisp.org>
16704         localtime-buffer: Avoid endless recursion in localtime and gmtime.
16705         * lib/localtime-buffer.c: Undefine localtime and gmtime before use.
16707 2018-12-13  Bruno Haible  <bruno@clisp.org>
16709         localeconv tests: Avoid test failure on Cygwin.
16710         * tests/test-localeconv.c (main): On Cygwin, skip the 'grouping' and
16711         'mon_grouping' tests.
16713 2018-12-11  Bruno Haible  <bruno@clisp.org>
16715         omap: Don't dispose the old value when the function returns it.
16716         * lib/gl_array_omap.c (gl_array_remove_at): Don't invoke the vdispose_fn
16717         here.
16718         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
16719         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
16720         * lib/gl_omap.h (gl_omap_nx_put, gl_omap_remove): Invoke the vdispose_fn
16721         here.
16723         array-omap, avltree-omap, rbtree-omap: Tweak style.
16724         * lib/gl_anytree_omap.h (gl_tree_nx_getput): Return 1 or 0, not true or
16725         false.
16726         * lib/gl_array_omap.c (gl_array_nx_getput): Likewise.
16728         rbtree-omap: Add tests.
16729         * tests/test-rbtree_omap.c: New file.
16730         * modules/rbtree-omap-tests: New file.
16732         avltree-omap: Add tests.
16733         * tests/test-avltree_omap.c: New file.
16734         * modules/avltree-omap-tests: New file.
16736         array-omap: Add tests.
16737         * tests/test-array_omap.c: New file.
16738         * modules/array-omap-tests: New file.
16740         xomap: New module.
16741         * lib/gl_xomap.h: New file.
16742         * lib/gl_xomap.c: New file.
16743         * modules/xomap: New file.
16745         rbtree-omap: New module.
16746         * lib/gl_rbtree_omap.h: New file.
16747         * lib/gl_rbtree_omap.c: New file.
16748         * lib/gl_rbtree_ordered.h: Code moved to here from lib/gl_rbtree_oset.c.
16749         Parameterize.
16750         * lib/gl_rbtree_oset.c: Include gl_rbtree_ordered.h.
16751         * modules/rbtree-omap: New file.
16752         * modules/rbtree-oset (Files): Add lib/gl_rbtree_ordered.h.
16753         (Makefile.am): Add gl_rbtree_ordered.h to lib_SOURCES.
16755         avltree-omap: New module.
16756         * lib/gl_avltree_omap.h: New file.
16757         * lib/gl_avltree_omap.c: New file.
16758         * lib/gl_avltree_ordered.h: Code moved to here from
16759         lib/gl_avltree_oset.c. Parameterize.
16760         * lib/gl_avltree_oset.c: Include gl_avltree_ordered.h.
16761         * lib/gl_anytree_omap.h: New file.
16762         * modules/avltree-omap: New file.
16763         * modules/avltree-oset (Files): Add lib/gl_avltree_ordered.h.
16764         (Makefile.am): Add gl_avltree_ordered.h to lib_SOURCES.
16766         array-omap: New module.
16767         * lib/gl_array_omap.h: New file.
16768         * lib/gl_array_omap.c: New file.
16769         * modules/array-omap: New file.
16771         omap: New module.
16772         * lib/gl_omap.h: New file.
16773         * lib/gl_omap.c: New file.
16774         * modules/omap: New file.
16776 2018-12-11  Bruno Haible  <bruno@clisp.org>
16778         hash-set, linkedhash-set: Reduce code duplication.
16779         * lib/gl_anyhash1.h: Rename from lib/gl_anyhash_list1.h and
16780         lib/gl_anyhash_set1.h.
16781         * lib/gl_anyhash2.h: Rename from lib/gl_anyhash_list2.h and
16782         lib/gl_anyhash_set2.h. Parameterize.
16783         (hash_resize_after_add): New function, from lib/gl_anyhash_set2.h.
16784         * lib/gl_anytreehash_list1.h (hash_resize_after_add): Remove function.
16785         * lib/gl_avltreehash_list.c: Include gl_anyhash1.h instead of
16786         gl_anyhash_list1.h. Include gl_anyhash2.h instead of gl_anyhash_list2.h.
16787         * lib/gl_rbtreehash_list.c: Likewise.
16788         * lib/gl_linkedhash_list.c: Likewise.
16789         (hash_resize_after_add): Remove function.
16790         * lib/gl_linkedhash_set.c: Include gl_anyhash1.h instead of
16791         gl_anyhash_set1.h. Include gl_anyhash2.h instead of gl_anyhash_set2.h.
16792         * gl_hash_set.c: Likewise.
16793         * modules/avltreehash-list (Files, Makefile.am): Update file list.
16794         * modules/rbtreehash-list (Files, Makefile.am): Likewise.
16795         * modules/linkedhash-list (Files, Makefile.am): Likewise.
16796         * modules/linkedhash-set (Files, Makefile.am): Likewise.
16797         * modules/hash-set (Files, Makefile.am): Likewise.
16799 2018-12-11  Bruno Haible  <bruno@clisp.org>
16801         array-set: Optimize.
16802         * lib/gl_array_set.c (gl_array_search, gl_array_remove): Test equals_fn
16803         outside the loop, not inside the loop.
16805 2018-12-11  Bruno Haible  <bruno@clisp.org>
16807         times: Fix tests.
16808         * tests/test-times.c (doublecmp): Implement a total order.
16810 2018-12-11  Bruno Haible  <bruno@clisp.org>
16812         array-set, linkedhash-set, hash-set: Fix tests.
16813         * tests/test-array_set.c (cmp_objects_in_array): New function.
16814         (check_equals): Use it.
16815         * tests/test-hash_set.c: Likewise.
16816         * tests/test-linkedhash_set.c: Likewise.
16818 2018-12-08  Bruno Haible  <bruno@clisp.org>
16820         Fix comments.
16821         * lib/gl_list.h (gl_list_free): Clarify what it does.
16822         * lib/gl_oset.h (gl_oset_free): Likewise.
16823         * lib/gl_set.h (gl_set_free): Likewise.
16824         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Fix typo in comment.
16825         * lib/gl_array_oset.c (gl_array_search_atleast): Likewise.
16826         * lib/gl_anyavltree_list1.h (MAXHEIGHT): Likewise.
16827         * lib/gl_avltree_oset.c (MAXHEIGHT): Likewise.
16829 2018-12-03  Bruno Haible  <bruno@clisp.org>
16831         hash-set: Add tests.
16832         * tests/test-hash_set.c: New file.
16833         * modules/hash-set-tests: New file.
16835         linkedhash-set: Add tests.
16836         * tests/test-linkedhash_set.c: New file.
16837         * modules/linkedhash-set-tests: New file.
16839         array-set: Add tests.
16840         * tests/test-array_set.c: New file.
16841         * modules/array-set-tests: New file.
16843         xset: New module.
16844         * lib/gl_xset.h: New file.
16845         * lib/gl_xset.c: New file.
16846         * modules/xset: New file.
16848         hash-set: New module.
16849         * lib/gl_hash_set.h: New file.
16850         * lib/gl_hash_set.c: New file.
16851         * modules/hash-set: New file.
16853         linkedhash-set: New module.
16854         * lib/gl_linkedhash_set.h: New file.
16855         * lib/gl_linkedhash_set.c: New file.
16856         * lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
16857         * lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
16858         * lib/gl_anyhash_primes.h: New file, extracted from
16859         lib/gl_anyhash_list2.h.
16860         * lib/gl_anyhash_list2.h: Include it.
16861         (primes, next_prime): Remove definitions.
16862         * modules/linkedhash-set: New file.
16863         * modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
16864         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
16865         * modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
16866         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
16867         * modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
16868         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
16870         array-set: New module.
16871         * lib/gl_array_set.h: New file.
16872         * lib/gl_array_set.c: New file.
16873         * modules/array-set: New file.
16875         set: New module.
16876         * lib/gl_set.h: New file.
16877         * lib/gl_set.c: New file.
16878         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
16879         gl_set.h.
16880         * modules/set: New file.
16882 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
16884         bison: don't force the Yacc mode
16885         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
16886         errors when Bison features are used in the grammar file.  Some of
16887         these features (such as %expect) were flagged non-yacc recently.  Most
16888         of the time, -y is actually used to please Automake's ylwrap which
16889         expects the output to be y.tab.c.
16890         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
16892 2018-12-01  Bruno Haible  <bruno@clisp.org>
16894         gnupload: Document short options.
16895         * build-aux/gnupload (usage): Document the short options.
16897 2018-11-28  Ben Elliston  <bje@gnu.org>
16899         gnupload: Support option -h as alias of --help.
16900         * build-aux/gnupload: Support -h.
16902 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16904         memrchr: port better to clang
16905         * lib/memrchr.c (__memrchr): Cast to void * instead of to
16906         longword *, to pacify clang -Wcast-align (Bug#33544).
16908 2018-11-29  Eric Blake  <eblake@redhat.com>
16910         docs: mention printf %m considerations
16911         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
16912         is not portable, and is easy enough to work around.
16913         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
16914         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
16915         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
16916         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
16917         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
16918         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
16919         * doc/posix-functions/printf.texi (printf): Likewise.
16920         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
16921         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
16922         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
16923         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
16924         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
16925         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
16926         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
16927         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16928         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
16929         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
16930         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
16931         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
16933 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
16935         bitset: rename ebitset/expandable.* as tbitset/table.*
16936         See
16937         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
16938         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
16939         * lib/bitset/table.h, lib/bitset/table.c: these.
16940         Rename all the ebitset* symbols as tbitset*.
16941         Adjust dependencies.
16943 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
16945         bitset: check the operations
16946         * tests/test-bitset.c (bitset_random): New.
16947         Use it.
16948         * lib/bitset/expandable.c (ebitset_not): Fix typo.
16950 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
16952         bitset: properly use false/true instead of 0/1 for Booleans
16953         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
16954         0/1, as Booleans.
16956 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
16958         bitset: rename BITSET_VARRAY as BITSET_VECTOR
16959         For consistency with the name of the file.
16960         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
16961         * lib/bitset/stats.c, lib/bitset/vector.c
16962         (BITSET_VARRAY): Rename as...
16963         (BITSET_VECTOR): this.
16965 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
16967         strerror_r-posix: memmove, not memcpy
16968         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
16969         since the source and destination might overlap in the call
16970         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
16971         Simplify.
16973 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
16975         bitsetv: new module
16976         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
16978 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
16980         bitset: add tests and doc
16981         First stabs at providing a documentation and test for the bitset
16982         module.
16983         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
16985 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
16987         bitset: new module
16988         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
16989         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
16990         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
16991         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
16992         * lib/bitset/vector.h, modules/bitset:
16993         New.
16995 2018-11-23  Bruno Haible  <bruno@clisp.org>
16997         localename: Fix gettext test failures on mingw.
16998         * lib/localename.c (gl_locale_name_posix): Convert the result of
16999         gl_locale_name_environ to XPG syntax.
17001 2018-11-23  Karl Berry  <karl@freefriends.org>
17003         * config/srclistvars.txt,
17004         * config/srclist.txt: remove all gettext references;
17005         the gettext maintainers will sync as needed.
17007 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
17009         mktime: add libc-config dependency
17010         I missed this when we synced from glibc.
17011         * modules/mktime (Depends-on): Add libc-config.
17013 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
17015         longlong: fix comment typo
17016         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
17018 2018-11-11  Bruno Haible  <bruno@clisp.org>
17020         havelib: Remove the need to include asm-underscore.m4.
17021         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
17022         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
17023         gl_HOST_CPU_C_ABI.
17024         * modules/havelib (Files): Add host-cpu-c-abi.m4.
17025         (Depends-on): Remove host-cpu-c-abi.
17027 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
17029         parse-datetime: simplify test for mktime failure
17030         * lib/parse-datetime.y (mktime_ok): Simplify.
17031         Remove args TZ and T; no longer needed.  Callers changed.
17033         posixtm: simplify test for mktime failure
17034         * lib/posixtm.c (posixtime): Simplify.
17036         nstrftime: simplify test for mktime failure
17037         * lib/nstrftime.c (__strftime_internal): Simplify.
17039 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
17041         gnulib-common.m4: port _Noreturn to C++
17042         Problem reported by Akim Demaille in:
17043         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
17044         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
17045         Merge adjustments from _Noreturn.h and from glibc into the non-C++
17046         version.
17047         * lib/_Noreturn.h: Match gnulib-common.
17049 2018-10-30  Bruno Haible  <bruno@clisp.org>
17051         gnu-make: Fix for NetBSD 8 'make'.
17052         Reported by Reuben Thomas in
17053         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
17054         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
17055         output, ignoring exit codes.
17057 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
17059         maintainer-makefile: fix syntax-check rule for "same.h"
17060         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
17061         for 'same_nameat', too.
17063 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
17065         havelib: fix nested ‘configure’ chatter
17066         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
17067         AC_CACHE_CHECK calls, which resulted in confusing output like
17068         “checking for the common suffixes of directories in the library
17069         search path... checking for 64-bit host... no lib,lib”.
17071         backupfile: tweak for better code
17072         * lib/backupfile.c: Sort include directives, and remove
17073         unnecessary <limits.h> include.
17074         (FALLTHROUGH): New macro, copied from other modules.
17075         (backupfile_internal): Use it to avoid code duplication.
17076         This lets GCC 8.2.1 generate better code by inlining the
17077         call to check_extension.
17079 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
17081         backupfile: new dir_fd args
17082         New module opendirat with code taken from fts.
17083         Use this module to let backupfile use a directory file descriptor.
17084         * NEWS: Document the incompatible change.
17085         * lib/backup-find.c (find_backup_file_name):
17086         * lib/backup-rename.c (backup_file_rename):
17087         New arg DIR_FD.
17088         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
17089         (SIZE_MAX): Remove.
17090         Include opendirat.h rather than dirent--.h.
17091         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
17092         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
17093         (backupfile_internal): New arg DIR_FD.  All callers changed.
17094         * lib/fts.c: Include opendirat.h.
17095         (opendirat): Move to opendirat.c.
17096         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
17097         * modules/backupfile (Depends-on): Remove dirfd, opendir.
17098         Add opendirat.
17099         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
17100         Add opendirat.
17102 2018-10-23  Bruno Haible  <bruno@clisp.org>
17104         localename: Simplify support for per-thread locales on Solaris 11.4.
17105         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
17106         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
17107         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
17108         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
17109         specific code.
17110         * lib/localename-table.h: Update comments.
17111         * lib/localename-table.c: Update comments.
17112         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
17113         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
17114         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
17115         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
17116         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
17117         HAVE_NAMELESS_LOCALES here.
17118         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
17119         m4/intlsolaris.m4.
17120         * modules/gettext (Files): Likewise.
17122 2018-10-22  Bruno Haible  <bruno@clisp.org>
17124         std-gnu11: Support Autoconf versions < 2.64.
17125         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
17126         when _AC_DO_LIMIT does not exist.
17128 2018-10-22  Bruno Haible  <bruno@clisp.org>
17130         Assume Autoconf >= 2.63.
17131         * DEPENDENCIES: Mention the requirement.
17133         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
17134         (func_get_filelist): Don't list m4/onceonly.m4 any more.
17135         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
17136         * m4/onceonly.m4: Remove file.
17138         * m4/openmp.m4: Remove file.
17139         * modules/openmp (Files): Remove m4/openmp.m4.
17141         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
17142         htmldir, dvidir, pdfdir, psdir, localedir.
17143         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
17145         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
17146         Autoconf < 2.60.
17147         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
17148         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
17150         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
17151         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
17152         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
17154         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
17155         exists.
17156         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
17158         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
17159         Autoconf < 2.61.
17161         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
17162         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
17163         Autoconf >= 2.52.
17165         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
17166         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
17167         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
17169 2018-10-22  Bruno Haible  <bruno@clisp.org>
17171         Assume Automake >= 1.11.
17172         * m4/configmake.m4: Update comments.
17173         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
17174         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
17175         of 'eval'.
17176         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
17177         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
17178         requires Automake >= 1.11.
17180 2018-10-22  Bruno Haible  <bruno@clisp.org>
17182         localename: Fix typo in comment.
17183         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
17185 2018-10-22  Bruno Haible  <bruno@clisp.org>
17187         Fix failure of 'gnulib-tool --create-testdir' with all modules.
17188         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
17190 2018-10-21  Bruno Haible  <bruno@clisp.org>
17192         locale: Ease integration with GNU libintl.
17193         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
17194         GNULIB_defined_freelocale): New macros.
17196 2018-10-21  Bruno Haible  <bruno@clisp.org>
17198         localename: Fine-tune support for per-thread locales on Solaris 11.4.
17199         * lib/localename-table.h: New file, extracted from lib/localename.c.
17200         * lib/localename-table.c: Likewise.
17201         * lib/localename.c: Include localename-table.h.
17202         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
17203         locale_hash_function instead of pointer_hash.
17204         * modules/localename (Files): Add lib/localename-table.h,
17205         lib/localename-table.c.
17206         (lib_SOURCES): Add localename-table.c.
17207         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
17208         for Solaris 11.4 locale system only on Solaris. Test for it
17209         independently whether getlocalename_l exists.
17210         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
17211         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
17212         HAVE_NAMELESS_LOCALES.
17213         * modules/gettext (Files): Add m4/intlsolaris.m4.
17215 2018-10-21  Bruno Haible  <bruno@clisp.org>
17217         Small update from gettext.
17218         * m4/intl.m4: Update from gettext:
17219         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
17220         mode on AIX.
17221         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
17222         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
17224 2018-10-16  Bruno Haible  <bruno@clisp.org>
17226         mountlist: Remove support for Cray with UNICOS 9.
17227         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
17228         MOUNTED_LISTMNTENT.
17229         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
17231 2018-10-16  Bruno Haible  <bruno@clisp.org>
17233         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
17234         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
17235         STAT_STATFS2_FS_DATA.
17236         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
17237         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
17238         MOUNTED_GETMNT.
17239         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
17240         * lib/getloadavg.c (decstation): Remove definition and case.
17241         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
17242         * lib/getgroups.c: Likewise.
17243         * doc/posix-functions/getgroups.texi: Likewise.
17244         * lib/time.in.h: Update comments.
17246 2018-10-16  Bruno Haible  <bruno@clisp.org>
17248         getloadavg: Remove support for ConvexOS.
17249         * lib/getloadavg.c: Remove convex case.
17251 2018-10-16  Bruno Haible  <bruno@clisp.org>
17253         getloadavg: Remove support for Sony NEWS.
17254         * lib/getloadavg.c: Remove sony_news case.
17256 2018-10-16  Bruno Haible  <bruno@clisp.org>
17258         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
17259         * lib/fsusage.c: Remove _SEQUENT_ case.
17260         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
17261         * lib/mountlist.c: Don't test for MNTTABNAME.
17262         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
17263         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
17264         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
17265         * lib/stat-size.h: Don't mention the Sequent bug.
17266         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
17268 2018-10-16  Bruno Haible  <bruno@clisp.org>
17270         fsusage: Remove support for AIX 3.
17271         * lib/fsusage.c: Remove code for AIX 3.
17272         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
17274 2018-10-16  Bruno Haible  <bruno@clisp.org>
17276         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
17277         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
17278         * lib/fsusage.c: Remove code for AIX PS/2.
17279         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
17280         * lib/getloadavg.c: Likewise.
17282 2018-10-16  Bruno Haible  <bruno@clisp.org>
17284         getloadavg: Remove support for HP-UX on m68k.
17285         * lib/getloadavg.c: Remove hp9000s300 case.
17287 2018-10-16  Bruno Haible  <bruno@clisp.org>
17289         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
17290         * lib/fsusage.c: Remove DOLPHIN case.
17291         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
17292         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
17294 2018-10-16  Bruno Haible  <bruno@clisp.org>
17296         getloadavg: Remove support for Alliant FX/2800.
17297         * lib/getloadavg.c: Remove alliant case.
17299 2018-10-16  Bruno Haible  <bruno@clisp.org>
17301         getloadavg: Remove support for tek4300.
17302         * lib/getloadavg.c: Remove tek4300 case.
17304 2018-10-16  Bruno Haible  <bruno@clisp.org>
17306         getloadavg: Remove support for Ardent.
17307         * lib/getloadavg.c: Remove ardent case.
17309 2018-10-16  Bruno Haible  <bruno@clisp.org>
17311         mountlist: Remove support for SVR2.
17312         Reported by Andrew Borodin <aborodin@vmail.ru> in
17313         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
17314         * lib/mountlist.c: Remove MOUNTED_FREAD case.
17315         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
17316         MOUNTED_FREAD.
17318 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
17320         libc-config: merge from glibc
17321         * lib/cdefs.h (__glibc_has_attribute): New macro.
17323         regex: depend on libc-config
17324         * modules/regex (Depends-on): Add libc-config.
17325         This is needed after the recent autoupdate from glibc.
17327 2018-10-14  Bruno Haible  <bruno@clisp.org>
17329         localename: Add support for per-thread locales on Solaris 11.4.
17330         * lib/locale.in.h (newlocale, freelocale): New declarations.
17331         (duplocale): Declare also when the 'localename' module requests it.
17332         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
17333         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
17334         (struniq): Update.
17335         (struct locale_categories_names, struct locale_hash_node): New types.
17336         (LOCALE_HASH_TABLE_SIZE): New constant.
17337         (locale_hash_table, locale_lock): New variables.
17338         (pointer_hash, get_locale_t_name): New functions.
17339         (newlocale, duplocale, freelocale): New overridden functions.
17340         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
17341         * m4/intlsolaris.m4: New file.
17342         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
17343         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
17344         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
17345         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
17346         declared.
17347         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
17348         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
17349         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
17350         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
17351         * modules/localename (Files): Add intlsolaris.m4.
17352         (Depends-on): Add 'locale'.
17353         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
17354         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
17355         the signatures.
17357 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
17359         timevar: use gethrxtime to get wall clock time
17360         clock_gettime is not portable.  gethrxtime takes the best available
17361         option to get the wall clock time, including clock_gettime (monotonic
17362         clock), and gettime (non monotonic).
17363         Also, using xtime_t instead of float preserves the precision.
17364         Suggested by Bruno Haible.
17365         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
17366         * modules/timevar (Depends-on): We need gethrxtime.
17367         We no longer use times().
17368         (Link): Update.
17369         * lib/timevar.h (timevar_time_def): Use xtime_t.
17370         * lib/timevar.c (set_to_current_time): Use gethrxtime.
17371         (timevar_print): Instead of checking whether the timings themselves
17372         are large enough for the timevar to be printed, check the percentages.
17374 2018-10-14  Bruno Haible  <bruno@clisp.org>
17376         wcsnrtombs: Work around Solaris 11.4 bug.
17377         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
17378         macro.
17379         (gl_FUNC_WCSNRTOMBS): Invoke it.
17380         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
17382 2018-10-14  Bruno Haible  <bruno@clisp.org>
17384         mbsnrtowcs: Work around Solaris 11.4 bug.
17385         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
17386         macro.
17387         (gl_FUNC_MBSNRTOWCS): Invoke it.
17388         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
17390 2018-10-14  Bruno Haible  <bruno@clisp.org>
17392         doc: Update for Solaris 11.4.
17393         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
17394         mention Solaris 11.4.
17395         * m4/printf.m4: Update comments about Solaris.
17396         * m4/log.m4: Likewise.
17397         * m4/log10.m4: Likewise.
17398         * m4/logb.m4: Likewise.
17399         * m4/logbf.m4: Likewise.
17400         * m4/logbl.m4: Likewise.
17401         * m4/rename.m4: Likewise.
17402         * m4/wcrtomb.m4: Likewise.
17403         * m4/hostent.m4: Likewise.
17404         * m4/servent.m4: Likewise.
17406 2018-10-14  Bruno Haible  <bruno@clisp.org>
17408         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
17409         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
17410         pointer.
17411         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
17412         pointer.
17413         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
17414         pointer.
17415         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
17416         pointer.
17417         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
17418         pointer.
17420 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
17422         bootstrap: fix wget command for po files.
17423         * build-aux/bootstrap (po_download_command_format): Fix comment,
17424         and adjust callers.
17426 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
17428         timevar: improve the output format
17429         Suggested by Bruno Haible.
17430         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
17431         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
17432         wall, since its resolution is much higher.
17434 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
17436         timevar: expect that getrusage is available.
17437         Don't keep both times and getrusage as backend: both are guaranteed by
17438         gnulib, a single one suffices.  Using getrusage is open to possibly
17439         tracking other types of resources in the future.
17440         * modules/timevar (Depends-on): Add getrusage.
17441         (configure.ac): Remove gl_TIMEVAR.
17442         (Files): Remove m4/timevar.m4.
17443         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
17444         * lib/timevar.h (timevar_enabled): Clarify documentation.
17445         * lib/timevar.c: Remove all the code about times.
17446         Remove all the CPP guards about getrusage: expect it to be present
17447         (courtesy of gnulib).
17449 2018-10-12  Bruno Haible  <bruno@clisp.org>
17451         mountlist: Improve support for Solaris in 64-bit mode.
17452         Reported by David Wood <David.Wood@deshaw.com> in
17453         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
17454         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
17455         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
17456         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
17458 2018-10-12  Bruno Haible  <bruno@clisp.org>
17460         mountlist: Add support for Minix.
17461         Reported by Assaf Gordon in
17462         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
17463         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
17464         AC_CHECK_FUNCS to check for 'getmntinfo'.
17465         * lib/mountlist.c: Update comments.
17467 2018-10-12  Bruno Haible  <bruno@clisp.org>
17469         Make better use of Autoconf.
17470         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
17471         * m4/manywarnings.m4: Likewise.
17472         * m4/manywarnings-c++.m4: Likewise.
17473         * m4/socklen.m4: Likewise.
17474         * m4/sockpfaf.m4: Likewise.
17475         * m4/stdarg.m4: Likewise.
17476         * m4/visibility.m4: Likewise.
17477         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
17478         indentation.
17479         * m4/ls-mntd-fs.m4: Likewise.
17481 2018-10-11  Bruno Haible  <bruno@clisp.org>
17483         mountlist: Modernize platform lists.
17484         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
17485         platforms, deemphasizing the obsolete ones.
17486         * lib/mountlist.c: Likewise.
17488 2018-10-11  Bruno Haible  <bruno@clisp.org>
17490         getprogname: Add support for 32-bit programs on HP-UX.
17491         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
17492         try the similar functions 32-bit programs on 64-bit HP-UX.
17494 2018-10-11  Bruno Haible  <bruno@clisp.org>
17496         getprogname: Work around program name truncation when possible.
17497         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
17498         possibly use pst_cmd instead.
17500 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
17502         fts: cleanup after FTS_NOATIME removal
17503         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
17504         (FTS_STOP): Shrink to minimal values.  We don’t need to
17505         worry about binary compatibility in Gnulib, and the old way
17506         of doing things had a hole in the user options that caused
17507         FTS_OPTIONMASK to not work as desired.
17509 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
17511         fts: remove FTS_NOATIME
17512         This reverts commit da4d6974013c822af1498941e32db774b2031765.
17513         We cannot guarantee that O_NOATIME works: e.g. openat fails
17514         with EPERM if the effective user ID of the caller does not match
17515         the owner of the file and the caller is not privileged.
17516         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
17517         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
17518         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
17519         (FTS_OPTIONMASK): Adjust.
17520         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
17521         (fd_ring_check): Likewise.
17523 2018-10-08  Bruno Haible  <bruno@clisp.org>
17525         csharpcomp*, csharpexec*: Remove support for pnet.
17526         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
17527         HAVE_CSCC.
17528         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
17529         Don't test HAVE_CSCC.
17530         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
17531         (compile_csharp_class): Don't invoke it.
17532         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
17533         HAVE_ILRUN.
17534         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
17535         Don't test HAVE_ILRUN.
17536         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
17537         (execute_csharp_program): Don't invoke it.
17538         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
17539         any more.
17541 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
17543         renameatu: prefer renameat2 to syscall
17544         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
17545         Use renameat2 instead of syscall (Bug#32796).
17546         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
17548 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
17550         bootstrap, gnulib-tool: use https instead of insecure rsync
17551         * build-aux/bootstrap (download_po_files, po_download_command_format):
17552         Don't try using rsync; always use wget over https to fetch PO files.
17553         * gnulib-tool (func_import): Likewise.
17554         * pygnulib/GLImport.py (GLImport.execute): Likewise.
17556 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
17558         bootstrap, gnulib-tool: correct the translations wget command
17559         * build-aux/bootstrap (po_download_command_format2): Restrict
17560         recursion to a single level.
17561         * gnulib-tool (func_import): Likewise.
17562         * pygnulib/GLImport.py (GLImport.execute): Likewise.
17564 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
17566         doc: the gnulib snapshots are not maintained
17567         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
17569 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
17571         timevar: add to lib_SOURCES
17572         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
17574 2018-10-07  Bruno Haible  <bruno@clisp.org>
17576         dirent: Update documentation.
17577         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
17579 2018-10-05  Bruno Haible  <bruno@clisp.org>
17581         strpbrk: Make it possible to namespace the defined symbol.
17582         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
17584 2018-10-05  Bruno Haible  <bruno@clisp.org>
17586         strcspn: Make it possible to namespace the defined symbol.
17587         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
17589 2018-10-05  Bruno Haible  <bruno@clisp.org>
17591         raise: Make it possible to namespace the defined symbol.
17592         * lib/raise.c (raise): Undefine only after the replacement function has
17593         been defined.
17594         (raise): Renamed from rpl_raise.
17595         (raise_nothrow): Move to the end of the compilation unit.
17597 2018-10-05  Bruno Haible  <bruno@clisp.org>
17599         memcmp: Make it possible to namespace the defined symbol.
17600         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
17602 2018-10-05  Bruno Haible  <bruno@clisp.org>
17604         explicit_bzero: Make it possible to namespace the defined symbol.
17605         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
17606         glibc.
17608 2018-10-05  Bruno Haible  <bruno@clisp.org>
17610         mkdir-p: Depend on 'mkdir'.
17611         * modules/mkdir-p (Depends-on): Add 'mkdir'.
17613 2018-10-05  Bruno Haible  <bruno@clisp.org>
17615         tempname: Depend on 'mkdir'.
17616         Reported by Maarten Bosmans <mkbosmans@gmail.com>
17617         at <https://savannah.gnu.org/bugs/?33379>.
17618         * modules/tempname (Depends-on): Add 'mkdir'.
17620 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
17622         timevar: rely on gnulib modules for time portability.
17623         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
17624         * m4/timevar.m4: Don't check for clock_t and struct tms,
17625         guaranteed by gnulib.
17626         * lib/timevar.h: Use extern "C" protection.
17627         Include <stdio.h> for FILE.
17628         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
17629         they are guaranteed by gnulib.
17630         Remove uses of clock as (now useless) fallback.
17632 2018-10-04  Bruno Haible  <bruno@clisp.org>
17634         sh-filename: New module.
17635         * m4/sh-filename.m4: New file.
17636         * modules/sh-filename: New file.
17637         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
17638         "/bin/sh".
17639         * tests/test-posix_spawn1.c (main): Likewise.
17640         * tests/test-posix_spawn2.c (main): Likewise.
17641         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
17642         is_envjavac_gcj43): Likewise.
17643         * lib/javaexec.c (execute_java_class): Likewise.
17644         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
17645         * modules/posix_spawnp-tests (Depends-on): Likewise.
17646         * modules/javacomp (Depends-on): Likewise.
17647         * modules/javaexec (Depends-on): Likewise.
17649 2018-10-04  Bruno Haible  <bruno@clisp.org>
17651         spawn-pipe tests: Avoid test failure on native Windows.
17652         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
17653         that fd 2 is closed.
17655 2018-10-04  Bruno Haible  <bruno@clisp.org>
17657         fcntl: Make it possible to namespace the defined symbol.
17658         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
17659         been defined.
17660         (fcntl): Renamed from rpl_fcntl.
17661         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
17662         from fcntl.
17663         (klibc_fcntl): Move to the end of the compilation unit.
17665 2018-10-02  Bruno Haible  <bruno@clisp.org>
17667         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
17668         * tests/test-vasnprintf.c (test_function): Change the test added on
17669         2018-09-23 to check only the 18 most significant digits.
17671         vasnprintf tests: Avoid test failure on Cygwin.
17672         * tests/test-vasnprintf.c (test_function): Change the test added on
17673         2018-09-23 to check only the 42 most significant digits.
17675 2018-10-01  Bruno Haible  <bruno@clisp.org>
17677         mkostemp, mkostemps: Update documentation.
17678         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
17679         * doc/glibc-functions/mkostemps.texi: Likewise.
17681 2018-10-01  Tom Tromey  <tom@tromey.com>
17683         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
17684         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
17685         on OS X.
17687 2018-09-30  Pádraig Brady  <P@draigBrady.com>
17689         hmac-*: refactor to remove repetitive code
17690         * lib/hmac.c: A new parameterized single implementation.
17691         * lib/hmac-md5.c: Define parameters and include implementation.
17692         * lib/hmac-sha1.c: Likewise.
17693         * lib/hmac-sha256.c: Likewise.
17694         * lib/hmac-sha512.c: Likewise.
17695         * modules/crypto/hmac-md5: Reference the new implementation file.
17696         * modules/crypto/hmac-sha1: Likewise.
17697         * modules/crypto/hmac-sha256: Likewise.
17698         * modules/crypto/hmac-sha512: Likewise.
17699         * tests/test-hmac-md5.c: Refactor common code to a single function.
17700         * tests/test-hmac-sha1.c: Likewise.
17701         * tests/test-hmac-sha256.c: Likewise.
17702         * tests/test-hmac-sha512.c: Likewise.
17704 2018-09-30  Zhang Qing  <zhangqingl@126.com>
17706         hmac-sha512: fix hash for keys > blocksize (128 bytes)
17707         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
17708         key length to that output by sha512, not the blocksize.
17709         Otherwise uninitialized data from the stack
17710         is used when computing the hash.
17711         * tests/test-hmac-sha512.c: Add a shortened key test case.
17712         Reported at https://github.com/coreutils/gnulib/pull/5
17714 2018-09-30  Bruno Haible  <bruno@clisp.org>
17716         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
17717         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
17718         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
17719         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
17720         'unsigned int' before comparison with an unsigned value.
17722 2018-09-30  Bruno Haible  <bruno@clisp.org>
17724         grantpt: Remove unnecessary dependency.
17725         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
17727 2018-09-30  Bruno Haible  <bruno@clisp.org>
17729         timevar: Small tweaks.
17730         * lib/timevar.h: Fix comments. Add parameter names to function
17731         declarations.
17732         * lib/timevar.c: Include timevar.h immediately after config.h.
17733         * lib/timevar.def: Fix comments.
17734         * modules/timevar (Maintainer): List Akim Demaille.
17736 2018-09-30  Bruno Haible  <bruno@clisp.org>
17738         timevar: Include documentation in gnulib manual.
17739         * doc/timevar.texi: Change node and section name to 'Profiling of
17740         program phases'.
17741         In the code snippets, tweak the #includes and use GNU coding style.
17742         * doc/gnulib.texi: Include timevar.texi.
17744 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
17746         timevar: import from Bison.
17747         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
17748         New files.
17749         * lib/timevar.def: New file.
17750         * doc/timevar.texi: New file.
17752 2018-09-26  Bruno Haible  <bruno@clisp.org>
17754         javacomp-script, javacomp: Add preliminary support for Java 12..17.
17755         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
17756         * lib/javacomp.c (default_target_version): Likewise.
17758 2018-09-26  Bruno Haible  <bruno@clisp.org>
17760         javacomp-script, javacomp: Add support for Java 11.
17761         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
17762         target-version 11.
17763         * lib/javaversion.h: Update comments.
17764         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
17765         source_version_index, get_goodcode_snippet, get_failcode_snippet,
17766         TARGET_VERSION_BOUND, target_version_index,
17767         corresponding_classfile_version): Accept source_version 11 and
17768         target_version 11.
17769         * lib/javacomp.h: Update comments accordingly.
17771 2018-09-23  Bruno Haible  <bruno@clisp.org>
17773         vasnprintf: Fix heap memory overrun bug.
17774         Reported by Ben Pfaff <blp@cs.stanford.edu> in
17775         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
17776         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
17777         memory.
17778         * tests/test-vasnprintf.c (test_function): Add another test.
17780 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
17782         maint: mktime.c now shared with glibc
17783         * config/srclist.txt: intprops.h, timegm.c and mktime.c
17784         are now the same in Gnulib and glibc.
17786         mktime: fix _LIBC typo
17787         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
17789 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
17791         dfa: optimization for state merge
17792         * lib/dfa.c (merge2): New function.
17793         (merge_nfa_state): Use it.
17795 2018-09-18  Jim Meyering  <meyering@fb.com>
17797         dfa: trivial comment fix: s/is/if/
17798         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
17800 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17802         dfa: use more-informative function name
17803         * lib/dfa.c (maybe_disable_superset_dfa):
17804         Rename from dfautf8noss.  Use change.
17806         dfa: tweak allocation performance
17807         * lib/dfa.c (merge_nfa_state, dfaoptimize):
17808         Prefer ptrdiff_t for indexes some more.
17809         Use char for flags, as it’s wide enough.
17810         Allocate queue and flags together, with one malloc call.
17811         No need to use xnmalloc since the multiplication and
17812         addition cannot overflow (it’s already been checked by
17813         earlier allocation).  Prefer memset to open-coding.
17815         dfa: prune states as we go
17816         * lib/dfa.c (prune): Remove.
17817         dfa: reorder enum for efficiency
17818         (merge_nfa_state): Prune as we go instead of at the end.
17819         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
17821         * lib/dfa.c (END): Now -1 again.  Reorder other elements
17822         of the enumeration to make it easier for GCC to generate
17823         efficient code by using fewer comparisons to check for
17824         ranges of values.
17825         (atom): Take advantage of the reordering.
17827 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
17829         dfa: optimize alternation in NFA
17830         Even when similar states exist in alternation, the DFA treats them
17831         as separate items, which may complicate the transition in NFA and
17832         cause slowdown.  This change assembles the states into one.  For
17833         example, ab|ac is changed into a(b|c).  This change speeds-up
17834         matching for many branched patterns.  For example, grep speeds up
17835         more than 30× in:
17837           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
17838           time -p env LC_ALL=C grep -vf in in
17840         * lib/dfa.c (prune): New function.
17841         (merge_nfa_state): New function.  It merges similar NFA states.
17842         (dfaoptimize): New function.  It seeks merged and removed nodes.
17843         (dfaanalyze): Call new function.
17844         (dfautf8noss): Change name from dfaoptimize because of addition of new
17845         function.
17846         (dfacomp): Update caller.
17848         dfa: simplify initial state
17849         Simplifying the initial state enables easier optimization of the NFA.
17850         * lib/dfa.c (enum token): Add new element BEG.
17851         (prtok): Adjust due to adding element BEG.
17852         (dfaparse): Put BEG at a head of tokens.
17853         (state_index): Adjust due to adding element BEG.
17854         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
17855         build initial state.
17856         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
17858 2018-09-18  Bruno Haible  <bruno@clisp.org>
17860         file-has-acl: Fix test failure on Cygwin 2.9.
17861         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
17862         * lib/acl-internal.h: Likewise.
17863         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
17864         * lib/acl-internal.c: Update comments regarding Cygwin.
17865         * lib/acl_entries.c: Likewise.
17866         * lib/file-has-acl.c: Likewise.
17867         (file_has_acl): For Cygwin, use a different way to determine whether
17868         the "default" ACL of a directory is nontrivial.
17869         * lib/get-permissions.c: Update comments regarding Cygwin.
17870         * lib/set-permissions.c: Likewise.
17872 2018-09-18  Bruno Haible  <bruno@clisp.org>
17874         stat-time tests: Fix test failure on Cygwin.
17875         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
17877 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17879         doc: OS X 10.11 lacked ns time functions
17880         According to <https://github.com/zeromq/libzmq/issues/2175>,
17881         nanosecond-resolution timestamp functions were introduced
17882         in macOS 10.12, so document the last version (OS X 10.11)
17883         where they were absent.
17885         gettime: nanotime never existed
17886         Problem reported by Bruno Haible in:
17887         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
17888         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
17889         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
17891 2018-09-18  Bruno Haible  <bruno@clisp.org>
17893         doc: Update statement about target platforms.
17894         Reported by Simon Sobisch.
17895         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
17896         restrictions on MSVC versions.
17898 2018-09-18  Bruno Haible  <bruno@clisp.org>
17900         posix_spawn tests: Fix link error on 64-bit Cygwin.
17901         * tests/test-posix_spawn1.c (environ): Remove declaration.
17902         * tests/test-posix_spawn2.c (environ): Likewise.
17903         * tests/test-posix_spawn3.c (environ): Likewise.
17904         * tests/test-posix_spawn4.c (environ): Likewise.
17905         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
17906         * modules/posix_spawnp-tests (Depends-on): Likewise.
17908 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
17910         timespec: new function current_timespec
17911         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
17912         and don’t worry about it failing on a CLOCK_REALTIME arg.
17913         POSIX requires it to succeed and I don’t know of any
17914         counterexamples where the fallbacks would work.
17915         (current_timespec): New function, taken from Emacs.  It is more
17916         convenient than gettime, and can help register allocation.
17917         * lib/timespec.h: Include arg-nonnull.h.
17918         (current_timespec): New declaration.
17919         (gettime, settime): Declare args to be nonnull.
17920         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
17922 2018-09-16  Bruno Haible  <bruno@clisp.org>
17924         setlocale: Improve locale handling on macOS 10.12 or newer.
17925         * lib/setlocale.c: Include header files for CoreFoundation. Declare
17926         gl_locale_name_canonicalize.
17927         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
17928         and LC_MESSAGES.
17929         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
17931 2018-09-16  Bruno Haible  <bruno@clisp.org>
17933         Update list of locale names with scripts on macOS.
17934         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
17935         match Mac OS X 10.13 and recent glibc.
17937 2018-09-16  Bruno Haible  <bruno@clisp.org>
17939         gettext: Use newer macOS APIs when possible.
17940         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
17941         CFLocaleCopyPreferredLanguages.
17943 2018-09-16  Bruno Haible  <bruno@clisp.org>
17945         localename: Revisit macOS specific code.
17946         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
17947         Fix comments about Mac OS X versions.
17949 2018-09-15  Bruno Haible  <bruno@clisp.org>
17951         setlocale: Improve support for locales not supported by libc.
17952         Reported by Dapeng Gao <peter@dpgao.cc> at
17953         <https://savannah.gnu.org/bugs/?54479>.
17954         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
17955         (libintl_setlocale): Use a more error-tolerant strategy when the locale
17956         to be set is not supported by libc: Emit warnings instead of failing.
17958 2018-09-15  Bruno Haible  <bruno@clisp.org>
17960         strstr, strcasestr: Add workaround against glibc-2.28 bug.
17961         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
17962         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
17963         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
17964         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
17965         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
17966         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
17967         * doc/glibc-functions/strcasestr.texi: Likewise.
17969 2018-09-14  Bruno Haible  <bruno@clisp.org>
17971         doc: Fix bottom of top-level page.
17972         Reported by Akim Demaille <akim.demaille@gmail.com> in
17973         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
17974         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
17975         mode.
17976         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
17977         accordingly.
17979 2018-09-12  Bruno Haible  <bruno@clisp.org>
17981         Add test case from a recent glibc bug.
17982         * tests/test-strstr.c (main): Add test of long needle.
17983         * tests/test-strcasestr.c (main): Likewise.
17984         * tests/test-c-strstr.c (main): Likewise.
17985         * tests/test-c-strcasestr.c (main): Likewise.
17986         * tests/test-memmem.c (main): Likewise.
17988 2018-09-12  Bruno Haible  <bruno@clisp.org>
17990         Apply Eric Blake's improvements from 2011-02-25 to more tests.
17991         * tests/test-c-strstr.c (main): Add the same tests here as well.
17993 2018-09-12  Bruno Haible  <bruno@clisp.org>
17995         Apply Jim Meyering's fix from 2015-01-11 to more tests.
17996         * tests/test-memmem.c (main): Free haystack.
17997         * tests/test-strcasestr.c (main): Likewise.
17998         * tests/test-c-strcasestr.c (main): Likewise.
18000 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18002         xstrtol: fix missing-TYPE_SIGNED typo
18003         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
18005 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
18007         timespec: fix resolution confusion
18008         In normal usage, clock resolution is given in seconds, but the
18009         code was mistakenly using inverse seconds and calling it
18010         “resolution”.  Fix this, partly by renaming two identifiers.
18011         The old names will be kept for a bit, to ease transition.
18012         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
18013         New constants, replacing TIMESPEC_RESOLUTION and
18014         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
18015         All uses changed.
18017 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
18019         mktime: simplify in prep for glibc merge
18020         * lib/mktime.c, lib/timegm.c [_LIBC]:
18021         Include mktime-internal.h (a small file just for glibc)
18022         instead of using a typedef.
18024 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
18026         intprops: minor clarification of code
18027         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
18028         Use _GL_INT_CONVERT rather than reinventing it.
18030 2018-09-07  Bruno Haible  <bruno@clisp.org>
18032         Fix a comment.
18033         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
18035 2018-09-07  Bruno Haible  <bruno@clisp.org>
18037         posix_spawn_file_actions_addchdir: Add tests.
18038         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
18039         * tests/test-posix_spawn4.c: New file.
18040         * modules/posix_spawn_file_actions_addchdir-tests: New file.
18042 2018-09-07  Bruno Haible  <bruno@clisp.org>
18044         posix_spawn_file_actions_addchdir: New module.
18045         Suggested by Eric Blake in
18046         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
18047         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
18048         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
18049         union member 'chdir_action'.
18050         * lib/spawn_faction_addchdir.c: New file.
18051         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
18052         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
18053         HAVE_WORKING_POSIX_SPAWN.
18054         * lib/spawn_faction_adddup2.c: Likewise.
18055         * lib/spawn_faction_addopen.c: Likewise.
18056         * m4/posix_spawn_faction_addchdir.m4: New file.
18057         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
18058         'posix_spawn_file_actions_addchdir' is present and whether
18059         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
18060         instead of HAVE_WORKING_POSIX_SPAWN.
18061         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
18062         posix_spawn_file_actions_addchdir is declared.
18063         (gl_SPAWN_H_DEFAULTS): Initialize
18064         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18065         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18066         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
18067         * modules/spawn (Makefile.am): Substitute
18068         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18069         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18070         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
18071         * modules/posix_spawn_file_actions_addchdir: New file.
18072         * modules/posix_spawn_file_actions_addclose (Depends-on,
18073         configure.ac): Test also REPLACE_POSIX_SPAWN.
18074         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
18075         configure.ac): Likewise.
18076         * modules/posix_spawn_file_actions_addopen (Depends-on,
18077         configure.ac): Likewise.
18078         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
18079         signature.
18080         * doc/posix-functions/posix_spawn.texi: Mention the new module.
18081         * doc/posix-functions/posix_spawnp.texi: Likewise.
18083 2018-09-06  Bruno Haible  <bruno@clisp.org>
18085         stddef: Override max_align_t on NetBSD 8.0/x86.
18086         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
18087         the value of __alignof__ (max_align_t).
18088         * doc/posix-headers/stddef.texi: Mention the issue.
18090 2018-09-06  Bruno Haible  <bruno@clisp.org>
18092         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
18093         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
18094         system fcntl.
18095         * doc/posix-functions/fcntl.texi: Document the issue.
18097 2018-09-06  Bruno Haible  <bruno@clisp.org>
18099         count-trailing-zeros tests: Rely on limits-h module.
18100         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
18101         definition.
18102         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
18104 2018-09-06  Bruno Haible  <bruno@clisp.org>
18106         count-leading-zeros tests: Rely on limits-h module.
18107         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
18108         definition.
18109         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
18111 2018-09-06  Bruno Haible  <bruno@clisp.org>
18113         count-one-bits tests: Rely on limits-h module.
18114         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
18115         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
18117 2018-09-06  Bruno Haible  <bruno@clisp.org>
18119         xstrtoll: Rely on limits-h module.
18120         * lib/xstrtol.c: Don't include intprops.h.
18121         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
18122         * modules/xstrtol (Depends-on): Remove 'intprops'.
18123         * modules/xstrtoll (Depends-on): Add 'limits-h'.
18125 2018-09-06  Bruno Haible  <bruno@clisp.org>
18127         strtoll, strtoull: Rely on limits-h module.
18128         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
18129         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
18130         * modules/strtoll (Depends-on): Add limits-h.
18131         * modules/strtoull (Depends-on): Likewise.
18133 2018-09-06  Bruno Haible  <bruno@clisp.org>
18135         intprops tests: Fix compilation error with pre-C99 compiler.
18136         * tests/test-intprops.c (verify_stmt): New macro.
18137         (VERIFY, main): Use it.
18139 2018-09-06  Bruno Haible  <bruno@clisp.org>
18141         limits-h: Provide numerical limits macros.
18142         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
18143         IRIX and for GCC.
18144         (WORD_BIT, LONG_BIT): Define.
18145         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
18146         <limits.h> does not define LLONG_MAX or WORD_BIT.
18147         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
18148         TYPE_MAXIMUM): New macros, from intprops.h.
18149         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
18150         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
18151         provides.
18153 2018-09-05  Bruno Haible  <bruno@clisp.org>
18155         fcntl: Don't access nonexistent optional argument.
18156         Reported by Frank Busse <f.busse@imperial.ac.uk> in
18157         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
18158         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
18159         don't consume an argument. For actions that take an 'int' argument,
18160         consume an 'int' argument.
18162 2018-09-05  Eric Blake  <eblake@redhat.com>
18164         doc: mention environ pitfall
18165         * doc/posix-functions/environ.texi (environ): Assigning NULL to
18166         environ is a glibc extension.
18168 2018-09-03  Bruno Haible  <bruno@clisp.org>
18170         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
18171         Reported by Antoine Luong <antoine.luong@c-s.fr> in
18172         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
18173         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
18174         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
18175         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
18177 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
18179         mktime: fix unlikely race+overflow bug
18180         Problem reported by Alexandre Oliva in:
18181         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
18182         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
18183         to avoid an unlikely race if the compiler delays a load and
18184         if this cascades into a signed integer overflow.
18186 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18188         mktime, timegm: simplify glibc time64_t
18189         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
18190         Now long int, not time_t, since long int is the longstanding type
18191         for this in glibc and there is no need to change it even if time_t
18192         becomes 64 bits - even int would do, though this would be a change
18193         to the glibc generated code.  When this change is merged into
18194         glibc, it should simplify the time_t vs time64_t situation.
18196         mktime, timegm: simplify merge to glibc
18197         Move code around to make a merge to glibc easier to audit.
18198         This should not change behavior.
18199         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
18200         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
18201         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
18202         simplify later conditionals; default the others to zero.  In uses
18203         of these conditionals, explicitly spell out how _LIBC affects
18204         things, so it’s easier to review from a glibc viewpoint.
18205         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
18206         compartmentalize tzset issues.  Move system-dependent tzsettish
18207         code here from mktime.
18208         (mktime): Move tzsettish code to my_tzset, and move
18209         localtime_offset to within mktime so that it doesn’t
18210         need a separate ifdef.
18212 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
18214         intprops: avoid evaluation of some expressions
18215         This makes EXPR_SIGNED (e) easier to use, as it no longer
18216         evaluates the expression E.  Formerly, E was required to be free
18217         of side effects.
18218         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
18219         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
18220         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
18222 2018-08-23  Bruno Haible  <bruno@clisp.org>
18224         getcwd: Add cross-compilation guesses.
18225         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
18226         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
18227         Based on a patch by Paul Eggert.
18228         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
18229         guesses for all GNU systems.
18231 2018-08-19  Bruno Haible  <bruno@clisp.org>
18233         glob-h: Formalize side effects from other modules.
18234         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
18235         * m4/glob.m4 (gl_GLOB): Invoke it.
18237         fnmatch-h: Formalize side effects from other modules.
18238         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
18239         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
18241         limits-h: Formalize side effects from other modules.
18242         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
18243         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
18245 2018-08-19  Bruno Haible  <bruno@clisp.org>
18247         getpass: Move declaration to <unistd.h>.
18248         * lib/unistd.in.h (getpass): New declaration.
18249         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
18250         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
18251         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
18252         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
18253         On glibc systems, don't set REPLACE_GETPASS to 1.
18254         * modules/getpass (Depends-on): Add 'unistd'.
18255         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
18256         (Include): Specify <unistd.h> instead of "getpass.h".
18257         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
18258         (configure.ac): Sync with the configure.ac section of modules/getpass.
18259         (Include): Specify <unistd.h> instead of "getpass.h".
18260         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
18261         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
18262         REPLACE_GETPASS.
18263         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
18264         REPLACE_GETPASS.
18265         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
18266         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
18267         and musl.
18268         * NEWS: Mention the change.
18270 2018-08-19  Bruno Haible  <bruno@clisp.org>
18272         glob: Fix over-optimization due to attribute __nonnull__.
18273         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
18275 2018-08-19  Bruno Haible  <bruno@clisp.org>
18277         glob: Fix another compilation error when glob.h is not replaced.
18278         Reported by Reuben Thomas <rrt@sc3d.org> in
18279         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
18280         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
18281         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
18283 2018-08-18  Bruno Haible  <bruno@clisp.org>
18285         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
18286         Reported by Reuben Thomas <rrt@sc3d.org> in
18287         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
18288         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
18289         in config.h.
18291 2018-08-18  Bruno Haible  <bruno@clisp.org>
18293         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
18294         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
18295         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
18296         Solution proposed by Eli Zaretskii.
18297         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
18298         * lib/gettimeofday.c (GetProcAddress): Likewise.
18299         * lib/link.c (GetProcAddress): Likewise.
18300         * lib/physmem.c (GetProcAddress): Likewise.
18301         * lib/poll.c (GetProcAddress): Likewise.
18302         * lib/select.c (GetProcAddress): Likewise.
18303         * lib/stat-w32.c (GetProcAddress): Likewise.
18305 2018-08-18  Bruno Haible  <bruno@clisp.org>
18307         glob: Fix another compilation error when glob.h is not replaced.
18308         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
18309         * lib/globfree.c: Include <libc-config.h>.
18311 2018-08-18  Bruno Haible  <bruno@clisp.org>
18313         glob: Fix compilation error when glob.h is not replaced.
18314         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
18315         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
18316         * lib/glob_pattern_p.c: Include <libc-config.h>.
18317         * modules/glob (Depends-on): Add libc-config.
18319 2018-08-18  Bruno Haible  <bruno@clisp.org>
18321         scratch_buffer: Add tests.
18322         * tests/test-scratch-buffer.c: New file.
18323         * modules/scratch_buffer-tests: New file.
18325 2018-08-18  Bruno Haible  <bruno@clisp.org>
18327         scratch_buffer: Fix include file.
18328         Reported by Reuben Thomas <rrt@sc3d.org> in
18329         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
18330         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
18331         double-inclusion guard.
18333 2018-08-18  Bruno Haible  <bruno@clisp.org>
18335         glob-h: Revert Paul Eggert's revert.
18336         * m4/glob_h.m4: Revert to previous state.
18337         * modules/glob-h: Likewise.
18339 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
18341         glob-h: always build glob.h
18342         This works around a problem reported by Reuben Thomas in:
18343         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
18344         This workaround always builds glob.h, even on platforms that
18345         do not need it; perhaps this could be improved someday.
18346         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
18347         is always created now.
18348         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
18350 2018-08-13  Bruno Haible  <bruno@clisp.org>
18352         monetary: Simplify m4 code.
18353         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
18354         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
18356 2018-08-13  Bruno Haible  <bruno@clisp.org>
18358         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
18359         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
18360         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
18361         and by Paul J. Lucas <paul@lucasmail.org> in
18362         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
18363         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
18365 2018-08-11  Bruno Haible  <bruno@clisp.org>
18367         setlocale: Trivial simplification.
18368         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
18370 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
18372         verify: port 'assume' to traditional tools
18373         * lib/verify.h (assume): Port better to Oracle Studio 12.6
18374         and other tools that use /*NOTREACHED*/ comments.
18376 2018-08-10  Bruno Haible  <bruno@clisp.org>
18378         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
18379         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
18380         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
18381         'fnmatch-gnu' is in use.
18383 2018-08-07  Bruno Haible  <bruno@clisp.org>
18385         glob-h: Add tests.
18386         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
18387         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
18388         tests/test-glob-h.c.
18389         * modules/glob-h-tests: New file.
18390         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
18391         conditions.
18392         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
18393         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
18395 2018-08-07  Bruno Haible  <bruno@clisp.org>
18397         glob-h: New module.
18398         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
18399         replacements.
18400         * lib/glob.c: Include <config.h>.
18401         * m4/glob_h.m4: New file.
18402         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
18403         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
18404         REPLACE_GLOB_PATTERN_P as appropriate.
18405         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
18406         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
18407         * modules/glob-h: New file.
18408         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
18409         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
18410         lstat, sys_stat. Change conditions.
18411         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
18412         REPLACE_GLOB_PATTERN_P. Set module indicator.
18413         (Makefile.am): Remove code that is moved to glob-h.
18414         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
18415         * modules/posixcheck (Depends-on): Add glob-h.
18417 2018-08-06  Bruno Haible  <bruno@clisp.org>
18419         Force generation of substitute .h file when C++ support is enabled.
18420         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
18421         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
18422         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
18423         FNMATCH_H to non-empty.
18424         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
18425         ICONV_H to non-empty.
18426         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
18427         MONETARY_H to non-empty.
18428         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
18429         non-empty.
18431 2018-08-06  Bruno Haible  <bruno@clisp.org>
18433         fnmatch-h: Fix test compilation error on mingw (regression from today).
18434         * lib/fnmatch.in.h: Fix conditions.
18436 2018-08-06  Bruno Haible  <bruno@clisp.org>
18438         sys_resource: Relicense under LGPLv2+.
18439         John Malmberg's approval is in
18440         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
18441         * modules/sys_resource (License): Change to LGPLv2+.
18443 2018-08-06  Bruno Haible  <bruno@clisp.org>
18445         fnmatch-h: Add tests.
18446         * tests/test-fnmatch-h.c: New file.
18447         * modules/fnmatch-h-tests: New file.
18448         * tests/test-fnmatch-h-c++.cc: New file.
18449         * modules/fnmatch-h-c++-tests: New file.
18451 2018-08-06  Bruno Haible  <bruno@clisp.org>
18453         fnmatch-h: New module.
18454         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
18455         replacements.
18456         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
18457         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
18458         'posixcheck' warning.
18459         * m4/fnmatch_h.m4: New file.
18460         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
18461         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
18462         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
18463         as appropriate.
18464         * modules/fnmatch-h: New file.
18465         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
18466         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
18467         conditions.
18468         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
18469         indicator.
18470         (Makefile.am): Remove code that is moved to fnmatch-h.
18471         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
18472         REPLACE_FNMATCH.
18473         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
18474         * modules/posixcheck (Depends-on): Add fnmatch-h.
18476 2018-08-06  Bruno Haible  <bruno@clisp.org>
18478         Enable more C++ tests.
18479         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
18480         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
18481         * modules/strings-tests (Depends-on): Add strings-c++-tests.
18482         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
18483         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
18485 2018-08-06  Bruno Haible  <bruno@clisp.org>
18487         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
18488         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
18489         getopt.h.
18490         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
18492 2018-08-05  Bruno Haible  <bruno@clisp.org>
18494         utime-h: Generate header file when module 'posixcheck' is in use.
18495         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
18496         UTIME_H to non-empty.
18498 2018-08-05  Bruno Haible  <bruno@clisp.org>
18500         monetary: Generate header file when module 'posixcheck' is in use.
18501         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
18502         use, set MONETARY_H to non-empty.
18504 2018-08-05  Bruno Haible  <bruno@clisp.org>
18506         iconv-h: Generate header file when module 'posixcheck' is in use.
18507         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
18508         set ICONV_H to non-empty.
18510 2018-08-05  Bruno Haible  <bruno@clisp.org>
18512         Optimize the "checking whether ... is declared without a macro" checks.
18513         Suggested by Paul Eggert in
18514         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
18515         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
18516         Gnulib module 'posixcheck' is not in use.
18518 2018-08-05  Bruno Haible  <bruno@clisp.org>
18520         iconv-h: Enable 'posixcheck' warnings.
18521         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
18522         iconv_open.
18523         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
18525 2018-08-05  Bruno Haible  <bruno@clisp.org>
18527         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
18528         * m4/extern-inline.m4: Add more comments.
18529         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
18530         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
18531         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
18533 2018-08-04  Bruno Haible  <bruno@clisp.org>
18535         New module 'posixcheck'.
18536         * modules/posixcheck: New file.
18537         * m4/posixcheck.m4: New file.
18538         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
18539         (Which modules?): Reference it.
18541 2018-08-01  Assaf Gordon  <assafgordon@gmail.com>
18543         dfa: fix memory leak
18544         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
18546 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
18548         ieee754-h: new module
18549         It looks like Emacs can use this for some NaN processing.
18550         Emacs uses it only on double NaNs so it should be safe.
18551         * MODULES.html.sh (func_all_modules): Add ieee754-h.
18552         * config/srclist.txt: Mention ieee754.h in a comment.
18553         * doc/glibc-headers/ieee754.texi (ieee754.h):
18554         Gnulib now has a substitute that should work
18555         except for long double and for non-IEEE platforms.
18556         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
18557         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
18559 2018-07-27  Bruno Haible  <bruno@clisp.org>
18561         iswcntrl: Mention minor problem on macOS.
18562         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
18564 2018-07-26  Colin Watson  <cjwatson@debian.org>
18566         bootstrap, gnulib-tool: fix translations rsync
18567         Previously, we created files such as $pobase/Makefile.in.in and then the
18568         subsequent rsync would immediately delete them.
18569         * build-aux/bootstrap (po_download_command_format): Avoid deleting
18570         non-.po files in target directory when rsyncing translations.
18571         * gnulib-tool (func_import): Likewise.
18572         * pygnulib/GLImport.py (GLImport.execute): Likewise.
18574 2018-07-25  Jim Meyering  <meyering@fb.com>
18576         bootstrap: reinstate definition fo gnulib_mk.
18577         That variable is used at least by cppi.
18578         * build-aux/bootstrap (gnulib_mk): Restore definition.
18579         This reverts the deletion from v0.1-1844-gc66dba9ba.
18581 2018-07-23  Bruno Haible  <bruno@clisp.org>
18583         doc: For module names, use texinfo markup @code{} or @samp{}.
18584         * doc/alloca.texi: Mark gnulib module names with @code.
18585         * doc/alloca-opt.texi: Likewise.
18586         * doc/quote.texi: Likewise.
18587         * doc/posix-functions/freopen.texi: Likewise.
18588         * doc/posix-functions/open.texi: Likewise.
18589         * doc/posix-functions/readlink.texi: Likewise.
18590         * doc/posix-functions/readlinkat.texi: Likewise.
18591         * doc/posix-functions/stdout.texi: Likewise.
18592         * doc/posix-functions/stderr.texi: Likewise.
18593         * doc/posix-functions/unlink.texi: Likewise.
18594         * doc/posix-functions/unlinkat.texi: Likewise.
18595         * doc/posix-functions/utime.texi: Likewise.
18596         * doc/posix-functions/utimensat.texi: Likewise.
18597         * doc/posix-functions/utimes.texi: Likewise.
18598         * doc/posix-headers/stdint.texi: Likewise.
18599         * doc/glibc-functions/futimesat.texi: Likewise.
18600         * doc/glibc-functions/lutimes.texi: Likewise.
18601         * doc/glibc-functions/memmem.texi: Likewise.
18603 2018-07-23  Werner LEMBERG  <wl@gnu.org>
18605         doc: Avoid some overfull lines in the TeX output.
18606         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
18607         @example.
18608         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
18609         newline before the long URL.
18610         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
18611         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
18612         Add line breaks in code snippets.
18614 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
18616         hard-locale: simplify by removing hard-locale.m4
18617         * m4/hard-locale.m4: Remove.
18618         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
18619         (configure.ac): Do not call gl_HARD_LOCALE.
18621         gnulib-tool: limit line length for git send-email
18622         * gnulib-tool (func_import): Break actioncmd log line
18623         into multiple lines.
18625 2018-07-16  Bruno Haible  <bruno@clisp.org>
18627         ffs: Ensure declaration on mingw.
18628         Reported by Daniel P. Berrangé <berrange@redhat.com>
18629         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
18630         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
18631         also declared.
18633 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
18635         regex-tests: add dependency
18636         * modules/regex-tests (Depends-on): Add gettext-h.
18637         This is needed given the recent changes to regex,
18638         which no longer depends on gettext-h.
18640 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18642         regex: now in sync with glibc
18643         * config/srclist.txt: Gnulib and glibc regex code
18644         are synchronized again.
18646 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18648         renameatu: rename from renameat2
18649         It's looking like Glibc will add a renameat2 function
18650         that is incompatible with Gnulib renameat2; see:
18651         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
18652         To help avoid future confusion, rename renameat2 to something else.
18653         Use the name 'renameatu', as the Gnulib function is close to the
18654         Glibc function.  Perhaps someday there will also be a renameat2
18655         Gnulib module, which mimicks the future glibc renameat2, but that
18656         can wait as nobody seems to need such a module now.
18657         * NEWS: Mention this.
18658         * lib/renameatu.c: Rename from lib/renameat2.c.
18659         * lib/renameatu.h: Rename from lib/renameat2.h.
18660         * modules/renameatu: Rename from modules/renameat2.
18661         * modules/renameatu-tests: Rename from modules/renameat2-tests.
18662         All uses of "renameat2" in identifiers or file name
18663         changed to "renameatu", except for two instances in
18664         lib/renameatu.c that deal with the Linux kernel's
18665         renameat2 syscall.
18667 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
18669         gnulib-tool: minor tweaks for --gnu-make
18670         * gnulib-tool: Do not allow --gnu-make in test modes,
18671         since they all require automake.
18672         (func_emit_lib_Makefile_am): Don’t emit automake comment
18673         if --gnu-make.
18675         regex: work around conditional-dependencies glitch
18676         * modules/regex (Depends-on): Add langinfo.
18677         Without this change, I had problems building an experimental
18678         version of GNU Emacs.  The symptom of the bug was a message
18679         ‘./configure: line 12726: test: =: unary operator expected’.
18680         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
18681         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
18682         was unset.  Although gl_FUNC_NL_LANGINFO has
18683         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
18684         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
18685         --conditional-dependencies sometimes arranges for the
18686         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
18687         code.  Since the regex code includes <langinfo.h> it should be
18688         depending on the langinfo module anyway, and this happens to work
18689         around the bug, so install that as a workaround for now.  To
18690         reproduce the original problem, run the following shell script on
18691         the version of Gnulib just before this patch was installed.
18692                 rm -fr foo
18693                 mkdir foo
18694                 cat >foo/configure.ac <<'EOF'
18695                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
18696                 gl_EARLY
18697                 gl_INIT
18698                 AC_OUTPUT
18699                 EOF
18700                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
18701                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
18702                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
18703                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
18704                 cd foo
18705                 aclocal -I m4
18706                 autoconf
18707                 ./configure --with-included-regex
18709 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18711         wchar: fix bug when checking for ‘inline’
18712         I discovered this when looking into using the regex module
18713         with Emacs.
18714         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
18715         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
18716         conftest1.c and conftest2.c but these files were not created.
18717         As far as I can see, this check never worked and nobody reported
18718         it until now, which is a bit worrisome.
18720 2018-06-30  Jim Meyering  <meyering@fb.com>
18722         bootstrap: s/--option val/--option=val/
18723         * build-aux/bootstrap (gnulib_tool_options): Change the
18724         spelling of "--option val" pairs to "--option=val", for
18725         aesthetics, and also so that this file no longer triggers
18726         a common help2man syntax-check warning when copied into
18727         projects like grep, gzip, etc.
18729 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18731         manywarnings: omit -Wswitch-default
18732         This should make things more consistent, as we already ignore
18733         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
18734         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
18735         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
18736         Add -Wswitch-default.
18737         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
18738         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
18739         Remove -Wswitch-default.
18741         regex: revert most trimming
18742         Problems reported by Bruno Haible in:
18743         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
18744         * modules/regex (Depends-on): Add lock, memcmp, memmove,
18745         and wctype back in.  lock because regex users shouldn’t
18746         need to know that regex needs locking, and the rest because
18747         gnulib-tool should ordinarily ignore them anyway.
18749 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
18751         regex: trim module dependencies
18752         * modules/regex (Depends-on): Remove gettext-h and lock,
18753         since the regex code should work OK without these modules,
18754         and Emacs uses it that way.  Also remove memcmp, memmove,
18755         and wctype, as these modules are obsolete and should not be
18756         needed any more.
18758 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
18760         regex: glibc does not use intprops.h
18761         Maybe we can talk glibc into using intprops.h someday, but
18762         now doesn’t seem to be a good time.
18763         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
18764         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
18765         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
18767 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
18769         regex: port to recently proposed glibc regex merge
18770         This patch is inspired by Adhemerval Zanella's recent proposal
18771         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
18772         to merge glibc and Gnulib regex.  It aims to simplify the merge on
18773         the glibc side, without keeping Gnulib portable.
18774         * lib/regex.h: Fix a problem with glibc installed-header checking,
18775         as follows:
18776         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
18777         (_Restrict_arr_): Prefer __restrict_arr if defined,
18778         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
18779         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
18780         (build_wcs_upper_buffer, build_upper_buffer)
18781         (re_string_translate_buffer, re_string_context_at):
18782         Move decls here from lib/regex_internal.h, for glibc internal tests.
18783         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
18784         glibc BZ #18496.
18785         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
18786         -Wunused-value.
18787         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
18788         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
18789         (bitset_mask): Now static inline, and without any __attribute__
18790         ((unused)) decoration, for glibc internal tests.
18792 2018-06-25  Bruno Haible  <bruno@clisp.org>
18794         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
18795         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
18796         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
18797         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
18798         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
18799         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
18800         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
18801         / -lthread / -lpth does not get optimized away by a preceding
18802         --as-needed option.
18804 2018-06-25  Bruno Haible  <bruno@clisp.org>
18806         Continue to use spaces for indentation, not tabs.
18807         * MODULES.html.sh: Untabify.
18808         * doc/regex.texi: Likewise.
18809         * lib/acl-internal.c: Likewise.
18810         * lib/dfa.c: Likewise.
18811         * lib/exclude.c: Likewise.
18812         * lib/exclude.h: Likewise.
18813         * lib/get-permissions.c: Likewise.
18814         * lib/gettimeofday.c: Likewise.
18815         * lib/parse-datetime.y: Likewise.
18816         * lib/pselect.c: Likewise.
18817         * lib/set-permissions.c: Likewise.
18818         * lib/time.in.h: Likewise.
18819         * m4/canonicalize.m4: Likewise.
18820         * m4/gc.m4: Likewise.
18821         * m4/gnulib-common.m4: Likewise.
18822         * m4/pthread_sigmask.m4: Likewise.
18823         * m4/vararrays.m4: Likewise.
18824         * tests/test-digest.h: Likewise.
18825         * tests/test-fcntl-h.c: Likewise.
18826         * tests/test-timespec.c: Likewise.
18827         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
18829 2018-06-25  Bruno Haible  <bruno@clisp.org>
18831         manywarnings: Don't enable -Wjump-misses-init warnings by default.
18832         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
18833         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
18834         -Wjump-misses-init.
18836 2018-06-25  Jim Meyering  <meyering@fb.com>
18838         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
18839         * lib/acl-internal.h (free_permission_context): Remove that
18840         attribute directive.  Otherwise, it would provoke this from GCC 9:
18841         lib/acl-internal.h:300:3: error: 'const' attribute on function \
18842           returning 'void' [-Werror=attributes]
18844 2018-06-24  Jim Meyering  <meyering@fb.com>
18846         parse-datetime: accommodate gcc-4.8.5
18847         Bruno Haible reported the build failure in
18848         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
18849         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
18850         on declaration of new local.
18852 2018-06-24  Bruno Haible  <bruno@clisp.org>
18854         af_alg: Fail in continuable manner on Linux/powerpc64le.
18855         Reported by Assaf Gordon <assafgordon@gmail.com>
18856         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
18857         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
18858         byte send() as the first round.
18860 2018-06-24  Bruno Haible  <bruno@clisp.org>
18862         af_alg: Fix state of stream after sendfile() succeeds.
18863         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
18864         the stream is correctly positioned afterwards.
18865         * modules/crypto/af_alg (Depends-on): Add fflush.
18866         * tests/test-digest.h (test_digest_on_files): Verify that after the
18867         operation the stream is positioned at end of file.
18869 2018-06-24  Jim Meyering  <meyering@fb.com>
18871         canon-host: take GCC9's advice rather than ignoring warning
18872         Pádraig Brady suggested not to ignore this GCC9 advice.
18873         * lib/canon-host.c: Undo preceding change.
18874         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
18876         parse-datetime.y: avoid spurious GCC 9 warning
18877         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
18878         a function local prior to the first "goto fail".  The prior use would
18879         evoke this:
18880         parse-datetime.y: In function 'parse_datetime2':
18881         parse-datetime.y:1791:19: error: jump skips variable initialization \
18882           [-Werror=jump-misses-init]
18883         parse-datetime.y:2385:2: note: label 'fail' defined here
18884         parse-datetime.y:188:43: note: '({anonymous})' declared here
18885         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
18887         canon-host.c: avoid spurious GCC 9 warning
18888         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
18890         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
18891         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
18892         * m4/manywarnings.m4: Remove them.
18893         Otherwise, building coreutils, I would see this:
18894         cc1: error: deprecated command line option '-Wchkp' [-Werror]
18895         cc1: error: -Wabi won't warn about anything [-Werror=abi]
18896         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
18897           which is also used by default
18898         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
18900 2018-06-24  Bruno Haible  <bruno@clisp.org>
18902         af_alg tests: Add another test.
18903         * tests/test-digest.h (test_digest_on_files): Also check a large file
18904         with a skipped header.
18905         * tests/test-md5.c: Include macros.h.
18906         * tests/test-sha1.c: Likewise.
18907         * tests/test-sha256.c: Likewise.
18908         * tests/test-sha512.c: Likewise.
18909         * modules/crypto/md5-tests (Files): Add tests/macros.h.
18910         * modules/crypto/sha1-tests (Files): Likewise.
18911         * modules/crypto/sha256-tests (Files): Likewise.
18912         * modules/crypto/sha512-tests (Files): Likewise.
18914 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18916         maint: clarify comments about sticky EOF
18917         * lib/af_alg.c: Be more direct that we can't
18918         assume stickiness of EOF for portability reasons.
18919         * lib/md5.c: Clarify that this isn't just a glibc issue.
18920         * lib/sha1.c: Likewise.
18921         * lib/sha256.c: Likewise.
18922         * lib/sha512.c: Likewise.
18924 2018-06-24  Bruno Haible  <bruno@clisp.org>
18926         af_alg: Comment and style improvements.
18927         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
18928         (afalg_buffer, afalg_stream): Improve comments.
18930 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18932         af_alg: disable kernel hash functions by default
18933         All the kernel routines were seen to be significantly slower
18934         with these relatively recent components on an i3-2310M system:
18935           kernel-4.10.6-200.fc25.x86_64
18936           openssl-1.0.2m-1.fc25.x86_64
18937         sha1 was nearly twice as slow in the kernel for example.
18938         Further considerations why this should not be the default, at:
18939         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
18941         * m4/af_alg.m4: Require --with-linux-crypto to enable.
18942         * m4/gl-openssl.m4: Tweak accordingly.
18944 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18946         af_alg: avoid hangs when reading from streams
18947         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
18948         and thus avoid doing a fread() when feof() is set.
18949         * lib/md5.c: Ensure feof() is called before fread().
18950         * lib/sha1.c: Likewise.
18951         * lib/sha256.c: Likewise.
18952         * lib/sha512.c: Likewise.
18954 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18956         af_alg: fix error handling when hash not returned
18957         * lib/af_alg.c (afalg_stream): Handle the case where we've
18958         successfully written data to the kernel in the read/write loop,
18959         but the kernel doesn't respond with the hash.
18961 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
18963         libc-config: merge from glibc
18964         * lib/cdefs.h (__inline, __restrict):
18965         Copy from current glibc.  This fixes glibc bug 17721,
18966         which Gnulib had already fixed in a different way.
18967         (__nonnull): Lessen the distance from glibc by using the
18968         glibc definition inside an ‘#ifndef __nonnull’.
18969         (__attribute_nonstring__): New macro, copied from
18970         current glibc.
18971         * lib/libc-config.h (__attribute_nonstring__): New undef.
18972         (__restrict): Remove; workaround no longer needed.
18973         Keep the __inline workaround, though, as it uses HAVE___INLINE to
18974         support more compilers than the glibc __inline can.
18976 2018-06-24  Bruno Haible  <bruno@clisp.org>
18978         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
18979         * lib/mbrtowc.c (enc_t): New enum type.
18980         (locale_enc, locale_enc_cached): New functions.
18981         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
18982         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
18983         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
18984         instead.
18985         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
18986         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
18987         * modules/wcwidth (configure.ac): Invoke it.
18989 2018-06-24  Bruno Haible  <bruno@clisp.org>
18991         wchar-single: Fix test failure in wcwidth tests.
18992         * tests/test-wcwidth.c (main): If the wchar-single module is present,
18993         skip the tests in the C locale.
18995 2018-06-23  Pádraig Brady  <P@draigBrady.com>
18997         crypto: mention --without-linux-crypto in --with-openssl --help
18998         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
18999         routines take precedence in --with-openssl help output.
19001 2018-06-23  Pádraig Brady  <P@draigBrady.com>
19003         wchar-single: a new module to enable optimizations in wchar replacements
19004         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
19005         GNULIB_WCHAR_SINGLE is enabled.
19006         * lib/wcwidth.c (wcwidth): Likewise.
19008 2018-06-23  Bruno Haible  <bruno@clisp.org>
19010         libc-config: Fix conflict with FreeBSD include files.
19011         * lib/cdefs.h (__nonnull): Remove definition.
19012         * lib/libc-config.h (__nonnull): Remove undefinition.
19014 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
19016         random_r: do not crash if state is unaligned
19017         Problem reported by Bruce Korb in:
19018         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
19019         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
19020         with 'cc -O2 -xmemalign=8s'.
19021         * lib/random_r.c: Include string.h, for memcpy.
19022         (get_int32, set_int32): New functions.
19023         (__srandom_r, __initstate_r, __setstate_r, __random_r):
19024         Use them to avoid assumption that state pointer is aligned.
19025         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
19026         * tests/test-random_r.c (test_failed): New function.
19027         (main): Use it, to test for alignment bugs.
19029         random_r: omit unnecessary include
19030         * lib/random_r.c: Do not include limits.h.
19032         random, random_r: merge from glibc
19033         * lib/random.c, lib/random_r.c:
19034         Include libc-config.h if !_LIBC, not config.h unilaterally.
19035         * lib/random.c:
19036         Do not include stdint.h or time.h; not needed.
19037         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
19038         (unsafe_state): Rename from generator.  All uses changed.
19039         Use C99-style initializers.
19040         (__random, __srandom, __initstate, __setstate): Rename from
19041         non-underscored version, but define it to non-underscored version
19042         on Gnulib.  Add a lock.
19043         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
19044         Likewise.
19045         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
19046         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
19047         (__srandom_r): Use int32_t instead of long int where int32_t will do.
19048         (__random_r): Use uint32 to fix glibc bug 17343.
19049         * modules/random, modules/random_r (Depends-on): Add libc-config.
19050         Depend on stdint only if $HAVE_RANDOM = 0.
19052 2018-06-19  Jim Meyering  <meyering@fb.com>
19054         README-release: also run any check-very-expensive tests
19055         * top/README-release: Adjust instructions so they run the
19056         check-very-expensive tests when there is such a target.
19058 2018-06-18  Bruno Haible  <bruno@clisp.org>
19060         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
19061         * m4/pthread_rwlock_rdlock.m4: Add comment.
19062         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
19063         are reader-preferring in glibc.
19064         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
19065         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
19067 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
19069         crypto: use byteswap
19070         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
19071         * lib/sm3.c: Include <byteswap.h>.
19072         (SWAP): Use its macros rather than reinventing the wheel.
19073         * modules/crypto/md4, modules/crypto/md5-buffer:
19074         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
19075         * modules/crypto/sha512-buffer, modules/crypto/sm3:
19076         (Depends-on): Add byteswap.
19078 2018-06-17  Pádraig Brady  <P@draigBrady.com>
19080         gendocs.sh: fix support for legacy --texi2html
19081         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
19082         to the default makeinfo invocation.
19083         Reported by Bruce Korb
19085 2018-06-17  Bruno Haible  <bruno@clisp.org>
19087         gettext po infrastructure: Update from current gettext git.
19088         Reported by Akim Demaille <akim@lrde.epita.fr>.
19089         * build-aux/po/Makefile.in.in: Update from current gettext git.
19090         * build-aux/po/remove-potcdate.sin: Likewise.
19091         * config/srclist.txt: Temporarily disable sync for these files.
19093 2018-06-17  Bruno Haible  <bruno@clisp.org>
19095         getloadavg: Return 0 on Windows without Cygwin.
19096         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
19098 2018-06-17  Paul Smith  <psmith@gnu.org>
19100         getloadavg: Allow building on Windows without Cygwin
19101         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
19102         * m4/getloadavg.m4: Check for unistd.h.
19104 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
19106         Port crypto/af_alg to GCC 4.8.4
19107         Problem reported by Peter Simons in:
19108         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
19109         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
19111 2018-05-27  Colin Watson  <cjwatson@debian.org>
19113         bootstrap: document source fetching in --help
19114         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
19116 2018-04-09  Colin Watson  <cjwatson@debian.org>
19118         bootstrap: allow non-submodule control of gnulib
19119         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
19120         bootstrap.conf when fetching gnulib using "git clone" or via
19121         GNULIB_SRCDIR.
19123 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
19125         crypto: omit stream ops Emacs doesn’t need
19126         * lib/md5.c (md5_stream):
19127         * lib/sha1.c (sha1_stream):
19128         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
19129         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
19130         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
19131         defined.  Emacs needs this, as it does not use the stream
19132         operations and doesn’t need all the af_alg stuff we’ve recently
19133         added.  Perhaps a similar change is needed to the other crypto
19134         modules, but this patch changes only those needed for Emacs.
19135         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
19136         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
19137         New modules, used by Emacs.
19138         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
19139         * modules/crypto/sha512: Rewrite to depend on the new modules.
19141 2018-05-20  Pádraig Brady  <P@draigBrady.com>
19143         fts: avoid a memory leak edge case
19144         * lib/fts.c (fts_open): Set an appropriate fts_level
19145         so that an immediate fts_close() will free the allocation.
19146         * tests/test-fts.c (fts_dealloc): Add a test case which
19147         will trigger under valgrind or address sanitizer.
19148         Fixes https://bugs.gnu.org/31439
19150 2018-05-20  Bruno Haible  <bruno@clisp.org>
19152         wcwidth tests: Fix link error.
19153         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
19154         $(LIBUNISTRING).
19156 2018-05-20  Bruno Haible  <bruno@clisp.org>
19158         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
19159         * modules/regex (Files): Add m4/glibc21.m4.
19161 2018-05-20  Bruno Haible  <bruno@clisp.org>
19163         localcharset: Optimize.
19164         * lib/localcharset.c (alias_table): Comment out no-op mappings for
19165         platforms where these don't matter. This reduces the table size,
19166         which in turn reduces the lookup time.
19168 2018-05-19  Bruno Haible  <bruno@clisp.org>
19170         localcharset: Map the locale encodings found in newer OSes.
19171         * lib/localcharset.c (alias_table): Add mapping for locale encodings
19172         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
19173         IRIX 6.5, Minix 3.3.
19174         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
19176 2018-05-19  Bruno Haible  <bruno@clisp.org>
19178         localcharset: Move mapping tables into the code. Use a binary search.
19179         * lib/localcharset.h: Document the GNU canonical names for character
19180         encodings here.
19181         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
19182         relocatable.h, configmake.h.
19183         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
19184         macros.
19185         (charset_aliases): Remove variable.
19186         (get_charset_aliases): Remove function.
19187         (struct table_entry): New type.
19188         (alias_table, locale_table): New constants.
19189         (locale_charset): Use the alias_table or locale_table to get the
19190         canonicalized encoding name.
19191         * lib/config.charset: Remove file.
19192         * lib/ref-add.sin: Remove file.
19193         * lib/ref-del.sin: Remove file.
19194         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
19195         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
19196         * modules/localcharset (Notice): Remove.
19197         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
19198         glibc21.m4.
19199         (Depends-on): Remove configmake.
19200         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
19201         (Makefile.am): Simplify.
19202         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
19204 2018-05-19  Bruno Haible  <bruno@clisp.org>
19206         localcharset: Add a manual test.
19207         * tests/test-localcharset.c: New file.
19208         * modules/localcharset-tests: New file.
19210 2018-05-19  Bruno Haible  <bruno@clisp.org>
19212         localcharset: Remove support for obsolete platforms.
19213         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
19214         Mac OS X 10.2. Comment out dubious entry for Solaris.
19216 2018-05-19  Jim Meyering  <meyering@fb.com>
19218         gnupload: adjust comment
19219         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
19220         more likely we'll remove the just-added code in a year or two.
19222 2018-05-19  Bruno Haible  <bruno@clisp.org>
19224         gnupload: Fix "gpg-agent is not available in this session" error.
19225         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
19227 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19229         crypto/af_alg: fix --help
19230         * m4/af_alg.m4: Avoid spurious newline in --help output.
19232 2018-05-13  Bruno Haible  <bruno@clisp.org>
19234         nl_langinfo: Fix compilation error on Android.
19235         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
19236         INT_CURR_SYMBOL, etc. only if these items are defined.
19238 2018-05-13  Bruno Haible  <bruno@clisp.org>
19240         truncate: Fix compilation error on Android.
19241         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
19242         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
19243         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
19244         HAVE_TRUNCATE.
19245         * modules/truncate: Likewise.
19246         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
19247         not HAVE_TRUNCATE.
19248         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
19249         HAVE_TRUNCATE.
19250         * doc/posix-functions/truncate.texi: Mention the issue.
19252 2018-05-13  Bruno Haible  <bruno@clisp.org>
19254         pthread: Fix compilation error on Android.
19255         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
19256         recursive inclusion of this file.
19258 2018-05-13  Bruno Haible  <bruno@clisp.org>
19260         posix_spawn: Fix compilation error on Android.
19261         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
19262         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
19263         (posix_spawn_file_actions_t): Consider also the case
19264         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
19266 2018-05-13  Bruno Haible  <bruno@clisp.org>
19268         tsearch: Move from K&R C to ANSI C.
19269         * lib/tsearch.c (tfind): Convert definition to ANSI C.
19271 2018-05-13  Bruno Haible  <bruno@clisp.org>
19273         tsearch: Fix compilation error on Android.
19274         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
19275         is 0.
19276         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
19277         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
19278         GNULIB_defined_tsearch is true.
19279         (twalk): Define only if GNULIB_defined_twalk is true.
19280         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
19281         is 0.
19282         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
19283         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
19284         * modules/search (Makefile.am): Substitute HAVE_TWALK.
19286 2018-05-13  Bruno Haible  <bruno@clisp.org>
19288         imaxdiv: Fix compilation error on Android.
19289         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
19290         is not defined.
19291         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
19292         HAVE_DECL_IMAXDIV, is 0.
19293         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
19294         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
19296 2018-05-13  Bruno Haible  <bruno@clisp.org>
19298         Support selective inclusion mechanism of recent mingw.org header files.
19299         Reported by Eli Zaretskii <eliz@gnu.org>.
19300         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
19301         __need_ssize_t, or __need_time_t is defined, just include the system's
19302         <sys/types.h>.
19303         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
19304         include the system's <locale.h>.
19306 2018-05-13  Bruno Haible  <bruno@clisp.org>
19308         Avoid compilation error due to 'mmap' on Android.
19309         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
19310         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
19311         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
19312         Undefine on Android.
19314 2018-05-13  Bruno Haible  <bruno@clisp.org>
19316         Add cross-compilation guesses for Linux systems without glibc.
19317         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
19318         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
19319         * m4/link.m4 (gl_FUNC_LINK): Likewise.
19320         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
19321         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
19322         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
19323         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
19324         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
19325         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
19326         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
19327         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
19328         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
19329         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
19330         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19331         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
19332         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
19333         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
19334         * m4/utimens.m4 (gl_UTIMENS): Likewise.
19336 2018-05-13  Bruno Haible  <bruno@clisp.org>
19338         getpagesize: Fix compilation error on Android.
19339         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
19340         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
19341         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
19342         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
19343         HAVE_GETPAGESIZE accordingly.
19344         * modules/getcwd (Files): Add m4/getpagesize.m4.
19346 2018-05-13  Bruno Haible  <bruno@clisp.org>
19348         tcgetsid: Fix compilation error on Android.
19349         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
19350         AC_CHECK_FUNC.
19352 2018-05-13  Bruno Haible  <bruno@clisp.org>
19354         getpass: Fix configure test for Android.
19355         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
19356         AC_CHECK_FUNC.
19358 2018-05-13  Bruno Haible  <bruno@clisp.org>
19360         ffs: Fix compilation error on Android.
19361         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
19363 2018-05-13  Bruno Haible  <bruno@clisp.org>
19365         mkfifo: Fix compilation error on Android.
19366         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
19367         AC_CHECK_FUNC.
19369 2018-05-13  Bruno Haible  <bruno@clisp.org>
19371         c-strtod: Fix configure test for Android.
19372         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
19373         AC_CHECK_FUNC.
19375 2018-05-13  Bruno Haible  <bruno@clisp.org>
19377         random: Fix compilation error on Android.
19378         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
19379         AC_CHECK_FUNC.
19381 2018-05-13  Bruno Haible  <bruno@clisp.org>
19383         grantpt: Fix compilation error on Android.
19384         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
19385         AC_CHECK_FUNC.
19387 2018-05-13  Bruno Haible  <bruno@clisp.org>
19389         stdioext: Fix compilation errors with newer Android headers.
19390         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
19391         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
19392         fallbacks for Android.
19393         * lib/fpending.c: Update comments.
19394         * lib/fpurge.c: Likewise.
19395         * lib/freadable.h: Likewise.
19396         * lib/freadable.c: Likewise.
19397         * lib/freadahead.c: Likewise.
19398         * lib/freading.h: Likewise.
19399         * lib/freadptr.c: Likewise.
19400         * lib/fseterr.c: Likewise.
19401         * lib/fwritable.h: Likewise.
19402         * lib/fwritable.c: Likewise.
19403         * lib/fwriting.h: Likewise.
19404         * lib/fwriting.c: Likewise.
19406 2018-05-13  Bruno Haible  <bruno@clisp.org>
19408         doc: Add info about Android versions 2.0 to 8.1.
19409         * doc/**/*.texi: Add info about functions in all released versions of
19410         Bionic.
19412 2018-05-12  Bruno Haible  <bruno@clisp.org>
19414         fseeko: On mingw, don't use the hidden function _fseeki64.
19415         Reported by Eli Zaretskii <eliz@gnu.org>.
19416         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
19417         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
19419 2018-05-12  Bruno Haible  <bruno@clisp.org>
19421         glob: Choose 'dirent_type' in a way that works better on mingw.
19422         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
19423         * lib/glob.c (dirent_type): Define as uint_fast32_t.
19425 2018-05-12  Bruno Haible  <bruno@clisp.org>
19427         execute, spawn-pipe: Avoid warning about redefining 'close'.
19428         Reported by Eli Zaretskii <eliz@gnu.org>.
19429         * lib/execute.c: Undefine 'close' before redefining it.
19430         * lib/spawn-pipe.c: Likewise.
19432 2018-05-12  Bruno Haible  <bruno@clisp.org>
19434         nanosleep: Avoid test failure on mingw when it has nanosleep.
19435         Reported by Eli Zaretskii <eliz@gnu.org>.
19436         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
19437         If it does not exist, use a simpler test program that does not call
19438         alarm().
19440 2018-05-10  Bruno Haible  <bruno@clisp.org>
19442         lock, cond, thread, tls: Use a different symbol as libpthread witness.
19443         Reported by Devin Hussey <husseydevin@gmail.com>.
19444         Based on a patch by Paul Eggert.
19445         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
19446         as witness of libpthread.
19447         * lib/glthread/cond.h (pthread_in_use): Likewise.
19448         * lib/glthread/thread.h (pthread_in_use): Likewise.
19449         * lib/glthread/tls.h (pthread_in_use): Likewise.
19451 2018-05-10  Bruno Haible  <bruno@clisp.org>
19453         cond tests: Fix compilation error on Solaris.
19454         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
19455         macro.
19457 2018-05-10  Bruno Haible  <bruno@clisp.org>
19459         doc: Add partial info about Android 4.3.
19460         * doc/*-functions/*.texi: Add info about functions that were added
19461         to Bionic between Android 4.3 and Android 9.0.
19463 2018-05-10  Bruno Haible  <bruno@clisp.org>
19465         doc: Add info about Android 9.0.
19466         * doc/**/*.texi: Add info about functions and headers in Bionic from
19467         Android 9.0.
19469 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
19471         af_alg: fix my typo in afalg_buffer
19472         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
19473         (afalg_stream): Simplify and avoid the need for a runtime test
19474         at the end.
19476         af_alg: recover better from crypto failures
19477         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
19478         input stream is seekable, by repositioning the stream back to
19479         where it was, possibly by just calling sendfile with an offset
19480         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
19481         cases, which lets our callers try again with user-mode code.
19482         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
19483         instead of on fflush and lseek.
19485         af_alg: distiguish I/O errors better
19486         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
19487         not -EIO, if it’s OK for the caller to try again with user-mode code.
19488         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
19489         some other error number) if fflush fails, as the caller should not
19490         try again that case.
19492         af_alg: avoid gotos
19493         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
19494         gotos, as they were a source of unreliability and made the code a
19495         bit harder to follow.
19497         af_alg: don’t leak file descriptors into children
19498         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
19499         This code should be compiled only on recent GNU/Linux platforms
19500         so we shouldn’t have to also depend on the accept4 module.
19502         af_alg: coalesce socket creation
19503         * lib/af_alg.c (alg_socket): New function.
19504         (afalg_buffer, afalg_stream): Use it.  This avoids some
19505         code duplication and gotos.
19507         af_alg: fix file descriptor leak
19508         * lib/af_alg.c (afalg_stream): Close leak.
19510         af_alg: Pacify --enable-gcc-warnings on GCC 8
19511         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
19512         and checking to pacify gcc -Wjump-misses-init on GCC 8.
19514 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
19516         af_alg: Pacify --enable-gcc-warnings
19517         Problem reported by Assaf Gordon in:
19518         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
19519         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
19520         gcc -Wjump-misses-init.
19521         * lib/sha512.c (shaxxx_stream): Now static.
19523 2018-05-06  Bruno Haible  <bruno@clisp.org>
19525         af_alg: Add ability to use Linux kernel crypto API on data in memory.
19526         * lib/af_alg.h (afalg_buffer): New declaration.
19527         * lib/af_alg.c (afalg_buffer): New function.
19529 2018-05-06  Bruno Haible  <bruno@clisp.org>
19531         af_alg: Avoid warnings.
19532         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
19533         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
19535 2018-05-06  Bruno Haible  <bruno@clisp.org>
19537         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
19538         * tests/bench-digest.h: New file.
19539         * tests/bench-md5.c: New file.
19540         * tests/bench-sha1.c: New file.
19541         * tests/bench-sha224.c: New file.
19542         * tests/bench-sha256.c: New file.
19543         * tests/bench-sha384.c: New file.
19544         * tests/bench-sha512.c: New file.
19545         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
19546         tests/bench-digest.h.
19547         (Depends-on): Add getrusage, gettimeofday.
19548         (Makefile.am): Add variables to build bench-md5.
19549         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
19550         tests/bench-digest.h.
19551         (Depends-on): Add getrusage, gettimeofday.
19552         (Makefile.am): Add variables to build bench-sha1.
19553         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
19554         tests/bench-sha256.c, tests/bench-digest.h.
19555         (Depends-on): Add getrusage, gettimeofday.
19556         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
19557         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
19558         tests/bench-sha512.c, tests/bench-digest.h.
19559         (Depends-on): Add getrusage, gettimeofday.
19560         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
19562 2018-05-06  Bruno Haible  <bruno@clisp.org>
19564         af_alg: Fix a resource leak.
19565         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
19566         New local variable 'result'.
19568 2018-05-06  Bruno Haible  <bruno@clisp.org>
19570         af_alg: Fix bug with streams that are not at position 0.
19571         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
19572         assume that the stream is positioned at position 0.
19573         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
19574         of the stream.
19575         * lib/md5.h (md5_stream): Likewise.
19576         * lib/sha1.h (sha1_stream): Likewise.
19577         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
19578         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
19579         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
19581         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
19582         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
19583         stream that is not positioned at the beginning.
19585 2018-05-06  Bruno Haible  <bruno@clisp.org>
19587         af_alg: Add configure option to enable/disable use of Linux crypto API.
19588         Suggested by Assaf Gordon <assafgordon@gmail.com>.
19589         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
19590         USE_LINUX_CRYPTO_API.
19591         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
19592         * lib/af_alg.c: Likewise.
19594 2018-05-06  Bruno Haible  <bruno@clisp.org>
19596         Followup to 'af_alg: New module.'.
19597         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
19598         * modules/crypto/sha1 (Depends-on): Likewise.
19599         * modules/crypto/sha256 (Depends-on): Likewise.
19600         * modules/crypto/sha512 (Depends-on): Likewise.
19602 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19604         crypto/{md5,sha1,sha256,sha512}: simplify
19605         * lib/md5.c (md5_stream):
19606         * lib/sha1.c (sha1_stream):
19607         * lib/sha256.c (shaxxx_stream):
19608         Simplify, partly by assuming C99.
19609         * lib/sha256.c (shaxxx_stream):
19610         New function, which implements both sha256 and sha224.
19611         Simplify, partly by assuming C99.
19612         (sha256_stream, sha224_stream):
19613         Use it to avoid code duplication, removing a FIXME.
19614         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
19615         Likewise.
19617         af_alg: Improve comments.
19618         * lib/af_alg.h: Use imperatives and tighten up wording.
19620 2018-05-05  Bruno Haible  <bruno@clisp.org>
19622         af_alg: Improve comments.
19623         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
19625 2018-05-05  Bruno Haible  <bruno@clisp.org>
19627         af_alg: New module.
19628         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
19629         * lib/af_alg.c: Include "af_alg.h" before the other header files.
19630         * lib/md5.c: Include "af_alg.h" unconditionally.
19631         (md5_stream): Invoke afalg_stream unconditionally.
19632         * lib/sha1.c: Include "af_alg.h" unconditionally.
19633         (sha1_stream): Invoke afalg_stream unconditionally.
19634         * lib/sha256.c: Include "af_alg.h" unconditionally.
19635         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
19636         * lib/sha512.c: Include "af_alg.h" unconditionally.
19637         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
19638         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
19639         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
19640         * modules/crypto/af_alg: New file.
19641         * modules/crypto/md5 (Files): Remove files that are now in the
19642         'crypto/af_alg' module.
19643         (Depends-on): Add crypto/af_alg.
19644         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
19645         (Makefile.am): Don't mention af_alg.c here.
19646         * modules/crypto/sha1 (Files): Remove files that are now in the
19647         'crypto/af_alg' module.
19648         (Depends-on): Add crypto/af_alg.
19649         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
19650         (Makefile.am): Don't mention af_alg.c here.
19651         * modules/crypto/sha256 (Files): Remove files that are now in the
19652         'crypto/af_alg' module.
19653         (Depends-on): Add crypto/af_alg.
19654         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
19655         (Makefile.am): Don't mention af_alg.c here.
19656         * modules/crypto/sha512 (Files): Remove files that are now in the
19657         'crypto/af_alg' module.
19658         (Depends-on): Add crypto/af_alg.
19659         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
19660         (Makefile.am): Don't mention af_alg.c here.
19662 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19664         crypto tests: pacify GCC
19665         * tests/test-digest.h (test_digest_on_files):
19666         Don’t assume digest size fits in int (!).
19668         af_alg: minor style improvements
19669         * lib/af_alg.c (afalg_stream): Prefer C99 style
19670         decl-after-statement, since we’re already assuming C99.  Clarify
19671         by strengthening the bind test and omit unnecessary assignment.
19673 2018-05-05  Bruno Haible  <bruno@clisp.org>
19675         af_alg: Fix bug on empty files.
19676         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
19677         stream is empty.
19679 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19681         sys-limits.h: new file for crypto and safe I/O
19682         * lib/af_alg.c: Include sys-limits.h.
19683         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
19684         (afalg_stream): Also reject negative sizes for sendfile; they
19685         should not happen and the code is a bit cleaner and faster this way.
19686         * lib/safe-read.c: Include sys-limits.h.
19687         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
19688         * lib/sys-limits.h: New file, with values and commentary derived
19689         from the old safe-read.c and from GNU Emacs sysdep.c.
19690         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
19691         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
19692         Add lib/sys-limits.h to Files section.
19694 2018-05-05  Bruno Haible  <bruno@clisp.org>
19696         af_alg: Improve function signature.
19697         * lib/af_alg.h (afalg_stream): Swap second and third argument.
19698         * lib/af_alg.c (afalg_stream): Likewise.
19699         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
19701 2018-05-05  Bruno Haible  <bruno@clisp.org>
19703         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
19704         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
19705         * modules/crypto/sha1 (Depends-on): Likewise.
19706         * modules/crypto/sha256 (Depends-on): Likewise.
19707         * modules/crypto/sha512 (Depends-on): Likewise.
19709 2018-05-05  Bruno Haible  <bruno@clisp.org>
19711         crypto/{md5,sha1,sha256,sha512}: Fix module description.
19712         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
19713         * modules/crypto/sha1 (Depends-on): Likewise.
19714         * modules/crypto/sha256 (Depends-on): Likewise.
19715         * modules/crypto/sha512 (Depends-on): Likewise.
19717 2018-05-05  Bruno Haible  <bruno@clisp.org>
19719         af_alg: Add documentation.
19720         * lib/af_alg.h: Add comments.
19722 2018-05-05  Bruno Haible  <bruno@clisp.org>
19724         sha512: Add tests.
19725         * tests/test-sha512.c: New file.
19726         * modules/crypto/sha512-tests: New file.
19728 2018-05-05  Bruno Haible  <bruno@clisp.org>
19730         sha256: Add tests.
19731         * tests/test-sha256.c: New file.
19732         * modules/crypto/sha256-tests: New file.
19734 2018-05-05  Bruno Haible  <bruno@clisp.org>
19736         sha1 tests: Add test for sha1_stream.
19737         * tests/test-sha1.c: Include test-digest.h.
19738         (main): Invoke test_digest_on_files on 'sha1_stream'.
19739         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
19741 2018-05-05  Bruno Haible  <bruno@clisp.org>
19743         md5 tests: Add test for md5_stream.
19744         * tests/test-digest.h: New file.
19745         * tests/test-md5.c: Include test-digest.h.
19746         (main): Invoke test_digest_on_files on 'md5_stream'.
19747         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
19749 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19751         md5sum: Use AF_ALG when available.
19752         * lib/md5.c: Include af_alg.h.
19753         (md5_stream): Use afalg_stream when available.
19754         * modules/crypto/md5 (Files): Add the af_alg files.
19755         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19756         (Makefile.am): Add af_alg.c.
19758 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19760         sha512sum: Use AF_ALG when available.
19761         * lib/sha512.c: Include af_alg.h.
19762         (sha512_stream, sha384_stream): Use afalg_stream when available.
19763         * modules/crypto/sha512 (Files): Add the af_alg files.
19764         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19765         (Makefile.am): Add af_alg.c.
19767 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19769         sha256sum: Use AF_ALG when available.
19770         * lib/sha256.c: Include af_alg.h.
19771         (sha256_stream, sha224_stream): Use afalg_stream when available.
19772         * modules/crypto/sha256 (Files): Add the af_alg files.
19773         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19774         (Makefile.am): Add af_alg.c.
19776 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19778         sha1sum: Use AF_ALG when available.
19779         * lib/af_alg.h: New file.
19780         * lib/af_alg.c: New file.
19781         * lib/sha1.c: Include af_alg.h.
19782         (sha1_stream): Use afalg_stream when available.
19783         * m4/linux-if-alg.m4: New file.
19784         * modules/crypto/sha1 (Files): Add the new files.
19785         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19786         (Makefile.am): Add af_alg.c.
19788 2018-05-05  Bruno Haible  <bruno@clisp.org>
19790         all: Replace more http URLs by https URLs.
19791         * lib/localename.c: Use https: URL.
19792         * lib/timespec.h: Likewise.
19794 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
19796         maint: port more modules to GCC 8
19797         * lib/dirname.h (base_name):
19798         * lib/exclude.h (new_exclude):
19799         * lib/xstrndup.h (xstrndup):
19800         Add malloc attribute.
19801         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
19802         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
19803         This pacifies GCC 8.
19804         * m4/gnulib-common.m4 (gl_COMMON_BODY):
19805         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
19807 2018-05-03  Bruno Haible  <bruno@clisp.org>
19809         Simplify code. Drop support for Borland C++ on Windows.
19810         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
19811         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
19812         'defined _WIN32'.
19813         * lib/canonicalize-lgpl.c: Likewise.
19814         * lib/classpath.c: Likewise.
19815         * lib/clean-temp.c: Likewise.
19816         * lib/csharpexec.c: Likewise.
19817         * lib/ctime.c: Likewise.
19818         * lib/dosname.h: Likewise.
19819         * lib/dup2.c: Likewise.
19820         * lib/errno.in.h: Likewise.
19821         * lib/error.c: Likewise.
19822         * lib/euidaccess.c: Likewise.
19823         * lib/execute.c: Likewise.
19824         * lib/fcntl.in.h: Likewise.
19825         * lib/fcntl.c: Likewise.
19826         * lib/filename.h: Likewise.
19827         * lib/findprog.c: Likewise.
19828         * lib/flock.c: Likewise.
19829         * lib/fopen.c: Likewise.
19830         * lib/freopen.c: Likewise.
19831         * lib/fstat.c: Likewise.
19832         * lib/fsync.c: Likewise.
19833         * lib/gc-gnulib.c: Likewise.
19834         * lib/get-rusage-data.c: Likewise.
19835         * lib/getaddrinfo.c: Likewise.
19836         * lib/getdelim.c: Likewise.
19837         * lib/getdtablesize.c: Likewise.
19838         * lib/gethostname.c: Likewise.
19839         * lib/getlogin.c: Likewise.
19840         * lib/getlogin_r.c: Likewise.
19841         * lib/getopt.c: Likewise.
19842         * lib/getpagesize.c: Likewise.
19843         * lib/getpass.c: Likewise.
19844         * lib/getrusage.c: Likewise.
19845         * lib/gettimeofday.c: Likewise.
19846         * lib/glob.c: Likewise.
19847         * lib/inttypes.in.h: Likewise.
19848         * lib/isapipe.c: Likewise.
19849         * lib/javaexec.c: Likewise.
19850         * lib/link.c: Likewise.
19851         * lib/localcharset.c: Likewise.
19852         * lib/localename.h: Likewise.
19853         * lib/localename.c: Likewise.
19854         * lib/localtime.c: Likewise.
19855         * lib/lseek.c: Likewise.
19856         * lib/mbsinit.c: Likewise.
19857         * lib/mkdir.c: Likewise.
19858         * lib/msvc-nothrow.h: Likewise.
19859         * lib/nanosleep.c: Likewise.
19860         * lib/nl_langinfo.c: Likewise.
19861         * lib/nonblocking.c: Likewise.
19862         * lib/nproc.c: Likewise.
19863         * lib/open.c: Likewise.
19864         * lib/openpty.c: Likewise.
19865         * lib/pathmax.h: Likewise.
19866         * lib/pipe-filter-aux.c: Likewise.
19867         * lib/pipe-filter-gi.c: Likewise.
19868         * lib/pipe-filter-ii.c: Likewise.
19869         * lib/pipe.c: Likewise.
19870         * lib/pipe2.c: Likewise.
19871         * lib/poll.c: Likewise.
19872         * lib/popen.c: Likewise.
19873         * lib/posix_openpt.c: Likewise.
19874         * lib/printf-parse.c: Likewise.
19875         * lib/progreloc.c: Likewise.
19876         * lib/putenv.c: Likewise.
19877         * lib/read.c: Likewise.
19878         * lib/relocatable.c: Likewise.
19879         * lib/rename.c: Likewise.
19880         * lib/same-inode.h: Likewise.
19881         * lib/secure_getenv.c: Likewise.
19882         * lib/select.c: Likewise.
19883         * lib/sethostname.c: Likewise.
19884         * lib/setlocale.c: Likewise.
19885         * lib/sigaction.c: Likewise.
19886         * lib/sigprocmask.c: Likewise.
19887         * lib/sleep.c: Likewise.
19888         * lib/spawn-pipe.h: Likewise.
19889         * lib/spawn-pipe.c: Likewise.
19890         * lib/spawni.c: Likewise.
19891         * lib/stat-time.h: Likewise.
19892         * lib/stat-w32.c: Likewise.
19893         * lib/stat.c: Likewise.
19894         * lib/stdio.in.h: Likewise.
19895         * lib/stdio-impl.h: Likewise.
19896         * lib/stdio-read.c: Likewise.
19897         * lib/stdio-write.c: Likewise.
19898         * lib/stdlib.in.h: Likewise.
19899         * lib/strerror_r.c: Likewise.
19900         * lib/strftime-fixes.c: Likewise.
19901         * lib/sys_stat.in.h: Likewise.
19902         * lib/sys_types.in.h: Likewise.
19903         * lib/sys_wait.in.h : Likewise.
19904         * lib/system-quote.h: Likewise.
19905         * lib/system-quote.c: Likewise.
19906         * lib/tmpdir.c: Likewise.
19907         * lib/tzset.c: Likewise.
19908         * lib/uname.c: Likewise.
19909         * lib/unistd.in.h: Likewise.
19910         * lib/utime.in.h: Likewise.
19911         * lib/utime.c: Likewise.
19912         * lib/utimecmp.c: Likewise.
19913         * lib/utimens.c: Likewise.
19914         * lib/vasnprintf.c: Likewise.
19915         * lib/vma-iter.h: Likewise.
19916         * lib/vma-iter.c: Likewise.
19917         * lib/wait-process.c: Likewise.
19918         * lib/wcsftime.c: Likewise.
19919         * lib/wctype.in.h: Likewise.
19920         * lib/write.c: Likewise.
19921         * tests/nap.h: Likewise.
19922         * tests/test-cloexec.c: Likewise.
19923         * tests/test-dup-safer.c: Likewise.
19924         * tests/test-dup2.c: Likewise.
19925         * tests/test-dup3.c: Likewise.
19926         * tests/test-fcntl.c: Likewise.
19927         * tests/test-get-rusage-data.c: Likewise.
19928         * tests/test-getaddrinfo.c: Likewise.
19929         * tests/test-getlogin.h: Likewise.
19930         * tests/test-isatty.c: Likewise.
19931         * tests/test-localename.c: Likewise.
19932         * tests/test-mbrtowc-w32.c: Likewise.
19933         * tests/test-nonblocking.c: Likewise.
19934         * tests/test-nonblocking-pipe-main.c: Likewise.
19935         * tests/test-nonblocking-socket-main.c: Likewise.
19936         * tests/test-nonblocking-socket.h: Likewise.
19937         * tests/test-pipe.c: Likewise.
19938         * tests/test-pipe2.c: Likewise.
19939         * tests/test-poll.c: Likewise.
19940         * tests/test-pthread_sigmask1.c: Likewise.
19941         * tests/test-select.h: Likewise.
19942         * tests/test-sethostname2.c: Likewise.
19943         * tests/test-sigprocmask.c: Likewise.
19944         * tests/test-spawn-pipe-child.c: Likewise.
19945         * tests/test-stat-time.c: Likewise.
19946         * tests/test-system-quote-main.c: Likewise.
19947         * tests/test-utimens-common.h: Likewise.
19948         * tests/test-wcrtomb-w32.c: Likewise.
19949         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
19950         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
19951         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
19952         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
19953         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
19954         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
19955         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
19956         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
19957         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
19958         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
19959         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
19960         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
19961         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
19962         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
19963         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
19964         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19966 2018-05-02  Bruno Haible  <bruno@clisp.org>
19968         localename: Fix test failures on mingw.
19969         * lib/localename.c (gl_locale_name_thread): Remove code specific to
19970         native Windows.
19971         (gl_locale_name_posix): Move code specific to native Windows here.
19972         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
19973         Accept result without charset suffix, as it appears on mingw.
19975 2018-04-28  Paul Smith  <psmith@gnu.org>
19977         bootstrap: Avoid gnulib operations if not needed
19978         * build-aux/bootstrap: Remove unused variable gnulib_mk.
19979         Set $gnulib_extra_files early so it can be overridden in .conf.
19980         Remove redundant --import flag from $gnulib_tool_options.
19981         Set $use_gnulib to false if no gnulib modules or files are needed.
19982         If $use_gnulib is false, don't do anything related to gnulib.
19983         A lot of this is just whitespace (indentation) changes.
19985 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
19987         manywarnings: port to GCC 8.0
19988         * build-aux/gcc-warning.spec: Add -Wcatch-value,
19989         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
19990         fact that the GCC help message now mentions operands for
19991         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
19992         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
19993         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
19994         and -Wunused-const-variable.
19995         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
19996         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
19997         -Wmissing-attributes, -Wmultistatement-macros,
19998         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
19999         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
20001 2018-04-24  Bruno Haible  <bruno@clisp.org>
20003         sys_socket: Make SO_REUSEPORT available across platforms.
20004         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20005         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
20006         * doc/posix-headers/sys_socket.texi: Mention the issue.
20007         * tests/test-poll.c (SO_REUSEPORT): Remove.
20008         * tests/test-select.h: Include <sys/socket.h>.
20009         (SO_REUSEPORT): Remove.
20010         * modules/select-tests (Depends-on): Add 'sys_socket'.
20012 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
20014         localcharset: short-circuit the search for an alias on a Mac
20015         * lib/localcharset.c (get_charset_aliases): Add a tautological
20016         UTF-8 entry to speed up the search for this case.
20017         Most machines default to a UTF-8 locale nowadays, so begin the
20018         list of aliases with a dummy UTF-8 entry so it will be found
20019         immediately and a time-consuming search through the rest of
20020         the list is avoided.
20022 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
20024         fts: add comment
20025         * lib/fts.c (fts_build): Explain why ==, not >.
20026         See remark by Bernhard Voelker in:
20027         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
20029         fts: fix bug in find across filesystems
20030         This fixes a bug I introduced last summer.
20031         Problem reported by Kamil Dudka in:
20032         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
20033         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
20034         (leaf_optimization):
20035         New arg for file descriptor.  All callers changed.
20036         (fts_build): Check for whether inodes should be sorted
20037         before closing the directory.
20039 2018-04-07  Bruno Haible  <bruno@clisp.org>
20041         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
20042         Reported by Genki Sky <sky@genki.is>.
20043         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
20044         version 0.9.10 or newer.
20045         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
20046         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
20047         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
20048         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
20049         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
20051 2018-04-07  Bruno Haible  <bruno@clisp.org>
20053         execute: Update comment.
20054         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
20056 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
20058         fts: treat CIFS like NFS
20059         Problem reported by Kamil Dudka in:
20060         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
20061         * lib/fts.c (S_MAGIC_CIFS): New macro.
20062         (dirent_inode_sort_may_be_useful, leaf_optimization):
20063         Treat CIFS like NFS.
20065 2018-03-28  Bruno Haible  <bruno@clisp.org>
20067         c-stack: Fix possible build failure on some platforms.
20068         * lib/c-stack.c (die): Define whenever this function is referenced.
20070 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
20072         time_rz: fix workaround for Mac OS X 10.6 infloop
20073         Problems reported by Charles A. Roelli (Bug#27736#117).
20074         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
20075         Also, discard output, which clutters the 'configure' log.
20077 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
20079         havelib: port to Solaris 10 /bin/sh
20080         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
20081         instead of '! test EXPR'.
20083 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
20085         time_rz: work around Mac OS X 10.6 infloop
20086         * doc/posix-functions/localtime.texi:
20087         * doc/posix-functions/localtime_r.texi: Mention the bug.
20088         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
20089         better to fix localtime and localtime_r instead, but that would be
20090         more work and is not needed to fix the Emacs problem.
20091         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
20093 2018-03-24  Jim Meyering  <meyering@fb.com>
20095         test-version-etc.sh: don't use diff directly: use init.sh's compare
20096         We'd rather not sacrifice readable "diff -u" output even for
20097         "diff -c" output (not supported by busybox) or for even less
20098         readable ed-style "diff" output.  So use init.sh's compare function
20099         * tests/test-version-etc.sh: Source init.sh and add "." to path.
20100         Remove "./" from invocation of test-version-etc, so we use path.
20101         And s/diff/compare/.
20102         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
20103         to get init.sh.
20104         Prompted by Eric Blake's comments in
20105         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
20107 2018-03-24  Bruno Haible  <bruno@clisp.org>
20109         javacomp-script, javacomp: Add support for Java 10.
20110         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
20111         target-version 10.
20112         * lib/javaversion.h: Update comments.
20113         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
20114         source_version_index, get_goodcode_snippet, get_failcode_snippet,
20115         TARGET_VERSION_BOUND, target_version_index,
20116         corresponding_classfile_version): Accept source_version 10 and
20117         target_version 10.
20118         * lib/javacomp.h: Update comments accordingly.
20120 2018-03-24  Bruno Haible  <bruno@clisp.org>
20122         javacomp-script, javacomp: Update comments.
20123         * m4/javacomp.m4: Update comments regarding gcj.
20124         * lib/javacomp.h: Likewise.
20126 2018-03-24  Bruno Haible  <bruno@clisp.org>
20128         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
20129         * lib/javaversion.h: Update comments.
20130         * lib/javacomp.h: Likewise.
20131         * lib/javacomp.c (default_target_version, source_version_index,
20132         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
20133         "1.9".
20134         (TARGET_VERSION_BOUND): Bump to 9.
20135         (target_version_index, corresponding_classfile_version): Recognize "9"
20136         instead of "1.9".
20137         (get_source_version_for_javac): New function.
20138         (is_envjavac_nongcj_usable, is_javac_usable): Add
20139         source_version_for_javac argument.
20140         (compile_java_class): Determine and pass source_version_for_javac.
20141         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
20142         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
20143         appropriate.
20145 2018-03-23  Jim Meyering  <meyering@fb.com>
20147         test-version-etc.sh: port to diff without -c
20148         * tests/test-version-etc.sh: Don't use diff's -c option.
20149         This caused spurious test failure on Alpine Linux, which
20150         uses busybox's diff. Reported by Assaf Gordon in
20151         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
20153 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
20155         c-stack: port to recent GCC build
20156         Problem reported by The Fireplace (Bug#30913).
20157         * lib/c-stack.c (die): Define only if used.
20159 2018-03-20  Bruno Haible  <bruno@clisp.org>
20161         euidaccess: Port to native Windows.
20162         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
20163         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
20165 2018-03-19  Bruno Haible  <bruno@clisp.org>
20167         javacomp: Add support for Java 7, 8, 9.
20168         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
20169         source_version_index, get_goodcode_snippet, get_failcode_snippet,
20170         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
20171         and target_version 1,7, 1.8, 1.9.
20172         * lib/javacomp.h: Update comments accordingly.
20174 2018-03-19  Bruno Haible  <bruno@clisp.org>
20176         javacomp-script: Add support for Java 9.
20177         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
20178         target-version 1.9.
20180 2018-03-16  Bruno Haible  <bruno@clisp.org>
20182         glob: Don't compile replacements on recent glibc systems.
20183         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
20184         REPLACE_GLOB is 0, include the system's <glob.h> and use
20185         _GL_CXXALIAS_SYS.
20186         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
20187         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
20188         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
20189         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
20190         Remove snippet/warn-on-use.
20191         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
20192         (Makefile.am): Create glob.h always. Update list of substitutions in
20193         glob.h. Don't depend on $(WARN_ON_USE_H).
20195 2018-03-16  Bruno Haible  <bruno@clisp.org>
20197         glob: Fix link error on native Windows.
20198         * modules/glob (Depends-on): Add 'lstat'.
20200 2018-03-15  Bruno Haible  <bruno@clisp.org>
20202         glob: Fix compilation error in C++ mode.
20203         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
20205 2018-03-15  Bruno Haible  <bruno@clisp.org>
20207         host-cpu-c-abi: Support for RISC-V CPU.
20208         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
20209         riscv32 and riscv64 ABIs.
20210         References:
20211         https://github.com/riscv/riscv-toolchain-conventions
20212         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
20213         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
20215 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
20217         fflush: be more paranoid about libio.h change
20218         Suggested by Eli Zaretskii in:
20219         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
20220         * lib/fbufmode.c (fbufmode):
20221         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
20222         (disable_seek_optimization, rpl_fflush):
20223         * lib/fpending.c (__fpending):
20224         * lib/fpurge.c (fpurge):
20225         * lib/freadable.c (freadable):
20226         * lib/freadahead.c (freadahead):
20227         * lib/freading.c (freading):
20228         * lib/freadptr.c (freadptr):
20229         * lib/freadseek.c (freadptrinc):
20230         * lib/fseeko.c (fseeko):
20231         * lib/fseterr.c (fseterr):
20232         * lib/fwritable.c (fwritable):
20233         * lib/fwriting.c (fwriting):
20234         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
20236 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
20238         maint: write-file-hooks -> before-save-hook
20239         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
20240         it's time to use the recommended replacement.
20241         Problem reported by Glenn Morris in:
20242         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
20243         * build-aux/announce-gen, build-aux/bootstrap:
20244         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
20245         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
20246         * build-aux/gnu-web-doc-update, build-aux/gnupload:
20247         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
20248         * build-aux/update-copyright, build-aux/useless-if-before-free:
20249         * build-aux/vc-list-files:
20250         Update hook usage for files where Gnulib is the canonical source.
20252 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
20254         binary-io: pacify gcc -Wunused-parameter
20255         Problem reported by Reuben Thomas in:
20256         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
20257         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
20258         Use _GL_UNUSED where appropriate.
20260         fflush: adjust to glibc 2.28 libio.h removal
20261         Problem reported by Daniel P. Berrangé in:
20262         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
20263         * lib/fbufmode.c (fbufmode):
20264         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
20265         (disable_seek_optimization, rpl_fflush):
20266         * lib/fpending.c (__fpending):
20267         * lib/fpurge.c (fpurge):
20268         * lib/freadable.c (freadable):
20269         * lib/freadahead.c (freadahead):
20270         * lib/freading.c (freading):
20271         * lib/freadptr.c (freadptr):
20272         * lib/freadseek.c (freadptrinc):
20273         * lib/fseeko.c (fseeko):
20274         * lib/fseterr.c (fseterr):
20275         * lib/fwritable.c (fwritable):
20276         * lib/fwriting.c (fwriting):
20277         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
20278         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
20279         Define if not already defined.
20281 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
20283         environ: fix link error on 32-bit Cygwin
20284         Problem reported for GNU Emacs by Ken Brown in:
20285         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
20286         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
20288 2018-02-24  Bruno Haible  <bruno@clisp.org>
20290         mbrtowc tests: Fix regression on glibc.
20291         Reported by Bernhard Voelker.
20292         * tests/test-mbrtowc.c (main): Fix expected value of wc.
20294 2018-02-24  Bruno Haible  <bruno@clisp.org>
20296         striconveha, uniconv/*: Avoid test failures on musl libc.
20297         * tests/iconvsupport.c: New file.
20298         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
20299         does not support the ISO-2022-JP-2 encoding.
20300         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
20301         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
20302         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
20303         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
20304         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
20305         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
20306         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
20307         (Makefile.am): Link test-striconveha with iconvsupport.o.
20308         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
20309         tests/iconvsupport.c.
20310         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
20311         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
20312         tests/iconvsupport.c.
20313         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
20314         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
20315         tests/iconvsupport.c.
20316         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
20317         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
20318         tests/iconvsupport.c.
20319         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
20320         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
20321         tests/iconvsupport.c.
20322         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
20323         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
20324         tests/iconvsupport.c.
20325         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
20327 2018-02-24  Bruno Haible  <bruno@clisp.org>
20329         localename: Add support for musl libc.
20330         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
20331         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
20332         on Linux platforms which define NL_LOCALE_NAME.
20334 2018-02-24  Bruno Haible  <bruno@clisp.org>
20336         mbrtowc tests: Don't make assumptions about the charset the C locale.
20337         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
20338         particular mapping in the C locale.
20340 2018-02-24  Bruno Haible  <bruno@clisp.org>
20342         ptsname_r: Don't expect that this function sets errno.
20343         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
20344         from ptsname_r().
20345         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
20347 2018-02-23  Bruno Haible  <bruno@clisp.org>
20349         xmalloca: pacify gcc -Wbad-function-cast
20350         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
20352 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
20354         nl_langinfo: pacify gcc -Wunused-function
20355         * lib/nl_langinfo.c (ctype_codeset): Do not define if
20356         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
20357         this case.  Without this change, I got a diagnostic when building
20358         coreutils on Fedora 27 with gcc 7.3.1 20180130.
20360         same: pacify gcc -Wunused-variable
20361         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
20362         Omit unused variable.
20364         malloca: pacify gcc -Wbad-function-cast
20365         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
20366         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
20367         To pacify GCC, I had to cast alloca’s result to some type other
20368         than void * before casting that to uintptr_t.
20370 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
20372         utimecmp: new function utimecmpat
20373         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
20374         Do not include utimens.h.
20375         (utimecmpat): New function, generalizing utimecmp.
20376         (utimecmp): Now a thin layer around utimecmpat.
20377         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
20378         utimensat instead of on lstat and utimens.
20380         same: new function same_nameat
20381         * lib/same.c: Include fcntl.h.
20382         * lib/same.c (same_nameat): New function, generalizing same_name.
20383         (same_name): Now a thin layer around same_nameat.
20384         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
20385         * modules/same (Depends-on): Depend on fstatat, openat.
20387 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
20389         warnings: Add support for Objective C.
20390         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
20391         macro.
20393 2018-02-17  Bruno Haible  <bruno@clisp.org>
20395         lock: Fix test-once1 crash on FreeBSD11.
20396         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
20397         'pthread_create', not 'pthread_cancel'.
20399 2018-02-17  Bruno Haible  <bruno@clisp.org>
20401         lock: Add test of gl_once.
20402         * tests/test-once.c: New file.
20403         * modules/lock-tests (Files): Add it.
20404         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
20406 2018-02-17  Bruno Haible  <bruno@clisp.org>
20408         thread: Fix compilation error on IRIX.
20409         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
20410         needed; include it outside the C++ extern "C" {} block.
20411         * doc/posix-headers/pthread.texi: Mention the problem with
20412         pthread_atfork on IRIX.
20414 2018-02-04  Bruno Haible  <bruno@clisp.org>
20416         nl_langinfo: Override the system's nl_langinfo() when needed.
20417         Reported by Jim Meyering.
20418         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
20419         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
20421 2018-02-04  Bruno Haible  <bruno@clisp.org>
20423         signal-h, monetary, strings: Fix build failure in some cases.
20424         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20425         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
20426         as delimiter in sed command, not '|'.
20427         * modules/monetary (Makefile.am): Likewise.
20428         * modules/strings (Makefile.am): Likewise.
20430 2018-02-03  Jim Meyering  <meyering@fb.com>
20432         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
20433         * top/maint.mk (sc_file_system): Don't complain about
20434         "/proc/filesystems".
20436 2018-02-03  Bruno Haible  <bruno@clisp.org>
20438         stdlib: Fix compilation error on OpenIndiana.
20439         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
20440         <sys/time.h>.
20441         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
20442         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
20444 2018-02-03  Bruno Haible  <bruno@clisp.org>
20446         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
20447         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
20448         and use $EGREP instead of 'grep -E'.
20449         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
20450         'grep -E'.
20452 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
20454         malloca: Add a compile-time verification.
20455         * lib/malloca.c (small_t): Verify that it is wide enough.
20456         * modules/malloca (Depends-on): Add verify.
20458 2018-02-02  Bruno Haible  <bruno@clisp.org>
20460         malloca: Add an argument check.
20461         Suggested by Paul Eggert.
20462         * lib/malloca.c (freea): Check against an invalid argument.
20464 2018-02-02  Bruno Haible  <bruno@clisp.org>
20466         localename: Add support for OpenIndiana.
20467         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
20468         Solaris 11 variants with uselocale() but without getlocalename_l().
20470 2018-02-02  Bruno Haible  <bruno@clisp.org>
20472         malloca, xmalloca: Make multithread-safe.
20473         Reported by Florian Weimer <fweimer@redhat.com>.
20474         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
20475         * lib/malloca.h (malloca): In the stack allocation case, return a
20476         pointer that is a multiple of 2 * sa_alignment_max.
20477         (sa_increment): Remove enum item.
20478         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
20479         a pointer that is a multiple of 2 * sa_alignment_max.
20480         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
20481         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
20482         HASH_TABLE_SIZE, mmalloca_results): Remove.
20483         (small_t): New type.
20484         (mmalloca, free): Rewritten.
20485         * lib/malloca.valgrind: Remove file.
20486         * modules/malloca (Files): Remove it.
20487         (Depends-on): Remove verify.
20489 2018-01-31  Bruno Haible  <bruno@clisp.org>
20491         environ: Fix link error on 64-bit Cygwin.
20492         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
20493         __declspec(dllimport) attribute.
20494         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
20496 2018-01-30  Bruno Haible  <bruno@clisp.org>
20498         get-rusage-data: Add support for Minix 3.
20499         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
20501 2018-01-30  Bruno Haible  <bruno@clisp.org>
20503         vma-iter: Add support for Minix 3.
20504         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
20505         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
20507 2018-01-27  Bruno Haible  <bruno@clisp.org>
20509         Fix malfunction of socket functions on HP-UX in 64-bit mode.
20510         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
20511         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
20512         _HPUX_ALT_XOPEN_SOCKET_API.
20513         * modules/accept (Depends-on): Add 'extensions'.
20514         * modules/getpeername (Depends-on): Likewise.
20515         * modules/getsockname (Depends-on): Likewise.
20516         * modules/getsockopt (Depends-on): Likewise.
20517         * modules/recvfrom (Depends-on): Likewise.
20518         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
20519         * doc/posix-functions/getpeername.texi: Likewise.
20520         * doc/posix-functions/getsockname.texi: Likewise.
20521         * doc/posix-functions/getsockopt.texi: Likewise.
20522         * doc/posix-functions/recvfrom.texi: Likewise.
20524 2018-01-27  Bruno Haible  <bruno@clisp.org>
20526         getsockname tests: More tests.
20527         * tests/test-getsockname.c (open_server_socket): New function, mostly
20528         copied from test-poll.c.
20529         (main): Check that getsockname fills in addr.
20530         * modules/getsockname-tests (Depends-on): Add the necessary
20531         dependencies.
20532         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
20534 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
20536         manywarnings: fix maintainer comment
20537         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
20538         it does not mistakenly think that ‘-1)’ is an option.
20540 2018-01-26  Bruno Haible  <bruno@clisp.org>
20542         langinfo: Fix last commit.
20543         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20544         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
20546 2018-01-24  Bruno Haible  <bruno@clisp.org>
20548         langinfo, nl_langinfo: Add support for alternative month names.
20549         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
20550         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
20551         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
20552         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
20553         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
20554         * doc/posix-functions/nl_langinfo.texi: Likewise.
20556 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20558         Merge strftime.c changes from glibc
20559         This incorporates:
20560         2017-11-14 [BZ #10871] Implement alternative month names
20561         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
20562         2017-06-20 Use locale_t, not __locale_t, throughout glibc
20563         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
20564         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
20565         Use locale_t, not __locale_t.
20566         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
20567         (__strftime_internal): Add support for alternate months.
20569 2018-01-23  Bruno Haible  <bruno@clisp.org>
20571         doc: Mention another prerequisite for using Gnulib.
20572         Reported at <https://stackoverflow.com/questions/48378214/>.
20573         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
20574         AC_CONFIG_HEADERS.
20576 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
20578         build: GuixSD doesn't have /bin/bash
20579         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
20581 2018-01-21  Bruno Haible  <bruno@clisp.org>
20583         Avoid test failures on Microsoft Windows Subsystem for Linux.
20584         * tests/test-fcntl.c (main): Allow a different errno.
20585         * tests/test-rename.h (test_rename): Likewise.
20586         * tests/test-renameat.c (main): Likewise.
20587         * tests/test-renameat2.c (main): Likewise.
20589 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
20591         filenamecat: make base a suffix of result
20592         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
20593         (mfile_name_concat): Always make BASE a suffix of the result, as
20594         cp expects this.  To implement this, separate with '.' instead of
20595         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
20596         * tests/test-filenamecat.c (main): Adjust tests to match
20597         current behavior.  Check that BASE_IN_RESULT points to
20598         a copy of BASE and is a suffix of the resultk, and that DIR
20599         is a prefix of the result that is no longer than the prefix
20600         indicated by BASE_IN_RESULT.
20602 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
20604         update-copyright: Handle use of ©
20605         * build-aux/update-copyright ($circle_c_re): Update regex to
20606         handle use of © in headers.
20608 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
20610         Fix -Wundef warning in user-included header lib/cdefs.h.
20611         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
20613 2018-01-04  Bruno Haible  <bruno@clisp.org>
20615         pthread_sigmask: Avoid compilation error on mingw.
20616         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20617         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
20618         macro.
20620 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
20622         test-framework-sh: ‘ps -ef’, not ‘ps ef’
20623         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
20624         Suggested by Bob Proulx (Bug#29968).
20625         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
20627 2018-01-02  Eric Blake  <eblake@redhat.com>
20629         stat-time: silence -Wunused-parameter regression
20630         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
20631         Prefer attribute over cast-to-void.
20632         (stat_time_normalize): Mark st as potentially unused.
20634 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
20636         test-framework-sh: avoid netstat
20637         Problem reported by Kristýna Streitová (Bug#29947).
20638         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
20639         deprecated on SuSE and it's not that important anyway.
20641 2018-01-01  Jim Meyering  <meyering@fb.com>
20643         update-copyright: add code to handle more special cases
20644         After running "make update-copyright" this year, five files
20645         required additional manual changes.  Automate those adjustments
20646         for next year.
20647         * Makefile (_year_and_prev): Define.
20648         (update-copyright): Add perl commands to induce this year's post-
20649         update-copyright adjustments.
20651 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
20653         version-etc: new year
20654         * build-aux/gendocs.sh (version):
20655         * doc/gendocs_template:
20656         * doc/gendocs_template_min:
20657         * doc/gnulib.texi:
20658         * lib/version-etc.c (COPYRIGHT_YEAR):
20659         Update copyright dates by hand in templates and the like.
20661         maint: fix 'make update-copyright'
20662         * Makefile (update-copyright): Adjust to 2016-11-23 change
20663         to config/srclist-update, which changed the format of srclist.txt.
20665 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
20667         chdir-safer: remove this module
20668         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
20669         * NEWS: Document removal.
20670         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
20671         * modules/chdir-safer: Remove these files.
20673 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
20675         Add cross-compilation results for GNU/Hurd.
20676         * m4/calloc.m4: Add GNU/Hurd guess.
20677         * m4/cbrtl.m4: Likewise.
20678         * m4/ceil.m4: Likewise.
20679         * m4/ceilf.m4: Likewise.
20680         * m4/ceill.m4: Likewise.
20681         * m4/chown.m4: Likewise.
20682         * m4/duplocale.m4: Likewise.
20683         * m4/exp2l.m4: Likewise.
20684         * m4/expm1.m4: Likewise.
20685         * m4/fchdir.m4: Likewise.
20686         * m4/floor.m4: Likewise.
20687         * m4/floorf.m4: Likewise.
20688         * m4/fmod.m4: Likewise.
20689         * m4/fmodf.m4: Likewise.
20690         * m4/fmodl.m4: Likewise.
20691         * m4/getcwd.m4: Likewise.
20692         * m4/getgroups.m4: Likewise.
20693         * m4/gettimeofday.m4: Likewise.
20694         * m4/hypot.m4: Likewise.
20695         * m4/hypotf.m4: Likewise.
20696         * m4/hypotl.m4: Likewise.
20697         * m4/link-follow.m4: Likewise.
20698         * m4/link.m4: Likewise.
20699         * m4/linkat.m4: Likewise.
20700         * m4/log.m4: Likewise.
20701         * m4/log10.m4: Likewise.
20702         * m4/log10f.m4: Likewise.
20703         * m4/log1p.m4: Likewise.
20704         * m4/log1pf.m4: Likewise.
20705         * m4/log1pl.m4: Likewise.
20706         * m4/log2.m4: Likewise.
20707         * m4/log2f.m4: Likewise.
20708         * m4/logf.m4: Likewise.
20709         * m4/lstat.m4: Likewise.
20710         * m4/malloc.m4: Likewise.
20711         * m4/mbrlen.m4: Likewise.
20712         * m4/mbrtowc.m4: Likewise.
20713         * m4/mkdir.m4: Likewise.
20714         * m4/mkfifo.m4: Likewise.
20715         * m4/mknod.m4: Likewise.
20716         * m4/mkstemp.m4: Likewise.
20717         * m4/modf.m4: Likewise.
20718         * m4/modff.m4: Likewise.
20719         * m4/modfl.m4: Likewise.
20720         * m4/printf.m4: Likewise.
20721         * m4/pselect.m4: Likewise.
20722         * m4/ptsname.m4: Likewise.
20723         * m4/putenv.m4: Likewise.
20724         * m4/readlink.m4: Likewise.
20725         * m4/realloc.m4: Likewise.
20726         * m4/remainder.m4: Likewise.
20727         * m4/remainderf.m4: Likewise.
20728         * m4/remainderl.m4: Likewise.
20729         * m4/rmdir.m4: Likewise.
20730         * m4/round.m4: Likewise.
20731         * m4/roundf.m4: Likewise.
20732         * m4/roundl.m4: Likewise.
20733         * m4/select.m4: Likewise.
20734         * m4/setenv.m4: Likewise.
20735         * m4/signbit.m4: Likewise.
20736         * m4/sleep.m4: Likewise.
20737         * m4/stat.m4: Likewise.
20738         * m4/strerror.m4: Likewise.
20739         * m4/strtok_r.m4: Likewise.
20740         * m4/symlink.m4: Likewise.
20741         * m4/symlinkat.m4: Likewise.
20742         * m4/trunc.m4: Likewise.
20743         * m4/truncf.m4: Likewise.
20744         * m4/truncl.m4: Likewise.
20745         * m4/tzset.m4: Likewise.
20746         * m4/ungetc.m4: Likewise.
20747         * m4/usleep.m4: Likewise.
20748         * m4/wcwidth.m4: Likewise.
20750 2017-12-28  Bruno Haible  <bruno@clisp.org>
20752         gnulib-tool: Make --conditional-dependencies work better.
20753         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
20754         * gnulib-tool (Options): Don't reject the combination of
20755         --conditional-dependencies with --with-tests.
20756         (func_emit_autoconf_snippets): Add argument referenceable_modules.
20757         Don't reference $modules.
20758         (func_import, func_create_testdir): Pass it.
20760 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
20762         regex: use re_malloc etc. consistently
20763         Problem and original patch reported by Arnold Robbins in:
20764         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
20765         * lib/regcomp.c (re_comp):
20766         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
20767         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
20769 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
20770             Paul Eggert  <eggert@cs.ucla.edu>
20772         glob: Silence warning about void pointer arithmetic.
20773         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
20774         arithmetic.
20776 2017-12-15  Bruno Haible  <bruno@clisp.org>
20778         spawn-pipe: Silence a clang warning.
20779         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20780         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
20781         in this file.
20783 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
20785         explicit_bzero: port to macOS + Clang 9.0.0
20786         Problem reported by Marcus Johnson (Bug#29658).
20787         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
20788         Don’t use asm.
20790 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
20792         doc: Improve explanation of supporting relocatable libraries.
20793         * doc/relocatable-maint.texi (Supporting Relocation): Explain
20794         properly how to build the relocatable module for
20795         libraries. (Method and example code from Bruno Haible.)
20797 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
20799         doc: Use better texinfo tags in a few cases.
20800         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
20801         instead of @samp in a few places.
20803 2017-12-11  Bruno Haible  <bruno@clisp.org>
20805         unistr/base: Update comment.
20806         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
20808 2017-12-10  Pádraig Brady  <P@draigBrady.com>
20810         test-faccessat.c: unlink temp file to avoid subsequent test failure
20811         * tests/test-faccessat.c: Remove the file to avoid failure
20812         to open the file on subsequent runs due to being created
20813         with no permissions.
20815 2017-12-10  Bruno Haible  <bruno@clisp.org>
20817         doc: New sect. "Modifying the build rules of a Gnulib import directory".
20818         * doc/gnulib-tool.texi (Modified build rules): New node.
20820 2017-12-10  Bruno Haible  <bruno@clisp.org>
20822         doc: Tweak wording.
20823         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
20824         "binaries".
20826 2017-12-05  Sam Steingold  <sds@gnu.org>
20827             Bruno Haible  <bruno@clisp.org>
20829         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
20830         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
20831         AC_EGREP_CPP pattern.
20833 2017-12-03  Bruno Haible  <bruno@clisp.org>
20835         all: Replace more http URLs by https URLs.
20836         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
20837         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
20838         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
20839         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
20841 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
20843         Port better to CentOS 5
20844         Problems reported by Tom G. Christensen in:
20845         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
20846         * doc/glibc-functions/strverscmp.texi (strverscmp):
20847         Document strverscmp bug with glibc 2.9 and earlier.
20848         * doc/posix-functions/tzset.texi (tzset):
20849         Document that TZ with angle brackets is POSIX-2001 and later.
20850         * tests/test-nstrftime.c: Include unistd.h.
20851         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
20852         (TZ): Use it to skip tests with angle brackets in TZ,
20853         for older systems.
20855         stat: add missing module dependencies
20856         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
20857         Add stat-time.
20859 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
20861         stat: fix compilation failure on macOS Sierra
20862         Reported by Marius Schamschula <mschamschula@gmail.com> in:
20863         https://savannah.gnu.org/bugs/?52546
20864         * lib/stat.c: Add missing include of stat-time.h.
20866 2017-11-28  Jim Meyering  <meyering@fb.com>
20868         test-faccessat.c: correct BASE definition to avoid parallel test failure
20869         * tests/test-faccessat.c (BASE): Define using this file's name, not
20870         that of test-lstat.c.  Using the latter caused this test to fail
20871         sometimes when run concurrently with test-lstat.
20873 2017-11-27  Daiki Ueno  <ueno@gnu.org>
20875         unicase: fix VPATH build
20876         * modules/unicase/special-casing (Makefile.am): Ensure that the
20877         base directory is created when generating
20878         unicase/special-casing.h.
20880 2017-11-27  Daiki Ueno  <ueno@gnu.org>
20882         libunistring: update to Unicode 9.0.0
20883         * lib/gen-uni-tables.c (fill_properties): Recognize
20884         Sentence_Terminal and Prepended_Concatenation_Mark.
20885         (is_property_default_ignorable_code_point): Exclude U+08E2.
20886         (fill_arabicshaping): Allow missing whitespace when parsing;
20887         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
20888         (output_blocks): Increase the element size of the level1 table to
20889         accommodate more blocks.
20890         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
20891         Update each class according to the standard.
20892         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
20893         E_Base_GAZ characters.
20894         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
20895         Glue_After_Zwj, and E_Base_GAZ characters.
20896         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
20897         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
20898         enum value.
20899         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
20900         value.
20901         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
20902         LBP_ZWJ, LBP_EB, and LBP_EM.
20903         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
20904         enum value.
20905         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
20906         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
20907         declaration.
20908         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
20909         (uniwbrk_table): Implement WB14.
20910         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
20911         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
20912         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
20913         uc-is-grapheme-break.
20914         * modules/unigbrk/uc-grapheme-breaks: New module.
20915         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
20916         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
20917         enum value.
20918         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
20919         * lib/unigbrk/u-grapheme-breaks.h: New file.
20920         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
20921         u-grapheme-breaks.h instead of uc_is_grapheme_break.
20922         * lib/unigbrk/uc-grapheme-breaks.c: New file.
20923         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
20924         29.
20925         * tests/unigbrk/test-uc-gbrk-prop.c
20926         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
20927         GBP_GAZ, and GBP_EBG.
20928         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
20929         * tests/unigbrk/test-uc-is-grapheme-break.c
20930         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
20931         GBP_GAZ, and GBP_EBG.
20932         (main): Skip unsupported rules involving 3 or more characters,
20933         namely GB10, GB12, and GB13.
20934         * lib/uniwidth/width.c (nonspacing_table_data): Update.
20935         * all generated files under lib/uni* and tests/uni*: Regenerate.
20936         * all the affected modules: Bump version.
20938 2017-11-26  Bruno Haible  <bruno@clisp.org>
20940         strfmon_l: Fix compilation error with glibc 2.5.
20941         Reported by Tom G. Christensen <tgc@jupiterrise.com>
20942         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
20943         * lib/monetary.in.h: Include also <locale.h>.
20945 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
20947         posixtm: remove PDS_LEADING_YEAR
20948         This changes the API slightly, in a hopefully-innocuous way.
20949         Without this change the code had undefined behavior when a
20950         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
20951         Problem reported by Pádraig Brady in:
20952         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
20953         * NEWS: Mention this.
20954         * lib/posixtm.c (posix_time_parse): Treat the absence of
20955         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
20956         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
20957         present, but define it as zero, for compatibility with existing
20958         source code).  All other PDS_* values moved up.
20959         * tests/test-posixtm.c (LY): New macro.
20960         (T): Use it.  Do not expect a particular numeric encoding
20961         for PDS_CENTURY etc.
20963 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
20965         stat: work around Solaris bug with tv_nsec < 0
20966         * doc/posix-functions/fstat.texi (fstat):
20967         * doc/posix-functions/fstatat.texi (fstatat):
20968         * doc/posix-functions/lstat.texi (lstat):
20969         * doc/posix-functions/stat.texi (stat):
20970         Mention Solaris 11 bug.
20971         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
20972         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
20973         * lib/lstat.c (rpl_lstat):
20974         * lib/stat.c (rpl_stat):
20975         Normalize resulting timestamps.
20976         * lib/fstatat.c (normal_fstatat): New function.
20977         (rpl_fstatat): Use it.
20978         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
20979         (stat_time_normalize): New function.
20980         * m4/fstat.m4 (gl_FUNC_FSTAT):
20981         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
20982         * m4/lstat.m4 (gl_FUNC_LSTAT):
20983         * m4/stat.m4 (gl_FUNC_STAT):
20984         Replace on Solaris.
20985         * modules/fstat (Depends-on):
20986         * modules/fstatat (Depends-on):
20987         Add stat-time.
20988         * modules/stat-time (Depends-on): Add errno, intprops.
20990 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
20992         regex: merge from glibc
20993         * lib/regcomp.c (init_word_char): Add comments.
20995 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
20997         regex: merge from glibc
20998         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
20999         * lib/regex_internal.h (internal_function): Remove.
21000         All uses removed.
21002 2017-11-20  Bruno Haible  <bruno@clisp.org>
21004         crypto/gc-sm3: Fix buffer overrun.
21005         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
21006         Reported by Coverity.
21008 2017-11-12  Jim Meyering  <meyering@fb.com>
21010         maint: shorten https://lists.gnu.org/archive/html/... links
21011         Each /archive/html/ part can be replace with /r/.
21012         Run this to induce the change:
21013         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
21014         * ChangeLog: Perform that substitution.
21015         * Makefile: Likewise.
21016         * STATUS-libposix: Likewise.
21017         * build-aux/bootstrap: Likewise.
21018         * doc/maintain.texi: Likewise.
21019         * gnulib-tool: Likewise.
21020         * lib/allocator.h: Likewise.
21021         * lib/argp-ba.c: Likewise.
21022         * lib/argp-pv.c: Likewise.
21023         * lib/canon-host.c: Likewise.
21024         * lib/canonicalize-lgpl.c: Likewise.
21025         * lib/float.in.h: Likewise.
21026         * lib/fstat.c: Likewise.
21027         * lib/getdelim.c: Likewise.
21028         * lib/getprogname.c: Likewise.
21029         * lib/glthread/thread.h: Likewise.
21030         * lib/intprops.h: Likewise.
21031         * lib/mbsrtowcs-state.c: Likewise.
21032         * lib/safe-read.c: Likewise.
21033         * lib/signal.in.h: Likewise.
21034         * lib/stat.c: Likewise.
21035         * lib/stdbool.in.h: Likewise.
21036         * lib/stdio-impl.h: Likewise.
21037         * lib/stdio.in.h: Likewise.
21038         * lib/sysexits.in.h: Likewise.
21039         * lib/timespec.h: Likewise.
21040         * lib/wcsrtombs-state.c: Likewise.
21041         * m4/alloca.m4: Likewise.
21042         * m4/extern-inline.m4: Likewise.
21043         * m4/fstatat.m4: Likewise.
21044         * m4/gnulib-common.m4: Likewise.
21045         * m4/lib-ignore.m4: Likewise.
21046         * m4/printf.m4: Likewise.
21047         * m4/regex.m4: Likewise.
21048         * m4/stat-size.m4: Likewise.
21049         * m4/std-gnu11.m4: Likewise.
21050         * m4/stdbool.m4: Likewise.
21051         * m4/sys_types_h.m4: Likewise.
21052         * m4/threadlib.m4: Likewise.
21053         * m4/vararrays.m4: Likewise.
21054         * pygnulib/GLImport.py: Likewise.
21055         * tests/test-exp.h: Likewise.
21056         * tests/test-exp2.h: Likewise.
21057         * tests/test-expm1.h: Likewise.
21058         * tests/test-fflush2.c: Likewise.
21059         * tests/test-getopt_long.h: Likewise.
21060         * tests/test-intprops.c: Likewise.
21061         * tests/test-log.h: Likewise.
21062         * tests/test-log10.h: Likewise.
21063         * tests/test-log1p.h: Likewise.
21064         * tests/test-log2.h: Likewise.
21065         * tests/test-printf-posix.h: Likewise.
21066         * tests/test-regex.c: Likewise.
21067         * tests/test-snprintf-posix.h: Likewise.
21068         * tests/test-sprintf-posix.h: Likewise.
21069         * tests/test-stdalign.c: Likewise.
21070         * tests/test-stdbool.c: Likewise.
21071         * tests/test-vasnprintf-posix.c: Likewise.
21072         * tests/test-vasprintf-posix.c: Likewise.
21073         * top/maint.mk: Likewise.
21075 2017-11-12  Bruno Haible  <bruno@clisp.org>
21077         faccessat: Make the last change more robust.
21078         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
21079         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
21081 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21083         faccessat: port to macOS (Bug#29231)
21084         macOS faccessat has the same bug that lstat does: if the file
21085         name ends in '/' it ignores the trailing slash.
21086         Problem reported for Emacs by Vincent Zhang.
21087         * doc/posix-functions/faccessat.texi (faccessat): Document this.
21088         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
21089         around the initial includes.  Include errno.h, string.h, sys/stat.h.
21090         (orig_faccessat) [HAVE_FACCESSAT]: New function.
21091         Include "unistd.h" after defining it.
21092         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
21093         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
21094         Handle in the usual way.
21095         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
21096         lstat dereferences symlinks, since faccessat is likely to
21097         have the same problem.
21098         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
21099         * modules/faccessat (Depends-on): Add fstatat.
21100         Depend if REPLACE_FACCESSAT is 1, too.
21101         (configure.ac): Link if REPLACE_FACCESSAT is 1.
21102         * modules/faccessat-tests (Depends-on): Add symlink.
21103         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
21104         * tests/test-faccessat.c (main): Test for the bug.
21106 2017-11-11  Bruno Haible  <bruno@clisp.org>
21108         getprogname: Fix compilation error on IRIX.
21109         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
21110         'namesize'.
21112 2017-11-11  Bruno Haible  <bruno@clisp.org>
21114         year2038: Tweak last patch.
21115         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
21117 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
21119         year2038: be more insistent about 64-bit time_t
21120         Applications requiring access to arbitrary files should not be
21121         built with 32-bit time_t on hosts that have 64-bit timestamps,
21122         as this can lead to real trouble at runtime.
21123         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
21124         Check on all systems, not just MinGW.  Use a heuristic involving
21125         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
21126         output a failure or just a warning, to make it more likely that
21127         builders will select 64-bit time_t.
21129 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
21131         havelib: fix typo in previous change
21132         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
21134         Don’t use AC_EGREP_CPP if affected by CFLAGS
21135         * m4/float_h.m4 (gl_FLOAT_H):
21136         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
21137         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
21138         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
21139         * m4/year2038.m4 (gl_YEAR2038):
21140         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
21141         likely to be affected by the choice of CFLAGS, since CFLAGS are
21142         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
21143         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
21145         fstatat: pacify GCC on unusual platform
21146         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
21147         Omit, as it’s unused in this case.
21149 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
21151         timespec: prefer ‘assume’ to ‘assure’
21152         This avoids some runtime tests.  The rest of the module makes
21153         similar assumptions and there is little point to testing here.
21154         * lib/timespec.h: Include verify.h instead of assure.h.
21155         (timespec_cmp): Use ‘assume’, not ‘assure’.
21156         Also, remove an unnecessary cast to ‘int’, as lots of other
21157         code in this module now causes -Wconversion to complain, and
21158         this is a problem with -Wconversion not with the code.
21160         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
21162         Port recent gnulib-tool change to Dash
21163         * gnulib-tool (func_create_testdir): Don't assume that the shell
21164         retokenizes after expanding "$@" inside the call to
21165         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
21167 2017-10-27  Jim Meyering  <meyering@fb.com>
21169         timespec.h: use "assure" to avoid a spurious warning
21170         * lib/timespec.h: Include "assure.h" and use it to help
21171         gcc7's -Wstrict-overflow avoid a false positive warning
21172         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
21173         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
21174         * modules/timespec (Depends-on): Add assure.
21176 2017-10-29  Bruno Haible  <bruno@clisp.org>
21178         Avoid several test failures with traditional locales on Haiku.
21179         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
21180         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
21181         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
21182         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
21183         LOCALE_ZH_CN=none.
21185 2017-10-29  Bruno Haible  <bruno@clisp.org>
21187         strerror_r-posix: Fix behaviour and test failure on Haiku.
21188         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
21189         are positive. Work around return value 0 instead of ERANGE on Haiku.
21190         For unknown error numbers, use a format string consistent with perror().
21191         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
21192         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
21193         are positive.
21195 2017-10-29  Bruno Haible  <bruno@clisp.org>
21197         get-rusage-data: Avoid crash on Haiku.
21198         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
21200 2017-10-29  Bruno Haible  <bruno@clisp.org>
21202         get-rusage-as: Avoid crash on Haiku.
21203         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
21205 2017-10-29  Bruno Haible  <bruno@clisp.org>
21207         ilogbl: Ensure replacement on Haiku.
21208         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
21209         REPLACE_ILOGBL if ilogbl does not work.
21210         (gl_FUNC_ILOGBL_WORKS): New macro.
21211         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
21212         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
21213         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
21214         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
21215         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
21217 2017-10-29  Bruno Haible  <bruno@clisp.org>
21219         expl: Ensure replacement on Haiku.
21220         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
21221         zero.
21222         * doc/posix-functions/expl.texi: Mention the Haiku problem.
21224 2017-10-29  Bruno Haible  <bruno@clisp.org>
21226         math: Fix test failure on Haiku.
21227         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
21228         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
21229         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
21230         * doc/posix-headers/math.texi: Mention the Haiku problem.
21232 2017-10-29  Bruno Haible  <bruno@clisp.org>
21234         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
21235         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
21236         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
21238 2017-10-29  Bruno Haible  <bruno@clisp.org>
21240         crypto/*: Verify that the header file is self-contained.
21241         * tests/test-gc-*.c: Include the module's header file immediately after
21242         <config.h>.
21243         * tests/test-hmac-*.c: Likewise.
21244         * tests/test-arcfour.c: Likewise.
21245         * tests/test-arctwo.c: Likewise.
21246         * tests/test-des.c: Likewise.
21247         * tests/test-md2.c: Likewise.
21248         * tests/test-md4.c: Likewise.
21249         * tests/test-md5.c: Likewise.
21250         * tests/test-rijndael.c: Likewise.
21251         * tests/test-sha1.c: Likewise.
21252         * tests/test-sm3.c: Likewise.
21254 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
21255             Bruno Haible  <bruno@clisp.org>
21257         crypto/gc: fix build failure with -Werror=suggest-attribute=const
21258         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
21260 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
21262         New module: crypto/gc-sm3
21263         * lib/gc.h: Declare SM3-related stuffs.
21264         * lib/gc-gnulib.c: Support sm3 in internal functions.
21265         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
21266         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
21267         * modules/crypto/gc-sm3: Define gc-sm3 module.
21268         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
21269         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
21270         * MODULES.html.sh: List gc-sm3 module.
21272 2017-10-29  Bruno Haible  <bruno@clisp.org>
21274         random, random_r: Mention different prototypes on Haiku.
21275         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
21276         * doc/glibc-functions/random_r.texi: Likewise.
21277         * doc/glibc-functions/initstate_r.texi: Likewise.
21278         * doc/glibc-functions/setstate_r.texi: Likewise.
21280 2017-10-28  Bruno Haible  <bruno@clisp.org>
21282         posix_spawn: Avoid spurious message in configure output.
21283         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
21284         'cmp' command.
21286 2017-10-28  Bruno Haible  <bruno@clisp.org>
21288         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
21289         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
21290         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
21292 2017-10-28  Bruno Haible  <bruno@clisp.org>
21294         ioctl: Override non-POSIX declaration on Haiku.
21295         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
21296         * lib/sys_ioctl.in.h: Add comment about Haiku.
21297         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
21298         * doc/glibc-headers/sys_ioctl.texi: Likewise.
21300 2017-10-28  Bruno Haible  <bruno@clisp.org>
21302         crypto/sm3: Add overview documentation to the .h file.
21303         * lib/sm3.h: Add comments.
21305 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
21307         New module: crypto/sm3
21308         This new module can be used to compute SM3 message digest of files or
21309         memory blocks according to the specification GM/T 004-2012
21310         Cryptographic Hash Algorithm SM3, published by State Cryptography
21311         Administration, China.
21312         The official SM3 cryptographic hash algorithm specification is
21313         available at
21314         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
21315         * lib/sm3.h: Declare the APIs of sm3 module.
21316         * lib/sm3.c: Implement SM3 hash algorithm.
21317         * m4/sm3.m4: m4 file for sm3 module.
21318         * modules/crypto/sm3: Define sm3 module.
21319         * tests/test-sm3.c: Implement SM3 test case.
21320         * modules/crypto/sm3-tests: Define sm3 test module.
21321         * MODULES.html.sh: List sm3 module.
21323 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
21325         gc-libgcrypt: fix undefined enum type in switch statement
21326         Resolve the following build failure:
21327         lib/gc-libgcrypt.c: In function 'gc_hash_open':
21328         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
21329         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
21330              case 0:
21331              ^~~~
21332         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
21333         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
21335 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
21337         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
21338         Resolve the following build failure:
21339         lib/gc-libgcrypt.c: In function 'gc_hash_read':
21340         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
21341         in signedness [-Werror=pointer-sign]
21342             digest = gcry_md_read (ctx->gch, 0);
21343                    ^
21344         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
21346 2017-10-26  Bruno Haible  <bruno@clisp.org>
21348         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
21349         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
21350         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
21352 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
21354         glob: fix another heap buffer overflow
21355         Problem reported by Tim Rühsen in:
21356         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
21357         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
21359 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
21361         quotearg: pacify compiler re unsigned
21362         * lib/quotearg.c (quotearg_n_options):
21363         Rewrite to avoid diagnostic from overly-picky compiler.
21364         Problem reported by Sami Kerola in:
21365         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
21367         glob: fix heap buffer overflow
21368         * lib/glob.c (glob): Fix off-by-one error introduced into
21369         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
21370         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
21371         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
21372         Fix suggested by Bruno Haible.
21374 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
21376         glob: pacify fuzzer for mempcpy
21377         Problem reported by Tim Rühsen in:
21378         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
21379         * lib/glob.c (glob): Do not pass NULL to mempcpy.
21381 2017-10-12  Bruno Haible  <bruno@clisp.org>
21383         doc: Fix syntax error (regression from 2017-10-03).
21384         * doc/posix-functions/strncpy.texi: Fix syntax error.
21386 2017-10-12  Bruno Haible  <bruno@clisp.org>
21388         doc: Update for Solaris 11.3.
21389         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
21390         mention Solaris 11.3.
21391         * m4/log2.m4: Fix comments.
21392         * m4/log2f.m4: Likewise.
21393         * m4/printf.m4: Update comments.
21394         * m4/rename.m4: Likewise.
21395         * m4/strncat.m4: Likewise.
21397         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
21399 2017-10-10  Bruno Haible  <bruno@clisp.org>
21401         doc: Improve doc about ioctl.
21402         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
21403         prototype.
21405 2017-10-09  Bruno Haible  <bruno@clisp.org>
21407         wcwidth: Don't use obsolete syntax of 'test'.
21408         Reported by Eric Blake.
21409         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
21410         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
21412 2017-10-09  Bruno Haible  <bruno@clisp.org>
21414         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
21415         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
21416         and Daniel P. Berrange <berrange@redhat.com>.
21417         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
21418         on glibc systems. The getopt-pfx-core.h file declares exactly what
21419         unistd.h needs, nothing more.
21421 2017-10-08  Bruno Haible  <bruno@clisp.org>
21423         vma-iter: Improve support for FreeBSD.
21424         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
21425         vma_iterate.
21426         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
21428 2017-10-08  Bruno Haible  <bruno@clisp.org>
21430         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
21431         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
21433 2017-10-07  KO Myung-Hun  <komh@chollian.net>
21435         test-framework-sh: Fix 'invalid path dir' error.
21436         On OS/2, a path separator is ';' not ':'. And ':' is used as a
21437         separator between a drive letter and directory parts.
21438         As a result, an absolute path such as x:/path/to/dir on OS/2 is
21439         treated as an invalid path dir.
21440         * tests/init.sh (PATH_SEPARATOR): Set at startup.
21441         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
21442         instead of hard coded ':'.
21444 2017-10-07  Bruno Haible  <bruno@clisp.org>
21446         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
21447         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
21448         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
21449         (rof_open): On Linux, do multiple read() calls and make sure
21450         MIN_LEFTOVER bytes are left when read() returns.
21452 2017-10-07  Bruno Haible  <bruno@clisp.org>
21454         vma-iter: Improve support for GNU/Hurd.
21455         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
21456         API, not the /proc file system.
21458 2017-10-07  Bruno Haible  <bruno@clisp.org>
21460         test-framework-sh: Don't require bash on Windows and OS/2.
21461         Reported by KO Myung-Hun.
21462         * tests/test-init.sh: Use 'shopt' only when running in bash.
21464 2017-10-06  KO Myung-Hun  <komh@chollian.net>
21466         wcwidth: check a macro version of wcwidth () as well
21467         * lib/wchar.in.h: Revert commit from 2016-01-14.
21468         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
21470 2017-10-06  Bruno Haible  <bruno@clisp.org>
21472         getopt-posix: Clarify copyright header.
21473         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
21474         * lib/getopt-pfx-core.h: Likewise.
21475         * lib/getopt-pfx-ext.h: Likewise.
21476         * lib/getopt-cdefs.in.h: Likewise.
21478 2017-10-03  Bruno Haible  <bruno@clisp.org>
21480         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
21481         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
21482         gl_HOST_CPU_C_ABI.
21484 2017-10-03  Bruno Haible  <bruno@clisp.org>
21486         doc: warn about misuse of strncpy and wcsncpy.
21487         * doc/posix-functions/strcpy.texi: Describe requirements on prior
21488         memory allocation.
21489         * doc/posix-functions/wcscpy.texi: Likewise.
21490         * doc/posix-functions/strncpy.texi: Describe what this function is not
21491         useful for.
21492         * doc/posix-functions/wcsncpy.texi: Likewise.
21494 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
21496         fsuage: fix typo in previous change
21497         * lib/fsusage.c: Remove stray include of full-read.h.
21498         Problem reported by Sam Steingold for macOS (Bug#28669).
21500 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
21502         fsusage: remove SVR2 support
21503         SVR2 was obsolete by 1986 and is no longer supported by anybody,
21504         and its code was getting in the way of use of this module by
21505         Emacs, which has its own ‘read’ function anyway.
21506         * lib/fsusage.c: Do not include sys/filsys.h.
21507         (get_fs_usage): Remove SVR2-specific code.
21508         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
21509         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
21510         * modules/fsusage (Depends-on): Do not depend on full-read.
21512         Simplify autoupdate of licenses
21513         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
21514         place.
21516 2017-10-01  Bruno Haible  <bruno@clisp.org>
21518         vma-iter: Add support for GNU/Hurd.
21519         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
21520         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
21522 2017-09-30  Bruno Haible  <bruno@clisp.org>
21524         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
21525         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
21526         fail when module 'largefile' is in use.
21527         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
21528         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
21529         Don't test HAVE_SYS_PROCFS_H.
21531 2017-09-30  Bruno Haible  <bruno@clisp.org>
21533         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
21534         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
21535         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
21536         * modules/havelib (Depends-on): Add host-cpu-c-abi.
21538 2017-09-30  Bruno Haible  <bruno@clisp.org>
21540         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
21541         * lib/uniname/uniname.c (unicode_name_character): Add braces around
21542         scope of local variables.
21544 2017-09-28  Bruno Haible  <bruno@clisp.org>
21546         string: code style
21547         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
21548         substitutable variables.
21549         * modules/string (Makefile.am): Likewise.
21551 2017-09-26  Bruno Haible  <bruno@clisp.org>
21553         uniname/uniname-tests: Tighten code.
21554         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
21555         local variables into one.
21557 2017-09-26  Bruno Haible  <bruno@clisp.org>
21559         vma-iter: Improvements for Linux and BSD platforms.
21560         - Add support for DragonFly BSD.
21561         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
21562         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
21563         Read the entire file into memory in a single system call.
21564         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
21565         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
21567 2017-09-26  Bruno Haible  <bruno@clisp.org>
21569         vma-iter: Provide the protection flags on FreeBSD.
21570         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
21571         skip three fields between the addresses and the protection flags.
21573 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
21575         glob: remove bogus extern decl
21576         * lib/glob.c (__glob_pattern_type): Remove now-spurious
21577         extern declaration.  Problem reported by Adhemerval Zanella in:
21578         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
21580 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
21582         uniname/uniname-tests: integer overflow fix
21583         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
21584         Check for integer overflow.
21586         duplocale-tests: fix unlikely crash
21587         * tests/test-duplocale.c (get_locale_dependent_values):
21588         Don’t crash with absurdly long month names.
21590         maint: fix overflow checking in nap.h
21591         * modules/chown-tests:
21592         * modules/fchownat-tests, modules/fdutimensat-tests:
21593         * modules/futimens-tests, modules/lchown-tests:
21594         * modules/stat-time-tests, modules/utime-tests:
21595         * modules/utimens-tests, modules/utimensat-tests:
21596         Depend on intprops.
21597         * tests/nap.h: Include intprops.h.
21598         (diff_timespec): Handle overflow properly.
21600         sys_types: update URL
21601         * m4/sys_types_h.m4: Use https: URL.
21603         parse-datetime: fix dependency
21604         * modules/parse-datetime (Depends-on): Depend
21605         on nstrftime, not strftime.
21607         parse-datetime, posixtm: avoid uninit access
21608         * lib/parse-datetime.y (parse_datetime2):
21609         * lib/posixtm.c (posixtime):
21610         Do not access uninitialized storage, even though the resulting
21611         value is never used.
21613 2017-09-25  Bruno Haible  <bruno@clisp.org>
21615         vma-iter: Improvements for BSD platforms.
21616         - Add support for GNU/kFreeBSD.
21617         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
21618         - Speed up on OpenBSD.
21619         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
21620         (vma_iterate_bsd): New function.
21621         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
21622         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
21623         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
21624         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
21626 2017-09-23  Bruno Haible  <bruno@clisp.org>
21628         strfmon_l: New module.
21629         * modules/strfmon_l: New file.
21630         * lib/strfmon_l.c: New file.
21631         * m4/strfmon_l.m4: New file.
21632         * doc/posix-functions/strfmon_l.texi: Mention the new module.
21633         * modules/strfmon_l-tests: New file.
21634         * tests/test-strfmon_l.c: New file.
21636         monetary: New module.
21637         * modules/monetary: New file.
21638         * lib/monetary.in.h: New file.
21639         * m4/monetary_h.m4: New file.
21640         * doc/posix-headers/monetary.texi: Mention the new module.
21641         * modules/monetary-tests: New file.
21642         * tests/test-monetary.c: New file.
21643         * modules/monetary-c++-tests: New file.
21644         * tests/test-monetary-c++.cc: New file.
21645         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
21647 2017-09-23  Bruno Haible  <bruno@clisp.org>
21649         duplocale tests: Fix test crash on Linux/x86.
21650         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
21651         locale from the current thread before freeing it.
21653 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
21655         mktime: port to OpenVMS
21656         Problem reported by John E. Malmberg in:
21657         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
21658         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
21660 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
21662         manywarnings: port to GCC on 64-bit MS-Windows
21663         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
21664         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
21665         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
21667 2017-09-13  Bruno Haible  <bruno@clisp.org>
21669         all: Replace many more http URLs by https URLs. Update stale URLs.
21670         * users.txt: Remove mention of 'newts'.
21671         * lib/localename.c: Update comment about LANG_SOTHO.
21673 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
21675         all: Replace many http URLs by https URLs.
21677 2017-09-12  Bruno Haible  <bruno@clisp.org>
21679         doc: Prefer https URLs where possible.
21680         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
21681         * doc/ld-output-def.texi: Remove unavailable URL.
21683 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
21685         maintainer-makefile: FTP -> HTTPS
21686         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
21687         of FTP, which is planned to be decommissioned on 2017-11-01.
21689 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
21691         libc-config: Fix __GNUC_PREREQ macro.
21692         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
21693         __GNUC_MINOR.
21695 2017-09-09  Bruno Haible  <bruno@clisp.org>
21697         gnulib-tool: Simplify commit from 2015-08-20.
21698         * gnulib-tool (func_add_or_update): Remove local variable
21699         is_binary_file.
21701 2017-09-08  Bruno Haible  <bruno@clisp.org>
21703         stddef: Avoid conflict with system-defined max_align_t.
21704         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
21705         Reported by Werner Lemberg <wl@gnu.org> in
21706         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
21707         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
21708         (max_align_t): Define as a macro.
21709         (GNULIB_defined_max_align_t): New macro. Guards against multiple
21710         definitions of rpl_max_align_t in different copies of gnulib-generated
21711         <stddef.h>.
21713 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
21715         libc-config: port to MSVC
21716         Problems reported by Gisle Vanem in:
21717         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
21718         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
21719         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
21720         * m4/__inline.m4: New file.
21721         * modules/libc-config (Files): Add it.
21722         (Depends-on): Use it.
21724         glob: Use enum for __glob_pattern_type result
21725         From a patch proposed by Adhemerval Zanella in:
21726         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
21727         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
21728         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
21729         * lib/glob_internal.h (__glob_pattern_type):
21730         * lib/glob.c (glob):
21731         * lib/glob_pattern_p.c (__glob_pattern_p):
21732         Use them.
21734         glob: fix for use in glibc
21735         Problem reported by Adhemerval Zanella in:
21736         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
21737         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
21738         Do not redefine if _LIBC.
21740 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21742         glob: fix bugs with long login names
21743         Problem reported by Adhemerval Zanella in:
21744         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
21745         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
21746         (glob): Use the same scratch buffer for both getlogin_r and
21747         getpwnam_r.  Don’t require preallocation of the login name.  This
21748         simplifies storage allocation, and corrects the handling of
21749         long login names.
21751 2017-09-02  Bruno Haible  <bruno@clisp.org>
21753         dirent: Update doc.
21754         * doc/posix-headers/dirent.texi: More concrete list of platforms.
21756 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21758         glob: fix getpwnam_r errno typo
21759         * lib/glob.c (glob): Fix longstanding misuse of errno after
21760         getpwnam_r, which returns an error number rather than setting
21761         errno.
21763         glob: fix typo in recent change
21764         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
21765         Fix recently-introduced typo.
21767 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21769         glob: don't save and restore errno unnecessarily
21770         * lib/glob.c (glob): Don't save and restore errno
21771         merely because we have getpwnam_r.
21773         glob: don't assume getpwnam_r
21774         * lib/glob.c (glob): Port recent patches to platforms
21775         lacking getpwnam_r.
21777         scratch_buffer: don’t use private glibc API
21778         Suggested by Florian Weimer in:
21779         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
21780         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
21781         * lib/scratch_buffer_grow.c: Rename to
21782         lib/malloc/scratch_buffer_grow.c.
21783         * lib/scratch_buffer_grow_preserve.c: Rename to
21784         lib/malloc/scratch_buffer_grow_preserve.c.
21785         * lib/scratch_buffer_set_array_size.c: Rename to
21786         lib/malloc/scratch_buffer_set_array_size.c.
21787         * lib/scratch_buffer.h: New file.
21788         * modules/scratch_buffer (Files, Makefile.am):
21789         Adjust to source-file renaming.
21791 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
21793         glob: use scratch_buffer instead of extend_alloca
21794         Much of the lib/glob.c part of this patch comes from a glibc patch
21795         proposed by Adhemerval Zanella in:
21796         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
21797         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
21798         included via glob.h, does this for us now.
21799         (__set_errno): Remove, as libc-config does this for us now.
21800         Include <scratch_buffer.h>.
21801         (GETPW_R_SIZE_MAX): Remove.
21802         (glob): Use struct scratch_buffer instead of extend_alloca.
21803         * lib/glob.in.h: Include libc-config.h rather than
21804         including <sys/cdefs.h> conditionally.
21805         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
21806         (__glibc_unlikely, __restrict, weak_alias):
21807         Remove, as libc-config does this for us now.
21808         * m4/glob.m4 (gl_PREREQ_GLOB):
21809         Remove sys/cdefs.h tests; no longer needed.
21810         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
21811         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
21813         scratch_buffer: new module
21814         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
21815         * lib/scratch_buffer_grow_preserve.c:
21816         * lib/scratch_buffer_set_array_size.c:
21817         New files, copied from glibc with very minor changes that can be
21818         copied back.
21819         * modules/scratch_buffer: New file.
21821         libc-config: new module
21822         * MODULES.html.sh: Add libc-config.
21823         * lib/cdefs.h: New file, copied from the GNU C Library with very
21824         minor changes that can be copied back.
21825         * lib/libc-config.h, modules/libc-config: New files.
21827 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
21829         glob: match dangling symlinks
21830         This fixes a bug I inadvertently introduced to Gnulib when I
21831         merged glibc glob back into gnulib on 2007-10-16.  This fix is
21832         inspired by a patch proposed for glibc by Adhemerval Zanella in:
21833         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
21834         * doc/posix-functions/glob.texi: Update list of affected platforms.
21835         * lib/glob.c (__lstat64): New macro.
21836         (is_dir): New function.
21837         (glob, glob_in_dir): Match symlinks even if they are dangling.
21838         (link_stat, link_exists_p): Remove.  All uses removed.
21839         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
21840         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
21841         * modules/glob-tests (Depends-on): Add symlink.
21842         * tests/test-glob.c: Include errno.h, unistd.h.
21843         (BASE): New macro.
21844         (main): Test dangling symlinks, if symlinks are supported.
21846         glob, backupfile: inode 0 is a valid inode number
21847         * doc/posix-functions/readdir.texi (readdir):
21848         * doc/posix-headers/dirent.texi (dirent.h):
21849         Document more readdir portability issues.
21850         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
21851         (numbered_backup): Don’t treat inode 0 any differently from
21852         other inode values.
21853         * lib/glob.c (struct readdir_result): Remove skip_entry member.
21854         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
21855         All uses removed.
21856         * modules/glob (Depends-on): Remove d-ino.
21858         glob: simplify symlink detection
21859         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
21860         uint8_t, as C99 does not require uint8_t.
21861         (struct readdir_result): Use it.  Do not define skip_entry unless
21862         it is needed; this saves a byte on platforms lacking d_ino.
21863         (readdir_result_type, readdir_result_skip_entry):
21864         New functions, replacing ...
21865         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
21866         ... these functions, which were removed.  This makes the callers
21867         easier to read.  All callers changed.
21868         (D_INO_TO_RESULT): Now empty if there is no d_ino.
21870 2017-08-30  Pádraig Brady  <P@draigBrady.com>
21872         fts-tests: tag as a longrunning-test so not included by default
21873         * modules/fts-tests: This test takes about 20s on current systems,
21874         and uses about 285M of space on ext4.
21876 2017-08-30  Pádraig Brady  <P@draigBrady.com>
21878         renameat2: fix compilation on alpine linux
21879         * m4/renameat.m4: Check for <linux/fs.h> presence.
21880         * lib/renameat2.h: Only include <linux/fs.h> if present.
21881         Reported by Assaf Gordon on Alpine Linux.
21883 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
21885         glob: try to port recent changes to MS-Windows
21886         Problem reported by Bruno Haible in:
21887         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
21888         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
21889         * lib/glob.in.h (__glob_pattern_p): ... to here.
21891 2017-08-24  Eric Blake  <eblake@redhat.com>
21893         warnings: fix compilation with old autoconf
21894         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
21895         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
21896         AC_DEFUN.
21897         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
21898         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
21900 2017-08-24  Bruno Haible  <bruno@clisp.org>
21902         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
21903         * modules/glob (Depends-on): Add c99.
21905 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
21907         glob: fix typo that broke platforms lacking d_ino
21908         This typo also hurt performance on GNU/Linux and similar hosts.
21909         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
21910         in previous change.
21912 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
21914         glob: merge from glibc with Zanella glob changes
21915         Merge glob from glibc, with changes for glob proposed
21916         by Adhemerval Zanella in the thread starting here:
21917         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
21918         plus some fixes for this merge.
21919         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
21920         New files, ported from glibc.
21921         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
21922         with __restrict.
21923         (__size_t): Remove.  All uses replaced by size_t.
21924         (size_t): Define by defining __need_size_t and including <stddef.h>.
21925         This should work even in non-glibc platforms, where any name
21926         pollution is OK.
21927         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
21928         (struct stat64): Don’t worry about __GLOB_GNULIB.
21929         (glob, globfree, glob_pattern_p): Remove macros for
21930         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
21931         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
21932         but set errno.
21933         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
21934         removed since the glibc behavior works on null pointers.
21935         Do not include stdio.h; old SunOS is irrelevant now.
21936         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
21937         Include glob_internal.h.
21938         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
21939         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
21940         worked only coincidentally.
21941         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
21942         Remove macros; now done in glob.in.h.
21943         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
21944         (glob): Properly initialize glob structure with
21945         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
21946         Remove old code using SHELL since Bash no longer
21947         uses this.
21948         (glob, prefix_array): Separate MS code better.
21949         (glob, glob_in_dir): Use C99 decls before statements when glibc
21950         does.
21951         (glob_in_dir): Remove old Amiga and VMS code.
21952         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
21953         separate files.
21954         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
21955         (__glibc_unlikely):
21956         Move here from glob.c.
21957         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
21958         (weak_alias): New macro.
21959         (__size_t): Remove.  All uses replaced by size_t.
21960         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
21961         * modules/glob (Files): Add +lib/glob_internal.h,
21962         lib/glob_pattern_p.c, lib/globfree.c.
21963         (Depends-on): Remove snippet/arg-nonnull.
21965 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
21967         glob: port to clang's Undefined Sanitizer
21968         Problem reported by Tim Rühsen in:
21969         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
21970         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
21971         (glob_in_dir): Do not rely on undefined behavior in accessing
21972         struct members beyond their bounds.  Use a flexible array member
21973         instead.
21975 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
21977         vc-list-files: port to Solaris 10
21978         * build-aux/vc-list-files: Don't assume test -e works.
21980 2017-08-21  Karl Berry  <karl@freefriends.org>
21982         * doc/posix-functions/srandom.texi (srandom): typo }.
21984 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
21986         git-version-gen: port to Solaris 10
21987         Problem reported by Dagobert Michelsen in:
21988         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
21989         * build-aux/git-version-gen (v_from_git):
21990         Use expr instead of shell substitution.
21992 2017-08-19  Bruno Haible  <bruno@clisp.org>
21994         host-cpu-c-abi: Improve detection of MIPS ABI.
21995         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
21996         _MIPS_SIM.
21998 2017-08-17  Bruno Haible  <bruno@clisp.org>
22000         hypot tests: Fix test failure on FreeBSD 11.0/x86.
22001         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
22003 2017-08-17  Bruno Haible  <bruno@clisp.org>
22005         float: Fix LDBL_MIN value on FreeBSD/x86.
22006         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
22008 2017-08-17  Bruno Haible  <bruno@clisp.org>
22010         random: Fix test compilation failure on Cygwin 1.5.25.
22011         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
22012         HAVE_DECL_SETSTATE.
22013         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
22014         declared.
22015         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
22016         HAVE_DECL_SETSTATE.
22017         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
22018         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
22019         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
22020         * doc/posix-functions/random.texi: Likewise.
22021         * doc/posix-functions/setstate.texi: Likewise.
22022         * doc/posix-functions/srandom.texi: Likewise.
22024 2017-08-16  Bruno Haible  <bruno@clisp.org>
22026         stdnoreturn: Fix test compilation failure on Cygwin.
22027         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
22028         <stdnoreturn.h> replacement.
22029         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
22030         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
22032 2017-08-16  Bruno Haible  <bruno@clisp.org>
22034         thread: Fix conflict with pthread_sigmask module.
22035         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
22036         it's defined as a macro.
22037         * modules/thread (Depends-on): Add pthread_sigmask.
22039 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
22041         rename: port better to NetBSD
22042         * doc/posix-functions/rename.texi (rename): NetBSD 7
22043         does not have the link-count bug.
22044         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
22045         broken merely because rename ("a", "b") removes "a" when the two
22046         names are hard links to the same file.
22048 2017-08-16  Bruno Haible  <bruno@clisp.org>
22050         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
22051         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
22052         the target file names with '$(srcdir)/'.
22053         * modules/unicase/locale-language (Makefile.am): Likewise.
22054         * modules/unicase/special-casing (Makefile.am): Likewise.
22055         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
22056         * modules/unictype/category-byname (Makefile.am): Likewise.
22057         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
22058         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
22059         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
22060         * modules/unictype/property-byname (Makefile.am): Likewise.
22061         * modules/unictype/scripts (Makefile.am): Likewise.
22062         * modules/uninorm/composition (Makefile.am): Likewise.
22064 2017-08-16  Bruno Haible  <bruno@clisp.org>
22066         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
22067         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
22068         value for OpenBSD.
22070 2017-08-16  Bruno Haible  <bruno@clisp.org>
22072         rename, renameat: Update doc regarding NetBSD.
22073         * doc/posix-functions/rename.texi: Clarify that when using
22074         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
22075         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
22076         version.
22078 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
22080         renameat2: port better to macOS
22081         * lib/renameat2.c (renameat2): Use renameatx_np if available.
22083         futimens: don’t assume struct timespec layout
22084         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
22085         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
22086         * tests/test-fdutimensat.c (main):
22087         * tests/test-futimens.h (test_futimens):
22088         * tests/test-lutimens.h (test_lutimens):
22089         * tests/test-utimens.h (test_utimens):
22090         * tests/test-utimensat.c (main):
22091         Don’t assume that struct timespec is a two-member structure in
22092         tv_sec, tv_nsec order.  Although this is true on all platforms we
22093         know about, POSIX does not guarantee it.
22095         rename: document+test NetBSD rename
22096         Test failure reported by Bruno Haible in:
22097         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
22098         This is an area where NetBSD is better-behaved than POSIX,
22099         so allow the NetBSD behavior in tests.
22100         * doc/posix-functions/rename.texi:
22101         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
22102         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
22104 2017-08-15  Bruno Haible  <bruno@clisp.org>
22106         renameat: Ensure declaration in <stdio.h> on NetBSD.
22107         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
22108         * doc/posix-functions/renameat.texi: Mention this problem.
22110 2017-08-15  Bruno Haible  <bruno@clisp.org>
22112         duplocale: Work around NetBSD 7.0 bug.
22113         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
22114         * lib/duplocale.c: Add comment about NetBSD problem.
22115         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
22117 2017-08-15  Bruno Haible  <bruno@clisp.org>
22119         duplocale tests: Verify use with *_l functions.
22120         * modules/duplocale-tests (configure.ac): Test for uselocale and
22121         some *_l functions.
22122         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
22123         from main.
22124         (get_locale_dependent_values_from, test_with_locale_parameter): New
22125         functions.
22126         (main): Test both test_with_uselocale and test_with_locale_parameter.
22128 2017-08-15  Bruno Haible  <bruno@clisp.org>
22130         extensions: Enable NetBSD specific extensions.
22131         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
22133 2017-08-14  Bruno Haible  <bruno@clisp.org>
22135         open, openat: Update doc about O_CLOEXEC.
22136         * doc/posix-functions/open.texi: More concrete list of platforms.
22137         * doc/posix-functions/openat.texi: Likewise.
22139 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
22141         open: support O_CLOEXEC
22142         * NEWS, doc/posix-functions/open.texi:
22143         * doc/posix-functions/openat.texi: Document this.
22144         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
22145         (GNULIB_defined_O_CLOEXEC): New symbol.
22146         * lib/open.c: Include cloexec.h.
22147         (open): Support O_CLOEXEC.
22148         * lib/openat.c: Include cloexec.h.
22149         (rpl_openat): Support O_CLOEXEC.
22150         * lib/popen-safer.c: Do not include cloexec.h.
22151         (open_noinherit): Remove.
22152         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
22153         * lib/save-cwd.c: Do not include cloexec.h.
22154         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
22155         * m4/open-cloexec.m4: New file.
22156         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
22157         Replace 'open' if O_CLOEXEC is not present.
22158         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
22159         Replace 'openat' if O_CLOEXEC is not present.
22160         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
22161         * modules/open (Files): Add m4/open-cloexec.m4.
22162         (Depends-on): Depend on cloexec if replacing 'open'.
22163         * modules/openat (Files): Add m4/open-cloexec.m4.
22164         (Depends-on): Depend on cloexec if replacing openat.
22165         * modules/popen-safer (Depends-on): Remove cloexec.
22166         * modules/save-cwd (Depends-on): Remove cloexec, and add
22167         fd-safer-flag and 'open'.
22169 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
22171         reallocarray: minor fixes
22172         * doc/glibc-functions/reallocarray.texi: Update version numbers.
22173         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
22174         * modules/reallocarray (License): Change from GPL to LGPL.
22175         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
22176         Indent properly and don't use tabs.
22178 2017-08-13  Darshit Shah  <darnir@gnu.org>
22180         reallocarray: New module
22181         reallocarray is a new function in glibc 2.26 to safely allocate an array
22182         of memory locations with integer overflow protection.
22183         * MODULES.html.sh: Add reallocarray.
22184         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
22185         * lib/reallocarray.c: New file to implement module reallocarray.
22186         * lib/stdlib.in.h: Add function declarations for reallocarray.
22187         * m4/reallocarray.m4: New file.
22188         * m4/stdlib_h.m4: Declare reallocarray.
22189         * modules/reallocarray: New file.
22190         * modules/reallocarray-test: New file.
22191         * modules/stdlib: Coerce stdlib.h to export reallocarray.
22192         * tests/test-reallocarray.c: New test.
22194 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
22196         dirent-safer: fix cloexec race
22197         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
22198         (opendir_safer): Use F_DUPFD_CLOEXEC.
22199         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
22200         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
22201         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
22202         instead of dup_safer.
22204         fts: fix cloexec races
22205         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
22206         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
22207         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
22208         (fd_ring_check): Set cloexec flag on new file descriptors.
22209         (fts_build, fd_ring_check): While we’re at it, make sure the
22210         resulting file descriptor is not 0, 1, or 2, since that is easy.
22212 2017-08-11  Bruno Haible  <bruno@clisp.org>
22214         fts tests: Fix link error.
22215         Reported by Tom G. Christensen in
22216         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
22217         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
22219 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
22221         fts: port recent changes to CentOS 6
22222         Problem reported by Tom G. Christensen in:
22223         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
22224         * lib/fts.c (fsword): New type.
22225         (struct dev_type, filesystem_type): Use it.
22226         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
22227         Also, check for f_type only if fstatfs and sys/vfs.h work.
22229 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
22231         tempname: do not depend on secure_getenv
22232         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
22233         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
22234         * modules/tempname (Depends-on): Remove secure_getenv.
22236 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
22238         extensions: add _OPENBSD_SOURCE
22239         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
22241 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
22242             Bruno Haible  <bruno@clisp.org>
22244         manywarnings: Add support for C++.
22245         * build-aux/g++-warning.spec: New file.
22246         * m4/manywarnings-c++.m4: New file.
22247         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
22248         redirects to manywarnings-c++.m4.
22249         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
22251 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
22253         git-version-gen: another fix for tags with "-"
22254         * build-aux/git-version-gen: Improve fix for tags containing "-".
22255         Suggested by Markus Armbruster in:
22256         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
22258 2017-08-06  Bruno Haible  <bruno@clisp.org>
22260         warnings, manywarnings: Add support for multiple languages, not just C.
22261         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
22262         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
22263         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
22264         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
22265         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
22266         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
22267         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
22268         of the current language. If C++ is the current language, modify
22269         WARN_CXXFLAGS instead of WARN_CFLAGS.
22270         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
22271         gl_MANYWARN_ALL_GCC.
22272         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
22274 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
22276         git-version-gen: Fix for tags containing '-'
22278         Really old versions of git-describe (before v1.5.0, Feb 2007)
22279         don't have the number of commits in their long format output,
22280         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
22281         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
22282         recognizes both patterns, and normalizes the old format to the new one.
22284         Unfortunately, this normalization code gets confused when the tag
22285         contains '-'.  Reproducer:
22287             $ git-tag -m test v0.2-rc1
22288             $ build-aux/git-version-gen .tarball-version; echo
22289             build-aux/git-version-gen: WARNING: git rev-list failed
22290             UNKNOWN
22292         We take exact tag "v0.2-rc1" for the old format, extract the presumed
22293         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
22294         commits since tha tag.  Fails, because tag "v0.2" does not exist.
22296         * git-version-gen: We could perhaps drop support for versions from
22297         more than a decade ago.  But tightening the pattern match is easy
22298         enough, so do that.  Still breaks when you use version tags ending in
22299         something matching -g????, but you arguably get what you deserve then.
22301 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
22303         valgrind-tests: use ls, and cache
22304         * m4/valgrind-tests.m4: Test ls, not bash.
22305         Problem reported by Reuben Thomas.
22306         Also, cache the result so that it can be overridden.
22308 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
22310         manywarnings: port to 64-bit GCC builds of Emacs
22311         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
22312         object size rather than hardwiring 2147483647.  This is needed to
22313         build GNU Emacs, which has one conditional (and used
22314         only-in-theory) call to malloc with a literal greater than
22315         2147483647.
22317 2017-08-04  Bruno Haible  <bruno@clisp.org>
22319         Relax the license of some modules with no runtime code.
22320         * modules/std-gnu11 (License): Set to 'unlimited'.
22321         * modules/c99 (License): Likewise.
22322         Reported by Reuben Thomas <rrt@sc3d.org>.
22323         * modules/d-ino (License): Set to 'LGPL'.
22324         * modules/host-os (License): Likewise.
22325         * modules/longlong (License): Likewise.
22327 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
22329         renameat2: port to RHEL 7 + NFS
22330         * lib/renameat2.c (renameat2) [SYS_renameat2]:
22331         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
22332         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
22334 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
22336         renameat2: port to non-renameat platforms
22337         Problem reported for MSVC-2015 by Gisle Vanem in:
22338         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
22339         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
22340         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
22342 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
22344         manywarnings: port to 32-bit GCC bug
22345         Problem reported by Pino Toscano in:
22346         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
22347         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
22348         not 2**63 - 1, to work around the following GCC bug:
22349         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
22351 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
22353         backupfile: new function to validate backup suffix
22354         * lib/backupfile.c (set_simple_backup_suffix): New function.
22355         (backupfile_internal): Use it.
22357         canonicalize: fix EOVERFLOW commentary
22358         Problem reported by Bruno Haible in:
22359         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
22360         * lib/canonicalize.c (canonicalize_filename_mode):
22361         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
22363         Don't interpret EOVERFLOW to mean nonexistence
22364         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
22365         may be EOVERFLOW; this is likely more useful than reporting the
22366         stat errno.
22367         * lib/glob.c (link_stat): Rename from link_exists2_p and
22368         return -1/0 instead of 0/1.  Caller changed.
22369         * lib/glob.c (link_exists_p):
22370         * lib/renameat2.c (rename_noreplace, renameat2):
22371         * lib/tempname.c (try_nocreate):
22372         If errno == EOVERFLOW then the directory entry exists, so do not
22373         act as if it does not exist.
22375         backup-rename: new module
22376         It is like backupfile, except it avoids some race conditions,
22377         and it does not output to stderr or exit.
22378         * MODULES.html.sh: Add backup-rename.
22379         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
22380         * modules/backup-rename: New files.
22381         * lib/backupfile.c: Turn this into an internals file, which
22382         contains code common to backupfile and backup_rename.  Include
22383         backupfile-internal.h instead of backupfile.h.  Do not include
22384         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
22385         renameat2.h and fcntl.h.
22386         (BACKUP_NOMEM): New constant.
22387         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
22388         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
22389         (backupfile_internal): Rename from find_backup_file_name.
22390         Support new arg RENAME.
22391         (backup_args, backup_types, get_version, xget_version):
22392         Move to lib/backup-find.c.
22393         * lib/backupfile.h (backup_file_rename): New decl.
22394         * modules/backupfile (Files): Add lib/backup-internal.h,
22395         lib/backup-find.c.
22396         (Depends-on): Add dirfd, fcntl, renameat2.
22397         (lib_SOURCES): Add backup-find.c.
22399         renameat2: port better to older Solaris
22400         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
22401         Add goto to use a label, to silence picky compilers.
22403         fts-tests: port to gcc -Wwrite-strings
22404         * tests/test-fts.c (base, base_d): New static vars.
22405         (argv, remove_tree, main): Use them.
22407 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
22409         relocatable-lib{,-lgpl}: improve documentation
22410         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
22411         Various other updates.
22413 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
22414             Bruno Haible  <bruno@clisp.org>
22416         relocatable-lib{,-lgpl}: add Valgrind suppressions
22417         * lib/relocatable.valgrind: New file.
22418         * modules/relocatable-lib (Files): Add relocatable.valgrind.
22419         * modules/relocatable-lib-lgpl: Likewise.
22421 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
22423         relocatable: Make the license on the sources the GPL.
22424         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
22425         LGPL, which was a special case so that the relocatable source files
22426         could be used without gnulib-tool, to GPL. They can still be used under
22427         the LGPL, using the --lgpl option to gnulib-tool.
22429 2017-07-30  Bruno Haible  <bruno@clisp.org>
22431         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
22432         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
22433         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
22434         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
22435         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
22437 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
22439         faccessat: document AT_SYMLINK_NOFOLLOW issue
22440         * doc/posix-functions/faccessat.texi: Modernize platform list.
22441         Document AT_SYMLINK_NOFOLLOW limitation.
22443         renameat2: port to Solaris 10
22444         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
22445         with AT_SYMLINK_NOFOLLOW (which is not portable).
22446         (renameat): Undef before using, to avoid endless recursion when
22447         the replacement renameat calls renameat2 which calls the
22448         replacement renameat.
22449         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
22450         * modules/renameat2 (Depends-on): Remove faccessat.
22451         * modules/renameat-tests (test_renameat_LDADD):
22452         * modules/renameat2-tests (test_renameat2_LDADD):
22453         Remove $(LIB_EACCESS).
22455         renameat2: new module
22456         Although the Linux syscall renameat2 is not in glibc (yet?), it is
22457         useful to have access to its RENAME_NOREPLACE flag.
22458         * MODULES.html.sh (func_all_modules): Add renameat2.
22459         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
22460         * modules/renameat2-tests, tests/test-renameat2.c: New files.
22461         * lib/renameat.c (renameat): Move most of the implementation
22462         to renameat2, and just call renameat2.
22463         * modules/renameat (Files): Remove lib/at-func2.c.
22464         (Depends-on): Depend only on renameat2.
22465         (Include): Remove <fcntl.h>.
22466         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
22467         since renameat (via renameat2) might use faccessat.
22469 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
22471         vc-list-files: Adjust the script to support git worktrees
22472         * build-aux/vc-list-files: Require existence, not directory.
22474 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
22476         doc: bring MODULES.html.sh up to date
22477         Somehow a few months ago we stopped updating MODULES.html.sh.
22478         I don’t recall explicitly deciding this, so I updated it now.
22479         Alternatively I suppose we could remove it.
22480         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
22481         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
22482         truncate, utime, utime-h, windows-stat-inodes,
22483         windows-stat-override, windows-stat-timespec, year2038.  Sort.
22485 2017-07-26  Jim Meyering  <meyering@fb.com>
22487         fprintftime: fix build-break caused by recent renaming
22488         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
22489         "strftime.c".
22490         * modules/fprintftime: Depend directly on nstrftime.
22492 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
22494         regex: work with GCC7's -Werror=implicit-fallthrough=
22495         * lib/regex_internal.h (FALLTHROUGH): New macro.
22496         * lib/regcomp.c (peek_token_bracket, parse_expression):
22497         * lib/regexec.c (check_node_accept): Use it.
22499 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
22501         fts: simplify fts_build
22502         * lib/fts.c (fts_build): Simplify, and be lazier about
22503         calling leaf_optimization.
22505         fts: three levels of leaf optimization
22506         * lib/fts.c (enum leaf_optimization): New type with three values.
22507         (S_MAGIC_AFS): New macro.  Sort them.
22508         (leaf_optimization): Rename from leaf_optimization_applies, and
22509         return enum leaf_optimization instead of bool.  All uses changed.
22510         Add cases for unknown type and for AFS.
22511         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
22513         fts: cache dirent_inode_sort_may_be_useful too
22514         * lib/fts.c (struct dev_type): New struct.
22515         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
22516         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
22517         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
22518         Now takes FTSENT const *, not int.  All uses changed.  Use
22519         filesystem_type to cache.
22520         (link_count_optimize_ok): Remove.  Caller changed to use
22521         leaf_optimization_applies, which now uses shared cache.
22523         fts: introduce MIN_DIR_NLINK
22524         * lib/fts.c (MIN_DIR_NLINK): New constant.
22525         Use it instead of 2, whenever we are talking about link counts.
22527         fts: nlink_t signedness fixups
22528         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
22529         so that root need not be a special case later.
22530         (fts_read): Remove now-redundant test for fts_level.
22531         Do not assume that nlink_t is signed.
22532         (fts_build): Remove useless decrement of nlinks.
22533         (fts_stat): Avoid unlikely signed integer overflow later, if
22534         nlink_t is signed.
22536         fts-tests: new module
22537         * modules/fts-tests, tests/test-fts.c: New files.
22539 2017-07-23  Bruno Haible  <bruno@clisp.org>
22541         Rename module 'strftime' to 'nstrftime'.
22542         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
22543         * lib/nstrftime.c: Renamed from lib/strftime.c.
22544         * modules/nstrftime: Renamed from modules/strftime.
22545         (Files, Makefile.am): Update.
22546         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
22547         Fix comment.
22548         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
22549         (Files, Makefile.am): Update.
22550         * modules/strftime: New file, an obsolete indirection.
22551         * doc/posix-functions/strftime.texi: Update reference.
22552         * config/srclist.txt: Update info.
22553         * NEWS: Mention the change.
22555 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
22557         malloca: Silence a warning from clang's memory sanitizer.
22558         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
22559         (freea): Use it.
22561 2017-07-18  Bruno Haible  <bruno@clisp.org>
22563         host-cpu-c-abi: Fix detection of MIPS ABI.
22564         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
22565         ABI, not the CPU instruction set.
22567 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
22569         explicit_bzero: new module
22570         The explicit_bzero function has been added to glibc.
22571         This module is intended to supports its use in GNU programs.
22572         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
22573         * m4/explicit_bzero.m4, modules/explicit_bzero:
22574         New files.
22575         * doc/gnulib.texi (Glibc string.h): Link to new doc.
22576         * lib/string.in.h (explicit_bzero): Declare.
22577         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
22578         * modules/string (string.h): Substitute its vars.
22580 2017-07-16  Bruno Haible  <bruno@clisp.org>
22582         threadlib: Support static linking.
22583         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
22584         set gl_cv_have_weak to 'no'.
22586 2017-07-16  Bruno Haible  <bruno@clisp.org>
22588         unicase/locale-language: Fix link dependencies.
22589         * modules/unicase/locale-language (Link): New section.
22590         * modules/unicase/locale-language-tests (Makefile.am): Link
22591         test-locale-language program with $(LIBTHREAD).
22593 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
22595         sys_socket: Add support for OpenVMS.
22596         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
22597         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
22599 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
22601         sys_resource: Add support for OpenVMS.
22602         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
22603         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
22605 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
22606             Bruno Haible  <bruno@clisp.org>
22608         math: Add support for OpenVMS.
22609         * lib/math.in.h [__VMS]: Include <fp.h>.
22610         * doc/posix-headers/math.texi: Mention OpenVMS issues.
22612 2017-07-15  Bruno Haible  <bruno@clisp.org>
22614         getdtablesize: Add minimal support for OpenVMS.
22615         Reported by John E. Malmberg <wb8tyw@qsl.net>.
22616         * modules/getdtablesize (Description): Fix.
22617         * lib/getdtablesize.c: Fix comment.
22618         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
22619         getdtablesize() function, even though the test fails.
22620         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
22621         limitation on OpenVMS.
22623 2017-07-13  Bruno Haible  <bruno@clisp.org>
22625         Revisit cross-compilation guesses.
22626         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
22628 2017-07-13  Bruno Haible  <bruno@clisp.org>
22630         Improve cross-compilation guesses for native Windows.
22631         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
22632         Windows.
22633         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
22634         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
22635         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
22636         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
22637         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
22638         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
22639         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
22640         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
22641         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
22642         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
22643         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
22644         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
22645         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
22646         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
22647         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
22648         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
22649         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
22650         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
22651         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
22652         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
22653         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
22654         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
22655         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
22656         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
22657         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
22658         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
22659         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
22660         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
22661         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
22662         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
22663         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
22664         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
22665         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
22666         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
22667         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
22668         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
22669         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
22670         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
22671         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
22672         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
22673         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22674         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
22675         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
22676         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
22677         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
22678         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
22679         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
22680         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
22681         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
22682         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
22683         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
22684         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
22685         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
22686         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
22687         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
22688         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
22689         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
22690         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
22691         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
22692         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
22693         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
22694         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
22695         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
22696         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
22697         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
22698         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22699         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
22700         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
22701         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
22702         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
22703         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
22704         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
22705         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
22706         * m4/regex.m4 (gl_REGEX): Likewise.
22707         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
22708         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
22709         gl_FUNC_REMAINDERF_WORKS): Likewise.
22710         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
22711         gl_FUNC_REMAINDERL_WORKS): Likewise.
22712         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
22713         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
22714         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
22715         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
22716         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
22717         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
22718         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
22719         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
22720         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
22721         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22722         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
22723         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
22724         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22725         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
22726         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
22727         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
22728         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
22729         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
22730         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
22731         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
22732         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
22733         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22734         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22735         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
22736         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
22737         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22738         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
22739         Likewise.
22740         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
22741         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
22742         Windows. Enable also on Autoconf 2.70.
22743         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
22744         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
22745         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
22746         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
22747         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
22748         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
22749         for native Windows.
22750         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
22751         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
22753 2017-07-13  Bruno Haible  <bruno@clisp.org>
22755         Improve cross-compilation guesses for native Windows.
22756         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
22757         Windows.
22758         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
22759         memchr.m4.
22760         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
22762 2017-07-13  Bruno Haible  <bruno@clisp.org>
22764         Improve cross-compilation guesses for native Windows.
22765         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
22766         native Windows.
22767         (gl_FUNC_FFLUSH): Update accordingly.
22768         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
22769         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
22771 2017-07-11  Bruno Haible  <bruno@clisp.org>
22773         More systematic m4 quoting and indentation.
22774         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
22775         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
22776         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
22777         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22778         * m4/host-os.m4 (gl_HOST_OS): Likewise.
22779         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
22780         gl_WINSIZE_IN_PTEM): Likewise.
22781         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
22782         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
22783         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
22784         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
22785         Correct indentation.
22786         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
22787         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
22788         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
22789         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
22790         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
22791         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22793 2017-07-10  Bruno Haible  <bruno@clisp.org>
22795         round, roundf: Avoid compiler warning in configure test.
22796         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
22797         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
22799 2017-07-10  Bruno Haible  <bruno@clisp.org>
22801         getlogin tests: Avoid #ifdefs when sharing code between modules.
22802         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
22803         * modules/getlogin-tests (Files): Likewise. Remove
22804         tests/test-getlogin_r.c.
22805         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
22806         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
22807         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
22808         getlogin().
22810 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
22812         getlogin: don’t assume one name per uid
22813         Problem reported by Wolfgang F. Muthmann (Bug#27640).
22814         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
22815         (ttyname): Remove test.
22816         * modules/getlogin_r-tests (ttyname): Remove test.
22817         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
22818         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
22819         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
22820         getlogin rather than getlogin_r.  This avoids code duplication.
22821         (main): Use isatty and fstat rather than ttyname and stat.
22822         Use getpwnam instead of getpwuid, to be portable to test platforms
22823         that have multiple login names for the same uid.
22825 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
22826             Bruno Haible  <bruno@clisp.org>
22828         glob: Fix more memory leaks.
22829         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
22830         returning.
22831         Reported by Tim Rühsen.
22833 2017-07-10  Bruno Haible  <bruno@clisp.org>
22835         Make sure $host and $host_os are defined when used.
22836         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
22837         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
22838         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
22839         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22840         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
22841         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
22842         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
22843         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
22844         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
22845         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
22846         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
22847         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
22848         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
22849         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
22850         m4_ifdef block.
22852 2017-07-09  Bruno Haible  <bruno@clisp.org>
22854         *printf: Fix cross-compilation guess for Solaris.
22855         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
22856         2010-12-21.
22858 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
22859             Bruno Haible  <bruno@clisp.org>
22861         vasnprintf: port to macOS 10.13
22862         Problem reported by comex in:
22863         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
22864         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
22866 2017-07-06  Bruno Haible  <bruno@clisp.org>
22868         imaxdiv tests: Fix logic.
22869         * tests/test-imaxdiv.c (main): Use == instead of =.
22870         Reported by Coverity.
22872 2017-07-06  Bruno Haible  <bruno@clisp.org>
22874         uninorm/filter: Fix use-after-free bug.
22875         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
22876         sortbuf == filter->sortbuf invariant.
22877         Reported by Coverity.
22879 2017-07-06  Bruno Haible  <bruno@clisp.org>
22881         glob: Fix more memory leaks.
22882         * lib/glob.c (glob): Free dirname before returning.
22883         Reported by Coverity and Tim Rühsen.
22885 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
22887         parse-datetime: fix uninit var bug
22888         Reported by Bruno Haible in:
22889         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
22890         * lib/parse-datetime.y (parse_datetime2): Do not use
22891         uninitialized.
22893 2017-07-05  Bruno Haible  <bruno@clisp.org>
22895         doc: Update for MSVC 14.
22896         * doc/posix-headers/*.texi: Add info about MSVC 14.
22897         * doc/posix-functions/*.texi: Likewise.
22898         * doc/pastposix-functions/*.texi: Likewise.
22899         * doc/glibc-headers/*.texi: Likewise.
22900         * doc/glibc-functions/*.texi: Likewise.
22902 2017-07-05  Bruno Haible  <bruno@clisp.org>
22904         sched: Fix build failure on native Windows (regression from 2017-06-19).
22905         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
22907 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
22909         stdioext: Port to OpenVMS.
22910         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
22911         * lib/fpending.c (fpending): Remove non-working VMS specific code.
22912         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
22913         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
22914         * lib/fpurge.c (fpurge): Likewise.
22915         * lib/freadable.c (freadable): Likewise.
22916         * lib/freadahead.c (freadahead): Likewise.
22917         * lib/freading.c (freading): Likewise.
22918         * lib/freadptr.c (freadptr): Likewise.
22919         * lib/freadseek.c (freadseek): Likewise.
22920         * lib/fseeko.c (fseeko): Likewise.
22921         * lib/fseterr.c (fseterr): Likewise.
22922         * lib/fwritable.c (fwriteable): Likewise.
22923         * lib/fwriting.c (fwriting): Likewise.
22925 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
22927         glob: Declare variables at the very start of their scope.
22928         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
22929         its separate scope, so the functions will compile on Haiku.
22931 2017-07-01  Bruno Haible  <bruno@clisp.org>
22933         logbl: Work around a glibc bug on PowerPC64LE.
22934         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
22935         numbers.
22936         * doc/posix-functions/logbl.texi: Update.
22938 2017-06-29  Bruno Haible  <bruno@clisp.org>
22940         stat, fstat: Compile stat-w32.c only on platforms that need it.
22941         Suggested by Paul Eggert.
22942         * modules/stat (configure.ac): Request stat-w32.o only on native
22943         Windows.
22944         * modules/fstat (configure.ac): Likewise.
22946 2017-06-25  Bruno Haible  <bruno@clisp.org>
22948         stat: Improve last change.
22949         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
22951 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
22953         stat: port to xlc 12.01
22954         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
22955         12.01 complains "Compilation unit is empty."
22957 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
22959         xalloc-oversized: port to icc
22960         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
22961         __builtin_mul_overflow if ICC is defined, as this results in
22962         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
22963         20170213.
22965 2017-06-19  Bruno Haible  <bruno@clisp.org>
22967         classpath: Avoid including config.h twice, as it produces warnings.
22968         Reported by John E. Malmberg <wb8tyw@gmail.com>.
22969         * lib/classpath.h: Conditionalize the include of config.h.
22971 2017-06-19  Bruno Haible  <bruno@clisp.org>
22972             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
22974         sched: Fix compilation failure on OpenVMS.
22975         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
22976         test whether <pthread.h> exists and defines struct sched_param.
22977         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
22979 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
22981         diffseq: port to GCC 7 with --enable-gcc-warnings
22982         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
22983         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
22984         not complain about big_snake being defined but not used.
22986 2017-06-15  Bruno Haible  <bruno@clisp.org>
22988         gettext-h: Update theoretical condition for use of variable size arrays.
22989         Reported by Paul Eggert.
22990         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
22991         to include the theoretical condition for availability of variable size
22992         arrays, if we could trust the value of __STDC_VERSION__.
22994 2017-06-12  Bruno Haible  <bruno@clisp.org>
22996         Relicense some modules under LGPLv2+.
22997         Daiki Ueno's approval is in
22998         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
22999         * modules/uniwidth/base (License): Change to LGPLv2+.
23000         * modules/uniwidth/width (License): Likewise.
23002 2017-06-11  Bruno Haible  <bruno@clisp.org>
23004         localename: Fix test failure on DragonFly BSD.
23005         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
23006         like FreeBSD.
23008 2017-06-11  Bruno Haible  <bruno@clisp.org>
23010         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
23011         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
23012         * lib/float.in.h: Likewise.
23013         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
23015 2017-06-11  Bruno Haible  <bruno@clisp.org>
23017         gnulib-tool: Clean up after autotools.
23018         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
23019         useless directory left over by the Autotools.
23021 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
23023         getopt-posix: port to glibc 2.25.90
23024         Problem reported by Daniel P. Berrange in:
23025         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
23026         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
23027         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
23028         #undef if __GETOPT_PREFIX is defined.
23030 2017-06-11  Bruno Haible  <bruno@clisp.org>
23032         strtod-obsolete: Fix license.
23033         * modules/strtod-obsolete (License): Change to LGPL.
23035 2017-06-10  Jim Meyering  <meyering@fb.com>
23037         maint: update to work with GCC7's -Werror=implicit-fallthrough=
23038         * lib/savewd.c (FALLTHROUGH): Define.
23039         (savewd_save, savewd_restore): Use this, rather than a comment,
23040         whenever one switch case falls through into the next.
23042 2017-06-08  Bruno Haible  <bruno@clisp.org>
23044         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
23045         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
23046         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
23047         case.
23049 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
23051         doc: remove robots, add prereqs
23052         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
23053         builds.  Simon's robot site does not seem to be up, so remove
23054         mentions of it for now.
23056 2017-06-08  Bruno Haible  <bruno@clisp.org>
23058         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
23059         * gnulib-tool (func_symlink_target): New function, extracted from
23060         func_symlink.
23061         (func_symlink, func_symlink_if_changed): Use it.
23063 2017-06-08  Bruno Haible  <bruno@clisp.org>
23065         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
23066         * gnulib-tool (func_ln_s): Determine cp_src correctly.
23068 2017-06-07  Bruno Haible  <bruno@clisp.org>
23070         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
23071         Reported by John E. Malmberg <wb8tyw@gmail.com> in
23072         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
23073         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
23074         override, pass 2 arguments to getcwd, not 3.
23076 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
23078         same-inode: port better to VMS 8.2 and later
23079         Problem reported by John E. Malmberg in:
23080         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
23081         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
23082         Use the usual POSIX definition.
23083         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
23085 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
23087         error: fix POSIX violation for va_end
23088         Problem reported by Bruno Haible in:
23089         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
23090         * lib/error.c (error_tail): Do not call va_end here.
23091         (error, error_at_line): Call it here instead.
23093 2017-05-28  Bruno Haible  <bruno@clisp.org>
23095         c-strtod: Make it usable in C++ mode.
23096         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
23098 2017-05-25  Jim Meyering  <meyering@fb.com>
23100         quotearg: fix compilation failure due to FALLTHROUGH misuse
23101         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
23102         macro back to /* fall through */ comment.  The macro can apply only
23103         to a following case statement.  Reported by Assaf Gordon.
23105 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
23107         intprops: port to recent icc
23108         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
23109         but does not support __builtin_add_overflow etc.
23110         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
23111         Define to 0.
23113 2017-05-23  Karl Berry  <karl@freefriends.org>
23115         * config/srclist.txt (iconv.m4): sync broken, comment out
23116         until (hopefully) the next gettext release.
23118 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
23120         Remove repeated words in comments.
23122 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
23124         fallthrough: reinstate a FALLTHROUGH instance in quotearg
23125         quotearg.c: Reinstate this instance which is significant
23126         when the if branch is not taken.
23128 2017-05-21  Bruno Haible  <bruno@clisp.org>
23130         gnulib-tool: Add options to create hard links.
23131         * gnulib-tool (func_usage): Document options --hardlink,
23132         --local-hardlink, --more-hardlinks.
23133         (func_symlink): Renamed from func_ln.
23134         (func_symlink_if_changed): Renamed from func_ln_if_changed.
23135         (func_hardlink): New function.
23136         (copymode, lcopymode): New variables.
23137         (symbolic, lsymbolic): Remove variables.
23138         (Options): Implement options --hardlink, --local-hardlink,
23139         --more-hardlinks.
23140         (func_should_link): Renamed from func_should_symlink. Set copyaction.
23141         (func_add_file, func_update_file): Update invocation of
23142         func_should_link. Invoke func_hardlink when appropriate.
23143         (func_import): Update comments.
23144         (func_create_testdir): Update invocation of func_should_link. Invoke
23145         func_hardlink when appropriate.
23146         Finally, invoke 'git update-index --refresh' to mitigate the effects of
23147         the hard links on git.
23149 2017-05-20  Bruno Haible  <bruno@clisp.org>
23151         argp: Simplify bit manipulation.
23152         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
23153         on a signed integer type.
23155 2017-05-20  Bruno Haible  <bruno@clisp.org>
23157         Avoid wrong configure results with gcc -fsanitize=address.
23158         This completes the work done on 2016-02-06 on this topic.
23159         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
23160         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
23161         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23162         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23163         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
23164         returning.
23165         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
23166         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
23167         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23168         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23169         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
23170         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
23171         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
23172         free allocated memory before returning.
23173         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23174         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
23175         objects before returning.
23176         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
23177         returning.
23179 2017-05-20  Bruno Haible  <bruno@clisp.org>
23181         gnulib-tool: Don't create hard links between gnulib and its testdirs.
23182         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
23184 2017-05-20  Bruno Haible  <bruno@clisp.org>
23186         argp, tsearch tests: Fix file list.
23187         * modules/argp-tests (Files): Add tests/macros.h.
23188         * modules/tsearch-tests (Files): Likewise.
23190 2017-05-20  Bruno Haible  <bruno@clisp.org>
23192         getopt-posix tests: Remove redundant include.
23193         * tests/test-getopt.h: Don't include "macros.h". It's already included
23194         by tests/test-getopt-main.h.
23196 2017-05-19  Jim Meyering  <meyering@fb.com>
23198         dfa: two small simplifications
23199         * lib/dfa.c (build_state): Avoid repeating longer expressions.
23201 2017-05-18  Jim Meyering  <meyering@fb.com>
23203         fallthrough: update for GCC 7/8
23204         * lib/quotearg.c (FALLTHROUGH): New macro.
23205         Use it whenever one switch case falls through into the next,
23206         replacing "/* Fall through */" comments.  This exposed one
23207         instance of an unwarranted "fall through" comment: unwarranted
23208         because it preceded a "goto" label not a case statement.
23209         * lib/freopen-safer.c (freopen_safer): Likewise.
23210         * lib/fts.c (leaf_optimization_applies): Likewise.
23211         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
23212         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
23213         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
23214         tests/macros.h for the definition.
23215         * tests/test-argp.c (group1_parser): Likewise.
23216         * tests/test-getopt.h (getopt_loop): Likewise.
23218 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
23220         argp: fix shift bug
23221         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
23222         behavior on shift overflow, caught by gcc -fsanitize=undefined.
23224         argp: fix pointer-subtraction bug
23225         * lib/argp-help.c (hol_append): Don’t subtract pointers to
23226         different arrays, as this can run afoul of -fcheck-pointer-bounds.
23227         See the thread containing Bruno Haible’s report in:
23228         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
23230 2017-05-19  Bruno Haible  <bruno@clisp.org>
23232         printf-posix tests: Avoid test failure with "gcc --coverage".
23233         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
23234         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
23235         than 5000000.
23236         * tests/test-fprintf-posix2.c (main): Likewise.
23238 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
23240         closeout: don’t close stderr when sanitizing
23241         * NEWS: Document this.
23242         * lib/closeout.c (__has_feature): New macro, if not already defined.
23243         (SANITIZE_ADDRESS): New constant.
23244         (close_stdout): Don’t close stderr if sanitizing addresses.
23246 2017-05-19  Bruno Haible  <bruno@clisp.org>
23248         get-rusage-data tests: Avoid failure on Linux/glibc.
23249         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
23250         on glibc systems.
23252 2017-05-18  Bruno Haible  <bruno@clisp.org>
23254         localename: Include necessary header files on Cygwin.
23255         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
23256         where NL_LOCALE_NAME is defined.
23258 2017-05-18  Bruno Haible  <bruno@clisp.org>
23260         gettext: Update macros from gettext git.
23261         * m4/intldir.m4: Require Autoconf >= 2.60.
23262         * m4/progtest.m4: Fix typos in copyright notice.
23264 2017-05-18  Bruno Haible  <bruno@clisp.org>
23266         copy-file tests: Fix link error (regression from 2017-05-01).
23267         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23268         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
23269         $(LIB_CLOCK_GETTIME).
23271 2017-05-18  Bruno Haible  <bruno@clisp.org>
23273         unicase/special-casing: Fix incompatibility with gperf-3.0.4
23274         (regression from 2017-02-13).
23275         * lib/unicase/special-casing.in.h: Renamed from
23276         lib/unicase/special-casing.h.
23277         * modules/unicase/special-casing (Files): Add
23278         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
23279         (Makefile.am): Add rule for generating unicase/special-casing.h.
23280         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
23281         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
23282         not "special-casing.h".
23283         * lib/unicase/u*.c: Likewise.
23285 2017-05-17  Bruno Haible  <bruno@clisp.org>
23287         README: Don't ask people to read a TeXinfo file.
23288         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
23289         * README: Tell people how to read the HTML formatted manual.
23291 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
23293         parse-datetime: Fix memleak
23294         * lib/parse-datetime.y (parse_datetime2): Cleanup on
23295         localtime_rz() failure.
23297 2017-05-16  Bruno Haible  <bruno@clisp.org>
23299         javacomp: Fix handle leak.
23300         Found by Coverity.
23301         * lib/javacomp.c (get_classfile_version): Close fd before returning.
23303 2017-05-16  Bruno Haible  <bruno@clisp.org>
23305         relocate: Make it easier to reclaim allocated memory.
23306         * lib/relocatable.h (relocate2): New declaration/macro.
23307         * lib/relocatable.c (relocate2): New function.
23308         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
23309         relocate2 function.
23310         * lib/localcharset.c (relocate2): Define fallback.
23311         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
23312         allocated memory.
23313         * lib/javaversion.c (relocate2): Define fallback.
23314         (javaexec_version): Invoke relocate2 instead of relocate. Free the
23315         allocated memory.
23317 2017-05-16  Bruno Haible  <bruno@clisp.org>
23319         relocate: Simplify EMX specific code.
23320         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
23321         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
23323 2017-05-16  Bruno Haible  <bruno@clisp.org>
23325         sigpipe tests: Fix file list.
23326         * modules/sigpipe-tests (Files): Add tests/macros.h.
23328 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
23330         manywarnings: update for GCC 7
23331         * build-aux/gcc-warning.spec:
23332         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
23333         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
23334         requires a non-comment fallthrough attribute.  This is a bit
23335         cleaner than the comment versions.
23336         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
23337         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
23338         Use it whenever one switch case falls through into the next.
23339         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
23340         Use FALLTHROUGH macro.
23342 2017-05-15  Bruno Haible  <bruno@clisp.org>
23344         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
23345         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
23346         @ALLOCA@, not @LTALLOCA@.
23348 2017-05-15  Bruno Haible  <bruno@clisp.org>
23350         sys_select: Avoid "was expanded before it was required" warning.
23351         * modules/sys_select (configure.ac): Require, not invoke,
23352         gl_HEADER_SYS_SELECT.
23354 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
23356         gnulib-tool: improve GNU Make debugging
23357         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
23358         Report autoconf diagnostics when it fails, in the output makefile.
23360 2017-05-14  Bruno Haible  <bruno@clisp.org>
23362         stat-time tests: Improve comment.
23363         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
23365 2017-05-14  Bruno Haible  <bruno@clisp.org>
23367         same-inode: Adapt for windows-stat-inodes.
23368         * lib/same-inode.h: Include <sys/types.h>.
23369         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
23370         * modules/same-inode (Depends-on): Add sys_types.
23372 2017-05-14  Bruno Haible  <bruno@clisp.org>
23374         windows-stat-inodes: New module.
23375         * m4/windows-stat-inodes.m4: New file.
23376         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
23377         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
23378         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
23379         (_GL_WINDOWS_STAT_INODES): New macro.
23380         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
23381         (GetFileInformationByHandleExFunc): New variable.
23382         (initialize): Initialize it.
23383         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
23384         st_ino appropriately.
23385         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
23386         a fallback, because it does not provide st_dev and st_ino values.
23387         * modules/fstat (Depends-on): Add 'verify'.
23388         * modules/windows-stat-inodes: New file.
23389         * doc/windows-stat-inodes.texi: New file.
23390         * doc/gnulib.texi: Include it.
23391         * doc/posix-headers/sys_stat.texi: Mention the new module.
23393 2017-05-14  Bruno Haible  <bruno@clisp.org>
23395         stat-time tests: Workaround for native Windows.
23396         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
23397         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
23398         New variables.
23399         (initialize_filenames): New function.
23400         (main): Invoke it.
23401         (cleanup, prepare_test): Update.
23403 2017-05-14  Bruno Haible  <bruno@clisp.org>
23405         stat-time: Adapt for windows-stat-timespec.
23406         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
23407         entire st_ctim field.
23409 2017-05-13  Jim Meyering  <meyering@fb.com>
23411         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
23412         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
23413         file that uses the assume macro, claiming that verify.h is unused.
23415 2017-05-13  Bruno Haible  <bruno@clisp.org>
23417         Use symbolic values for _WIN32_WINNT.
23418         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
23419         * lib/sethostname.c (_WIN32_WINNT): Likewise.
23421 2017-05-13  Bruno Haible  <bruno@clisp.org>
23423         year2038: New module.
23424         * m4/year2038.m4: New file.
23425         * modules/year2038: New file.
23426         * doc/year2038.texi: New file.
23427         * doc/gnulib.texi: Include it.
23429 2017-05-13  Bruno Haible  <bruno@clisp.org>
23431         largefile: Simplify.
23432         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
23433         of _GL_WINDOWS_64_BIT_ST_SIZE.
23435 2017-05-13  Bruno Haible  <bruno@clisp.org>
23437         largefile: Improve and document.
23438         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
23439         the mingw headers already define 'stat' appropriately.
23440         * modules/largefile (Description): Clarify.
23441         * doc/largefile.texi: New file.
23442         * doc/gnulib.texi: Include it.
23443         * doc/posix-headers/sys_types.texi: Update.
23445 2017-05-13  Bruno Haible  <bruno@clisp.org>
23447         truncate: New module.
23448         * lib/unistd.in.h (truncate): New declaration.
23449         * lib/truncate.c: New file.
23450         * m4/truncate.m4: New file.
23451         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
23452         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
23453         REPLACE_TRUNCATE.
23454         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
23455         HAVE_TRUNCATE, REPLACE_TRUNCATE.
23456         * modules/truncate: New file.
23457         * tests/test-unistd-c++.cc (truncate): Test signature.
23458         * doc/posix-functions/truncate.texi: Mention the new module.
23460         * tests/test-truncate.c: New file.
23461         * modules/truncate-tests: New file.
23463 2017-05-13  Bruno Haible  <bruno@clisp.org>
23465         windows-stat-timespec: New module.
23466         * modules/windows-stat-timespec: New file.
23467         * m4/windows-stat-timespec.m4: New file.
23468         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
23469         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
23470         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
23471         fields st_atim, st_mtim, st_ctim.
23472         (st_atime, st_mtime, st_ctime): Define as macros.
23473         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
23474         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
23475         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
23476         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
23477         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
23478         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
23479         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
23480         FILETIME to 'struct timespec', not 'time_t'.
23481         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
23482         FILETIME to 'struct timespec', not 'time_t'.
23483         * lib/stat-time.h (STAT_TIMESPEC): Define also if
23484         _GL_WINDOWS_STAT_TIMESPEC.
23485         * doc/windows-stat-timespec.texi: New file.
23486         * doc/gnulib.texi: Include it.
23488 2017-05-13  Bruno Haible  <bruno@clisp.org>
23490         windows-stat-override: New module.
23491         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
23492         definition. Define GNULIB_defined_struct_stat.
23493         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
23494         link error if this symbol is used and the corresponding module is not
23495         in use.
23496         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
23497         GNULIB_OVERRIDES_STRUCT_STAT.
23498         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
23499         GNULIB_OVERRIDES_STRUCT_STAT.
23500         * modules/sys_stat (Makefile.am): Substitute
23501         GNULIB_OVERRIDES_STRUCT_STAT.
23502         * modules/windows-stat-override: New file.
23504 2017-05-13  Bruno Haible  <bruno@clisp.org>
23506         fstat: Fix module dependency conditions.
23507         * modules/fstat (Depends-on): Fix typo.
23509 2017-05-13  Bruno Haible  <bruno@clisp.org>
23511         stat, fstat: Complete removal of old native Windows code.
23512         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
23513         * lib/fstat.c: Likewise.
23514         * lib/stat-w32.c: Likewise.
23516 2017-05-13  Bruno Haible  <bruno@clisp.org>
23518         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
23519         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
23521 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
23523         getopt-posix: port to mingw
23524         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
23525         Problem reported by Daniel P. Berrage in:
23526         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
23528 2017-05-11  Bruno Haible  <bruno@clisp.org>
23530         gettimeofday: Increase precision on mingw.
23531         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
23532         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
23533         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
23534         GetSystemTimePreciseAsFileTime based implementation always.
23535         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
23536         mingw.
23538 2017-05-11  Bruno Haible  <bruno@clisp.org>
23540         poll: Fix confusion between SOCKETs and FDs on native Windows.
23541         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
23542         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
23544 2017-05-11  Bruno Haible  <bruno@clisp.org>
23546         doc: Clarify doc about socket functions on native Windows.
23547         This reworks doc that was added on 2008-09-29.
23548         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
23549         clearer wording.
23550         * doc/posix-functions/accept.texi: Use clearer wording.
23551         * doc/posix-functions/bind.texi: Likewise.
23552         * doc/posix-functions/connect.texi: Likewise.
23553         * doc/posix-functions/getpeername.texi: Likewise.
23554         * doc/posix-functions/getsockname.texi: Likewise.
23555         * doc/posix-functions/getsockopt.texi: Likewise.
23556         * doc/posix-functions/ioctl.texi: Likewise.
23557         * doc/posix-functions/listen.texi: Likewise.
23558         * doc/posix-functions/recv.texi: Likewise.
23559         * doc/posix-functions/recvfrom.texi: Likewise.
23560         * doc/posix-functions/send.texi: Likewise.
23561         * doc/posix-functions/sendto.texi: Likewise.
23562         * doc/posix-functions/setsockopt.texi: Likewise.
23563         * doc/posix-functions/shutdown.texi: Likewise.
23564         * doc/posix-functions/socket.texi: Likewise.
23566 2017-05-10  Bruno Haible  <bruno@clisp.org>
23568         poll: Fix link error on native Windows.
23569         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
23571 2017-05-10  Bruno Haible  <bruno@clisp.org>
23573         time: Fix missing initialization of HAVE_TIMEZONE_T.
23574         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
23575         here...
23576         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
23577         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
23578         gl_HEADER_SYS_TIME_H_DEFAULTS.
23579         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
23580         (configure.ac): Remove useless quoting.
23582 2017-05-10  Bruno Haible  <bruno@clisp.org>
23584         Implement a way to opt out from MSVC support, part 2.
23585         * modules/msvc-inval (Include): Document recommended idiom.
23586         * modules/msvc-nothrow (Include): Likewise.
23588         Implement a way to opt out from MSVC support.
23589         This is useful for Emacs.
23590         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
23591         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
23592         * lib/error.c: Likewise.
23593         * lib/fcntl.c: Likewise.
23594         * lib/flock.c: Likewise.
23595         * lib/fstat.c: Likewise.
23596         * lib/fsync.c: Likewise.
23597         * lib/ioctl.c: Likewise.
23598         * lib/isapipe.c: Likewise.
23599         * lib/lseek.c: Likewise.
23600         * lib/nonblocking.c: Likewise.
23601         * lib/poll.c: Likewise.
23602         * lib/select.c: Likewise.
23603         * lib/sockets.h: Likewise.
23604         * lib/sockets.c: Likewise.
23605         * lib/stdio-read.c: Likewise.
23606         * lib/stdio-write.c: Likewise.
23607         * lib/utimens.c: Likewise.
23608         * lib/w32sock.h: Likewise.
23609         * lib/w32spawn.h: Likewise.
23610         * tests/test-cloexec.c: Likewise.
23611         * tests/test-dup-safer.c: Likewise.
23612         * tests/test-dup2.c: Likewise.
23613         * tests/test-dup3.c: Likewise.
23614         * tests/test-fcntl.c: Likewise.
23615         * tests/test-pipe.c: Likewise.
23616         * tests/test-pipe2.c: Likewise.
23617         * lib/ftruncate.c: Likewise.
23618         (chsize_nothrow): Renamed from chsize.
23619         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
23620         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
23621         * lib/close.c: Likewise.
23622         * lib/dup.c: Likewise.
23623         * lib/fclose.c: Likewise.
23624         * lib/raise.c: Likewise.
23625         * tests/test-fgetc.c: Likewise.
23626         * tests/test-fputc.c: Likewise.
23627         * tests/test-fread.c: Likewise.
23628         * tests/test-fwrite.c: Likewise.
23629         * lib/getdtablesize.c: Likewise.
23630         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
23631         * lib/isatty.c: Don't include msvc-inval.h if
23632         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
23633         Include <io.h> as an alternative to msvc-nothrow.h.
23634         * lib/read.c: Likewise.
23635         * lib/write.c: Likewise.
23636         * lib/dup2.c: Likewise.
23637         (dup2_nothrow): New function.
23638         (ms_windows_dup2): Use it.
23639         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
23640         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
23641         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
23642         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
23643         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
23644         * m4/read.m4 (gl_FUNC_READ): Likewise.
23645         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
23646         * doc/windows-without-msvc.texi: New file.
23647         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
23648         section.
23650 2017-05-10  Bruno Haible  <bruno@clisp.org>
23652         wait-process: Adjust native Windows support.
23653         * lib/wait-process.c: Use the usual condition for recognizing a native
23654         Windows platform.
23656 2017-05-10  Bruno Haible  <bruno@clisp.org>
23658         doc: New chapter "Native Windows Support".
23659         * doc/gnulib.texi (Native Windows Support): New chapter.
23660         * doc/windows-libtool.texi: Small wording changes.
23661         * doc/windows-sockets.texi: Small wording and formatting changes.
23663 2017-05-10  Bruno Haible  <bruno@clisp.org>
23665         doc: Move section "Library version handling".
23666         * doc/gnulib.texi: Move section "Library version handling"
23667         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
23669 2017-05-10  Bruno Haible  <bruno@clisp.org>
23671         doc: Move section "Running self-tests under valgrind".
23672         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
23673         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
23675 2017-05-10  Bruno Haible  <bruno@clisp.org>
23677         doc: New chapter "Build Infrastructure Modules".
23678         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
23680 2017-05-10  Bruno Haible  <bruno@clisp.org>
23682         Prepare for reordering sections in the manual.
23683         * doc/gnulib.texi: Move several sections to separate files. Include
23684         these files.
23685         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
23686         * doc/obsolete.texi: Likewise.
23687         * doc/extra-tests.texi: Likewise.
23688         * doc/transversal.texi: Likewise.
23689         * doc/namespace.texi: Likewise.
23690         * doc/check-version.texi: Likewise.
23691         * doc/windows-sockets.texi: Likewise.
23692         * doc/windows-libtool.texi: Likewise.
23693         * doc/licenses-texi.texi: Likewise.
23694         * doc/build-automation.texi: Likewise.
23695         * doc/c-locale.texi: Likewise.
23697 2017-05-10  Bruno Haible  <bruno@clisp.org>
23699         Fix instructions how to update manual on www.gnu.org.
23700         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
23702 2017-05-09  Bruno Haible  <bruno@clisp.org>
23704         tzset: Expand comment about TZ problem on native Windows.
23705         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
23706         Paul Eggert.
23707         * lib/ctime.c (rpl_ctime): Likewise.
23708         * lib/localtime.c (rpl_localtime): Likewise.
23709         * lib/mktime.c (mktime): Likewise.
23710         * lib/strftime-fixes.c (rpl_strftime): Likewise.
23711         * lib/wcsftime.c (rpl_wcsftime): Likewise.
23713 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
23715         intprops: don’t depend on ‘verify’
23716         Problem reported by Ævar Arnfjörð Bjarmason in:
23717         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
23718         * lib/intprops.h: Do not include verify.h, and move compile-time
23719         checks from here ...
23720         * tests/test-intprops.c (main): ... to here, if they’re not here
23721         already.  Check widths of other standard integer types.
23722         * modules/intprops (Depends-on): Remove ‘verify’.
23724 2017-05-07  Bruno Haible  <bruno@clisp.org>
23726         utimens: On native Windows, support 100ns resolution also if fd < 0.
23727         * lib/utime.in.h: Include <time.h>.
23728         (_gl_utimens_windows): New declaration.
23729         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
23730         (utime): Invoke it.
23731         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
23732         instead of utime.
23733         * modules/utime (Depends-on): Add 'time'.
23735 2017-05-07  Bruno Haible  <bruno@clisp.org>
23737         utimens: Improve error code on native Windows.
23738         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
23739         error code EACCES, not EINVAL.
23741 2017-05-07  Bruno Haible  <bruno@clisp.org>
23743         utime: Handle more Windows error codes.
23744         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
23745         Based on explanations by Billy O'Neal.
23747 2017-05-05  Bruno Haible  <bruno@clisp.org>
23749         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
23750         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
23751         union.
23752         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
23753         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
23754         value of cipher->IV.
23756 2017-05-05  Bruno Haible  <bruno@clisp.org>
23758         wctype-h-c++-tests: Update.
23759         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
23761 2017-05-05  Bruno Haible  <bruno@clisp.org>
23763         wchar-c++-tests: Update.
23764         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
23766 2017-05-05  Bruno Haible  <bruno@clisp.org>
23768         utime-h-c++-tests: New module.
23769         * tests/test-utime-h-c++.cc: New file.
23770         (utime): Declare, missing since 2017-04-30.
23771         * modules/utime-h-c++-tests: New file.
23773 2017-05-05  Bruno Haible  <bruno@clisp.org>
23775         unistd-c++-tests: Update.
23776         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
23777         (read): Declare, missing since 2011-04-15.
23778         (sethostname): Declare, missing since 2011-12-03.
23780 2017-05-05  Bruno Haible  <bruno@clisp.org>
23782         time-c++-tests: Update.
23783         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
23784         (localtime, gmtime): Declare, missing since 2017-04-30.
23785         (ctime): Declare, missing since 2017-04-30.
23786         (strftime): Declare, missing since 2017-04-30.
23787         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
23788         2015-07-24.
23790 2017-05-05  Bruno Haible  <bruno@clisp.org>
23792         sys_resource-c++-tests: New module.
23793         * tests/test-sys_resource-c++.cc: New file.
23794         (getrusage): Declare, missing since 2012-04-13.
23795         * modules/sys_resource-c++-tests: New file.
23797 2017-05-05  Bruno Haible  <bruno@clisp.org>
23799         strings-c++-tests: New module.
23800         * tests/test-strings-c++.cc: New file.
23801         (ffs): Declare, missing since 2011-07-12.
23802         * modules/strings-c++-tests: New file.
23804 2017-05-05  Bruno Haible  <bruno@clisp.org>
23806         string-c++-tests: Update.
23807         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
23808         (ffsll): Declare, missing since 2011-07-15.
23810 2017-05-05  Bruno Haible  <bruno@clisp.org>
23812         stdlib-c++-tests: Update.
23813         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
23814         2011-10-18.
23815         (ptsname_r): Declare, missing since 2011-11-07.
23816         (qsort_r): Declare, missing since 2014-08-29.
23817         (random, srandom, initstate, setstate): Declare, missing since
23818         2012-01-14.
23819         (secure_getenv): Declare, missing since 2013-02-05.
23821 2017-05-05  Bruno Haible  <bruno@clisp.org>
23823         stdio-c++-tests: Update.
23824         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
23826 2017-05-05  Bruno Haible  <bruno@clisp.org>
23828         signal-h-c++-tests: Update.
23829         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
23831 2017-05-05  Bruno Haible  <bruno@clisp.org>
23833         math-c++-tests: Update.
23834         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
23835         (fma): Declare, missing since 2011-10-17.
23836         (fmal): Declare, missing since 2011-10-17.
23838 2017-05-05  Bruno Haible  <bruno@clisp.org>
23840         locale-c++-tests: Update.
23841         * tests/test-locale-c++.cc (localeconv): Declare, missing since
23842         2012-03-25.
23844 2017-05-05  Bruno Haible  <bruno@clisp.org>
23846         inttypes-c++-tests: New module.
23847         * tests/test-inttypes-c++.cc: New file.
23848         (strtoimax): Declare, missing since 2012-01-05.
23849         (strtoumax): Declare, missing since 2012-01-05.
23850         * modules/inttypes-c++-tests: New file.
23852 2017-05-05  Bruno Haible  <bruno@clisp.org>
23854         dirent-c++-tests: Update.
23855         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
23856         (rewinddir): Declare, missing since 2011-09-13.
23857         (dirfd): Declare, missing since 2010-03-08.
23859 2017-05-04  Bruno Haible  <bruno@clisp.org>
23861         argp: Fix mistake in 2017-04-23 commit.
23862         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
23863         assume that strerror_r returns 'int', not 'char *'.
23865 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
23867         argp: Fix typo.
23868         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
23870 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
23872         utimens: port to Emacs + MS-Windows
23873         Skip the new MS-Windows-specific code if Emacs.
23874         * lib/utimens.c [EMACS_CONFIGUATION]:
23875         Avoid new MS-Windows-specific code.
23876         (USE_SETFILETIME): New macro.
23877         (fdutimens): Use it.
23879 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
23881         tzset: update doc for TZ problems on MS-Windows
23882         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
23883         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
23884         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
23885         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
23886         * doc/posix-functions/wcsftime.texi:
23887         Mention some issues with TZ under MS-Windows.
23889 2017-05-01  Bruno Haible  <bruno@clisp.org>
23891         copy-file: Fix build error on mingw.
23892         * modules/copy-file (Depends-on): Add 'close'.
23894 2017-05-01  Bruno Haible  <bruno@clisp.org>
23896         tzset: Work around TZ problem on native Windows.
23897         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
23898         Windows, set REPLACE_TZSET to 1.
23899         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
23900         invoke '_tzset' instead of 'tzset'.
23901         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
23903         * modules/time_rz (Depends-on): Add tzset.
23904         * lib/time_rz.c (tzset): Remove fallback definition.
23905         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
23907 2017-05-01  Bruno Haible  <bruno@clisp.org>
23909         mktime: Fix dependencies.
23910         * modules/mktime (Depends-on): Add 'time'.
23912 2017-05-01  Bruno Haible  <bruno@clisp.org>
23914         New module 'localtime-buffer', split off from module 'gettimeofday'.
23915         * lib/localtime-buffer.h: New file.
23916         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
23917         * lib/time.in.h (tzset): New declaration.
23918         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
23919         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
23920         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
23921         moved to lib/localtime-buffer.c or lib/tzset.c.
23922         * m4/localtime-buffer.m4: New file.
23923         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
23924         HAVE_TZSET, REPLACE_TZSET.
23925         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
23926         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
23927         gl_LOCALTIME_BUFFER_NEEDED.
23928         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
23929         since 2007-01-18.
23930         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
23931         tzset.
23932         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
23933         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
23934         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
23935         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
23936         * modules/localtime-buffer: New file.
23937         * modules/time (Depends-on): Remove 'gettimeofday'.
23938         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
23939         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
23940         * modules/tzset (Description): Enable hyperlink to POSIX spec.
23941         (Files): Add lib/tzset.c.
23942         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
23943         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
23944         gl_TIME_MODULE_INDICATOR.
23945         * modules/gettimeofday (Depends-on): Add localtime-buffer.
23947 2017-05-01  Bruno Haible  <bruno@clisp.org>
23949         copy-file: Preserve sub-second time stamps.
23950         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
23951         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
23952         transport the time stamps from the original file to the destination
23953         file.
23954         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
23955         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
23956         utime-h.
23958 2017-05-01  Bruno Haible  <bruno@clisp.org>
23960         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
23961         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
23962         also on MSVC.
23963         Reported by Eli Zaretskii <eliz@gnu.org>.
23965 2017-05-01  Bruno Haible  <bruno@clisp.org>
23967         wchar: Fix compilation error with the original mingw.org mingw.
23968         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
23969         <stddef.h> instead.
23970         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
23971         gl_WCTYPE_H.
23972         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
23973         gl_TYPE_WINT_T_PREREQ instead.
23974         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
23975         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
23976         Reported by Eli Zaretskii <eliz@gnu.org>.
23978 2017-04-30  Bruno Haible  <bruno@clisp.org>
23980         utimecmp: Add support for native Windows.
23981         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
23983 2017-04-30  Bruno Haible  <bruno@clisp.org>
23985         utimens: Add support for native Windows.
23986         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
23987         (fdutimens): Provide a native Windows implementation, like utime.c with
23988         added tv_nsec support.
23989         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
23990         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
23992 2017-04-30  Bruno Haible  <bruno@clisp.org>
23994         wcsftime: New module.
23995         * lib/wchar.in.h (wcsftime): New declaration.
23996         * lib/wcsftime.c: New file.
23997         * m4/wcsftime.m4: New file.
23998         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
23999         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
24000         HAVE_WCSFTIME, REPLACE_WCSFTIME.
24001         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
24002         HAVE_WCSFTIME, REPLACE_WCSFTIME.
24003         * modules/wcsftime: New file.
24004         * doc/posix-functions/wcsftime.texi: Mention the new module.
24006 2017-04-30  Bruno Haible  <bruno@clisp.org>
24008         strftime-fixes: New module.
24009         * lib/time.in.h (strftime): New declaration.
24010         * lib/strftime-fixes.c: New file.
24011         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
24012         (gl_FUNC_STRFTIME): Remove macro.
24013         * m4/strftime-fixes.m4: New file.
24014         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
24015         REPLACE_STRFTIME.
24016         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
24017         REPLACE_STRFTIME.
24018         * modules/strftime-fixes: New file.
24019         * doc/posix-functions/strftime.texi: Mention the new module.
24021 2017-04-30  Bruno Haible  <bruno@clisp.org>
24023         mktime: Work around TZ problem on native Windows.
24024         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
24025         from the native Windows workaround.
24026         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
24027         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
24028         'guessing no'.
24029         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
24030         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
24031         NEED_MKTIME_WINDOWS.
24032         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
24033         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
24034         NEED_MKTIME_INTERNAL.
24035         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
24036         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
24037         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
24038         not REPLACE_MKTIME.
24039         * doc/posix-functions/mktime.texi: Mention the native Windows
24040         workaround.
24042 2017-04-30  Bruno Haible  <bruno@clisp.org>
24044         localtime: New module.
24045         * lib/time.in.h (localtime): Declare also if requested by module
24046         'localtime'.
24047         * lib/localtime.c: New file.
24048         * m4/localtime.m4: New file.
24049         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
24050         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
24051         * modules/localtime: New file.
24052         * doc/posix-functions/localtime.texi: Mention the new module.
24054 2017-04-30  Bruno Haible  <bruno@clisp.org>
24056         ctime: New module.
24057         * lib/time.in.h (ctime): New declaration.
24058         * lib/ctime.c: New file.
24059         * m4/ctime.m4: New file.
24060         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
24061         REPLACE_CTIME.
24062         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
24063         * modules/ctime: New file.
24064         * doc/posix-functions/ctime.texi: Mention the new module.
24066 2017-04-30  Bruno Haible  <bruno@clisp.org>
24068         gettimeofday: Provide higher resolution on native Windows.
24069         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
24070         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
24071         (initialize): Initialize it.
24072         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
24073         'struct timeval'. Don't use _ftime().
24074         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
24075         <sys/timeb.h> and _ftime.
24077 2017-04-30  Bruno Haible  <bruno@clisp.org>
24079         Document the problem with the Cygwin environment variable TZ.
24080         * doc/posix-functions/tzset.texi: Add note about TZ.
24081         * doc/posix-functions/ctime.texi: Likewise.
24082         * doc/posix-functions/localtime.texi: Likewise.
24083         * doc/posix-functions/mktime.texi: Likewise.
24084         * doc/posix-functions/strftime.texi: Likewise.
24085         * doc/posix-functions/wcsftime.texi: Likewise.
24086         * doc/pastposix-functions/ftime.texi: Likewise.
24088 2017-04-30  Bruno Haible  <bruno@clisp.org>
24090         utime-tests: New module.
24091         * tests/test-utime.c: New file, based on tests/test-utimens.h.
24092         * tests/test-utimens-common.h: Include <sys/stat.h>.
24093         * modules/utime-tests: New file.
24095 2017-04-29  Bruno Haible  <bruno@clisp.org>
24097         utime: New module.
24098         * lib/utime.in.h: Add comment for snippets.
24099         (utime): New declaration.
24100         * lib/utime.c: New file.
24101         * m4/utime.m4: New file.
24102         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
24103         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
24104         REPLACE_UTIME.
24105         * modules/utime-h (Depends-on): Add snippets.
24106         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
24107         Insert snippets.
24108         * modules/utime: New file.
24109         * doc/posix-functions/utime.texi: Mention the new module.
24111 2017-04-29  Bruno Haible  <bruno@clisp.org>
24113         utime-h: Modernize handling of 'struct utimbuf'.
24114         * lib/utime.in.h: Include next <utime.h> if it exists.
24115         (utimbuf): Define to _utimbuf on native Windows.
24116         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
24117         Set UTIME_H on native Windows.
24118         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
24119         * modules/utime-h (Depends-on): Add include_next.
24120         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
24121         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
24123         * lib/utimens.c (utimbuf): Remove fallback definition.
24124         * m4/utimens.m4 (gl_UTIMENS): Don't require
24125         gl_CHECK_TYPE_STRUCT_UTIMBUF.
24126         * m4/utimbuf.m4: Remove file.
24127         * modules/utimens (Files): Remove m4/utimbuf.m4.
24129 2017-04-29  Bruno Haible  <bruno@clisp.org>
24131         Make use of module 'utime-h'.
24132         * modules/copy-file (Depends-on): Add utime-h.
24133         * lib/copy-file.c: Assume that <utime.h> exists.
24134         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
24136         * modules/utimens (Depends-on): Add utime-h.
24137         * lib/utimens.c: Assume that <utime.h> exists.
24139 2017-04-29  Bruno Haible  <bruno@clisp.org>
24141         utime-h: New module.
24142         * m4/utime_h.m4: New file.
24143         * lib/utime.in.h: New file.
24144         * modules/utime-h: New file.
24145         * doc/posix-headers/utime.texi: Mention the new module.
24147         * tests/test-utime-h.c: New file.
24148         * modules/utime-h-tests: New file.
24150 2017-04-30  Bruno Haible  <bruno@clisp.org>
24152         Fix a few typos.
24153         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
24154         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
24155         * doc/posix-functions/fstat.texi: Fix a plural typo.
24156         * doc/posix-functions/stat.texi: Likewise.
24157         * m4/include_next.m4: Update comments.
24159 2017-04-29  Bruno Haible  <bruno@clisp.org>
24161         error: Fix mistake in 2017-04-23 commit.
24162         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
24163         assume that strerror_r returns 'int', not 'char *'.
24165 2017-04-29  Bruno Haible  <bruno@clisp.org>
24167         stat: Fix time_t values and other problems on native Windows platforms.
24168         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
24169         implementations of stat().
24170         * lib/stat.c: Include filename.h instead of dosname.h. Include
24171         malloca.h, stat-w32.h.
24172         (is_unc_root): New function.
24173         (rpl_stat): New implementation for native Windows. Remove
24174         REPLACE_FUNC_STAT_DIR code.
24175         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
24176         Don't define REPLACE_FUNC_STAT_DIR.
24177         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
24178         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
24179         (Depends-on): Remove dosname. Add filename, malloca.
24180         (configure.ac): Also compile lib/stat-w32.c.
24182 2017-04-29  Bruno Haible  <bruno@clisp.org>
24184         fstat: Fix time_t values on native Windows platforms.
24185         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
24186         * lib/stat-w32.h: New file.
24187         * lib/stat-w32.c: New file.
24188         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
24189         stat-w32.h instead.
24190         (fstat_nothrow): Remove function.
24191         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
24192         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
24193         always.
24194         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
24195         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
24196         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
24197         (configure.ac): Also compile lib/stat-w32.c.
24199 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
24201         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
24202         Problem reported by Assaf Gordon and Gavin Smith in:
24203         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
24204         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
24205         #define this, too.
24207 2017-04-29  Bruno Haible  <bruno@clisp.org>
24209         strerror_r-posix: Fixes for MSVC 14.
24210         * lib/strerror_r.c: Include <stdarg.h>.
24211         (strerror_r): Provide error messages for errno values 100...140.
24212         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
24214 2017-04-28  Bruno Haible  <bruno@clisp.org>
24216         noreturn: New module.
24217         * lib/noreturn.h: New file.
24218         * modules/noreturn: New file.
24219         * tests/test-noreturn.c: New file.
24220         * modules/noreturn-tests: New file.
24221         * tests/test-noreturn-c++.cc: New file.
24222         * modules/noreturn-c++-tests: New file.
24224 2017-04-27  Bruno Haible  <bruno@clisp.org>
24226         wctype-h: Fix compilation error with the original mingw.org mingw.
24227         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
24228         HAVE_CRTDEFS_H.
24229         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
24230         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
24231         <stddef.h> instead.
24232         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
24234 2017-04-26  Pádraig Brady  <P@draigBrady.com>
24236         nap.h: Fix compilation on non windows platforms
24237         * tests/nap.h: Move misplaced endif.
24239 2017-04-26  Pádraig Brady  <P@draigBrady.com>
24240         and Paul Eggert  <eggert@cs.ucla.edu>
24242         time_rz: fix heap buffer overflow vulnerability
24243         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
24244         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
24245         whether there is enough buffer space available, thus avoiding
24246         the problematic promotion of signed to unsigned causing an invalid
24247         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
24248         the start of the buffer.
24249         * tests/test-parse-datetime.c (main): Add a test case written by
24250         Paul Eggert, which overwrites enough of the heap so that
24251         standard glibc will fail with "free(): invalid pointer"
24252         without the patch applied.
24254 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
24256         xalloc: add missing integer overflow check
24257         * lib/xalloc.h (x2nrealloc): Also check for multiplication
24258         overflow when P is null.
24260 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
24262         parse-datetime: make it standalone
24263         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
24264         (_GL_ATTRIBUTE_FORMAT): New macro.
24265         These are needed to get './gnulib-tool --test parse-datetime' to work.
24267 2017-04-23  Bruno Haible  <bruno@clisp.org>
24269         nap.h: Port to native Windows.
24270         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
24271         use nap_fd instead. On native Windows, close and reopen nap_fd.
24272         (nap_works): Don't compare the ctimes, because on native Windows, these
24273         are the creation times.
24274         (nap): Update.
24276 2017-04-23  Bruno Haible  <bruno@clisp.org>
24278         nap.h: Fix logic.
24279         * tests/nap.h (nap): Avoid signed integer overflow in loop.
24281 2017-04-23  Bruno Haible  <bruno@clisp.org>
24283         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
24284         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
24285         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
24286         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
24287         * lib/argp-help.c (__argp_failure): Likewise.
24289 2017-04-23  Bruno Haible  <bruno@clisp.org>
24291         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
24292         * m4/strerror_r.m4: Revert changes since 2016-10-16.
24293         * lib/strerror_r.c: Likewise.
24295 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
24297         Target a C99 subset, not a C89 subset
24298         For many years Gnulib has targeted C89 and has resisted using C99
24299         features, as some Gnulib-using programs still wanted to target
24300         C89.  As this no longer seems to be the case, relax the porting
24301         requirements to allow some C99 features.  This is merely a change
24302         to the documentation, to give other Gnulib developers a chance to
24303         weigh in on the topic.
24304         * doc/extern-inline.texi (extern inline):
24305         * doc/gnulib-readme.texi (Portability guidelines):
24306         * doc/gnulib-tool.texi (Initial import):
24307         * doc/gnulib.texi (Header files):
24308         Modernize to talk about C99 and C11 instead of C89 and C99.
24309         * doc/gnulib-readme.texi (Portability guidelines):
24310         Now a section, not merely a subsection, so that it
24311         can be split up.  Modernize a bit.
24312         (C language versions, C99 features assumed)
24313         (C99 features avoided):
24314         New sections.
24316 2017-04-23  Bruno Haible  <bruno@clisp.org>
24318         doc: New section "Modules that modify the way other modules work".
24319         * doc/gnulib.texi (Modules that modify the way other modules work): New
24320         section.
24322 2017-04-23  Bruno Haible  <bruno@clisp.org>
24324         stat-time: Update comments.
24325         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
24326         * tests/test-utimens-common.h: Add reference regarding st_ctime on
24327         Windows.
24329 2017-04-01  Bruno Haible  <bruno@clisp.org>
24331         glob: Fix more memory leaks.
24332         * lib/glob.c (glob): Free allocated memory before returning.
24333         Reported by Coverity via Tim Rühsen.
24335 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
24337         poll: improve fast check for out-of-range NFD
24338         * lib/poll.c: Do not include intprops.h.
24339         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
24340         * modules/poll (Depends-on): Remove intprops.
24342         ftoastr: cite a newer paper
24343         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
24344         instead of Loitsch 2010.
24346 2017-04-22  Bruno Haible  <bruno@clisp.org>
24348         poll: Enable argument check also in the Windows implementation.
24349         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
24350         Reported by Paul Eggert.
24352 2017-04-22  Bruno Haible  <bruno@clisp.org>
24354         getlogin_r: Work around bug in Mac OS X 10.12.
24355         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
24356         bug.
24357         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
24358         given size minus 1, call getlogin_r a second time, on a larger buffer.
24359         * modules/getlogin_r (Depends-on): Add malloca.
24360         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
24362 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
24364         parse-datetime: fix %z and prefer signed int
24365         %z problem reported by Pádraig Brady in:
24366         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
24367         While fixing it, I decided to prefer signed ints to size_t, as
24368         they are less error-prone (e.g., ubsan catches overflow).
24369         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
24370         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
24371         counts, since signed integers make for better debugging.
24372         (date): Don’t assume %z works in printf formats.
24373         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
24374         sizes of buffers known to be small, e.g., because we’re using snprintf.
24375         (parse_datetime2): Simplify call to debug_mktime_not_ok.
24377 2017-04-22  Bruno Haible  <bruno@clisp.org>
24379         *printf: Work around rounding bug on Mac OS X.
24380         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
24381         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
24382         Mac OS X and FreeBSD.
24383         * doc/glibc-functions/*printf.texi: Likewise.
24385 2017-04-22  Bruno Haible  <bruno@clisp.org>
24387         vasnprintf tests: Avoid warnings.
24388         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
24389         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
24390         test.
24392 2017-04-22  Bruno Haible  <bruno@clisp.org>
24394         sys_file tests: Avoid warning.
24395         * tests/test-sys_file.c (main): Add a default clause to the switch
24396         statement.
24398 2017-04-22  Bruno Haible  <bruno@clisp.org>
24400         sethostname: Update doc.
24401         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
24402         Mac OS X.
24404 2017-04-22  Bruno Haible  <bruno@clisp.org>
24406         quotearg tests: Avoid warnings.
24407         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
24408         false.
24410 2017-04-22  Bruno Haible  <bruno@clisp.org>
24412         poll: Enable argument check.
24413         * lib/poll.c: Include intprops.h.
24414         (poll): Check value of nfd correctly.
24415         * modules/poll (Depends-on): Add intprops.
24417 2017-04-22  Bruno Haible  <bruno@clisp.org>
24419         get-rusage-data: Avoid warnings on Mac OS X.
24420         * lib/get-rusage-data.c: On Mac OS X, don't define
24421         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
24422         (get_rusage_data) [Mac OS X]: Just return 0.
24424 2017-04-22  Bruno Haible  <bruno@clisp.org>
24426         xbinary-io: Fix build error.
24427         * modules/xbinary-io (Depends-on): Add gettext-h.
24428         * lib/xbinary-io.c: Include gettext.h and define _().
24429         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
24430         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
24432 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
24434         parse-datetime: overflow and debug cleanups
24435         This long patch was triggered by this bug report from Ruediger Meier:
24436         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
24437         I fixed the bug he noted, then found some others nearby, and then
24438         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
24439         up some of the code to follow GNU standards while I was at it.
24440         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
24441         use c_isdigit.
24442         (EPOCH_YEAR): Remove; unused.
24443         (TM_YEAR_BASE): Now an enum rather than a macro.
24444         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
24445         time zone offset, since timezones now are in terms of seconds and
24446         not minutes.
24447         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
24448         appropriate.  Verify that intmax_t is wide enough.
24449         (time_overflow, time_zone_str): New functions, used to deal
24450         more reliably with overflow.
24451         (dbg_printf): Add printf attribute, to help catch integer width errors.
24452         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
24453         (%union, to_hour, yylex, parse_datetime2):
24454         Use intmax_t instead of long int and/or long_time_t.
24455         All uses changed.
24456         (DBGBUFSIZE): Move earlier.
24457         (relative_time, set_hhmmss, parser_control):
24458         Just use int for nanoseconds and for time zones; that’s wide enough.
24459         (parser_control): Use bool for members like year_seen that can
24460         be booleans instead of counters.  All uses changed.
24461         Remove debug_default_input_timezone; no longer needed.
24462         All uses removed.
24463         (apply_relative_time): Return a bool overflow flag.
24464         All uses changed to check for overflow.
24465         (apply_relative_time, zone, date, relunit, relunit_snumber)
24466         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
24467         Check for integer overflow portably.
24468         (str_days): Use just int for N, as it’s wide enough.
24469         Prefer 2D char arrays to arrays of char * when it looks like
24470         2D is a win on typical platforms.
24471         Prefer snprintf to strncpy/strncat, for simplicity;
24472         all buffers are smaller than INT_MAX so this is safe.
24473         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
24474         (debug_print_current_time): Don’t assume tv_nsec is of type long,
24475         as this is not true on x32.  Output "." before any nanoseconds.
24476         (debug_print_current_time, parse_datetime2):
24477         Output local zones using a more-consistent format.
24478         (debug_print_current_time, date, parse_datetime2):
24479         (main) [TEST]:
24480         Don’t assume time_t is the same width as long.
24481         (print_rel_part): New function, replacing ...
24482         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
24483         (debug_print_relative_time): Use bool for boolean.
24484         (local_zone): dsts_seen now counts only tDST instances.
24485         (date): Fix printf of size_t to use %z.  Do not assume numeric
24486         tokens have negative values merely because the context suggests
24487         a syntax with "-" separating tokens.
24488         (time_zone_hhmm): Return bool success indicator, which checks for
24489         overflow.  Store result into PC->time_zone instead.  All callers
24490         changed.
24491         (tm_year_str): New function.  Return a bool success indicator and
24492         store the result into a buffer.  All callers changed.  Output the
24493         numerically correct string even if adding 1900 to the year would
24494         overflow.
24495         (to_tm_year): New function, replacing the old to_year.  All
24496         callers changed.
24497         (tm_diff): Sync with glibc.
24498         (lookup_word): Use to_uchar instead of doing it by hand.
24499         (TZBUFSIZE): Now local to the only function that needs it.
24500         (debug_strfdatetime): Simplify now that time zones are int seconds.
24501         (debug_strfdate): Work even if tm_year + 1900 would overflow.
24502         (get_effective_timezone): Remove.  All uses removed.
24503         (parse_datetime2): Use fprintf in pieces instead of snprintfing
24504         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
24505         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
24506         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
24507         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
24508         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
24509         * modules/parse-datetime (Depends-on): Add inttypes.
24511 2017-04-21  Bruno Haible  <bruno@clisp.org>
24513         gettext-h: Avoid -Wundef warning.
24514         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
24515         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
24516         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
24518 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
24520         error: Avoid "function declaration isn't a prototype" warning.
24521         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
24523 2017-04-21  Bruno Haible  <bruno@clisp.org>
24525         vasnprintf: Fix for MSVC 14.
24526         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
24527         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
24528         of !HAVE_SNPRINTF_RETVAL_C99.
24530 2017-04-21  Bruno Haible  <bruno@clisp.org>
24532         mbrtowc tests: Fix test failures on MSVC 14.
24533         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
24534         behaviour for invalid input.
24536 2017-04-21  Bruno Haible  <bruno@clisp.org>
24538         mbsinit: Fix for MSVC 14.
24539         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
24540         implementation that is in sync with mbrtowc.c. On other platforms, use
24541         an adequate ad-hoc implementation.
24543 2017-04-21  Bruno Haible  <bruno@clisp.org>
24545         Fix test-mbrtowc5.sh failure on native Windows.
24546         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
24547         "C".
24549 2017-04-21  Bruno Haible  <bruno@clisp.org>
24551         Avoid accidental use of native Windows APIs on Cygwin.
24552         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
24553         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
24554         * lib/localename.c (WINDOWS_NATIVE): Likewise.
24556 2017-04-20  Bruno Haible  <bruno@clisp.org>
24558         Remove red warnings from the generated MODULES.html.
24559         * modules/fcntl (Description): Disambiguate function references.
24560         * modules/getcwd-lgpl (Description): Likewise.
24561         * modules/hostent (Description): Likewise.
24562         * modules/servent (Description): Likewise.
24563         * modules/tempname (Description): Likewise.
24565 2017-04-20  Bruno Haible  <bruno@clisp.org>
24567         verify tests: Fix spurious failure with parallel make.
24568         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
24569         EXTRA_PROGRAMS.
24570         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
24571         * tests/test-verify-try.c: New file.
24572         * modules/verify-tests (Files): Add it.
24573         (EXTRA_PROGRAMS): Add test-verify-try.
24574         (MOSTLYCLEANFILES): Update accordingly.
24575         Reported by Adam James Stewart <ajstewart@anl.gov>.
24577 2017-04-18  Bruno Haible  <bruno@clisp.org>
24579         vma-iter: Fix compilation error on Solaris 7.
24580         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
24581         like on IRIX, OSF/1.
24582         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24584 2017-04-18  Bruno Haible  <bruno@clisp.org>
24586         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
24587         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
24588         included.
24589         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
24590         <sys/procfs.h>.
24591         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
24592         <sys/procfs.h> cannot be included.
24593         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24595 2017-04-18  Bruno Haible  <bruno@clisp.org>
24597         getopt-gnu: Add comments.
24598         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
24599         * modules/getopt-gnu (configure.ac): Likewise.
24601 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
24603         regex: port better to Solaris 10
24604         Solaris 10 <locale.h> includes <libintl.h>, which #defines
24605         gettext, and this causes a double #define.
24606         Problem reported by Gavin Smith in:
24607         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
24608         * lib/regex_internal.h (gettext): #undef before #defining.
24610 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24612         intprops: improve comments
24613         * lib/intprops.h: Improve and shorten commentary.
24614         For the record, if we ever run into a pedantic compiler that
24615         behaves differently from GCC when converting an out-of-range value
24616         to a signed integer, we can work around the problem with something
24617         like the following code, where UCT is the signed counterpart of T
24618         (UCT is sometimes narrower than UT) and all callers are changed
24619         accordingly:
24620         #if __SUNPRO_C <= 0x5120
24621         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
24622            ((t) ((ut) (a) op (ut) (b)))
24623         #else
24624         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
24625            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
24626             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
24627                + TYPE_MINIMUM (t)) \
24628             : (t) (uct) ((ut) (a) op (ut) (b)))
24629         #endif
24631 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24633         intprops: try to avoid tickling similar bugs
24634         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
24635         needs to be the same width as T; it can be wider.
24636         Change callers so that UT is at least as wide as unsigned int,
24637         as I suspect that this is less likely to run into compiler bugs.
24639         intprops: port to Oracle Studio 12.3 x86
24640         Problem reported by Gavin Smith in:
24641         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
24642         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
24643         Convert unsigned to signed via the usual rather than the standard way,
24644         to avoid a compiler bug in Oracle Studio 12.3 x86.
24646 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
24648         getopt: prefer - to _ in new file names
24649         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
24650         * lib/getopt-core.h: Rename from lib/getopt_core.h.
24651         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
24652         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
24653         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
24654         All uses changed.
24656         getopt: port recent getopt changes to macOS
24657         Problem reported by Harald Maier (Bug#26398).
24658         The macOS C compiler uses __nonnull for its own purposes and that
24659         clashes with glibc's __nonnull.
24660         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
24661         * lib/getopt_cdefs.in.h (__nonnull): Remove.
24662         * lib/getopt_core.h (getopt):
24663         * lib/getopt_ext.h (getopt_long, getopt_long_only):
24664         Use _GL_ARG_NONNULL, not __nonnull.
24665         * lib/unistd.in.h: Move snippet hooks to before where the getopt
24666         .h files are included, so that _GL_ARG_NONNULL is defined in time.
24667         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
24668         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
24670 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
24672         getopt-gnu: omit some duplicate code
24673         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
24674         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
24675         gnulib-tool already does this.
24676         * modules/getopt-gnu (configure.ac): Omit code duplicated from
24677         getopt-posix, which we depend on.
24679         getopt-posix: use angle-bracket include
24680         * lib/getopt1.c: Include <config.h>, not "config.h".
24682 2017-04-06  Zack Weinberg  <zackw@panix.com>
24684         getopt: annotate files with relationship to glibc
24686         As the final act in this patchset, adjust the message at the top of
24687         each file to indicate which files are synced with glibc.  (This has
24688         already been done for most of the headers.)
24690         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
24691         Mention in top-of-file boilerplate that these files are shared
24692         between glibc and gnulib.
24695         getopt: split up getopt.in.h and eliminate __need_getopt
24697         Over in glibc, all of the __need macros are being phased out in favor
24698         of small headers that declare only the necessary components, as this
24699         is much simpler and less prone to bugs.  As getopt is shared with
24700         glibc, gnulib needs to do the same for __need_getopt.
24702         __need_getopt is misnamed; what it really means is "we want only the
24703         getopt features specified in POSIX, not the GNU extensions".  glibc
24704         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
24705         these files can be shared verbatim with gnulib.  The portability
24706         wrapper, on the other hand, they have renounced altogether; glibc's
24707         getopt.h will no longer be shared with gnulib at all.  In exchange,
24708         certain glibc-specific quirks (having to do with __posix_getopt) no
24709         longer need appear in gnulib's headers at all.
24711         This patch merges getopt_core.h and getopt_ext.h from glibc, and
24712         splits up the current gnulib-side portability wrapper into three
24713         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
24714         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
24715         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
24716         unistd.in.h just use them.  All new files are clearly marked with
24717         whether they are shared with glibc.
24719         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
24720         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
24721         with glibc, and ...
24722         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
24723         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
24724         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
24725         instead of defining __need_getopt and including the full getopt.h.
24727         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
24728         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
24729         * modules/getopt-posix (Files): Add new headers and sort list.
24730         (Depends-on): No longer need snippet/arg-nonnull.
24731         (Makefile.am): Generate getopt_cdefs.h.
24734         getopt: better handling of ambiguous options
24736         glibc's getopt uses alloca to construct a linked list of possibilities
24737         for an "ambiguous" long option.  In gnulib, malloc should be used
24738         instead.  Providing for both cases complicates things a fair bit.
24740         This patch rewrites ambiguous-option handling to use a boolean vector
24741         instead of a linked list.  There is then only one allocation that
24742         might need freeing; in glibc it can honor __libc_use_alloca as usual,
24743         and in gnulib we define __libc_use_alloca to always be false, so we
24744         don't need ifdefs in the middle of the function.  This should also be
24745         slightly more efficient in the normal case of long options being fully
24746         spelled out -- I think most people aren't even aware they _can_
24747         sometimes abbreviate long options.
24749         One interesting consequence is that the list of possibilities is now
24750         printed in exactly the order they appear in the list of long options,
24751         instead of the first possibility being shuffled to the end.
24753         (The patch looks bigger than it really is because there's a fair bit
24754         of reindentation and code rearrangement.)
24756         * lib/getopt.c: When used standalone, define __libc_use_alloca
24757         as always false and alloca to abort if called.
24758         (process_long_option): Rewrite handling of ambiguous long options
24759         to use a single boolean vector, not a linked list; use
24760         __libc_use_alloca to decide whether to allocate this using alloca.
24763         getopt: refactor long-option handling
24765         There were two copies of the bulk of the code to handle long options.
24766         Now there is only one.
24768         This change temporarily removes the logic to avoid using alloca when
24769         standalone; the next patch in the series will restore it.
24771         * lib/getopt.c (process_long_option): New function split out
24772         from _getopt_internal_r.
24773         (_getopt_internal_r): Replace both copies of the long-option
24774         processing code with calls to process_long_option.
24777         getopt: tidy up _getopt_initialize a bit
24779         _getopt_data.__posixly_correct is completely redundant to
24780         _getopt_data.__ordering, and some work that logically belongs in
24781         _getopt_initialize was being done by _getopt_internal_r, making the
24782         code harder to understand.
24784         As a side effect, getenv will no longer be called if the first
24785         character of the options string is '+' or '-', which is probably a
24786         Good Thing.  (Perhaps we should have a flag character that
24787         specifically asks for the permutation behavior?)
24789         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
24790         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
24791         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
24794         getopt: merge from glibc: repetition reduction
24796         The definitions of the entry point functions 'getopt' and
24797         '__posix_getopt' can be made substantially less repetitive with a
24798         helper macro.
24800         While I was merging the const-correctness changes from gnulib into
24801         glibc I noticed there are still some unnecessary casts in
24802         _getopt_internal_r.
24804         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
24805         a macro.  Consistently cast 'argv' to 'char **' when calling
24806         _getopt_internal.
24807         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
24810         getopt: clean up error reporting
24812         getopt can print a whole bunch of error messages, and when used
24813         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
24814         cancellation point and getopt isn't, and also applying fprintf to a
24815         stream in wide-character mode is not allowed.  So every single error
24816         reporting case has an #ifdef _LIBC block in which it calls internal
24817         libc functions instead.  The counterpart patch series in glibc makes
24818         it possible to simplify all of that down to a set of #defines at the
24819         top of the file; core code is written as if it is safe to just call
24820         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
24821         call any *other* stdio functions.)
24823         * lib/getopt.c: When _LIBC is defined, define fprintf to
24824         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
24825         to _IO_funlockfile.  When neither _LIBC nor
24826         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
24827         funlockfile as no-ops.
24828         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
24829         standalone error-printing code can now be used for libc as well.
24830         Add an flockfile/funlockfile pair around one case where the error
24831         message is printed in several chunks.  Don't use fputc.
24834         getopt: fix fencepost error in ambiguous-W-option handling
24836         getopt_long contains an undocumented (AFAICT) feature in which, if you
24837         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
24838         treated as equivalent to '--foo'.  This is implemented with a partial
24839         second copy of the code for handling long options, and that code
24840         increments optind one too many times when recovering from an ambiguous
24841         abbreviated option, which can cause the main loop to walk past the end
24842         of argv and crash.
24844         I discovered this while writing a test case that tries to exercise all
24845         of getopt's error reporting paths; I wouldn't be surprised to learn
24846         that this feature is never used by real applications.
24848         * lib/getopt.c (_getopt_internal_r): Don't increment
24849         d->optind a second time when reporting ambiguous -W options.
24852         getopt: clean up getopt.c and getopt1.c file headers
24854         In getopt.c, there is no need to include wchar.h at all, and it is
24855         safe nowadays to assume that stdlib.h does declare getenv (several
24856         other gnulib modules make this assumption).
24858         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
24859         by using "" inclusions consistently, and there is no actual need to
24860         include stdlib.h (except in the #ifdef TEST block, where it should be
24861         unconditional), nor to provide a backup definition of NULL at all.
24863         * lib/getopt1.c: Simplify #ifdeffage at top of file.
24864         Move inclusion of stdlib.h to #ifdef TEST block and make
24865         unconditional.  Do not define NULL.
24866         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
24867         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
24868         * modules/getopt-gnu, modules/getopt-posix: Don't call
24869         gl_PREREQ_GETENV.
24872         getopt: harmonize comments with glibc
24874         The comments explaining how the behavior of 'getopt' varies depending
24875         on whether it's the standalone version and whether there are special
24876         characters at the beginning of the options string were inconsistent
24877         between gnulib and glibc, and also out of sync with the code.
24879         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
24882         getopt: remove USE_NONOPTION_FLAGS
24884         getopt includes code to parse an environment variable named
24885         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
24886         in decimal); but all of it has been #ifdefed out since 2001, with no
24887         official way to turn it back on.
24889         According to commentary in glibc's config.h.in, bash version 2.0
24890         set this environment variable to indicate argv elements that were
24891         the result of glob expansion and therefore should not be treated
24892         as options, but the feature was "disabled later" because "it
24893         caused problems".  According to bash's CHANGES file, "later" was
24894         release 2.01; it gives no more detail about what the problems
24895         were.
24897         Version 2.0 of bash was released on the last day of 1996, and version
24898         2.01 in June of 1997.  Twenty years later, I think it is safe to
24899         assume that this environment variable isn't coming back.
24901         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
24902         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
24903         __libc_argc and __libc_argv externs, which were only used by
24904         #ifdef USE_NONOPTION_FLAGS blocks.
24907         getopt: tabify, in preparation for merge with glibc
24909         glibc sticks to the GNU default of indenting with a mix of
24910         8-column tabs and spaces; make the gnulib copy match.
24912         getopt.h is not included because it is *not* going to be merged in its
24913         present form.
24915         * getopt.c, getopt1.c, getopt_int.h: Tabify.
24917 2017-04-02  Bruno Haible  <bruno@clisp.org>
24919         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
24920         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
24921         like it was done in modules/relocatable-lib on 2011-05-21 and in
24922         modules/relocatable-prog on 2011-08-15.
24923         Reported by Reuben Thomas <rrt@sc3d.org>.
24925 2017-03-31  Bruno Haible  <bruno@clisp.org>
24927         glob: Fix invalid free() call.
24928         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
24929         static storage to home_dir.
24930         Reported by Coverity via Tim Rühsen.
24932 2017-03-31  Bruno Haible  <bruno@clisp.org>
24934         glob: Fix memory leaks.
24935         * lib/glob.c (glob): Free allocated memory before returning.
24936         Reported by Coverity via Tim Rühsen.
24938 2017-03-31  Bruno Haible  <bruno@clisp.org>
24940         md5, sha1, sha256, sha512: Add comments regarding correctness.
24941         * lib/md5.h (buflen): Add comments regarding range.
24942         * lib/sha1.h (buflen): Likewise.
24943         * lib/sha256.h (buflen): Likewise.
24944         * lib/sha512.h (buflen): Likewise.
24945         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
24946         * lib/sha1.c (sha1_process_bytes): Likewise.
24947         * lib/sha256.c (sha256_process_bytes): Likewise.
24948         * lib/sha512.c (sha512_process_bytes): Likewise.
24949         Reported by Coverity via Tim Rühsen.
24951 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
24953         getopt: merge from glibc
24954         This does not change anything substantial; it merely simplifies
24955         hypothetical merges back to glibc.
24956         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
24957         Change copyright notice to match what is in glibc.
24958         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
24959         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
24960         __open_memstream rather than open_memstream and __glibc_likely
24961         instead of __builtin_expect.
24962         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
24964 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
24966         dfa: make [0-9] faster in non-C locales
24967         Problem reported by John P. Linderman (Bug#26193).
24968         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
24969         If both ends of the range are ASCII digits, do not worry about
24970         multi-character collating sequences and the like.  Be consistent
24971         about using isalpha as a precondition for setbit_case_fold_c.
24973 2017-03-19  Bruno Haible  <bruno@clisp.org>
24975         lock: Fix compilation error with HP-UX IA64 cc.
24976         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
24977         weak on non-glibc platforms.
24979 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24981         stdalign: tweak version# and test for HP-UX IA64
24982         Problems reported by Bruno Haible in:
24983         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
24984         * lib/stdalign.in.h (_Alignas):
24985         * m4/stdalign.m4 (gl_STDALIGN_H):
24986         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
24987         used octal (as that is how they document it), but it is decimal in
24988         practice now and the ancient implementations no longer matter.
24989         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
24991 2017-03-19  Bruno Haible  <bruno@clisp.org>
24993         vma-iter: Add support for Solaris.
24994         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
24995         approach.
24996         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
24997         * lib/get-rusage-as.c: Update comment about Solaris.
24998         * lib/get-rusage-data.c: Likewise.
25000 2017-03-19  Bruno Haible  <bruno@clisp.org>
25002         vma-iter: Prefer HP-UX specific API on HP-UX.
25003         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
25004         * lib/vma-iter.h: Update.
25005         Just in case HP-UX ever implements mquery().
25007 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
25009         stdalign: restore previous behavior for HP-UX IA64
25010         See Bruno Haible's email in:
25011         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
25012         which cites p 150 of a manual saying that 'aligned' works on Itanium.
25013         * lib/stdalign.in.h (_Alignas):
25014         Assume the '061200' applies to Itanium, not to PA-RISC.
25015         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
25017 2017-03-17  Bruno Haible  <bruno@clisp.org>
25019         stat-time, timespec: Support use of the header files in C++ mode.
25020         * lib/stat-time.h: Add "C" linkage declaration.
25021         * lib/timespec.h: Likewise.
25023 2017-03-17  Bruno Haible  <bruno@clisp.org>
25025         stdalign: Make it work with HP-UX cc.
25026         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
25027         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
25028         for HP-UX cc.
25030 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
25032         flexmember: try to detect HP-UX 11.31 cc bug
25033         Problem reported by Bruno Haible in:
25034         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
25035         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
25036         Attempt to detect bug in HP-UX 11.31 cc.
25038 2017-03-16  Bruno Haible  <bruno@clisp.org>
25040         stdint: Fix test compilation failure with HP-UX 11 cc.
25041         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
25042         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
25043         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
25044         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
25046 2017-03-14  Bruno Haible  <bruno@clisp.org>
25048         gnulib-tool: Don't produce a tests directory with only snippet .h files.
25049         * gnulib-tool (func_modules_transitive_closure_separately): If
25050         testsrelated_modules ends up with no "real" modules, aside from
25051         modules with applicability 'all', set it to empty.
25053 2017-03-14  Bruno Haible  <bruno@clisp.org>
25055         vma-iter: Add support for HP-UX.
25056         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
25057         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
25058         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
25059         * lib/get-rusage-as.c: Update comment about HP-UX.
25060         * lib/get-rusage-data.c: Likewise.
25061         (get_rusage_data): Use get_rusage_data_via_setrlimit.
25063 2017-03-14  Bruno Haible  <bruno@clisp.org>
25065         limits-h: Make it work with HP-UX cc.
25066         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
25067         defined.
25069 2017-03-14  Bruno Haible  <bruno@clisp.org>
25071         Fix test failures on DragonFlyBSD.
25072         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
25073         * tests/test-select.h (test_bad_fd): Likewise.
25074         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
25076 2017-03-14  Bruno Haible  <bruno@clisp.org>
25078         freadahead: Silence warning on DragonFlyBSD.
25079         * lib/freadahead.c (__sreadahead): Declare ourselves.
25081 2017-03-14  Bruno Haible  <bruno@clisp.org>
25083         vma-iter: Add comment about AIX.
25084         * lib/vma-iter.c: Add comment about why this module is not implemented
25085         on AIX.
25087 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
25089         snippets: move unadjusted snippet sources to lib
25090         Problem reported by Michal Privoznik in:
25091         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
25092         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
25093         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
25094         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
25095         * lib/unused-parameter.h: Rename from
25096         build-aux/snippet/unused-parameter.h.
25097         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
25098         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
25099         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
25100         * modules/snippet/c++defs (Files:, CXXDEFS_H):
25101         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
25102         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
25103         Adjust to file renamings.
25105 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
25107         gnulib-tool: don't automatically distribute files from top/
25108         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
25109         not distribute top/README-release by default, don't distribute files
25110         from top/ unconditionally.
25111         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
25112         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
25114 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
25116         gnulib-tool: fix typo in comment output
25117         * gnulib-tool (func_import): Fix typo with previous change.
25119         snippets: work around GNU Make 3.82 VPATH
25120         When using 'gnulib-tool --gnu-make' on Emacs, and building
25121         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
25122         an out-of-source (VPATH) build failed because the sans-copyright
25123         snippet file was not built before the file that used it.
25124         Presumably this is some sort of VPATH thing.  Work around the
25125         problem by using the original snippet, i.e., don’t bother to
25126         remove its copyright notice.
25127         * modules/snippet/_Noreturn, modules/snippet/link-warning:
25128         Don’t assume Automake in comments.  Omit long-incorrect comment.
25129         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
25130         (MOSTLYCLEANFILES):
25131         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
25132         (MOSTLYCLEANFILES):
25133         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
25134         (MOSTLYCLEANFILES):
25135         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
25136         (MOSTLYCLEANFILES):
25137         Remove.
25138         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
25139         * modules/snippet/c++defs (CXXDEFS_H):
25140         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
25141         * modules/snippet/warn-on-use (WARN_ON_USE_H):
25142         Don’t bother to remove the copyright notice; just use the
25143         original snippet as-is.
25145 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
25147         gnulib-tool: minor --gnu-make fixups
25148         * gnulib-tool (func_emit_lib_Makefile_am):
25149         Remove useless code that was a blind alley during implementation.
25150         Problem reported by Thien-Thi Nguyen in:
25151         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
25152         (func_import): Note the "--gnu-make" option in the output comment.
25154 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
25156         gnulib-tool: new option --gnu-make
25157         This is for applications like GNU Emacs that use GNU Make
25158         features instead of Automake.
25159         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
25160         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
25161         Do not assume Automake.
25162         * gnulib-tool (func_determine_path_separator)
25163         (func_modules_transitive_closure, func_update_file)
25164         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
25165         (func_import): Add support for --gnu-make.
25167 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
25169         gnulib-common.m4: avoid aclocal.m4 bloat
25170         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
25171         Hide AM_PROG_AR from aclocal, so that aclocal does not
25172         install irrelevant macro definitions into aclocal.m4.
25174 2017-03-10  Bruno Haible  <bruno@clisp.org>
25176         vma-iter: Let callers know about error.
25177         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
25178         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
25180 2017-03-05  Bruno Haible  <bruno@clisp.org>
25182         Fix value of LD for 64-bit compilers on AIX.
25183         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
25184         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
25186 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
25188         dtotimespec: simplify
25189         * lib/dtotimespec.c (dtotimespec): Simplify.
25191 2017-03-04  Bruno Haible  <bruno@clisp.org>
25193         test-calloc-gnu: Reenable test also for GCC 7.
25194         * tests/test-calloc-gnu.c (eight): New function.
25195         (main): Don't skip test; use eight() instead.
25197 2017-03-04  Jim Meyering  <meyering@fb.com>
25199         test-calloc-gnu: port to GCC7
25200         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
25201         that attempts to calloc more than SIZE_MAX bytes, because GCC7
25202         and newer would detect that at compilation time.
25204 2017-03-04  Bruno Haible  <bruno@clisp.org>
25206         tests: Avoid compiler warning about uses of null_ptr.
25207         * tests/null-ptr.h: New file.
25208         * tests/test-canonicalize.c: Include null-ptr.h.
25209         (null_ptr): Remove function.
25210         * tests/test-canonicalize-lgpl.c: Likewise.
25211         * tests/test-memmem.c: Likewise.
25212         * tests/test-ptsname_r.c: Likewise.
25213         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
25214         * modules/canonicalize-lgpl-tests: Likewise.
25215         * modules/memmem-tests: Likewise.
25216         * modules/ptsname_r-tests: Likewise.
25217         Reported by Jim Meyering.
25219 2017-03-03  Bruno Haible  <bruno@clisp.org>
25221         doc: Mention Mac OS X deficiencies regarding semaphores.
25222         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
25223         * doc/posix-functions/sem_destroy.texi: Likewise.
25224         * doc/posix-functions/sem_getvalue.texi: Likewise.
25226 2017-03-03  Bruno Haible  <bruno@clisp.org>
25228         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
25229         Reported by Assaf Gordon <assafgordon@gmail.com> via
25230         Pádraig Brady <P@draigBrady.com>.
25231         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
25232         semaphores.
25233         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
25234         (atomic_int_semaphore): New macro.
25236 2017-02-28  Bruno Haible  <bruno@clisp.org>
25238         perror tests: Tweak for z/OS.
25239         Reported by Daniel Richard G. <skunk@iskunk.org>.
25240         * tests/test-perror.sh: Don't fail z/OS style perror output.
25242 2017-02-26  Bruno Haible  <bruno@clisp.org>
25244         nproc: Refactor large function.
25245         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
25246         from num_processors.
25247         (num_processors): In this function, only deal with OMP.
25249 2017-02-26  Pádraig Brady  <P@draigBrady.com>
25251         nproc: adjust handling of OpenMP environment variables
25252         to match the return value from omp_get_num_threads(), i.e.:
25253          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
25254          - Treat 0 as an invalid value and ignore
25255         Also remove the call to omp_get_num_threads() because
25256         it's ineffective without the omp pragmas in place.
25257         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
25258         so that it can be ignored.
25259         (num_processors): Honor OMP_THREAD_LIMIT even without
25260         OMP_NUM_THREADS being set.  Also fix a typo in the environment
25261         variable being checked, from the previous recent commit.
25263 2017-02-26  Pádraig Brady  <P@draigBrady.com>
25265         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
25266         * lib/nproc.c (parse_omp_threads): A new function refactored
25267         from num_processors() to support parsing both of the
25268         above environment variables.
25269         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
25270         to accurately reflect the current OpenMP nesting level.
25271         Also support the OMP_THREAD_LIMIT environment variable
25272         to limit the max value determined from OMP_NUM_THREADS.
25273         * modules/nproc: Depend on minmax header.
25274         Suggested by Oliver Heimlich.
25276 2017-02-25  Bruno Haible  <bruno@clisp.org>
25278         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
25279         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
25281 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
25283         ftoastr: port to -Wdouble-promotion
25284         Work around -Wdouble-promotion false alarm in recent GCCs.
25285         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
25286         (ftoastr_snprintf, FTOASTR): Use it.
25288 2017-02-21  Bruno Haible  <bruno@clisp.org>
25290         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
25291         Reported by Rene Saavedra <rennes@openmailbox.org> in
25292         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
25293         * lib/glthread/lock.h: On glibc systems without
25294         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
25295         implementation of rwlocks.
25296         * lib/glthread/lock.c: Likewise.
25298 2017-02-20  Bruno Haible  <bruno@clisp.org>
25300         lock tests: Fix build failure on z/OS.
25301         Reported by Daniel Richard G. <skunk@iskunk.org>.
25302         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
25303         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
25304         exist.
25306 2017-02-19  Bruno Haible  <bruno@clisp.org>
25308         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
25309         This helps when CC=clang.
25310         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
25311         of /usr/bin/gcc.
25313         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
25314         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
25316 2017-02-19  Bruno Haible  <bruno@clisp.org>
25318         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
25319         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
25320         --with-tests --single-configure is specified.
25322 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
25324         users.txt: Update links, use HTTPS where possible
25325         * users.txt: Updated to HTTPS where possible,
25326         fixed some links to new locations.
25328 2017-02-16  Bruno Haible  <bruno@clisp.org>
25330         xbinary-io: Fix inlining.
25331         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
25333 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
25335         xbinary-io: rename from xsetmode
25336         This patch is taken from suggestions by Bruno Haible in:
25337         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
25338         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
25339         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
25340         not ENOTTY, when it is an inappropriate device.
25341         * lib/binary-io.h (SET_BINARY): Resurrect.
25342         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
25343         (xset_binary_mode_error): Rename from xsetmode_error.
25344         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
25345         (xset_binary_mode): Rename from xsetmode.
25346         All uses changed.
25347         * modules/xbinary-io: Rename from modules/xsetmode.
25348         Update file names.
25349         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
25350         * NEWS: Update to match revised behavior.
25352 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
25354         tests: Adjust to recent SET_BINARY change
25355         * tests/test-binary-io.c (main):
25356         * tests/test-binary-io.sh: Remove test for SET_BINARY.
25357         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
25358         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
25359         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
25361         xsetmode: new module
25362         This is to fix a problem noted by Eric Blake.
25363         Code was using xfreopen to change files to binary mode, but this
25364         fails for stdout when in append mode.  Such code should use
25365         xsetmode instead.
25366         * NEWS: Document incompatible changes to binary-io module.
25367         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
25368         New function.
25369         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
25370         (set_binary_mode): New function, which also checks for tty.
25371         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
25373 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
25375         headers: fix begin-end typos
25376         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
25377         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
25379         selinux-h: port to PGI 16.10
25380         * lib/se-selinux.in.h: Don't assume that include_next skips over
25381         duplicate -I DIR options.
25383         argp: port to PGI 16.10
25384         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
25386 2017-02-13  Darshit Shah  <darnir@gnu.org>
25388         unicase: Update function protoype to match definition.
25389         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
25390         uses 'size_t' as the datatype for the 'len' parameter in the functions
25391         it generates. Update the prototype specified here to match the newly
25392         generated function.
25394 2017-02-12  Bruno Haible  <bruno@clisp.org>
25396         times test: Avoid gcc warnings on Linux/x32.
25397         * tests/test-times.c (main): Really cast printf arguments from clock_t
25398         to 'long int'.
25400 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
25402         glob: port better to emscripten
25403         Problem reported by Bruno Haible in:
25404         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
25405         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
25407 2017-02-11  Bruno Haible  <bruno@clisp.org>
25409         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
25410         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
25411         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
25412         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
25413         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
25414         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
25415         Distinguish hppa64 from hppa.
25417 2017-02-10  Bruno Haible  <bruno@clisp.org>
25419         search: Don't assume that tsearch() exists if 'VISIT' is defined.
25420         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
25421         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
25422         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
25424 2017-02-09  Bruno Haible  <bruno@clisp.org>
25426         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
25427         * doc/gnulib.texi (Libtool and Windows): Recommend
25428         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
25429         Reported by Reuben Thomas <rrt@sc3d.org>.
25431 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
25433         stddef-tests: port to SIZE_MAX <= INT_MAX
25434         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
25435         Do not assume that INT_MAX < SIZE_MAX.
25437 2017-02-01  Bruno Haible  <bruno@clisp.org>
25439         lock tests: Fix link error.
25440         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
25441         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25443 2017-01-31  Bruno Haible  <bruno@clisp.org>
25445         lock: Fix link error (regression from 2017-01-05).
25446         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
25447         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
25448         pthread_rwlockattr_destroy weak.
25449         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25451 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
25453         Port to PGI 16.10 x86-64
25454         This patch fixes one real bug in gl_anylinked_list2.h, along with
25455         some minor glitches that are not bugs.  It does not silence PGI’s
25456         thousands of bogus warnings when compiling test-intprops.c.
25457         Fortunately, the warnings do not cause a failure.
25458         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
25459         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
25460         My goodness, PGI goes back a long ways - this predates C89!
25461         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
25462         For example, ASYNCSAFE (const void *) should expand to
25463         ‘const void *volatile’, not to ‘volatile const void *’.
25464         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
25465         * lib/verify.h (verify) [!__GNUC__]:
25466         Use shorter albeit meaningless string to bypass silly compiler limits.
25467         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
25468         * tests/nan.h (NaNf, NaNd, NaNl):
25469         Use static functions to avoid misguided compiler diagnostics.
25470         Is there some reason we don’t use static functions on all platforms?
25472 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
25474         parse-datetime: handle timezones reentrantly
25475         This API change was prompted by a report by Pádraig Brady in:
25476         https://bug.debian.org/851934#10
25477         To help fix the bug, make parse_datetime2 more reentrant.
25478         * NEWS: Document this incompatible change.
25479         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
25480         Add two arguments, the timezone and the timezone name.
25481         All callers changed.  If TZ="..." is specified, use it for
25482         calculating defaults.
25483         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
25484         this code should be usable in a library.
25485         (mktime_ok, get_effective_timezone):
25486         Accept timezone arg too.  All callers changed.
25487         (get_tz): Remove.
25488         (get_effective_timezone): Check for failures.
25490 2017-01-20  Eric Blake  <eblake@redhat.com>
25492         localename: port to cygwin 2.6
25493         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
25494         Cygwin.
25495         * modules/localename (Depends-on): Add extensions, since
25496         NL_LOCALE_NAME() is not visible without it.
25498 2017-01-17  Pádraig Brady  <P@draigBrady.com>
25500         parse-datetime: fix dependence on AC_PROG_SED
25501         * modules/parse-datetime: Use `sed` directly like all other modules.
25502         Reported by J William Piggott
25504 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
25506         intprops: update doc URLs
25507         * doc/intprops.texi (Integer Range Overflow): Update URLs.
25509 2017-01-16  Bruno Haible  <bruno@clisp.org>
25511         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
25512         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
25513         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
25514         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
25515         distinguish s390 and s390x.
25516         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
25517         * NEWS: Mention the change regarding 'armel'.
25519 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
25521         localeinfo: case_folded_counterparts and WEOF
25522         * NEWS: Document this.
25523         * lib/localeinfo.c (case_folded_counterparts):
25524         First arg is now wint_t, not wchar_t.  This generalizes the
25525         function to also work on WEOF, where it returns 0.
25527         dfa: port to gcc -fsanitize=undefined
25528         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
25529         as this runs afoul of gcc -fsanitize=undefined.
25531 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
25533         strftime: %z is -00 if unknown
25534         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
25535         the caller's responsibility to set 'negative_number'.  All uses changed.
25536         (__strftime_internal): Put '-' before a zero UTC offset if the time
25537         zone abbreviation starts with "-", which is the recently-introduced
25538         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
25539         * tests/test-strftime.c: Test for this.
25541 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
25543         dfa: port to older GCC
25544         Problem reported by Assaf Gordon in:
25545         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
25546         * modules/c99: New module.  This merely attempts to use the latest
25547         C version, which should be enough to solve this particular problem.
25548         The idea is to document which Gnulib modules assume C99 or later.
25549         * modules/dfa (Depends-on): Add it.
25551 2017-01-10  Bruno Haible  <bruno@clisp.org>
25553         Update DEPENDENCIES.
25554         * DEPENDENCIES: List only https URLs. Update recommended version for
25555         autoconf, automake, gperf.
25557 2017-01-10  Jim Meyering  <meyering@fb.com>
25559         maint.mk: enforce spelling of "timestamp" (i.e., no space)
25560         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
25561         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
25563 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
25565         dfa: minor simplification with emptyset
25566         * lib/dfa.c (build_state): Simplify by using emptyset.
25568 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
25570         dfa: shrink constraints from 4 bits to 3
25571         * lib/dfa.c (newline_constraint, letter_constraint)
25572         (other_constraint, prev_newline_dependent)
25573         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
25574         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
25575         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
25576         Constraints need only 3 bits, not 4.  Using smaller integers
25577         shrinks the code a bit and makes grep a tad faster on x86-64.
25579         dfa: omit unnecessary ptrdiff_t check
25580         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
25581         overflow, since xnmalloc does that now.
25583         dfa: omit unnecessary allocation
25584         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
25585         an all-zero follow set works just fine.
25587         dfa: omit unused local
25588         * lib/dfa.c (build_state): Fix up recent change.
25590         maint: remove stray .texi files
25591         Although these were superseded by other files like
25592         doc/posix-functions/ctime.texi, the old files were not removed.
25593         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
25595 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
25597         getprogname: fix port to IRIX
25598         * lib/getprogname.c (getprogname) [__sgi]:
25599         Don't dump core if malloc returns NULL.
25601         dfa: fix reallocation bug when matching newlines
25602         Problem reported for sed by S. Gilles (Bug#25390).
25603         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
25604         (dfastate): Reallocate before moving any newline transition ...
25605         (build_state): ... instead of reallocating here, where it is too late.
25607 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
25609         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
25610         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
25612 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
25614         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
25615         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
25617 2017-01-07  Bruno Haible  <bruno@clisp.org>
25619         stdioext: Port to Minix 3.2 and newer.
25620         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
25621         * lib/fseeko.c (fseeko): Likewise.
25622         Reported by Nelson Beebe via Paul Eggert.
25624 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
25626         getprogname: port to IRIX
25627         * lib/getprogname.c (getprogname): Port to IRIX.
25628         Based on an idea by Bastien Roucariès at:
25629         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
25630         via code from Bruno Haible at:
25631         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
25633         localename-tests: port to NetBSD 7
25634         Problem reported by Nelson H. F. Beebe.
25635         * tests/test-localename.c:
25636         Test newlocale and uselocale only if both exist.
25638         glob, intprops, xalloc: work around Clang bug
25639         Work around LLVM bug 16404, which is still not fixed.
25640         https://llvm.org/bugs/show_bug.cgi?id=16404
25641         Problem reported by Nelson H. F. Beebe.
25642         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
25643         Remove.
25644         * lib/glob.c (size_add_wrapv):
25645         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
25646         * lib/xalloc-oversized.h (xalloc_oversized):
25647         Do not use overflow builtins if Clang.
25649         dfa: fix 'return' typo
25650         Problem reported by Nelson H. F. Beebe.
25651         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
25653 2017-01-05  Pádraig Brady  <P@draigBrady.com>
25655         parse-datetime: fix generated paths for coverage files
25656         * modules/parse-datetime: Adjust the paths for parse-datetime.y
25657         within parse-datetime.c, so that gcc generates appropriate .gcno
25658         files, allowing lcov to proceed without error.  Previously it
25659         would error trying to find "lib/lib/parse-datetime.y".
25661 2017-01-05  Pádraig Brady  <P@draigBrady.com>
25663         maint.mk: support parallel execution of coverage
25664         * top/maint.mk (coverage): Run dependencies serially,
25665         thus supporting parallel processing of each one,
25666         particularly build-coverage, which builds and runs tests.
25668 2017-01-05  Bruno Haible  <bruno@clisp.org>
25670         lock tests: Prefer semaphore over mutex.
25671         * tests/test-lock.c (USE_SEMAPHORE): New constant.
25672         (struct atomic_int, init_atomic_int, get_atomic_int_value,
25673         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
25674         Suggested by Torvald Riegel <triegel@redhat.com>.
25676 2017-01-05  Bruno Haible  <bruno@clisp.org>
25678         lock: Provide guarantee to avoid writer starvation for rwlocks.
25679         The rationale is: 1) Read-preferring read-write locks are prone to
25680         writer starvation if the number of reader threads multiplied by the
25681         percentage of time they have the lock held is too high. 2) Write-
25682         preferring read-write locks are the only reliable way to avoid this.
25683         3) There have been reports of 'test-lock' hanging on glibc systems
25684         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
25685         and glibc indeed implements read-preferring rwlocks by default, see
25686         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
25687         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
25688         * m4/pthread_rwlock_rdlock.m4: New file.
25689         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
25690         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
25691         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
25692         of rwlock initialization on glibc systems without
25693         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
25694         of rwlocks altogether on non-glibc systems without
25695         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
25696         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
25697         * lib/glthread/lock.c [USE_POSIX_THREADS]
25698         (glthread_rwlock_init_for_glibc): New function.
25699         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
25700         comment.
25701         [USE_PTH_THREADS]: New implementation of rwlocks.
25702         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
25703         readers.
25704         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
25705         (Depends-on): Add 'extensions'.
25706         * tests/test-rwlock1.c: New file.
25707         * lock-tests (Files): Add it.
25708         (Depends-on): Add usleep.
25709         (Makefile.am): Add test-rwlock1 to the tests.
25711 2017-01-05  Bruno Haible  <bruno@clisp.org>
25713         thread: Fix pth port.
25714         * lib/glthread/thread.h (pth_init): Declare weak.
25715         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
25716         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
25717         function.
25719 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
25721         parse-datetime: fix debug message on lone year number
25722         Input dates such as
25723           date -d "Apr 11 22:59:00 2011"
25724         are parsed as date (Apr 11, with default year 2016), then time, then a
25725         number (2011). Based on the combination of previously seen tokens,
25726         'digits_to_date_time' determines 2011 to be a year value.
25727         This fixes the debug messages to correctly show the updated year.
25728         Before:
25729             $ date --debug -d 'Apr 11 22:59:00 2011'
25730             date: parsed date part: (Y-M-D) 2016-04-11
25731             date: parsed time part: 22:59:00
25732             date: parsed number part: today/this/now
25733         After:
25734             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
25735             date: parsed date part: (Y-M-D) 2016-04-11
25736             date: parsed time part: 22:59:00
25737             date: parsed number part: year: 2011
25738         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
25739         'debug_year_seen' member fields.
25740         (digits_to_date_time): Update 'year_seen' as needed.
25741         (debug_print_current_time): Inform about year updates.
25742         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
25744         parse-datetime: fix local timezone debug messages
25745         "Local timezones" are strings that affect only DST relative to the
25746         default timezone. The debug messages in parse-datetime.y printed
25747         wrong information when encountering local timezones.
25748         Examples:
25749         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
25750              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
25751              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
25752         When the default timezone relates to the zone strings, EET/EEST are
25753         parsed as local timezones (tLOCAL_ZONE), and only change the DST
25754         value (0/1, respectively):
25755              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
25756              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
25757         * lib/parse-datetime.y (debug_print_current_time): If local timezone
25758         was seen, inform about DST change, don't print actual timezone.
25759         (debug_strfdatetime): If local timezone was seen, use default timezone
25760         (and adjust as needed) instead of using incorrect timezone.
25761         (parse_datetime2): Use correct time-zone source string, and adjust
25762         default timezone as needed.
25764         parse-datetime: add debug warning about DST changes
25765         Incorrect date arithmetic due to daylight saving time (DST) are a
25766         common (false) bug report in coreutils.
25767         Detect two such cases and print a warning:
25768         1. year/month/day adjustments (performed on 'struct tm'),
25769            where 'mktime' returns a different isdst value.
25770         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
25771            where the result of 'localtime(3)' on the value will return a
25772            different isdst value.
25773         Note: DST changes could be harmless or unnoticeable.
25774         Examples (with 'TZ=America/New_York'):
25775         Unnoticeable: result is 2016-Dec-14
25776            $ date -d '2016-06-15 EDT + 6 months' +%b
25777            Dec
25778         Unnoticeable: result is 2016-Dec-15 11:00:00
25779            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
25780            2016-12-15
25781         This is unexpected:
25782            $ date -d '2016-06-01 EDT + 6 months' +%F
25783            2016-11-30
25784         The new debug warnings will show:
25785            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
25786            ...
25787            date: warning: daylight saving time changed after date adjustment
25788            ...
25789         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
25790         print an appropriate warning message.
25792         parse-datetime: add debug warning about date arithmetic
25793         Date arithmetic are done directly on the fields of 'struct tm',
25794         which can result in invalid dates. Normalization with 'mktime(3)'
25795         will then produce a different date - which might cause unexpected
25796         results.
25797         Examples:
25798           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
25799           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
25800         Note that date normalization is not inherently wrong and not rejected,
25801         as it has legitimate uses:
25802           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
25803         If the user asked to adjust months but 'mday' changed,
25804         or user asked to adjust years but 'month' changed - warn about it.
25805             $ ./src/date --debug -d '2016-10-31 - 1 month'
25806             ...
25807             date: warning: when adding relative months/years, \
25808                            it is recommended to specify the 15th of the month
25809             ...
25810             date: warning: month/year adjustment resulted in shifted dates:
25811             date:      adjusted Y M D: 2016 09 31
25812             date:    normalized Y M D: 2010 10 01
25813             ...
25814         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
25815         a warning message. Improve recommendation of when to use 15 of the
25816         month or noon for date arithmetic.
25818         parse-datetime: fix debug message of relative part after timezone
25819         Relative part (e.g '+8 days') after a timezone string was not
25820         reported (was only reported after a timezone number). Due to the
25821         parser's structure, timezone strings with numbers were handled
25822         separately.
25823         before:
25824              # Timezone number + relative part: OK
25825              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
25826              ...
25827              date: parsed relative part: -8 day(s)
25828              # Timezone string + relative part: missing
25829              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
25830              [ missing message ]
25831         After: messages are printed in both cases.
25832         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
25834         parse-datetime: fix incorrect debug message on lone number
25835         A lone number is an absolute value, not a relative time part.
25836         before:
25837            $ date --debug -d '20130101'
25838            date: parsed number part: today/this/now
25839         After:
25840            $ ./src/date --debug -d '20130101'
25841            date: parsed number part: (Y-M-D) 2013-01-01
25842         * lib/parse-datetime.y ('item'/'number' tokens): Call
25843         'debug_print_current_time' instead of 'debug_print_relative_time'.
25845 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
25847         doc: modernize for C11 etc.
25848         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
25849         for C11, MinGW, etc.  This responds to Paul Smith's question in:
25850         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
25852         dfa: prefer functions to FETCH_WC macro
25853         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
25854         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
25855         wint_t result into DFA->lex.wctok instead of to a separate arg.
25856         All callers changed.  Move more local decls closer to where
25857         they're used.
25859         dfa: narrow more local var scopes
25860         * lib/dfa.c: Move more local decls to be more local.
25862         dfa: remove duplicate assignment
25863         Problem reported by Bruno Haible in:
25864         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
25865         * lib/dfa.c (parse_bracket_exp): Simplify.
25867 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25869         dfa: simplify constraint-dependency checking
25870         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
25871         (prev_other_constraint): Remove.
25872         (prev_newline_dependent, prev_letter_dependent):
25873         Simplify, to avoid an unnecessary bitwise AND operation.
25875         dfa: prefer functions and constants to macros
25876         * lib/dfa.c: Prefer constants to macros where either will do.
25877         (streq, isasciidigit, newline_constraint)
25878         (letter_constraint, other_constraint, succeeds_in_context)
25879         (prev_newline_constraint, prev_letter_constraint)
25880         (prev_other_constraint, prev_newline_dependent)
25881         (prev_letter_dependent, accepting, accepts_in_context):
25882         Now static functions instead of function-like macros.
25883         Use lower-case names accordingly.  All uses changed.
25885         dfa: narrow more local var scopes
25886         * lib/dfa.c: Move some more local decls down to nearer where
25887         they're needed.
25889 2016-12-31  Jim Meyering  <meyering@fb.com>
25891         dfa: narrow the scope of many local variables
25892         * lib/dfa.c: Now that we are no longer constrained to c89, move
25893         declarations of many variables (often indices) "down" into the
25894         scope(s) where used or to the point of definition.  This is a
25895         no-semantic-change diff.
25897 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25899         version-etc: new year
25900         * build-aux/gendocs.sh (version):
25901         * doc/gendocs_template:
25902         * doc/gendocs_template_min:
25903         * doc/gnulib.texi:
25904         * lib/version-etc.c (COPYRIGHT_YEAR):
25905         Update copyright dates by hand in templates and the like.
25906         * all files: Run 'make update-copyright'.
25908 2016-12-31  Eric Blake  <eblake@redhat.com>
25910         do-release-commit-and-tag: avoid shell syntax error
25911         * build-aux/do-release-commit-and-tag (curr_br): $branch can
25912         contain spaces when rebasing.
25914         maint.mk: hoist gnulib_dir definition earlier
25915         * top/maint.mk (gnulib_dir): Move near top of file.
25917 2016-12-31  Jim Meyering  <meyering@fb.com>
25919         maint.mk: do not always evaluate intprops-related shell
25920         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
25921         using gnulib_dir undefined (gnulib_dir is defined later in the
25922         file, which will be fixed separately), and besides, there is no
25923         need to incur the cost of this shell invocation for every single
25924         use of this .mk file.  Reported by Eric Blake in
25925         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
25927 2016-12-30  Jim Meyering  <meyering@fb.com>
25929         maint.mk: improve sc_prohibit_intprops_without_use
25930         * top/maint.mk (_intprops_names): Don't hard-code the list of
25931         symbol names.  Instead, derive it on the fly.
25933 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
25935         dfa: shorten sbit, success
25936         * lib/dfa.c (struct regex_syntax.sbit):
25937         (struct dfa.success): Use char, not int, for array elements, since
25938         they are all in the range 0..7.
25940         dfa: simplify multibyte_prop etc.
25941         This follows up on a change made when dfa.c was in grep, namely grep
25942         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
25943         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
25944         That earlier simplification allows for some more simplification
25945         and trimming down here.
25946         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
25947         (struct lexer_state): New mamber brack.
25948         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
25949         since they must be in the range 0..3 now.
25950         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
25951         the brack member now supersedes them.
25952         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
25953         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
25954         (dfaparse): Remove unnecessary initializations of already-0 storage.
25955         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
25956         (dfassbuild): No need to clear sup->mbcsets.
25958         dfa: minor performance tweak
25959         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
25961         dfa: wrap charclass inside a struct
25962         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
25963         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
25964         about 5% faster, where list.txt is generated by 'aspell dump
25965         master | head -n 100000 >list.txt'.  See Bug#22239.
25966         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
25967         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
25968         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
25969         Adjust to this, e.g., by using charclass * rather than charclass.
25970         All callers changed as needed.
25971         (copyset): Remove.  All uses changed to simple assignment.
25972         (parse_bracket_exp): Use zeroset instead of memset.
25974 2016-12-30  Jim Meyering  <meyering@fb.com>
25976         maint.mk: update list of intprops.h symbol names
25977         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
25978         This avoids a false failure of the sc_prohibit_intprops_without_use
25979         rule in grep.
25981 2016-12-29  Eric Blake  <eblake@redhat.com>
25983         getopt: fix parallel test failure
25984         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
25985         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
25986         * tests/test-getopt-main.h (main): Use different file names
25987         in case test-getopt-gnu and test-getopt-posix run in parallel.
25989 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
25991         xalloc: x2nrealloc check for ptrdiff_t overflow
25992         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
25993         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
25995 2016-12-24  Bruno Haible  <bruno@clisp.org>
25997         lock test: Fix performance problem on multi-core machines.
25998         * tests/test-lock.c (USE_VOLATILE): New macro.
25999         (struct atomic_int): New type.
26000         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
26001         functions.
26002         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
26003         as 'struct atomic_int'.
26004         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
26005         reclock_checker_thread, test_recursive_lock): Use the new functions.
26006         Reported by Eric Blake in
26007         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
26008         and by Pádraig Brady in
26009         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
26011 2016-12-19  Bruno Haible  <bruno@clisp.org>
26013         vma-iter: Fix endless loop on 64-bit Windows.
26014         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
26015         'unsigned long'.
26017 2016-12-19  Bruno Haible  <bruno@clisp.org>
26019         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
26020         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
26021         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
26022         Invoke gt_TYPE_WINT_T instead.
26023         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
26024         * modules/stdint (Files): Add m4/wint_t.m4.
26025         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
26026         * modules/wctype-h (Makefile.am): Likewise.
26027         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
26028         not only on MSVC.
26029         * lib/wctype.in.h (wint_t): Likewise.
26031 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
26033         getopt-posix-tests: fix Makefile typo
26034         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
26035         Fix typo: the last ‘_’ was missing in the name.
26036         I suspect that the typo explains this build failure:
26037         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
26038         although I can’t reproduce the problem on Solaris 10 sparc.
26040 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
26042         dfa: improve worst-case 'replace' performance
26043         See my note in Bug#22357#71.
26044         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
26045         (merge_constrained): New function, which is like
26046         the old 'merge' function, except with a new argument C2.
26047         Simplify the body by avoiding the need for different sections
26048         of code depending on whether one input is exhausted.
26049         (merge): Use the new function.
26050         (delete): Return the constraint of the deleted position,
26051         not the entire position.  Caller changed.
26052         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
26054 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26056         dfa: performance improvement for removal of epsilon closure
26057         See Bug#22357#32.
26058         * lib/dfa.c (delete): Use binary search to find deleted index.
26059         (replace): New function.  It replaces a position with the followed set.
26060         (epsclosure): Replace it with a new algorithm.  Update caller.
26062 2016-12-18  Bruno Haible  <bruno@clisp.org>
26064         Split tests for getopt-posix and getopt-gnu.
26065         * tests/test-getopt-posix.c: New file.
26066         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
26067         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
26068         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
26069         GNULIB_TEST_GETOPT_GNU.
26070         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
26071         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
26072         (Makefile.am): Test test-getopt-posix instead of test-getopt.
26073         * modules/getopt-gnu-tests: New file.
26074         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
26076 2016-12-18  Bruno Haible  <bruno@clisp.org>
26078         posix-modules: Add options for specific platforms.
26079         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
26080         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
26081         Invoke func_tmpdir. Filter out the excludes.
26083 2016-12-18  Bruno Haible  <bruno@clisp.org>
26085         getopt: Fix link error for users of getopt() in <unistd.h>.
26086         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
26087         __need_getopt is defined. Undefine all macros before defining them.
26088         * modules/getopt (Include): Clarify that including <unistd.h> is also
26089         OK.
26090         * tests/test-getopt.c: Add comment.
26092 2016-12-17  Bruno Haible  <bruno@clisp.org>
26094         getaddrinfo tests: Avoid compilation error on MSVC.
26095         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
26096         getaddrinfo on native Windows.
26098 2016-12-17  Bruno Haible  <bruno@clisp.org>
26100         getlogin, getlogin_r: Fix link errors on MSVC.
26101         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
26102         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
26103         (Link): New section.
26104         * modules/getlogin_r (Files): Add m4/getlogin.m4.
26105         (configure.ac): Require gl_LIB_GETLOGIN.
26106         (Link): New section.
26107         * NEWS: Mention the new link requirements.
26108         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
26109         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
26111 2016-12-17  Bruno Haible  <bruno@clisp.org>
26113         Un-deprecate the 'progname' module.
26114         * NEWS: Describe the appropriate use-cases of 'progname' versus
26115         'getprogname'. Based on discussion summary at
26116         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
26118 2016-12-17  Bruno Haible  <bruno@clisp.org>
26120         Reorganize NEWS a bit.
26121         * NEWS: Move some not so important changes away from section
26122         "Important Notes".
26124 2016-12-17  Bruno Haible  <bruno@clisp.org>
26126         tanhf: Avoid redefinition error on MSVC.
26127         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
26128         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
26129         may be defined as an inline function.
26130         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
26131         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
26133 2016-12-17  Bruno Haible  <bruno@clisp.org>
26135         tanf: Avoid redefinition error on MSVC.
26136         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
26137         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
26138         may be defined as an inline function.
26139         * modules/math (Makefile.am): Substitute REPLACE_TANF.
26140         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
26142 2016-12-17  Bruno Haible  <bruno@clisp.org>
26144         sqrtf: Avoid redefinition error on MSVC.
26145         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
26146         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
26147         may be defined as an inline function.
26148         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
26149         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
26151 2016-12-17  Bruno Haible  <bruno@clisp.org>
26153         sinhf: Avoid redefinition error on MSVC.
26154         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
26155         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
26156         may be defined as an inline function.
26157         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
26158         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
26160 2016-12-17  Bruno Haible  <bruno@clisp.org>
26162         sinf: Avoid redefinition error on MSVC.
26163         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
26164         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
26165         may be defined as an inline function.
26166         * modules/math (Makefile.am): Substitute REPLACE_SINF.
26167         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
26169 2016-12-17  Bruno Haible  <bruno@clisp.org>
26171         logf: Avoid redefinition error on MSVC.
26172         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
26173         may be defined as an inline function.
26175 2016-12-17  Bruno Haible  <bruno@clisp.org>
26177         log10l: Avoid redefinition error on MSVC.
26178         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
26179         may be defined as an inline function.
26181 2016-12-17  Bruno Haible  <bruno@clisp.org>
26183         log10f: Avoid redefinition error on MSVC.
26184         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
26185         may be defined as an inline function.
26187 2016-12-17  Bruno Haible  <bruno@clisp.org>
26189         hypotl: Avoid redefinition error on MSVC.
26190         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
26191         may be defined as an inline function.
26193 2016-12-17  Bruno Haible  <bruno@clisp.org>
26195         hypotf: Avoid redefinition error on MSVC.
26196         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
26197         may be defined as an inline function.
26199 2016-12-17  Bruno Haible  <bruno@clisp.org>
26201         fmodl: Avoid redefinition error on MSVC.
26202         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
26203         may be defined as an inline function.
26205 2016-12-17  Bruno Haible  <bruno@clisp.org>
26207         fmodf: Avoid redefinition error on MSVC.
26208         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
26209         may be defined as an inline function.
26211 2016-12-17  Bruno Haible  <bruno@clisp.org>
26213         expf: Avoid redefinition error on MSVC.
26214         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
26215         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
26216         may be defined as an inline function.
26217         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
26218         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
26220 2016-12-17  Bruno Haible  <bruno@clisp.org>
26222         coshf: Avoid redefinition error on MSVC.
26223         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
26224         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
26225         may be defined as an inline function.
26226         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
26227         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
26229 2016-12-17  Bruno Haible  <bruno@clisp.org>
26231         cosf: Avoid redefinition error on MSVC.
26232         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
26233         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
26234         may be defined as an inline function.
26235         * modules/math (Makefile.am): Substitute REPLACE_COSF.
26236         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
26238 2016-12-17  Bruno Haible  <bruno@clisp.org>
26240         atan2f: Avoid redefinition error on MSVC.
26241         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
26242         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
26243         may be defined as an inline function.
26244         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
26245         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
26247 2016-12-17  Bruno Haible  <bruno@clisp.org>
26249         atanf: Avoid redefinition error on MSVC.
26250         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
26251         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
26252         may be defined as an inline function.
26253         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
26254         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
26256 2016-12-17  Bruno Haible  <bruno@clisp.org>
26258         asinf: Avoid redefinition error on MSVC.
26259         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
26260         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
26261         may be defined as an inline function.
26262         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
26263         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
26265 2016-12-17  Bruno Haible  <bruno@clisp.org>
26267         acosf: Avoid redefinition error on MSVC.
26268         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
26269         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
26270         may be defined as an inline function.
26271         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
26272         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
26274 2016-12-17  Bruno Haible  <bruno@clisp.org>
26276         Avoid redefinition errors on MSVC.
26277         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
26278         the function may be defined as an inline function.
26279         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
26280         the function may be defined as an inline function.
26282 2016-12-17  Bruno Haible  <bruno@clisp.org>
26284         Avoid redefinition errors on MSVC.
26285         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
26286         * lib/unistd.in.h: Include <stdio.h> when necessary.
26288 2016-12-17  Bruno Haible  <bruno@clisp.org>
26290         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
26291         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
26292         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
26293         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
26294         WINT_MAX.
26296 2016-12-17  Bruno Haible  <bruno@clisp.org>
26298         Avoid autoconf warning.
26299         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
26300         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
26302 2016-12-17  Bruno Haible  <bruno@clisp.org>
26304         fpending: Revert workaround against Emacs bug.
26305         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
26306         The Emacs bug is fixed by Eli Zaretskii in
26307         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
26309 2016-12-17  Bruno Haible  <bruno@clisp.org>
26311         getlogin_r tests: Port to mingw.
26312         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
26313         regression introduced on 2014-05-19.
26315 2016-12-17  Bruno Haible  <bruno@clisp.org>
26317         getlogin: Port to newer mingw.
26318         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
26319         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
26320         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
26321         HAVE_GETLOGIN.
26322         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
26323         HAVE_GETLOGIN.
26324         * doc/posix-functions/getlogin.texi: Mention the issue.
26325         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
26326         regression introduced on 2014-05-14.
26328 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
26330         builtin-expect: improve port to IBM XL C
26331         Problem reported for z/OS by Daniel Richard G. in:
26332         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
26333         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
26334         Test for <builtins.h> directly.
26336         builtin-expect: port to IBM XL C
26337         Problem reported for z/OS by Daniel Richard G. in:
26338         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
26339         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
26340         Also allow __builtin_expect defined via a standard include file.
26342         regex: fix dependency
26343         Problem reported by Bruno Haible in:
26344         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
26345         * modules/regex: Depend on builtin-expect.
26347         builtin-expect: new module
26348         Fix fnmatch to use it.
26349         Problem reported for z/OS by Daniel Richard G.
26350         * lib/fnmatch.c (__builtin_expect):
26351         * lib/glob.c (__builtin_expect):
26352         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
26353         * lib/memmem.c (__builtin_expect) [!_LIBC]:
26354         * lib/scandir.c (__builtin_expect):
26355         * lib/strstr.c (__builtin_expect) [!_LIBC]:
26356         Remove macro; config.h now does this.
26357         * lib/gl_anytreehash_list1.h (add_to_bucket):
26358         * lib/regex_internal.h (BE):
26359         Assume __builtin_expect.
26360         * m4/builtin-expect.m4, modules/builtin-expect: New files.
26361         * modules/avltreehash-list, modules/fnmatch, modules/glob:
26362         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
26363         * modules/scandir, modules/strstr-simple:
26364         Depend on builtin-expect.
26366 2016-12-15  Bruno Haible  <bruno@clisp.org>
26368         init.sh: Add possibility to not delete temporary files.
26369         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
26370         to yes, don't erase the temporary directory.
26372 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
26374         regex: fix integer-overflow bug in never-used code
26375         Problem reported by Clément Pit–Claudel in:
26376         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
26377         * lib/regex_internal.h: Include intprops.h.
26378         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
26379         behavior on integer overflow.
26380         * modules/regex (Depends-on): Add intprops.
26382         fpending: fix port to MinGW on Emacs
26383         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
26384         Problem reported by Eli Zaretskii in:
26385         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
26386         Is Plan 9 still a valid porting target, anyway?
26388 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
26390         safe-alloc: use xalloc-oversized
26391         * lib/safe-alloc.c: Include xalloc-oversized.h.
26392         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
26393         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
26395         xalloc: do not exceed PTRDIFF_MAX
26396         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
26397         xalloc_oversized check, since objects larger than PTRDIFF_MAX
26398         bytes have pointer-subtraction problems.
26400         malloca: do not exceed PTRDIFF_MAX
26401         * lib/malloca.h: Include xalloc-oversized.
26402         (nmalloca): Use xalloc_oversized instead of rolling our own.
26403         * modules/malloca (Depends-on):
26404         * modules/relocatable-prog-wrapper (Depends-on):
26405         Add xalloc-oversized.
26407         quotearg: pacify GCC better
26408         * modules/quotearg (Depends-on): Add minmax, stdint.
26409         * lib/quotearg.c: Include minmax.h, stdint.h.
26410         (nslots): Now int, as there seems little point to going to extra
26411         work merely to support the INT_MAX slot, which nobody ever uses.
26412         (quotearg_n_options): Redo size-overflow checks to pacify GCC
26413         and to catch (mostly-theoretical) ptrdiff_t problems too.
26414         This can be done via one comparison.
26416 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
26418         xalloc-oversized: check for PTRDIFF_MAX too
26419         This avoids undefined behavior when subtracting pointers to
26420         objects containing more than PTRDIFF_MAX bytes.
26421         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
26422         Also return 1 if the result would exceed PTRDIFF_MAX>
26423         * modules/xalloc-oversized (Depends-on):
26424         Add stdint.
26426         dfa: fix glitches in previous commit
26427         Sorry, I don't know how I managed to commit the wrong version.
26428         * lib/dfa.c (MIN): Move up.
26429         (xpalloc): Now static.
26431         dfa: fix some unlikely integer overflows
26432         I found these while reviewing the recent Coverity-related fix.
26433         This patch changes part of dfa.c to prefer ptrdiff_t instead of
26434         size_t for object counts.  Using ptrdiff_t is the style typically
26435         used in Emacs; although it wastes a sign bit as sizes can never be
26436         negative, it makes -fsanitize=undefined more likely to catch
26437         integer overflows in index calculation, and nowadays the upside is
26438         typically more important than the downside.  Although perhaps the
26439         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
26440         of dfa.c already does, since it uses state_num which is signed),
26441         that is a bigger change and is not needed to fix the bugs I found.
26442         * lib/dfa.c: Include stdint.h and intprops.h.
26443         (TOKEN_MAX): New macro.
26444         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
26445         (charclass_index, parse_bracket_exp, addtok, insert, merge)
26446         (realloc_trans_if_necessary, free_mbdata):
26447         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
26448         This is safe because xpalloc checks that the sizes do not exceed
26449         either SIZE_MAX or PTRDIFF_MAX.
26450         (xpalloc): New function, mostly taken from Emacs.
26451         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
26452         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
26453         (charclass_index): Check for integer overflow in computing
26454         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
26455         added to it later.
26456         (alloc_position_set): Check for integer overflow.  On typical
26457         platforms this check has zero overhead, since the constant
26458         expression is false.
26459         (realloc_trans_if_necessary):
26460         Remove assertion, which I hope Coverity no longer needs.
26462         * modules/dfa (Depends-on): Add intprops, stdint.
26464 2016-12-12  Jim Meyering  <meyering@fb.com>
26466         dfa: add an assertion to avoid coverity false positive
26467         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
26468         warned that "newalloc1 - 2" could overflow.
26470 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
26472         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
26473         * dfa.h (DFA_CASE_FOLD): Remove.
26474         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
26476 2016-12-13  John W. Eaton  <gnu@jweaton.org>
26478         link: fix test to declare use of rename()
26479         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
26480         -Werror=implicit-function-declaration
26482 2016-12-12  Bruno Haible  <bruno@clisp.org>
26484         fpending: Port to native Windows with MSVC.
26485         * lib/fpending.c: Include stdio-impl.h.
26486         (__fpending): Include all known implementations. Err out if it's not
26487         ported.
26488         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
26489         * modules/fpending (Files): Add lib/stdio-impl.h.
26490         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
26492 2016-12-12  Bruno Haible  <bruno@clisp.org>
26494         stdioext: Port to native Windows with MSVC.
26495         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
26496         (struct _gl_real_FILE): New type.
26497         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
26498         Windows.
26499         * lib/fbufmode.c (fbufmode): Add code for native Windows.
26500         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
26501         other SystemV derived implementations.
26502         * lib/fpurge.c (fpurge): Likewise.
26503         * lib/freadable.c (freadable): Likewise.
26504         * lib/freadahead.c (freadahead): Likewise.
26505         * lib/freading.c (freading): Likewise.
26506         * lib/freadptr.c (freadptr): Likewise.
26507         * lib/freadseek.c (freadptrinc): Likewise.
26508         * lib/fseeko.c (fseeko): Likewise.
26509         * lib/fseterr.c (fseterr): Likewise.
26510         * lib/fwritable.c (fwritable): Likewise.
26511         * lib/fwriting.c (fwriting): Likewise.
26512         Reported by Gisle Vanem <gvanem@yahoo.no>.
26514 2016-12-11  Jim Meyering  <meyering@fb.com>
26516         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
26517         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
26518         to work with most shells, but not with the one provided by many
26519         Solaris 10 systems, so running configure with such a /bin/sh evokes
26520         e.g., "./configure: syntax error at line 33602: `(' unexpected".
26521         Reported by Assaf Gordon in
26522         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
26524 2016-12-10  Bruno Haible  <bruno@clisp.org>
26526         threadlib: Optimize out runtime test on Solaris >= 10.
26527         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
26528         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
26529         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
26531 2016-12-10  Bruno Haible  <bruno@clisp.org>
26533         stdint: Update doc about Solaris 9.
26534         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
26536 2016-12-09  Bruno Haible  <bruno@clisp.org>
26538         c-ctype tests: Fix link error on Solaris 9.
26539         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
26540         Reported at <https://savannah.gnu.org/bugs/?46827>.
26542 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
26544         dfa: fix performance bug that recomputes trans
26545         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
26546         25 on-demand changes.  The bug caused build_state to reset all
26547         d->trans elements to -2 even when d->trans was already non-null.
26548         Use C99 style decls after statements in this function.
26550         same-inode: port to MinGW
26551         Here st_ino is always 0, so change the definition of SAME_INODE so
26552         that 1 means the two files are the same, 0 with st_ino != 0 means
26553         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
26554         reported by Bruno Haible (Bug#25146).
26555         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
26556         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
26558 2016-12-04  Bruno Haible  <bruno@clisp.org>
26560         javacomp-script: Support Java 7 and 8.
26561         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
26562         target-version 1.7, 1.8.
26564 2016-12-02  Daiki Ueno  <ueno@gnu.org>
26566         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
26567         GPLv2" rewriting.
26569 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
26571         * gnulib-tool (func_import): Adhere to the license guideline when
26572         rewriting the license text to "LGPLv3+ or GPLv2":
26573         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
26575 2016-12-02  Bruno Haible  <bruno@clisp.org>
26577         localcharset: Avoid theoretical buffer overrun.
26578         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
26579         return value from setlocale if it would lead to a buffer overrun.
26581 2016-12-01  Bruno Haible  <bruno@clisp.org>
26583         Relicense some modules under LGPLv2+.
26584         Kevin Cernekee's approval is in
26585         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
26586         * modules/fseterr (License): Change to LGPLv2+.
26587         * modules/mbchar (License): Likewise.
26588         * modules/mbiter (License): Likewise.
26589         * modules/mbsnlen (License): Likewise.
26590         * modules/wcwidth (License): Likewise.
26592 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26594         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
26595         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
26596         OS/2 kLIBC.
26598 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26600         alphasort, scandir: Port to OS/2 kLIBC
26601         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
26602         declaration.
26603         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
26605 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26607         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
26608         * lib/relocatable.c (relocate): Do not touch pathname if it is started
26609         with '/@unixroot'.
26611 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26613         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
26614         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
26615         OS/2 kLIBC unless TCPV40HDRS is defined.
26617 2016-11-29  Jim Meyering  <meyering@fb.com>
26619         dfa: avoid new infinite loop
26620         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
26621         * lib/dfa.c (dfastate): When constructing a new state table, we could
26622         initially declare that we had found a match, and later find that
26623         constraints eliminate that possibility, yet continue to use the
26624         now stale "matched" indicator.  That would lead to an infinite loop.
26625         The solution is to update "matched" when necessary.
26626         Introduced by commit v0.1-983-g403adf1.
26628 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26630         dfa: avoid match middle in multibyte character
26631         * lib/dfa.c (transit_state): If fails in matching single byte characters
26632         on a state including period expression in non-UTF8 multibyte locales,
26633         skip trailing bytes.
26634         (dfa_supported): Revert previous change.
26636 2016-11-27  Jim Meyering  <meyering@fb.com>
26638         dfa: avoid false match in non-UTF8 multibyte locales
26639         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
26640         as "not supported" so that callers will resort to using regex-based
26641         matcher.  This will surely hurt performance, but correctness trumps
26642         performance here, and the affected locales are less and less relevant,
26643         these days.  See grep's bug report https://bugs.gnu.org/24975.
26645 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
26647         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
26648         * lib/ptsname_r.c: Include the appropriate headers.
26649         [__sun]: Delete sys/sysmacros.h include.
26650         [_AIX || __osf__]: Likewise.
26651         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
26653 2016-11-27  Pádraig Brady  <P@draigBrady.com>
26655         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
26656         * lib/md4.c (md4_process_bytes): The existing define is made internal
26657         in recent versions of glibc, so also use this new public define.
26658         * lib/md5.c (md5_process_bytes): Likewise.
26659         * lib/sha1.c (sha1_process_bytes): Likewise.
26660         * lib/sha256.c (sha256_process_bytes): Likewise.
26661         * lib/sha512.c (sha512_process_bytes): Likewise.
26663 2016-11-27  Pádraig Brady  <P@draigBrady.com>
26665         maint: use a more standard return from mbrtowc test
26666         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
26667         from the test program as this often indicates an
26668         unhandled case in the test program.
26669         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
26670         (gl_MBRTOWC_SANITYCHECK): Likewise.
26671         (gl_MBRTOWC_NULL_ARG2): Likewise.
26672         (gl_MBRTOWC_NUL_RETVAL): Likewise.
26674 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
26676         freopen: work around glibc bug with closed fd
26677         Work around glibc bug#15589, where freopen mishandles the case
26678         where stdin etc. are already closed.
26679         * doc/posix-functions/freopen.texi (freopen): Document the bug.
26680         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
26681         instead of __need_FILE, as the latter does not work with glibc.
26682         Include <fcntl.h>, for open flags.
26683         (rpl_freopen): Work around glibc bug.
26684         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
26685         * modules/freopen (Depends-on): Add fcntl-h.
26686         * tests/test-freopen.c (main): Test for bug.
26688 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
26690         fnmatch: fix typo introduced on 2016-08-17
26691         This fixes the port to non-GCC compilers that lack __builtin_expect.
26692         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
26694         dfa: simplify with new function fillset
26695         * lib/dfa.c (fillset): New function.
26696         Use it for clarity when applicable.
26698         dfa: fix glitches with on-demand states
26699         Also, adjust commentary to better match new code.
26700         Some of these glitches predate the recent change.
26701         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
26702         only non-initial states.
26703         (dfastate): Rename locals to better match new roles.
26704         Move them into nested scopes if this is easy.
26705         Omit unnecessary calls to zeroset.
26706         Simplify test for whether to throw in the positions of state 0.
26707         Omit C99-ism (decl after statement) since Gawk still wants C89.
26708         (build_state): Omit unnecessary test and assignment.
26709         Fix some confusion that counted transition tables inaccurately
26710         and could cause a memory leak.
26711         (dfaexec_main): Redo to make it clearer to the compiler that
26712         -1 and -2 are the only negative state numbers here.
26714 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26716         dfa: addition of new state on demand
26717         * src/dfa.c (dfastate): Add argument UC, the current input character.
26718         Fill only a group including the character in transition table.
26719         (realloc_trans_if_necessary): Add the dummy state which means that a
26720         transition table is assigned but the next state is not assigned.
26721         (build_state): Return the next state.  All callers updated.
26722         (transit_state_singlebyte): If we get the dummy state,
26723         fill the transition table.
26724         (dfaexec_main): Handle the dummy state.
26725         (free_mbdata, dfafree): Consider the dummy state.
26727 2016-11-24  Daiki Ueno  <ueno@gnu.org>
26729         srclist: sync with released gettext
26730         * config/srclist.txt: Set "release" option to the files under
26731         $GETTEXT.
26733 2016-11-24  Daiki Ueno  <ueno@gnu.org>
26735         srclist: add "release" option
26736         * config/srclist.txt: Change the format so that the first column
26737         of each line points to the top-level directory of the source
26738         archive.
26739         * config/srclist-update: Accept "release" option that checks files
26740         from the most recently tagged revision in the source archive.
26742 2016-11-21  Bruno Haible  <bruno@clisp.org>
26744         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
26745         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
26746         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
26747         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
26748         Inline and remove member function 'rpl ()' of the wrapper struct.
26750 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
26752         dfa: fix logic typo
26753         Problem reported by Stephane Chazelas (Bug#24973).
26754         * lib/dfa.c (using_simple_locale): Fix typo that caused some
26755         non-simple locales like fr_FR to be treated as simple.
26757 2016-11-20  Jim Meyering  <meyering@fb.com>
26759         fix test driver leaks: exclude, malloc, realloc
26760         * tests/test-exclude.c (main): Fix trivial leak.
26761         * tests/test-malloc-gnu.c (main): Likewise.
26762         * tests/test-realloc-gnu.c (main): Likewise.
26763         With these changes, grep's tests are now leak free.
26764         I.e., running them with ASAN elicits no failure:
26765           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
26766             AM_LDFLAGS='-fsanitize=address -static-libasan' check
26768 2016-11-11  Bruno Haible  <bruno@clisp.org>
26770         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
26771         * modules/libunistring: (License): Change from LGPL to
26772         "LGPLv3+ or GPLv2".
26773         * modules/libunistring-optional: Likewise.
26774         * modules/unicase/*: Likewise.
26775         * modules/uniconv/*: Likewise.
26776         * modules/unictype/*: Likewise.
26777         * modules/unigbrk/*: Likewise.
26778         * modules/unilbrk/*: Likewise.
26779         * modules/uniname/*: Likewise.
26780         * modules/uninorm/*: Likewise.
26781         * modules/unistdio/*: Likewise.
26782         * modules/unistr/*: Likewise.
26783         * modules/uniwbrk/*: Likewise.
26784         * modules/uniwidth/*: Likewise.
26786 2016-11-12  Bruno Haible  <bruno@clisp.org>
26788         Relicense some modules under LGPLv2+.
26789         Paul Eggert's approval is in
26790         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
26791         Eric Blake's approval is in
26792         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
26793         Ludovic Courtès's approval is in
26794         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
26795         * modules/isnand-nolibm (License): Change to LGPLv2+.
26796         * modules/isnanf-nolibm (License): Likewise.
26797         * modules/isnanl-nolibm (License): Likewise.
26799 2016-11-19  Bruno Haible  <bruno@clisp.org>
26801         Relicense some modules under LGPLv2+.
26802         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
26803         modules/vasnprintf.
26804         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
26805         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
26806         All other significant changes to the files in lib/ of these modules
26807         are from me.
26808         * modules/memcmp2 (License): Change to LGPLv2+.
26809         * modules/amemxfrm (License): Likewise.
26810         * modules/fpieee (License): Likewise.
26811         * modules/fpucw (License): Likewise.
26812         * modules/frexp-nolibm (License): Likewise.
26813         * modules/frexpl-nolibm (License): Likewise.
26814         * modules/printf-frexp (License): Likewise.
26815         * modules/printf-frexpl (License): Likewise.
26816         * modules/printf-safe (License): Likewise.
26817         * modules/signbit (License): Likewise.
26819 2016-11-17  Bruno Haible  <bruno@clisp.org>
26821         Enable Unicode decoder safety unconditionally.
26822         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
26823         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
26824         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
26825         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
26826         * lib/unistr/u8-prev.c (u8_prev): Likewise.
26827         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
26828         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
26829         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
26830         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
26831         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
26832         * lib/unistr/u16-prev.c (u16_prev): Likewise.
26833         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
26834         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
26835         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
26836         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
26837         * lib/unistr/u32-prev.c (u32_prev): Likewise.
26838         * lib/unistr/u32-next.c (u32_next): Likewise.
26839         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
26840         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
26841         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
26842         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
26843         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
26844         CONFIG_UNICODE_SAFETY tests unconditionally.
26845         * tests/unistr/test-u32-mblen.c (main): Likewise.
26846         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
26847         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
26848         * tests/unistr/test-u32-next.c (main): Likewise.
26849         * tests/unistr/test-u32-strmblen.c (main): Likewise.
26850         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
26851         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
26852         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
26853         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
26854         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
26855         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
26856         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
26857         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
26858         * lib/unistr/u16-check.c (u16_check): Update comment.
26859         * NEWS: Mention the changes that callers should be aware of.
26861 2016-11-19  Bruno Haible  <bruno@clisp.org>
26863         relocatable-prog-wrapper: Fix breakage on Cygwin.
26864         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
26865         (Depends-on): Remove intprops.
26866         * lib/relocwrapper.c: Update dependency tree.
26867         (strerror): Undefine.
26868         * build-aux/install-reloc (func_create_wrapper): Do not compile
26869         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
26871 2016-11-19  Bruno Haible  <bruno@clisp.org>
26873         strerror: Make it compile in C++ mode.
26874         * lib/strerror.c (strerror): Ignore the return value of memcpy().
26876 2016-11-15  Pedro Alves  <palves@redhat.com>
26878         sys_time: add gnulib::timeval for C++
26879         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
26880         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
26881         timeval macro.
26883 2016-11-14  Pedro Alves  <palves@redhat.com>
26885         snippet/c++defs: fix real-floating arg functions in C++ mode
26886         Also, define isfinite, isinf, isnan, signbit in the gnulib
26887         namespace instead of in the global namespace.
26888         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
26889         (_GL_END_NAMESPACE): New.
26890         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
26891         (isfinite, isinf, isnan, signbit) [__cplusplus &&
26892         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
26893         instead of in the global namespace.
26894         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
26895         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
26896         of in the global namespace.
26898 2016-11-13  Jim Meyering  <meyering@fb.com>
26900         strftime: don't use __THROW
26901         Each use of __THROW would provoke this from gcc-7-to-be:
26903           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
26904             on unit local functions [-Wattributes]
26905           static int iso_week_days (int, int) __THROW;
26906           ^~~~~~
26907         * lib/strftime.c (__THROW): Don't define.
26908         Remove each use of __THROW.
26909         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
26910         (tm_diff, iso_week_days, __strftime_internal): Likewise.
26912 2016-11-14  Paul Eggert  <eggert@union>
26914         obstack: port to gcc -fcheck-pointer-bounds
26915         Problem found by 'make check' failure on bleeding-edge coreutils
26916         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
26917         6.2.0-5ubuntu12), configured via "./configure
26918         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
26919         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
26920         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
26921         New macro, copied from fts_.h.
26922         (struct _obstack_chunk.contents): Use it.
26924 2016-11-14  Eric Blake  <eblake@redhat.com>
26926         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
26927         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
26928         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
26930 2016-11-14  Pádraig Brady  <P@draigBrady.com>
26932         strptime: fix compile error in recent change
26933         * lib/strptime.c (__strptime_internal): Fix ported code.
26935 2016-11-11  Bruno Haible  <bruno@clisp.org>
26937         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
26938         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
26939         (func_import): Extend determination of license_incompatibilities.
26940         (func_create_testdir): Extend table of license compatibility. Handle
26941         also the licenses GPLv3+, GPL, LGPLv3+.
26943 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
26945         strftime: tune %q
26946         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
26948         Merge strftime.c changes from glibc
26949         This incorporates:
26950         2007-10-16 [BZ #5184] Add tzset_called argument
26951         2008-06-13 [BZ #6612] pass reference to tzset_called around
26952         2009-10-30 Implement Burmese language locale for Myanmar
26953         2010-01-09 Add support for XPG7 testing
26954         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
26955         2015-10-20 Convert miscellaneous function definitions to prototype style
26956         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
26957         it anyway and this lessens the difference between gnulib and glibc.
26958         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
26959         (__THROW): Define if standard headers do not.
26960         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
26961         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
26962         Declare with __THROW.
26963         (__strftime_internal): Rename from strftime_case_. Add arg for
26964         whether tzset is called.  All uses changed.  Call tzset at most
26965         once.  Allow %OC, for Burmese.
26966         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
26967         Don't assume values are in range.
26969 2016-11-12  Eric Blake  <eblake@redhat.com>
26971         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
26972         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
26973         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
26974         different value.
26976 2006-11-12  Pedro Alves  <palves@redhat.com>
26978         Fix gnulib C++ namespace support and std::frexp
26979         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
26980         _GL_CXXALIASWARN.
26982 2006-11-12  Pedro Alves  <palves@redhat.com>
26984         GNULIB_NAMESPACE::func need not pull in rpl_func
26985         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
26986         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
26987         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
26988         struct instead of a function pointer.
26990 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
26992         manywarnings: fix -Wno-missing-field-initializers detection
26993         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
26994         to be independent of -Wunused-variable.  I.E. ensure the latter
26995         warning doesn't occur so that detection of the former is accurate.
26997 2016-11-05  Pádraig Brady  <pbrady@fb.com>
26999         strftime,strptime: support %q to represent the quarter
27000         * lib/strftime.c (strftime_case_): Add %q case.
27001         * lib/strptime.c (__strptime_internal): Likewise.
27002         * tests/test-strftime.c (quarter_test): A new test case.
27004 2016-11-03  Eric Blake  <eblake@redhat.com>
27006         bootstrap: Fix get_version() for AIX 5.3
27007         * build-aux/bootstrap (get_version): Factor out sed script, since
27008         indented comments choke AIX 5.3 sed.
27009         Reported-by: Michael Felt <aixtools@gmail.com>
27011 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
27013         intprops: port to older XL C
27014         Problem reported by Alexander Samoilov in:
27015         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
27016         http://savannah.nongnu.org/bugs/?49448
27017         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
27018         Define to 1 only for XL C 12.1 or later, since this bug
27019         occurs in XL C for AIX 6.0 but not in 12.1.
27021 2016-11-02  Pádraig Brady  <P@draigBrady.com>
27023         backupfile: initialize default suffix within the implementation
27024         * lib/backupfile.c (find_backup_file_name): Initialize the
27025         global variable here, to simplify usage, and to only call
27026         getenv() when needed.
27028 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
27030         futimens: remove FIXME for old Linux kernels
27031         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
27032         this in 2012" FIXME, like that for utimensat.
27034         utimensat: remove FIXME for old Linux kernels
27035         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
27036         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
27037         this in 2012" FIXME, by assuming the file system bug is absent
27038         unless demonstrated to be present.  We no longer need to worry
27039         about Linux kernel 2.6.32 when building with newer kernels.
27041 2016-10-16  Bruno Haible  <bruno@clisp.org>
27043         qsort_r: Fix macrology for platforms that lack the function.
27044         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
27045         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
27046         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
27047         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
27048         not exist.
27049         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
27050         the function exists.
27051         * modules/qsort_r: Add comments.
27053 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
27055         sys_types: fix Texinfo typos
27056         * doc/glibc-functions/gnu_dev_major.texi:
27057         * doc/glibc-functions/gnu_dev_makedev.texi:
27058         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
27060 2016-10-26  John David Anglin  <dave.anglin@bell.net>
27062         getprogname: port to HP-UX
27063         See Bug#24805.
27064         * lib/getprogname.c (getprogname) [__hpux]: Port.
27065         * tests/test-getprogname.c (STREQ) [__hpux]:
27066         Special-case for HP-UX limitations on program name length.
27068 2016-10-20  Bruno Haible  <bruno@clisp.org>
27070         Update doc about target platforms.
27071         * doc/gnulib-intro.texi (Target Platforms): Update list.
27073 2016-10-15  Bruno Haible  <bruno@clisp.org>
27075         opendir, readdir, closedir: Relicense under LGPLv2+.
27076         * modules/opendir (License): Change to LGPLv2+.
27077         * modules/readdir (License): Likewise.
27078         * modules/closedir (License): Likewise.
27080 2016-10-16  Bruno Haible  <bruno@clisp.org>
27082         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
27083         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
27084         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
27085         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
27086         HAVE_DECL_STRERROR_R.
27088 2016-10-16  Bruno Haible  <bruno@clisp.org>
27090         Make the 'argp' module work without the 'error' module.
27091         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
27093 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
27095         diffseq: restore TOO_EXPENSIVE heuristic
27096         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
27097         (Bug#24715).  The simplest solution is to restore the
27098         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
27099         using a higher threshold to avoid Bug#16848 on smaller files.
27100         * lib/diffseq.h (struct context): Restore member too_expensive.
27101         (struct partition): Restore members lo_minimal, hi_minimal.
27102         (diag, compareseq): Restore arg find_minimal.  All uses changed.
27103         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
27104         1993 to make 'diff' run faster (but not as well) on large inputs,
27105         but use a threshold of 4096 instead of the old 256.
27106         * lib/fstrcmp.c (strcmp_bounded):
27107         * lib/git-merge-changelog.c (compute_differences):
27108         Adjust to diffseq.h changes.
27110 2016-10-22  Bruno Haible  <bruno@clisp.org>
27112         iconv: Avoid compilation error when bootstrapping GNU libiconv.
27113         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
27114         declaration yet, define ICONV_CONST to empty.
27116 2016-10-15  Bruno Haible  <bruno@clisp.org>
27118         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
27119         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
27120         module.
27122 2016-10-16  Bruno Haible  <bruno@clisp.org>
27124         system-quote tests: Avoid compiler warning on AIX.
27125         * tests/test-system-quote-child.c (fopen): Redefine like the system's
27126         <stdio.h> does.
27128 2016-10-16  Bruno Haible  <bruno@clisp.org>
27130         Fix some "gcc -Wall" warnings.
27131         * tests/test-ffsl.c (main): Use variable x, not i.
27132         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
27133         freopen.
27134         * tests/test-sethostname1.c (main): Explicitly ignore the return value
27135         of sethostname.
27137 2016-10-16  Bruno Haible  <bruno@clisp.org>
27139         gnulib-tool: Make --create-testdir on all modules work again.
27140         * gnulib-tool (func_create_testdir): Don't include the
27141         non-recursive-gnulib-prefix-hack module.
27143 2016-10-21  Daiki Ueno  <ueno@gnu.org>
27145         libunistring: change the maintainer to 'all'
27146         * modules/gen-uni-tables, modules/libunistring:
27147         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
27148         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
27149         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
27150         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
27151         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
27152         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
27153         * modules/uniwidth/*: Change the maintainer to 'all'.
27155 2016-10-16  Bruno Haible  <bruno@clisp.org>
27157         Simplify "configure: checking ..." messages.
27158         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
27159         AC_MSG_NOTICE.
27160         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
27162 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
27164         quotearg-tests: pacify gcc -Wall
27165         Problem reported by Bruno Haible in:
27166         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
27167         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
27168         * tests/test-quotearg.h: ... from here.
27170 2016-10-20  Pádraig Brady  <P@draigBrady.com>
27172         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
27173         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
27174         Needed on Centos <= 4.
27176 2016-10-20  Jim Meyering  <meyering@fb.com>
27178         printf.m4: fix a bug in detecting printf %j support
27179         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
27180         uintmax_t is defined in neither stdint.h nor inttypes.h.
27181         Before, this macro might have mistakenly set
27182         gl_cv_func_printf_sizes_c99=yes on such a system.
27183         Spotted by Zev Weiss.
27185 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
27187         sched: substitute HAVE_SYS_CDEFS_H too
27188         Problem reported by Tom G. Christensen in:
27189         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
27190         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
27191         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
27193 2016-10-19  Pádraig Brady  <P@draigBrady.com>
27195         quotearg: never write beyond the returned length
27196         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
27197         scan of the string when we initially encounter a single quote when
27198         shell quoting, so that if we then switch to a more concise quoting method
27199         we will not have written beyond that returned length.
27200         This is significant for sh-quote, which has separate routines
27201         to determine the length and do the actual quoting.
27202         * tests/test-quotearg.h: Reinstate the buffer bounds checking
27203         now that we never write more than the returned length.
27205 2016-10-18  Bruno Haible  <bruno@clisp.org>
27207         getprogname tests: Avoid failure in packages that use libtool.
27208         * tests/test-getprogname.c (main): Strip "lt-" prefix.
27209         Based on a patch by Jim Meyering.
27211 2016-10-16  Bruno Haible  <bruno@clisp.org>
27213         getprogname: Fix test failure on Cygwin. Comments.
27214         * lib/getprogname.h: Add comments.
27215         * lib/getprogname.c: Add comments. Fix #elif indentation.
27216         * tests/test-getprogname.c (main): On Cygwin, expect a result without
27217         ".exe" suffix.
27219 2016-10-16  Bruno Haible  <bruno@clisp.org>
27221         Make sure the libunistring detection rejects older versions with a
27222         known bug.
27223         * modules/unistr/u8-strtok (configure.ac): Bump required version.
27224         * modules/unistr/u16-strtok (configure.ac): Likewise.
27225         * modules/unistr/u32-strtok (configure.ac): Likewise.
27227 2016-10-18  Bruno Haible  <bruno@clisp.org>
27229         sh-quote, system-quote: revert regression of unit test.
27230         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
27231         * tests/test-system-quote-main.c (check_one): Likewise.
27233 2016-10-16  Pádraig Brady  <P@draigBrady.com>
27235         quotearg: fix stale tests
27236         * tests/test-quotearg.c [locale_results]: Add the missing str7
27237         entries to the expected results.
27238         * tests/test-system-quote-main.c (check_one): Don't enforce that we
27239         don't write beyond the returned length, since that's no longer the
27240         case if we switch to a more concise quoting style.
27241         * tests/test-sh-quote.c (check_one): Likewise.
27242         (main): Adjust for the new more concise quoting style.
27243         Reported by Bruno Haible.
27245 2016-10-16  Jim Meyering  <meyering@fb.com>
27247         non-recursive-gnulib-prefix-hack: fix inconsequential typo
27248         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
27249         to "$1".  This macro is always invoked with $1 == lib.
27250         Spotted by Bruno Haible
27252 2016-10-16  Bruno Haible  <bruno@clisp.org>
27254         Fix a test crash.
27255         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
27256         fails.
27258 2016-10-16  Pádraig Brady  <P@draigBrady.com>
27260         test-limits-h: suppress -Woverlength-strings
27261         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
27263 2016-10-15  Bruno Haible  <bruno@clisp.org>
27265         gettime, timespec, utimens: Relicense under LGPL.
27266         * modules/gettime (License): Change to LGPL.
27267         * modules/timespec (License): Likewise.
27268         * modules/utimens (License): Likewise.
27270 2016-10-14  Bruno Haible  <bruno@clisp.org>
27271             Pádraig Brady  <P@draigBrady.com>
27273         canonicalize-lgpl: Support the case path_max > INT_MAX.
27274         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
27275         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
27277 2016-10-13  Jim Meyering  <meyering@fb.com>
27279         getprogname: IBM z/OS: avoid NULL-dereference
27280         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
27281         upon strdup failure.
27283 2016-10-12  Jim Meyering  <meyering@fb.com>
27285         test-stdint: use _GL_VERIFY rather than "verify" for some tests
27286         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
27287         and an abbreviated diagnostic rather than verify with the full one,
27288         because the full-length strings would evoke warnings from gcc with
27289         -Woverlength-strings.
27291 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
27293         stdint: port SIZE_MAX to glibc s390
27294         Problem reported by Eric Blake in:
27295         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
27296         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
27297         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
27298         correct type, if possible.
27300 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
27302         getprogname: port to IBM z/OS
27303         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
27305 2016-10-11  Jim Meyering  <meyering@fb.com>
27307         maint: remove stray space after "." in AC_DEFINE comment.
27308         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
27309         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
27311 2016-10-05  Jim Meyering  <meyering@fb.com>
27313         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
27314         * lib/long-options.c (parse_long_options): Add a break statement
27315         to avoid this new warning/failure:
27316         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
27317           --create-testdir --dir=/t/x --with-tests --test long-options
27318         ../../gllib/long-options.c: In function 'parse_long_options':
27319         ../../gllib/long-options.c:66:12: error: this statement may \
27320           fall through [-Werror=implicit-fallthrough]
27321                    (*usage_func) (EXIT_SUCCESS);
27322                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
27324 2016-10-05  Jim Meyering  <meyering@fb.com>
27326         utimecmp: avoid new GCC 7 warning from -Wbool-operation
27327         Testing this module would fail when using GCC 7 like this:
27328         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
27329           --dir=/tmp/x --with-tests --test utimecmp
27330         ../../gllib/utimecmp.c: In function ‘utimecmp’:
27331         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
27332           [-Werror=bool-operation]
27333                          time_t s = src_s & ~ (res == 2 * BILLION);
27334                                             ^
27335         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
27336           [-Werror=bool-operation]
27337                src_s &= ~ (res == 2 * BILLION);
27338                         ^
27339         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
27340         Instead, make it explicit that we intend to apply it to 0 or 1.
27342 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
27344         dfa: save memory for states
27345         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
27346         states if dfa has a lot of caches.
27348 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
27350         wchar, wctype-h: fix for MinGW 3.22.2
27351         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
27352         special invocation, to fix issues with MinGW 3.22.2 wchar.h
27353         when included from <string.h>.
27354         * lib/wctype.in.h [__MINGW32__]: Add special invocation
27355         convention for MinGW 3.22.2, to solve issues with their
27356         wctype.h when included from <ctype.h>.
27358 2016-10-05  Jim Meyering  <meyering@fb.com>
27360         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
27361         * lib/long-options.c (parse_long_options): Add a break statement
27362         to avoid this new warning/failure:
27363         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
27364           --create-testdir --dir=/t/x --with-tests --test long-options
27365         ../../gllib/long-options.c: In function ‘parse_long_options’:
27366         ../../gllib/long-options.c:66:12: error: this statement may \
27367           fall through [-Werror=implicit-fallthrough]
27368                    (*usage_func) (EXIT_SUCCESS);
27369                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
27371         utimecmp: avoid new GCC 7 warning from -Wbool-operation
27372         Testing this module would fail when using GCC 7 like this:
27373         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
27374           --dir=/tmp/x --with-tests --test utimecmp
27375         ../../gllib/utimecmp.c: In function ‘utimecmp’:
27376         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
27377           [-Werror=bool-operation]
27378                          time_t s = src_s & ~ (res == 2 * BILLION);
27379                                             ^
27380         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
27381           [-Werror=bool-operation]
27382                src_s &= ~ (res == 2 * BILLION);
27383                         ^
27384         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
27385         Instead, make it explicit that we intend to apply it to 0 or 1.
27387 2016-10-03  Pádraig Brady  <P@draigBrady.com>
27389         quotearg: minimize shell quoting using double quotes
27390         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
27391         quote in encountered then use double quotes (c style quoting)
27392         when possible, as it simplifies the quoting.
27393         * tests/test-quotearg-simple.c: Add test cases.
27394         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
27395         for the fact we now may write beyond the returned length.
27397 2016-10-02  Jim Meyering  <meyering@fb.com>
27399         vasnprintf.c: avoid spurious warning from GCC 7
27400         The presence of cpp directives renders this "FALLTHROUGH" comment
27401         ineffective, so does not suppress the -Wimplicit-fallthrough warning
27402         from GCC 7 built from git on 2016-10-02.
27403         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
27404         directives, so that it takes effect once again.  This is clearly
27405         not a proper change, and I will revert it once this bug is fixed:
27406         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
27408 2016-10-01  Jim Meyering  <meyering@fb.com>
27410         getprogname: correct the test for a __progname variable
27411         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
27412         and AC_LINK_IFELSE to check for a global __progname.  If found,
27413         define HAVE_VAR___PROGNAME.
27414         * lib/getprogname.c (getprogname): Reflect the new name of the
27415         feature- checked preprocessor symbol:
27416         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
27418 2016-09-28  Jim Meyering  <meyering@fb.com>
27420         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
27421         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
27422         fall-through case with a /* fallthrough */ comment.
27424         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
27425         * lib/dfa.c (dfassbuild): Mark the end of this case with a
27426         /* fallthrough */ comment.
27428         getprogname: avoid __progname vs program_invocation_short_name pitfall
27429         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
27430         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
27431         not with Fedora 24's glibc-2.23.1-10.
27432         * lib/getprogname.c (__progname): Move this declaration down...
27433         (getprogname): ... into the #elif block where used, and make it
27434         explicitly "extern".
27436         getprogname: port to OpenBSD 5.1
27437         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
27438         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
27439         * modules/getprogname (configure.ac): Move most of this code...
27440         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
27441         increment serial number, and add a test for __progname.
27442         https://bugs.gnu.org/24562
27443         Reported by Nelson H. F. Beebe.
27445 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
27447         sched: port to GCC 6.2.1 on macOS Sierra
27448         Problem reported by Denis Davydov in:
27449         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
27450         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
27451         Include <sys/cdefs.h> before <sched.h>.
27452         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
27453         so that we needn’t worry about the sched.h include bug here.
27454         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
27455         and include it before <sched.h> if it exists, when
27456         checking for <sched.h>.
27458         tests/init.sh: port Alpine fix to AIX 7.1
27459         * tests/init.sh (compare_): When attempting to use diff -U3,
27460         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
27461         diff -u not outputting a space after leading '+', as the users
27462         of 'compare' should not be that picky about its output format.
27463         In the AIX 7.1 case, return with diff exit status (or with 2 if
27464         trouble), instead of some random nonzero exit status.
27465         * tests/test-init.sh (test_compare): Remove space after leading
27466         '+', so that AIX 7.1 'diff' passes the test.
27468 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
27470         nl_langinfo: pacify GCC
27471         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
27472         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
27474         stdint: also set GL_GENERATE_LIMITS_H
27475         Problem reported by Jim Meyering in:
27476         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
27477         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
27479         limits-h, stdint: Don't assume extensions, fix typo
27480         * m4/limits-h.m4 (gl_LIMITS_H):
27481         * m4/stdint.m4 (gl_STDINT_H):
27482         Don't assume AC_USE_SYSTEM_EXTENSIONS.
27483         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
27484         reported by Jim Meyering in:
27485         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
27487 2016-09-21  Jim Meyering  <meyering@fb.com>
27489         getprogname: port to AIX
27490         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
27491         and strdup to obtain a short program name string.  Using code from
27492         Bruno Haible and an idea from Bastien ROUCARIÈS, in
27493         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
27494         Assaf Gordon reported that this new file would fail to compile on
27495         AIX-7.1 32bit.
27497 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
27499         extensions: fix typo in comment
27500         * m4/extensions.m4: Sync from Autoconf master.
27502         stdint: support new _WIDTH macros
27503         * doc/posix-headers/stdint.texi: Document this.
27504         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
27505         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
27506         support for INTMAX_WIDTH, etc. as well as for support for just C99.
27507         * modules/stdint (Depends-on): Add limits-h.
27508         (Makefile.am): Substitute HAVE_C99_STDINT_H.
27509         * modules/stdint-tests (Depends-on): Add extensions, so that
27510         INTMAX_MAX etc. are defined.
27511         * tests/test-stdint.c: Verify the new macros.
27513         limits-h: new module
27514         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
27515         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
27516         * doc/posix-headers/limits.texi: Document new module.
27517         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
27518         * modules/limit-h-tests, tests/test-limits-h.c: New files.
27520         stdio: don't redefine __USE_MINGW_ANSI_STDIO
27521         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
27522         if it is already defined.  Apparently GNU Emacs relies on this.  See:
27523         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
27525 2016-09-15  Eric Blake  <eblake@redhat.com>
27527         sys_types: avoid glibc 2.25 warnings about major()
27528         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
27529         older autoconf.
27530         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
27531         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
27532         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
27533         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
27535         mountlist: include sysmacros.h for glibc
27536         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
27537         AC_HEADER_MAJOR.
27538         * lib/mountlist.c (includes): Use correct headers.
27540 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
27542         extensions: port to more ISO C TSes
27543         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
27544         master, to add support for more recent ISO C TRs and TSes.
27546 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27548         intprops: new macro TYPE_WIDTH
27549         * lib/intprops.h (TYPE_WIDTH): New macro.
27550         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
27551         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
27552         * lib/parse-datetime.y (parse_datetime2):
27553         Use it.
27555         extensions: port to recent ISO C TRs
27556         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
27557         Sync from Autoconf master, to add support for recent ISO C TRs.
27558         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
27559         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
27560         the MinGW option is not an extension.
27562 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
27564         dfa: port to Solaris 9
27565         Problems reported by Tom G. Christensen in:
27566         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
27567         * modules/dfa (Depends-on): Add isblank.
27568         * modules/dfa-tests (dfa_match_aux_LDADD):
27569         Rename from test_stat_LDADD, to fix typo.
27570         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
27572 2016-09-10  Jim Meyering  <meyering@fb.com>
27574         strverscmp: avoid link failure on OS X
27575         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
27576         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
27578 2016-08-16  Jim Meyering  <meyering@fb.com>
27580         dfa: new module, importing grep's DFA matcher
27581         Since grep's DFA matcher is now being used by two gnulib-enabled
27582         projects, grep and sed, it makes sense to version-control its
27583         sources and unit tests in one place: here.
27584         * modules/dfa: New module.
27585         * modules/dfa-tests: New file.
27586         * lib/dfa.c: New file, from grep.
27587         * lib/dfa.h: Likewise.
27588         * lib/localeinfo.c: Likewise.
27589         * lib/localeinfo.h: Likewise.
27590         * tests/dfa-match-aux.c: Likewise.
27591         * tests/dfa-invalid-char-class.sh: Likewise.
27592         * tests/dfa-match.sh: Likewise, with minor changes.
27593         * MODULES.html.sh (Misc): Add "dfa" to this list.
27595 2016-09-09  Jim Meyering  <meyering@fb.com>
27597         getprogname-tests: don't depend on assert-h
27598         * modules/getprogname-tests (Depends-on): Remove assert-h.
27599         It was not needed, and in fact would cause build failure for
27600         coreutils on some systems.  Reported by Assaf Gordon in https:
27601         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
27603 2016-09-07  Jim Meyering  <meyering@fb.com>
27605         getprogname-tests: work also when EXEEXT is nonempty
27606         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
27607         * tests/test-getprogname.c (main): Use it.
27608         Suggested by Gisle Vanem.
27610 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
27612         getprogname: fix errors in previous change
27613         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
27614         s/program_invocation_name/base/
27615         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
27617 2016-09-08  Pádraig Brady  <P@draigBrady.com>
27619         parse-datetime: restrict debug output to input string
27620         * lib/parse-datetime.y (parse_datetime2): If we parse
27621         all of the input but determine it's invalid, ensure
27622         we don't output the now invalid input pointer.
27623         This issue was seen with `date -d 'now +1'`.
27625 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
27627         flexmember: new macro FLEXALIGNOF
27628         * lib/flexmember.h: Include <stddef.h>, for offsetof.
27629         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
27630         this macro.  Update comments.
27632 2016-09-07  Jim Meyering  <meyering@fb.com>
27634         getprogname: port to systems with __argv (mingw, msvc)
27635         * lib/getprogname.c (getprogname): Include "dirname.h" and use
27636         last_component: more general than open coding it with hard-coded "/".
27637         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
27638         * modules/getprogname (Depends-on): Add dirname-lgpl.
27639         (configure.ac): Check for __argv in <stdlib.h>.
27640         * modules/getprogname-tests: New file.
27641         * tests/test-getprogname.c: New file.
27642         Suggested by Gisle Vanem in
27643         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
27645 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
27647         flexmember: port better to GCC + valgrind
27648         With a char[] flexible array member in a struct with nontrivial
27649         alignment, GCC-generated code can access past the end of the
27650         array, because GCC assumes there are padding bytes to get the
27651         struct aligned.  So the common idiom of malloc (offsetof (struct
27652         s, m), n) does not properly allocate an n-byte trailing member, as
27653         malloc’s argument should be the next multiple of alignof (struct s).
27654         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
27655         Although C11 apparently permits this GCC optimization (i.e., there
27656         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
27657         See the thread containing:
27658         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
27659         * lib/flexmember.h: New file.
27660         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
27661         * lib/localename.c, lib/time_rz.c:
27662         Include flexmember.h.
27663         * lib/fnmatch_loop.c (struct patternlist):
27664         * lib/localename.c (struct hash_node):
27665         Use FLEXIBLE_ARRAY_MEMBER.
27666         * lib/fnmatch_loop.c (EXT):
27667         * lib/fts.c (fts_alloc):
27668         * lib/glob.c (glob_in_dir):
27669         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
27670         * lib/localename.c (gl_lock_define_initialized):
27671         * lib/time_rz.c (tzalloc):
27672         Use FLEXSIZEOF instead of offsetof.
27673         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
27674         Check that the size of the struct can be taken.
27675         * modules/flexmember (Files): Add lib/flexmember.h.
27676         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
27677         Add flexmember.
27679 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
27681         getprogname: port to Solaris 10
27682         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
27683         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
27684         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
27686         stdalign: correct mistake in alignof doc
27687         Problem reported by Joseph Myers in:
27688         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
27689         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
27690         alignof(S) where S is a structure containing a flexible array
27691         member.  The Gnulib substitute does not support this, but C11 does.
27693 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27695         main.mk: remove sc_program_name, since there is no more need to
27696         use set_program_name in tools (getprogname is enough for most
27697         of the cases).
27698         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
27699         * top/maint.mk (sc_program_name): Remove.
27701 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27703         Port tests away from progname, since modules that need the
27704         program name already depend on getprogname.
27705         * modules/acl-tests (Depends-on): Remove progname.
27706         * modules/argmatch (Depends-on): Likewise.
27707         * modules/argmatch-tests (Depends-on): Likewise.
27708         * modules/argp-tests (Depends-on): Likewise.
27709         * modules/argp-version-etc-tests (Depends-on): Likewise.
27710         * modules/array-list-tests (Depends-on): Likewise.
27711         * modules/array-oset-tests (Depends-on): Likewise.
27712         * modules/avltree-list-tests (Depends-on): Likewise.
27713         * modules/avltree-oset-tests (Depends-on): Likewise.
27714         * modules/avltreehash-list-tests (Depends-on): Likewise.
27715         * modules/carray-list-tests (Depends-on): Likewise.
27716         * modules/copy-file-tests (Depends-on): Likewise.
27717         * modules/exclude-tests (Depends-on): Likewise.
27718         * modules/fchownat-tests (Depends-on): Likewise.
27719         * modules/fdopendir-tests (Depends-on): Likewise.
27720         * modules/filenamecat-tests (Depends-on): Likewise.
27721         * modules/fstatat-tests (Depends-on): Likewise.
27722         * modules/fstrcmp-tests (Depends-on): Likewise.
27723         * modules/linked-list-tests (Depends-on): Likewise.
27724         * modules/linkedhash-list-tests (Depends-on): Likewise.
27725         * modules/mkdirat-tests (Depends-on): Likewise.
27726         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
27727         * modules/nonblocking-socket-tests (Depends-on): Likewise.
27728         * modules/obstack-printf-tests (Depends-on): Likewise.
27729         * modules/openat-tests (Depends-on): Likewise.
27730         * modules/parse-datetime-tests (Depends-on): Likewise.
27731         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
27732         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
27733         * modules/quotearg-simple-tests (Depends-on): Likewise.
27734         * modules/quotearg-tests (Depends-on): Likewise.
27735         * modules/rbtree-list-tests (Depends-on): Likewise.
27736         * modules/rbtree-oset-tests (Depends-on): Likewise.
27737         * modules/rbtreehash-list-tests (Depends-on): Likewise.
27738         * modules/spawn-pipe-tests (Depends-on): Likewise.
27739         * modules/system-quote-tests (Depends-on): Likewise.
27740         * modules/uniname/uniname-tests (Depends-on): Likewise.
27741         * modules/uninorm/nfc-tests (Depends-on): Likewise.
27742         * modules/uninorm/nfd-tests (Depends-on): Likewise.
27743         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
27744         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
27745         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
27746         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
27747         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
27748         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
27749         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
27750         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
27751         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
27752         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
27753         * modules/unlinkat-tests (Depends-on): Likewise.
27754         * modules/version-etc-tests (Depends-on): Likewise.
27755         * modules/xalloc-die-tests (Depends-on): Likewise.
27756         * modules/xmemdup0-tests (Depends-on): Likewise.
27757         * modules/xprintf-posix-tests (Depends-on): Likewise.
27758         * modules/xvasprintf-tests (Depends-on): Likewise.
27759         * tests/test-argmatch.c: Do not include progname.h.
27760         (main) Stop calling set_program_name.
27761         * tests/test-argp-version-etc.c: Likewise.
27762         * tests/test-argp.c: Likewise.
27763         * tests/test-argv-iter.c: Likewise.
27764         * tests/test-array_list.c: Likewise.
27765         * tests/test-array_oset.c: Likewise.
27766         * tests/test-avltree_list.c: Likewise.
27767         * tests/test-avltree_oset.c: Likewise.
27768         * tests/test-avltreehash_list.c: Likewise.
27769         * tests/test-carray_list.c: Likewise.
27770         * tests/test-copy-acl.c: Likewise.
27771         * tests/test-copy-file.c: Likewise.
27772         * tests/test-exclude.c: Likewise.
27773         * tests/test-fchownat.c: Likewise.
27774         * tests/test-fdopendir.c: Likewise.
27775         * tests/test-filenamecat.c: Likewise.
27776         * tests/test-fstatat.c: Likewise.
27777         * tests/test-fstrcmp.c: Likewise.
27778         * tests/test-linked_list.c: Likewise.
27779         * tests/test-linkedhash_list.c: Likewise.
27780         * tests/test-mkdirat.c: Likewise.
27781         * tests/test-nonblocking-pipe-main.c: Likewise.
27782         * tests/test-nonblocking-socket-main.c: Likewise.
27783         * tests/test-obstack-printf.c: Likewise.
27784         * tests/test-openat.c: Likewise.
27785         * tests/test-parse-datetime.c: Likewise.
27786         * tests/test-pipe-filter-gi1.c: Likewise.
27787         * tests/test-pipe-filter-gi2-main.c: Likewise.
27788         * tests/test-pipe-filter-ii1.c: Likewise.
27789         * tests/test-pipe-filter-ii2-main.c: Likewise.
27790         * tests/test-quotearg-simple.c: Likewise.
27791         * tests/test-quotearg.c: Likewise.
27792         * tests/test-rbtree_list.c: Likewise.
27793         * tests/test-rbtree_oset.c: Likewise.
27794         * tests/test-rbtreehash_list.c: Likewise.
27795         * tests/test-sameacls.c: Likewise.
27796         * tests/test-set-mode-acl.c: Likewise.
27797         * tests/test-spawn-pipe-main.c: Likewise.
27798         * tests/test-system-quote-main.c: Likewise.
27799         * tests/test-unlinkat.c: Likewise.
27800         * tests/test-version-etc.c: Likewise.
27801         * tests/test-xalloc-die.c: Likewise.
27802         * tests/test-xfprintf-posix.c: Likewise.
27803         * tests/test-xmemdup0.c: Likewise.
27804         * tests/test-xprintf-posix.c: Likewise.
27805         * tests/test-xvasprintf.c: Likewise.
27806         * tests/uniname/test-uninames.c: Likewise.
27807         * tests/uninorm/test-u32-nfc-big.c: Likewise.
27808         * tests/uninorm/test-u32-nfd-big.c: Likewise.
27809         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
27810         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
27811         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
27812         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
27813         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
27814         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
27815         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
27816         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
27817         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
27818         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
27819         * tests/test-c-stack.c: (program_name): Do not define.
27820         (main): Do not set program_name.
27821         * tests/test-closein.c: Likewise.
27822         * tests/test-xstrtol.c: Likewise.
27823         * tests/test-yesno.c: Likewise.
27825 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27827         Port modules to use getprogname explicitly, instead of requiring
27828         progname to be used (or program_name to be provided).
27829         * lib/argmatch.c: Do not include progname.h.
27830         [TEST] (program_name): Do not define.
27831         [TEST] (main): Call getprogname instead of using program_name.
27832         * lib/c-stack.c: Do not include progname.h.
27833         (program_name): Do not define.
27834         (die): Call getprogname instead of using program_name.
27835         * lib/chdir-long.c: Do not include progname.h.
27836         [TEST_CHDIR] (main): Do not set program_name.
27837         * lib/error.c [!_LIBC]: Include progname.h.
27838         [!_LIBC] (program_name): Define using getprogname.
27839         * lib/euidaccess.c: Do not include progname.h.
27840         [TEST] (main): Do not set program_name.
27841         * lib/git-merge-changelog.c: Include getprogname.h instead of
27842         progname.h.
27843         (usage): Call getprogname instead of using program_name.
27844         (main): Likewise.  Stop calling set_program_name.
27845         * lib/group-member.c: Do not include progname.h.
27846         [TEST] (main): Do not set program_name.
27847         * modules/argmatch (Depends-on): Add getprogname.
27848         * modules/c-stack (Depends-on): Likewise.
27849         * modules/error (Depends-on): Likewise.
27850         * modules/git-merge-changelog (Depends-on): Likewise.
27851         Also remove progname.
27853 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
27855         * NEWS: Document the deprecation of the 'progname' module.
27857 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27859         getprogname: new module
27860         This provides a LGPL module for getting the name of the current
27861         program, using the same API found on *BSD systems.
27862         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
27863         * modules/getprogname: New files.
27864         * MODULES.html.sh (Misc): Add getprogname.
27866 2016-09-02  Jim Meyering  <meyering@fb.com>
27868         manywarnings: add -fno-common
27869         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
27870         to the list.  Quoting the manual, "Compiling with -fno-common is
27871         useful on targets for which it provides better performance, or if
27872         you wish to verify that the program will work on other systems that
27873         always treat uninitialized variable declarations this way [putting
27874         it in the data section]."  If diffutils had been using this sooner,
27875         it would have prevented this duplicate declaration issue:
27876         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
27878 2016-08-31  Simon Josefsson  <simon@josefsson.org>
27880         parse-datetime: Fix typo.
27881         * lib/parse-datetime.y (parse_datetime2): Fix typo.
27883 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
27885         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
27886         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
27887         GCC 5 and 6 that have __builtin_sub_overflow but not
27888         __builtin_sub_overflow_p.  With the recent changes, these
27889         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
27890         implementation than with INT_SUBTRACT_OVERFLOW implementation,
27891         since the former needs just one runtime comparison whereas the
27892         latter needs two.
27894         strverscmp: sync with glibc
27895         Although this doesn't exactly synchronize with glibc
27896         byte-for-byte, it makes the code behave the same as glibc.
27897         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
27898         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
27899         difference shouldn't matter in practical use.  All uses changed
27900         back to isdigit.
27901         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
27902         (next_state): Now unsigned char array; redo elements.
27903         (result_type): Now signed char array; redo elements.
27904         (__strverscmp): Fix glibc bug 9913 by using new states.
27905         * tests/test-strverscmp.c (main): Test glibc bug 9913.
27907 2016-08-29  Jim Meyering  <meyering@fb.com>
27909         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
27910         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
27911         similarly to how it was done to intprops.h.
27913 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
27915         intprops.h: port recent changes to GCC 6.2.0
27916         * lib/intprops.h (__has_builtin): Move earlier.
27917         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
27918         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
27919         the last argument can be null.  All uses changed.
27920         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
27921         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
27922         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
27923         and it's not clear which GCC versions it works for.
27924         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
27925         its definiens.
27927         intprops.h: use __typeof__ with GCC 7
27928         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
27929         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
27930         This avoids computing the expression's value (which might overflow!).
27932 2016-08-29  Jim Meyering  <meyering@fb.com>
27934         intprops.h, xalloc-oversized.h: work with gcc 7
27935         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
27936         __builtin_mul_overflow each accept a NULL pointer as the third
27937         argument.  However in gcc 7, that is no longer accepted.
27938         Instead, one must use the "_p"-suffixed names, with which, the
27939         third parameter is no longer a pointer.
27940         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
27941         the definition: not true for gcc 7 and subsequent.
27942         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
27943         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
27944         Provide new definitions for gcc 7 and subsequent.
27945         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
27946         that works with gcc-7.
27948         intprops.h: fix missing-backslash problems
27949         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
27950         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
27952 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
27954         intprops: fix paren typo on old platforms
27955         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
27956         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
27957         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
27958         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
27959         && !defined LLONG_MAX]:
27960         Remove stray paren.
27962         intprops: port to OpenVMS
27963         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
27964         * doc/posix-headers/limits.texi: Document the problem.
27965         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
27966         Define if not already defined.
27968 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
27970         parse-datetime: improve debug implementation
27971         Follow-up to commit 12ad79069 ("add optional debug printing").
27972         Improve parse-datetime's debug implementation: remove macros,
27973         replace global debug flag variable with a function parameter,
27974         use nstrftime for formatting.
27975         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
27976         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
27977         (parse_datetime2): New function, accepts 'flags' parameter, supporting
27978         debug flag. Existing interface 'parse_datetime' left unmodified.
27979         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
27980         (struct parser_control): add 'parse_datetime_debug' member variable.
27981         (parse_datetime): Call new function 'parse_datetime2' without debug.
27982         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
27983         pc.parse_datetime_debug variable as needed.
27984         (to_year): Accept new flags parameter, instead of using global variable.
27985         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
27986         use struct 'debug' variable instead of global variable.
27987         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
27988         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
27989         correspnding functions directly instead of using macros.
27990         * modules/parse-datetime: Add gnulib's strftime module.
27992 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
27994         c-strcase-tests: port to EBCDIC
27995         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
27996         which assume ASCII encoding semantics to run only in ASCII
27997         mode, as they fail in EBCDIC.
27999         sigpipe-tests: fix typo
28000         * tests/test-sigpipe.sh: C, not B.
28002 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
28004         canonicalize-lgpl: fix errno after malloca fails
28005         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
28006         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
28007         * lib/canonicalize-lgpl.c (__realpath):
28008         Don't assume malloca sets errno on failure.
28010 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28012         strtod: port errno handling to z/OS
28013         * lib/strtod.c (strtod): Save and restore errno more reliably.
28015 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
28017         strtod: port to z/OS
28018         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
28019         implementation.
28021 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28023         strtod: port to z/OS
28024         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
28025         implementation.
28027         regex, string: rename to avoid '__string'
28028         * lib/regex.h, lib/string.in.h: Do not use the identifier
28029         '__string', as it is effectively reserved by string.h on z/OS.
28031         c-strcase-tests, wcwidth-tests: depend on c-ctype
28032         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
28033         Add c-ctype.
28035 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
28037         thread: port to z/OS
28038         * lib/glthread/thread.c, lib/glthread/thread.h:
28039         Rudimentary gl_thread support for z/OS.
28041         maint: port tests to z/OS errno behavior
28042         * tests/test-nonblocking-reader.h:
28043         * tests/test-nonblocking-writer.h:
28044         Accommodate z/OS errno code preferences. (I believe this should
28045         still be within spec; IBM is good at following the letter if not
28046         the spirit of such things.)
28048         maint: preprocessor changes to support z/OS
28049         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
28050         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
28051         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
28052         * tests/test-nonblocking-pipe.h:
28054         fclose, strstr-simple, wchar: port to z/OS
28055         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
28056         Changes to the Autoconf M4 code to support z/OS.  Note that
28057         fclose() is broken in a different way on z/OS than it is on other
28058         systems, thus the special-case in fclose.m4.
28060         iconv_open-utf-tests, iconv-tests: port to EBCDIC
28061         * tests/test-iconv-utf.c, tests/test-iconv.c:
28062         Added appropriately conditional #pragmas so that the test strings
28063         in test-iconv-utf.c are correctly interpreted in ASCII instead of
28064         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
28065         addressed in a more portable way by simply rewriting all the ASCII
28066         literal characters as octal escapes, but then you would lose the
28067         partial readability that the strings have now. Also, iconv_open()
28068         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
28070         c-strcase-tests, wcwidth-tests: port to EBCDIC
28071         * tests/test-c-strcasecmp.c: Include c-ctype.h.
28072         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
28073         * tests/test-wcwidth.c: Likewise.
28075 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28077         stdbool: don't require _Bool for C++
28078         Problem reported by David Seifert in:
28079         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
28080         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
28081         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
28082         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
28083         stricter about checking that bool and _Bool are compatible in C.
28085 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
28087         getdelim: remove dependency on realloc-posix
28088         * lib/canonicalize-lgpl.c (alloc_failed)
28089         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
28090         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
28091         Use __set_errno where needed, for consistency.
28092         * lib/getdelim.c (alloc_failed): New function.
28093         (getdelim): Use it.
28095 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
28097         parse-datetime: add optional debug printing
28098         Print parsing information, warnings, and errors to stderr.
28099         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
28100         * lib/parse-datetime.y:
28101         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
28102         (PROGRESS*): Same as DEBUG, for progress reporting.
28103         (dbg_printf): Print message to stderr, with 'date' prefix.
28104         (struct parser_control): Add 'debug_*_seen' variables.
28105         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
28106         (debug_print_current_time, debug_print_relateive_time): Prints the
28107         current/relative date/time value of parser_control.
28108         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
28109         (to_year): Warn about 2-digit year parsing.
28110         (yylex):   Warn about unrecognized words.
28111         (get_effective_timezone): Returns current timezone in minutes.
28112         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
28113         clearly and unambigiously as possible.
28114         (debug_mktime_not_ok): Print detailed information about failed
28115         date/time values.
28116         (parse_datetime): Add DEBUG messages for failures, warnings. Add
28117         PROGRESS messages for status messages.
28118         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
28120 2016-08-06  Jim Meyering  <meyering@fb.com>
28122         tests/init.sh: exclude dash with bad "local" semantics
28123         * tests/init.sh (gl_shell_test_script_): Add a function to
28124         eliminate a shell like "dash" (unlike bash, zsh) that has
28125         surprising/risky "local var='...'" semantics.  Inspired by
28126         the problem and discussion in https://bugs.gnu.org/24116#11.
28128 2016-08-02  Ján Tomko  <jtomko@redhat.com>
28130         maint.mk: expand the prohibit_doubled_word regex
28131         This check has a static list of words that are checked for
28132         repetitions.  Expand it before running the perl script to
28133         avoid using expensive captures.  This decreases the cost
28134         for libvirt from 1.66s to 0.66s.
28135         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
28136         (sc_prohibit_doubled_word): Use it.
28138 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28140         useless-if-before-free: skip non-matching lines early
28141         * build-aux/useless-if-before-free: First match each line with the
28142         simple/quick /\bif\b/ and reject if there is no match. This often
28143         saves the cost of the much more involved regular expression.
28144         For libvirt, this decreases the cost from 1.44s to 1.02s.
28146 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28148         maint.mk: speed up sc_po_check
28149         sc_po_check would skip files based on their names, or on the
28150         existence of files with derived names. Rewrite it to use perl
28151         instead of shell to make the check faster.
28152         * top/maint.mk (perl_translatable_files_list_): Define.
28153         (sc_po_check): Use it.
28155 2016-07-30  Ján Tomko  <jtomko@redhat.com>
28157         maint.mk: speed up require_config_h_first
28158         Instead of spawning three processes per file,
28159         rewrite the check in perl and run it once for all the files.
28160         * top/maint.mk (perl_config_h_first_): Define.
28161         (sc_require_config_h_first): Use it in place of shell code.
28163 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28165         maint.mk: speed up sc_po_check
28166         sc_po_check would skip files based on their names, or on the
28167         existence of files with derived names. Rewrite it to use perl
28168         instead of shell to make the check faster.
28169         * top/maint.mk (perl_translatable_files_list_): Define.
28170         (sc_po_check): Use it.
28172 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
28174         obstack: pacify GCC 6 with -Wnull-dereference
28175         Problem reported by Assaf Gordon in:
28176         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
28177         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
28178         Declare with __attribute_noreturn__.
28179         * lib/obstack.h (__attribute_noreturn__): New macro.
28181 2016-07-13  Eric Blake  <eblake@redhat.com>
28183         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
28184         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
28185         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
28187 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
28189         doc: mention glibc SSIZE_MAX buglet
28190         * doc/posix-headers/limits.texi (limits.h): Document the bug.
28192 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
28194         printf-posix: Fix mingw build
28195         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
28196         expression for detecting C symbol prefixes but forgot to qoute square
28197         brackets in the command line arguments for grep.  That way when
28198         building with mingw the condition was false although it ought to be
28199         true instead.  In particular scenarios this led to the following
28200         compile error:
28202             Cannot export rpl_printf: symbol not found
28203             Cannot export rpl_scanf: symbol not found
28204             collect2: error: ld returned 1 exit status
28206         Fix this by properly quoting square brackets.
28208 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
28210         mktime: call tzset as per POSIX
28211         Problem reported by Ludovic Courtès in:
28212         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
28213         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
28214         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
28216 2016-06-26  Pádraig Brady  <P@draigBrady.com>
28218         fts: handle readdir() errors
28219         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
28220         but also upon error when it will also set errno.  Therefore
28221         flag the error case from readdir().  We treat the case where
28222         no items are read the same as if the dir can't be accessed,
28223         i.e. by setting fts_errno to FTS_DNR.
28225 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
28227         intprops: port better to GCC 7
28228         GCC 7 __builtin_add_overflow supports a new usage form, where the
28229         last argument is a null pointer, and which merely returns 1 if an
28230         overflow would occur.  This is a constant expression if all
28231         arguments are constants, and should generate faster code when code
28232         needs to be generated.
28233         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
28234         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
28235         Use builtin operations if available.
28236         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
28237         operations are available, as it's almost surely faster.
28239 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
28241         intprops-test: port to GCC 6
28242         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
28243         since the bug is not fixed in GCC 6.1.
28245 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
28247         xalloc-oversized: port to GCC 7; fewer warnings
28248         GCC 7 will have a better way to deal with integer overflow.
28249         Plus, fix a warnings problem reported by Tim Ruehsen in:
28250         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
28251         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
28252         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
28253         For GCC 5, use __xalloc_oversized if both args are constants,
28254         or if pedantic.
28256 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
28258         regex: port to Sun C
28259         Reported by Daiki Ueno.
28260         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
28261         __restrict, in prototype.  This fixes a problem I introduced in
28262         the 2016-02-19 merge from glibc.
28264 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
28266         stdbool: Restore __bool_true_false_are_defined check
28267         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
28268         __bool_true_false_are_defined is still defined, even with C++11.
28270 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
28272         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
28273         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
28275 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
28277         Use GCC_LINT, not lint
28278         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
28279         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
28280         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
28281         Document problem with lint and _Noreturn.
28282         * lib/diffseq.h (IF_LINT, IF_LINT2):
28283         * lib/fts.c (sccsid):
28284         * lib/getndelim2.c (IF_LINT):
28285         * lib/gl_anylinked_list2.h (gl_linked_iterator)
28286         (gl_linked_iterator_from_to):
28287         * lib/gl_anytree_list2.h (gl_tree_iterator)
28288         (gl_tree_iterator_from_to):
28289         * lib/gl_anytree_oset.h (gl_tree_iterator):
28290         * lib/gl_array_list.c (gl_array_iterator)
28291         (gl_array_iterator_from_to):
28292         * lib/gl_array_oset.c (gl_array_iterator):
28293         * lib/gl_carray_list.c (gl_carray_iterator)
28294         (gl_carray_iterator_from_to):
28295         * lib/idcache.c:
28296         * lib/inet_ntop.c (IF_LINT):
28297         * lib/regcomp.c (build_charclass_op, create_tree):
28298         * lib/regex_internal.c (re_acquire_state)
28299         (re_acquire_state_context):
28300         * lib/trigl.c (rcsid):
28301         * lib/trim.c (IF_LINT):
28302         * lib/vasnprintf.c (IF_LINT):
28303         * lib/verify.h (assume):
28304         Treat GCC_LINT like lint.
28306 2016-05-29  Bruno Haible  <bruno@clisp.org>
28308         secure_getenv: Port to many more platforms.
28309         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
28310         functions.
28311         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
28312         for non-BSD Unix platforms and for native Windows.
28313         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
28314         Prompted by a request from Nikos Mavrogiannopoulos.
28316 2016-05-27  Eric Blake  <eblake@redhat.com>
28318         canonicalize: Fix broken probe for realpath.
28319         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
28320         in logic introduced in 54615b95.
28322 2016-05-26  Eric Blake  <eblake@redhat.com>
28324         unsetenv: relax to LGPLv2+
28325         * modules/unsetenv (License): Match setenv license.
28327 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
28329         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
28330         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
28331         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
28332         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
28333         (commonarg, dirargs, dirs, infoarg, generate_ascii)
28334         (generate_html, generate_info, generate_tex, outdir)
28335         (source_extra, split, srcfile, texarg): Move above 'version'.
28336         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
28338 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
28340         manywarnings: update for GCC 6.1
28341         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
28342         Add GCC 6.1 options that apply to C.
28343         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
28344         do not apply to C, are obsolescent, etc.
28346 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
28348         glob: size_t overflow checks
28349         * lib/glob.c (__has_builtin): New macro.
28350         (size_add_wrapv, glob_use_alloca): New static functions.
28351         (glob, glob_in_dir): Check for size_t overflow in several places,
28352         and fix some size_t checks that were not quite right.
28354         glob: don't assume INT_MAX < SIZE_MAX
28355         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
28356         latter is not portable to (probably theoretical) hosts where
28357         SIZE_MAX <= INT_MAX.
28359 2016-05-09  Bruno Haible  <bruno@clisp.org>
28361         Fix undefined behaviour in gettext.h.
28362         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
28363         pointer's value after the storage it points to has been freed.
28364         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
28365         Spotted by Coverity.
28367 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
28369         git-version-gen: avoid undefined shift
28370         Problem reported by Mosè Giordano in:
28371         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
28372         * build-aux/git-version-gen: Avoid undefined behavior if invoked
28373         with --prefix or --fallback but without a later argument.  While
28374         we're at it, omit unnecessary quotes.
28376 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
28378         glob: merge glibc changes into lib/glob.c
28379         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
28380         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
28381         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
28382           struct dirent [BZ #19779]
28383         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
28384           callback gl_readdir
28385         2015-10-20 Convert miscellaneous function definitions to prototype style
28386         2015-10-20 Convert 113 more function definitions to prototype style
28387           (files with assertions)
28388         2015-06-12 Fix getlogin_r namespace (bug 18527).
28389         2014-02-10 Use glibc_likely instead __builtin_expect.
28390         2013-10-20 When glob pattern contains a trailing slash match only
28391           directories. Fixes bug 10278.
28392         2013-09-04 glob: silence -Wattribute warnings
28393         2013-06-07 Avoid use of "register" as optimization hint.
28394         2012-09-25 Use size_t instead of int for internal variables in glob
28395           (bug 14621)
28396         2011-07-20 Check for overflows in expressions
28397         2011-05-28 Remove unused variable
28398         2011-05-22 Add a few more alloca size checks
28399         2010-03-27 Whitespace fixes
28400         2010-03-27 Fix one more issue with the glob patch
28401         2010-03-24 Fix glob with empty pattern
28402         2008-05-27 Remove useless more "if" tests before "free"
28403         * modules/glob (Depends-on): Add stdint.
28405 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
28407         mktime: port to stricter signed overflow checking
28408         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
28409         (long_int): Require width for INT_MAX * 3 * (seconds per year),
28410         instead of merely for INT_MAX * 2.  In practice platforms that
28411         do the latter also do the former.
28412         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
28413         (shr): New static function, replacing SHR.  All uses changed.
28414         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
28415         and TIME_T_MAX.  All uses changed.
28416         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
28417         Use long_int, not time_t.
28418         (long_int_avg): New static function, replacing time_t_avg.
28419         All uses changed.  Round toward positive infinity, as that
28420         generates slightly better code.
28421         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
28422         by INT_ADD_WRAPV.
28423         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
28424         (convert_time): New static function.
28425         (ranged_convert): Use it
28426         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
28427         Use simpler test for loop exit.
28428         (__mktime_internal): Store negative of guessed offset, to simplify
28429         overflow checking.  Remove no-longer-needed test for small time_t
28430         overflows.
28432         mktime: speed up DEBUG_MKTIME benchmarks
28433         Call tzset just once, at the start, rather than for every test
28434         case.  This lets us measure the CPU cost of mktime as opposed to
28435         that of tzset.  This is relevant when TZ is not set and glibc is
28436         being used.  This speeds up tests by a factor of 40 on my Fedora
28437         23 x86-64 platform.
28438         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
28439         to call tzset and as a sanity check.  Later on, use localtime_r
28440         instead of localtime.
28442         mktime: resurrect DEBUG_MKTIME testing
28443         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
28444         Include <string.h>, for strcmp.
28446         mktime: simplify DEBUG_MKTIME
28447         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
28448         Simplify later usage accordingly.
28450         Port mktime_internal offset to unsigned time_t
28451         This avoids some assumptions about wraparound arithmetic on
28452         signed integer overflow.
28453         * lib/mktime-internal.h (mktime_offset_t): New type.
28454         (mktime_internal): Use it in decl.
28455         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
28457         * lib/mktime.c (__mktime_internal, localtime_offset):
28458         * lib/timegm.c (timegm): Use it.
28459         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
28460         (gl_FUNC_MKTIME): Require it.
28462 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
28464         xstrtol: prohibit monstrosities like "1bB"
28465         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
28466         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
28467         "B" only if the first suffix needs a base.
28468         * tests/test-xstrtol.sh: Test this.
28470 2016-04-21  Pádraig Brady  <P@draigBrady.com>
28472         xstrtod: reinstate setting of *result upon ERANGE
28473         * lib/xstrtod.c (XSTRTOD): The user may decide to use
28474         the returned limits upon ERANGE, so allow and document that.
28476 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
28478         xstrtod: modify *result only if no errors
28479         * lib/xstrtod.c (XSTRTOD).
28481 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
28483         btowc: document problems in C locale
28484         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
28485         with mbrtowc.  See: http://bugs.gnu.org/23269#32
28487 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
28489         mktime: improve integer overflow checking
28490         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
28491         (WRAPV): Remove; no longer needed.
28492         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
28493         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
28494         Remove.  Use intprops.h defns instead.
28495         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
28496         Use bool for Boolean, for clarity.
28497         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
28498         detect integer overflow.
28499         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
28501         intprops: check two's complement assumption
28502         Suggested by Eric Blake in:
28503         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
28504         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
28505         short, int, long, and (if available) long long are two's complement.
28506         * modules/intprops (Depends-on): Add 'verify'.
28508         intprops, mktime, strtol: assume two's complement
28509         These macros were not portable to every conforming C11 ones'
28510         complement platform.  It's not worth the hassle of porting to some
28511         platforms that use ones' complement or signed magnitude, as such
28512         platforms are almost purely theoretical nowadays and porting even
28513         to some of them makes the code harder to review for little
28514         practical benefit.  Problem reported by Florian Weimer in:
28515         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
28516         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
28517         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
28518         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
28519         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
28520         (TYPE_SIGNED_MAGNITUDE):
28521         Remove.  All uses rewritten to assume two's complement, which is
28522         all we can reasonably test nowadays anyway.
28523         * top/maint.mk (_intprops_names): Remove the removed macros.
28525 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
28527         stdint: port to strict C11 left shift
28528         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
28529         Pacify clang -Wshift-negative-value, which should be an issue only
28530         on clang setups where stdint.h does not conform to C11 or to C++11.
28531         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
28533 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
28535         mbrtowc: work around glibc bug#19932
28536         Fix mbrtowc so that it never returns -1 in the C locale,
28537         as this conflicts with a future version of POSIX
28538         http://austingroupbugs.net/view.php?id=663#c2738
28539         and causes problems with GNU grep: http://bugs.gnu.org/23234
28540         See glibc bug 19932:
28541         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
28542         * doc/posix-functions/mbrlen.texi (mbrlen):
28543         * doc/posix-functions/mbrtowc.texi (mbrtowc):
28544         Document the glibc bug.
28545         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
28546         Include hard-locale.h, locale.h.
28547         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
28548         if the bug is possible.
28549         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
28550         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
28551         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
28552         * modules/mbrtowc (Depends-on): Add hard-locale.
28553         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
28554         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
28555         * tests/test-mbrtowc5.sh: New file.
28557 2016-04-03  Pedro Alves  <palves@redhat.com>
28559         stdint: detect good enough pre-C++11 stdint.h in C++ mode
28560         When gnulib is configured in C++ mode for a system with a working C99
28561         implementation of stdint.h that predates C++11, gnulib ends up
28562         substituting stdint.h anyway.  This works on most targets, but on e.g.,
28563         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
28564         MinGW is LLP64.  Instead of trying to detect the right types, detect
28565         good-enough-pre-C++11 stdint.h and in such case define
28566         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
28567         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
28568         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
28569         conforms to C99.  If it does, check whether it hides symbols
28570         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
28571         does, define those macros in config.h.
28573 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
28575         argp: merge changes from glibc
28576         Among other things, this should fix problems found by a Coverity
28577         scan and reported by Andrei Borzenkov:
28578         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
28579         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
28580         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
28581         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
28582         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
28583         * lib/argp.h:
28584         Merge changes from glibc.
28585         * tests/test-argp-2.sh: Adjust to match new behavior.
28587 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
28589         stddef: support configuring with g++
28590         Problem reported by Ángel González in:
28591         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
28592         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
28593         Do not define if _GCC_MAX_ALIGN_T is defined.
28595 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
28597         test-framework-sh: minor cleanups
28598         * tests/init.sh (testdir_prefix_): Output a trailing newline,
28599         since strictly speaking POSIX requires this.
28600         (setup_): Do not use the variable 'fail', as that makes the
28601         trace output harder to read ('fail' is typically used by
28602         tests to mean the test failed).  Treat // portably.
28603         Check that new directory is not merely a sibling of the tmp dir.
28604         Avoid unnecessary invocation of tr.
28606         test-framework-sh: revert port to NetBSD 7.0
28607         It was a false alarm; I misinterpreted Assaf Gordon's report.
28608         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
28609         Restore.
28610         (test_dir_): Adjust to mktempd_ change.
28611         (mktempd_): Restore 2nd arg.  Use -t again.
28612         (base_template_, template_, nx_): Resurrect old code.
28614         Port better to Alpine Linux
28615         Its diff implementation does not support -c, but does support -U3.
28616         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
28617         * tests/init.sh (diff_opt_): New var.
28618         (compare_): Prefer diff -U3 to diff -c to plain diff.
28620 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
28622         test-framework-sh: port to NetBSD 7.0
28623         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
28624         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
28625         Remove.  All uses removed.
28626         (test_dir_): Adjust to mktempd_ change.
28627         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
28628         (base_template_, template_, nx_): Simplify by hardcoding.
28630 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
28632         gitlog-to-changelog: suppress ignored chatter
28633         * build-aux/gitlog-to-changelog: Do not warn about skipping
28634         an SHA if it would have been ignored anyway.
28636 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
28638         setlocale: add "sv" to Windows language table
28639         * lib/setlocale.c (language_table) [W32]: Add "sv".
28640         Reported in <https://savannah.gnu.org/bugs/?44588>.
28642 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
28644         sys_select: port to new Cygwin
28645         Problem reported by Ken Brown in:
28646         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
28647         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
28648         diagnostics.
28650 2016-03-17  Jim Meyering  <meyering@fb.com>
28652         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
28653         * tests/test-userspec.c (main): Remove unnecessary braces and fix
28654         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
28655           test-userspec.c:176:9: error: statement is indented as if it were \
28656             guarded by... [-Werror=misleading-indentation]
28657                    {
28658                    ^
28659           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
28660                  if (!diag && !T[i].result)
28661                  ^~
28663 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
28665         time_rz: port to clang -Wunused-const-variable
28666         * lib/time_rz.c (TZ): Remove.  All uses removed.
28668         std-gnu11: improve clang support
28669         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
28670         2016-03-15 Also try clang
28671         2016-03-15 Port C11 and C++11 testing to clang
28673         select: port more to Intel 2016.1.150 compiler
28674         Problem reported by Balázs Hajgató in:
28675         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
28676         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
28678 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
28680         select: try to port to 2016.1.150 compiler
28681         Problem reported by Balázs Hajgató in:
28682         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
28683         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
28684         POSIX specifies 'restrict'.
28686 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
28688         localename-tests: memory allocation fixes
28689         * tests/test-localename.c (test_locale_name)
28690         (test_locale_name_thread): Don't call freelocale on a locale
28691         that was the base of a successful newlocale, as that
28692         results in a double free.  Problem reported by Assaf Gordon.
28693         (test_locale_name_thread): Free saved names after use, to pacify
28694         gcc -fsanitize=address.
28696 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
28698         intprops: make .h file license match module
28699         * lib/intprops.h: Change the license wording to match glibc format.
28700         This is what is in modules/intprops anyway.  See:
28701         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
28703 2016-03-08  Eric Blake  <eblake@redhat.com>
28705         acl: fix missing return on Cygwin
28706         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
28707         fall off end of function. Fixes http://bugs.gnu.org/22949
28709 2016-03-05  Bruno Haible  <bruno@clisp.org>
28711         extern-inline: port to PGI CC
28712         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
28713         keyword 'inline'.
28714         Reported by Adam James Stewart in:
28715         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
28717 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
28719         signbit: port back to pre-C++11 GCC
28720         * lib/math.in.h (signbit): Do previous change only if
28721         __cplusplus < 201103.  See Jonathan Wakely in:
28722         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
28724 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
28726         mountlist: recognize autofs-mounted remote file systems, too
28727         Originally reported at: https://bugzilla.redhat.com/1309247
28728         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
28729         "-hosts" because it is used by autofs to mount remote file systems.
28731 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
28733         signbit: port to C++ with GCC 6
28734         * lib/math.in.h (signbit) [__cplusplus]:
28735         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
28736         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
28738         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
28740         regex: make it closer to libc
28741         Make Idx a signed type, rather than possibly unsigned.
28742         The unsignedness was not really buying us anything, since the code
28743         overflows for other reasons before getting to PTRDIFF_MAX.  Making
28744         it signed allows us to use -1 and -2 with abandon, like libc does,
28745         thus lessening the number of differences between gnulib and libc.
28746         Also, it should help avoid gratuitous warnings like the one
28747         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
28748         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
28751         regex: merge patches from libc
28753         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
28754         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
28755         Convert miscellaneous function definitions to prototype style.
28756         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
28757         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
28758         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
28759         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
28760         (re_search_internal):
28761         Convert to prototype-style function definition.
28762         Use internal_function for internal functions.
28764 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
28766         stdalign: port to older HP and IBM cc
28767         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
28768         C compilers, by checking their version numbers.  These version
28769         numbers appear in MariaDB and in Qt code that dates way back and
28770         that conditiionally uses the 'aligned' attribute.
28772 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
28774         stdalign: port to clang 3.7.0
28775         Problem reported by Herbert J. Skuhra in:
28776         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
28777         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
28778         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
28779         https://llvm.org/bugs/show_bug.cgi?id=26547
28781 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
28783         readdir_r: now obsolescent
28784         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
28785         * lib/mountlist.c (read_file_system_list): Add a FIXME.
28787 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
28789         misc: port better to gcc -fsanitize=address
28790         Without these patches, ./configure CFLAGS='-fsanitize=address'
28791         would compute incorrect values.  This patch fixes some (but not all)
28792         test failures with recent glibc, with this configuration.
28793         * m4/acl.m4 (gl_ACL_GET_FILE):
28794         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
28795         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
28796         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
28797         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
28798         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
28799         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
28800         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
28801         * m4/getline.m4 (gl_FUNC_GETLINE):
28802         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
28803         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
28804         * m4/regex.m4 (gl_REGEX):
28805         * m4/strndup.m4 (gl_FUNC_STRNDUP):
28806         * tests/test-calloc-gnu.c (main):
28807         * tests/test-duplocale.c (main):
28808         * tests/test-getgroups.c (main):
28809         * tests/test-getline.c (main):
28810         * tests/test-inttostr.c (main):
28811         * tests/test-localename.c (test_locale_name)
28812         (test_locale_name_thread, test_locale_name_environ)
28813         (test_locale_name_default):
28814         * tests/test-regex.c (main):
28815         * tests/test-setlocale1.c (main):
28816         * tests/test-stat.h (test_stat_func):
28817         Free heap-allocated storage before exiting.
28818         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
28819         Don't match *_foo symbols inserted by AddressSanitizer.
28820         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
28822 2016-02-02  Jim Meyering  <meyering@fb.com>
28824         verify-tests: also remove stray test-verify.Tpo
28825         * modules/verify-tests (Makefile.am): Arrange for "make clean"
28826         to remove the test-verify.Tpo file that is left behind by
28827         the automake-generated rule upon compilation failure.
28828         Otherwise, that .Tpo file would cause a failed "make distcheck"
28829         at least for grep.
28831 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
28833         std-gnu11: new module
28834         This makes it easier for applications to prefer C11 and C++11
28835         to older variants, when compiling C and C++ code.
28836         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
28837         a nontrivial chunk of GPLed Autoconf source code.
28838         * COPYING: Mention the m4/*.m4 copyright situation.
28839         * MODULES.html.sh (std-gnu11): New module.
28840         * m4/std-gnu11.m4, modules/std-gnu11: New files.
28842 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
28844         get-permissions, strftime: fix grammar in comments
28845         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
28846         some grammar fixes Alan Mackenzie made to GNU Emacs.
28848 2016-01-25  Daiki Ueno  <ueno@gnu.org>
28850         gettext: mark as obsolete
28851         Suggested by Paul Eggert in:
28852         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
28853         * modules/gettext (Status): Mark as obsolete.
28854         (Notice): Suggest to use 'gettext-h' instead.
28855         * modules/gettext-h (Description): Suggest GNU gettext, instead of
28856         the 'gettext' module.
28858 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
28860         gnulib-tool: don't give up on ln -s so easily
28861         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
28862         because an earlier one failed.  The targets could be on different
28863         file systems.  Problem reported by KO Myung-Hun in:
28864         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
28866         closedir: fix OS/2-related typos
28867         Problem reported by KO Myung-Hun in:
28868         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
28869         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
28870         in the last couple of changes.
28872 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
28874         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
28875         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
28876         copying a directory.
28878 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
28880         regex: treat [x] as x if x is a unibyte encoding error
28881         Problem reported by Aharon Robbins in:
28882         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
28883         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
28884         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
28886         closedir, dirfd, opendir: port to OpenSolaris 5.10
28887         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
28888         * m4/dirfd.m4 (gl_FUNC_DIRFD):
28889         * m4/opendir.m4 (gl_FUNC_OPENDIR):
28890         Don't use ${word##pat} substitution, as it doesn't work in
28891         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
28892         http://bugs.gnu.org/22443#11
28894 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
28896         bootstrap: use American spelling
28897         * build-aux/bootstrap: Honor American spelling.
28899 2016-01-22  Karl Berry  <karl@freefriends.org>
28901         * doc/posix-functions/localtime.texi,
28902         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
28904 2016-01-21  Bruno Haible  <bruno@clisp.org>
28906         hash-pjw-bare: fix comment
28907         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
28909         wcwidth: Replace also on OpenBSD 5.8
28910         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
28911         * doc/posix-functions/wcwidth.texi: Update.
28913 2016-01-20  Pádraig Brady  <P@draigBrady.com>
28915         gnu-web-doc-update: fix addition of new files
28916         If there were already added (emnpty) dirs,
28917         then cvs aborts the add with the message:
28918           cvs [add aborted]: there is a version in <./dirname> already
28919         * build-aux/gnu-web-doc-update: Add directories separately
28920         to the addition of files, to avoid the above issue
28921         impacting the addition of files.
28923 2016-01-19  Daiki Ueno  <ueno@gnu.org>
28925         utimens-tests: avoid pulling gettext .m4 files
28926         Although this is not the right fix to the original problem:
28927         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
28928         it makes it possible again for consumer projects to use arbitrary
28929         version of gettext, through the steps described at:
28930         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
28931         See here for details:
28932         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
28933         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
28934         'gettext'.
28935         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
28936         'gettext'.
28938 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
28940         regex: pacify static checkers
28941         Problem and draft fix reported by Aharon Robbins in:
28942         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
28943         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
28944         Clear memory to pacify static checkers.
28946         regex: fix [ diagnostic
28947         Problem and fix reported by Aharon Robbins in:
28948         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
28949         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
28951         regex: fix memory leaks
28952         Problem and draft fix reported by Aharon Robbins in:
28953         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
28954         * lib/regcomp.c (build_range_exp, build_charclass_op)
28955         * lib/regex_internal.c (re_dfa_add_node):
28956         Fix memory leak on failure.
28958 2016-01-18  Pádraig Brady  <P@draigBrady.com>
28960         fts: don't unconditionally use leaf optimization for NFS
28961         NFS st_nlink are not accurate on all implementations,
28962         leading to aborts() if that assumption is made.
28963         See <https://bugzilla.redhat.com/1299169>
28964         * lib/fts.c (leaf_optimization_applies): Remove NFS from
28965         the white list, and document the issue.
28967 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
28968             KO Myung-Hun  <komh@chollian.net>
28970         gnulib-tool: don't assume ln -s works
28971         * gnulib-tool (func_ln_s): New function.
28972         (func_ln): Use it.
28974 2016-01-15  KO Myung-Hun  <komh@chollian.net>
28976         utimes: detect utimes() correctly on OS/2 kLIBC
28977         utimes() of OS/2 kLIBC has some limitations.
28978         1. OS/2 itself supports a file date since 1980 year in local time.
28979         2. OS/2 itself supports only even seconds for a file time.
28980         3. utimes() of OS/2 kLIBC does not work on an opened file.
28981         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
28982         * doc/posix-functions/utimes.texi: Document the above limitations of
28983         utimes() on OS/2 kLIBC.
28985 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
28986             KO Myung-Hun  <komh@chollian.net>
28988         openat_proc_name: port to OS/2 kLIBC
28989         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
28990         instead of /proc/self/fd.
28991         * lib/openat-proc.c (openat_proc_name):
28992         Don't assume file name length is less than INT_MAX.
28993         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
28995 2016-01-14  KO Myung-Hun  <komh@chollian.net>
28997         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
28998         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
28999         definitions of intptr_t and uintptr_t (which use int and unsigned)
29000         to avoid clashes with declarations of system functions like sbrk.
29001         * lib/stdint.in.h (intptr_t, uintptr_t): Check
29002         _INTPTR_T_DECLARED before defining them.
29004         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
29005         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
29006         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
29007         Declare on kLIBC.
29008         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
29009         fd associated with dirp.
29010         (_gl_register_dirp_fd): New. Register fd associated with dirp to
29011         dirp_fd_list.
29012         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
29013         (dirfd): Implemented for kLIBC.
29014         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
29015         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
29016         succeeds.
29017         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
29018         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
29019         (REPLACE_DIRFD): Define to 1 if replaced.
29020         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
29021         * modules/closedir (Depends-on): Add dirfd.
29022         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
29023         condition.
29024         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
29025         * modules/opendir (Depends-on): Add dirfd.
29027         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
29028         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
29029         * lib/dup.c (dup_nothrow): New.
29030         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
29031         (klibc_dup2): New.
29032         * lib/fcntl.c (klibc_fcntl): New.
29033         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
29034         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
29035         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
29036         fd.
29038         pipe_filter_ii_execute: port to OS/2 kLIBC
29039         Pipes on kLIBC do not support O_NONBLOCK like Win32.
29040         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
29041         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
29042         Reuse Win32 code on OS/2 kLIBC.
29043         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
29044         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
29046         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
29047         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
29048         static inline function.  The implementation of wcwidth in wcwidth.c
29049         causes a "conflicting types" error.
29050         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
29052         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
29053         spawn() on OS/2 kLIBC is not silly like one on Windows
29054         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
29055         empty string on OS/2 kLIBC.
29057         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
29058         On OS/2 kLIBC, select() works only on sockets.
29059         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
29061         binary-io: don't put fd in binary mode if it is a console on EMX
29062         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
29063         a console on EMX.
29065 2016-01-15  Pádraig Brady  <P@draigBrady.com>
29067         doc: mention unfixed issues with unsupported localtime() values
29068         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
29069         returns nonsense for localtime(2^56).
29070         * doc/posix-functions/localtime_r.texi: Likewise.
29072 2016-01-14  Pádraig Brady  <P@draigBrady.com>
29074         doc: mention setlocale() issues on OpenBSD
29075         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
29076         never fails, and the need to check categories individually.
29078 2016-01-14  Pádraig Brady  <P@draigBrady.com>
29080         sig2str: list all signals on FreeBSD >= 7
29081         FreeBSD >= 7 is contravening POSIX by not defining NSIG
29082         to the maximal statically defined signal value.
29083         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
29084         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
29085         where available, even when NSIG is defined.
29087 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
29089         acl-permissions: port to USE_ACL==0 platforms
29090         I ran into this problem when building bleeding-edge GNU Emacs
29091         with gcc -fsanitize=address on Fedora 23.  On this platform
29092         the ACL library does not pass the 'configure' test and Emacs
29093         then does not build due in part to what appear to be typos in the
29094         ACL part of Gnulib.
29095         * lib/acl-internal.c (free_permission_context):
29096         * lib/acl-internal.h (struct permission_context):
29097         Test whether USE_ACL is nonzero, not whether it is defined.
29099 2016-01-12  Martin Sebor  <msebor@redhat.com>
29101         mktime: rename macro to avoid glibc clash
29102         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
29103         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
29105 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
29107         Port "$@" to OpenIndiana ksh93
29108         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
29109         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
29110         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
29111         bug long-dead shells, so remove the workaround.
29112         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
29113         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
29114         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
29115         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
29116         Use "$@" instead of ${1+"$@"}.
29118         Port Universal Time settings to strict POSIX
29119         * build-aux/announce-gen, build-aux/bootstrap:
29120         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
29121         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
29122         * build-aux/gnupload, build-aux/mkinstalldirs:
29123         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
29124         * build-aux/update-copyright, build-aux/useless-if-before-free:
29125         * build-aux/vc-list-files, tests/test-strftime.c:
29126         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
29127         but POSIX says the behavior of TZ="UTC" is undefined.
29129 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
29131         msvc-inval: fix problem with unset shell var
29132         Problem reported by Karl Berry in:
29133         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
29134         * modules/msvc-inval (Depends-on):
29135         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
29136         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
29138 2016-01-01  Pádraig Brady  <P@draigBrady.com>
29140         tests: for compare_(), use cmp -s where available
29141         * tests/init.sh (compare_): Only fall back to cmp without
29142         the POSIX defined -s option, where this is not available.
29144 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
29146         version-etc: new year
29147         * build-aux/gendocs.sh (version):
29148         * doc/gendocs_template:
29149         * doc/gendocs_template_min:
29150         * doc/gnulib.texi:
29151         * lib/version-etc.c (COPYRIGHT_YEAR):
29152         Update copyright dates by hand in templates and the like.
29153         * all files: Run 'make update-copyright'.
29155 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
29157         human: fix output buffer overrun by 1
29158         * lib/human.c (human_readable): Fix off-by-one typo in buffer
29159         calculation that could lead to a one-byte buffer overrun.
29161 2015-12-28  Daiki Ueno  <ueno@gnu.org>
29163         maint: fix operator precedence in mbrtowc test
29164         This is a fix for test breakage introduced by commit 45228d96; the
29165         equality expression must be parenthesized when negated with '!',
29166         otherwise we always get:
29168           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
29170         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
29171         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
29173 2015-12-23  James Youngman  <jay@gnu.org>
29175         regexprops-generic: update from regex.h
29176         * doc/regexprops-generic.texi: update by running the regexprops binary
29177         from findutils (the command line is 'regexprops "Regular Expressions"
29178         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
29179         gnulib with GNU grep had made this document out-of-date.
29181 2015-12-23  Pádraig Brady  <P@draigBrady.com>
29183         strftime-tests: avoid false failure on OS X
29184         * tests/test-strftime.c (struct localtime_rz_test): Add an
29185         ahistorical member which is used to warn rather than fail
29186         when tm_isdst isn't set for such entries.  This is the case for
29187         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
29189 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
29191         fts: ensure leaf optimization is used for NFS
29192         NFS provides usable dirent.d_type but not necessarily for all entries
29193         of large directories.  See <https://bugzilla.redhat.com/1252549>
29194         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
29196 2015-12-20  Pádraig Brady  <P@draigBrady.com>
29198         fts: enable leaf optimization for XFS
29199         XFS provides usable dirent.d_type only for DT_DIR,
29200         but the noleaf optimization still applies.
29201         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
29203 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
29205         intprops: comment fix
29206         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
29207         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
29209         intprops-test: work around GCC bug 68971
29210         Problem reported by Pádraig Brady in:
29211         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
29212         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
29213         (main): Add a case that better tests 64-bit long in this area.
29215 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
29217         gnulib-tool: allow multiple --local-dir usage
29218         * gnulib-tool: Use --local-dir to construct compound
29219         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
29220         PATH_SEPARATOR early.
29221         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
29222         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
29223         func_determine_path_separator because that needs to be detected
29224         earlier now.
29225         (func_determine_path_separator): New function.
29226         (func_path_foreach, func_path_foreach_inner): New functions.
29227         (func_path_prepend, func_path_append): Likewise.
29228         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
29229         (func_lookup_file, func_all_modules): Use new functions to work
29230         with local_gnulib_path.
29231         (func_modules_in_dir, func_exists_module): New callbacks for
29232         func_path_foreach.
29233         (func_exists_module, func_get_tests_module): Likewise.
29234         (func_is_local_file, func_should_symlink): New helper methods.
29235         (func_add_file, func_update_file): Use new func_should_symlink
29236         instead, DRY.
29237         (func_reconstruct_cached_local_gnulib_path): New helper.
29238         (func_reconstruct_cached_dir): New callback.
29239         (func_import): The cached_local_gnulib_dir renamed to
29240         cached_local_gnulib_path similarly to local_gnulib_dir.
29241         Use new func_reconstruct_cached_local_gnulib_path.
29242         (func_count_relative_local_gnulib_path): New sub-method.
29243         (func_create_testdir): Use func_should_symlink, DRY.
29244         (func_create_megatestdir): Use new functions to work with
29245         local_gnulib_path correctly.
29246         (func_append_local_dir): New helper.
29248 2015-12-08  Pádraig Brady  <P@draigBrady.com>
29250         fix freadptr to work with ungetc on all uClibc configs
29251         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
29252         where GNU coreutils cut(1) generates invalid output on uClibc
29253         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
29254         * lib/freadptr.c (freadptr): Return NULL if there are
29255         ungotten chars.  In this case freadseek() will iterate
29256         again to process the ungotten character.
29258 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
29260         xalloc-oversized: improve performance with GCC 5
29261         * lib/xalloc-oversized.h (xalloc_oversized):
29262         Improve performance with GCC 5 by using __builtin_mul_overflow.
29264 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
29266         intprops: new public macro EXPR_SIGNED
29267         Emacs can use this macro, so make it public.
29268         * doc/intprops.texi (Arithmetic Type Properties): Rename from
29269         'Integer Type Determination', since some of these macros apply
29270         to non-integer types.  Clarify what kinds of constant expressions
29271         these macros return.  Say when the arguments can be non-integers.
29272         Mention newly published macro EXPR_SIGNED.
29273         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
29274         make it public.  All uses changed.
29276         intprops: fix typo in clang port
29277         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
29278         '__builtin_add_overflow' that is not caught by compiler.
29280 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
29282         test-timespec: fix typo in previous change
29283         * tests/test-timespec.c (main): Fix typo that reduced test quality.
29285         timespec-sub: fix overflow bug; add tests
29286         * lib/timespec-add.c (timespec_add):
29287         * lib/timespec-sub.c (timespec_sub):
29288         Work even if time_t is narrower than int (a theoretical
29289         possibility).  Redo code for a bit more clarity.
29290         * lib/timespec-sub.c (timespec_sub):
29291         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
29292         * modules/timespec-tests, tests/test-timespec.c: New files.
29294         intprops-test: suppress -Woverlength-strings
29295         Problem reported by Pádraig Brady in:
29296         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
29297         It is not worth the hassle to port this test to compilers that
29298         cannot handle long strings in diagnostics.
29299         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
29301 2015-11-03  Pádraig Brady  <P@draigBrady.com>
29303         quotearg: add quotearg_n_style_colon()
29304         This quotes with default options of the specified style,
29305         but with quoting enabled for instances of ':'.
29306         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
29307         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
29309 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
29311         intprops: revise _WRAPV macros, revert _OVERFLOW
29312         The incompatible changes to the _OVERFLOW macros were too much of
29313         a hassle in practice, so revert them.  Instead, change the new
29314         _WRAPV macros to make them closer in behavior to GCC 5's new
29315         builtin_add_overflow etc. functions.  No other software was using
29316         these newly-added macros yet, so this should be OK.
29317         * NEWS: Revert previous change, since the incompatible change
29318         has been reverted, and nobody used the incompatible version.
29319         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
29320         Document revised behavior.
29321         (Integer Range Overflow): Adjust example to match above revisions.
29322         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
29323         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
29324         these can be used in integer constant expressions again.
29325         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
29326         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
29327         needed.
29328         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
29329         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
29330         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
29331         Remove, as they did not seem that useful.
29332         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
29333         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
29334         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
29335         Support new semantics.
29336         (__has_builtin): New macro, if not alreay defined.
29337         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
29338         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
29339         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
29340         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
29341         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
29342         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
29343         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
29344         New macros.
29345         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
29347 2015-11-03  Jim Meyering  <meyering@fb.com>
29349         intprops: add parentheses for when OP has precedence lower than "-"
29350         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
29351         "a OP b" must be parenthesized for when OP is like "<<", which has
29352         lower precedence than the following "-". Reported by Pádraig Brady.
29354 2015-11-03  Pádraig Brady  <P@draigBrady.com>
29356         quotearg: constify get_quoting_style parameters
29357         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
29358         * lib/quotearg.c (get_quoting_style): Likewise.
29360 2015-11-02  Pádraig Brady  <P@draigBrady.com>
29362         quotearg: add support for $'' shell escaping
29363         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
29364         items and descriptions.
29365         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
29366         above types by quoting like "shell", but using $'...' syntax
29367         for non printable characters, which should provide unambiguous
29368         printable output for any input.
29369         * tests/test-quotearg-simple.c: Update accordingly.
29371 2015-11-02  Pádraig Brady  <P@draigBrady.com>
29373         maint: use a more standard return from mbrtowc test
29374         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
29375         from the test program as this is non standard and often
29376         indicates an unhandled case in the test program.
29377         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
29379 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
29381         intprops: add WRAPV and const flavors for GCC 5
29382         If available, use GCC 5's builtin functions for efficient integer
29383         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
29384         and safely compute the low-order bits of the correct answer.
29385         A downside of these efficient functions is that they cannot be
29386         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
29387         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
29388         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
29389         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
29390         Document the changes.
29391         (Wraparound Arithmetic): New section.
29392         (Integer Range Overflow):
29393         Put this subsection last, since it's least useful.
29394         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
29395         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
29396         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
29397         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
29398         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
29399         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
29400         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
29401         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
29402         New macros.
29403         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
29404         Generate calls to GCC builtins if available, for speed.
29405         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
29406         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
29407         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
29408         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
29409         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
29410         (CHECK_QUOTIENT, CHECK_REMAINDER):
29411         Test WRAPV and CONST flavors (when available) too.
29413 2015-10-30  Pádraig Brady  <P@draigBrady.com>
29415         doc: use extended timezone format in iso-8601 example
29416         * doc/parse-datetime.texi: The standard states that extended format
29417         is to be used consistently throughout.
29418         Note that lib/parse-datetime.y can handle either tz format.
29420 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
29422         stdalign: port to Sun C 5.9
29423         * doc/posix-headers/stdalign.texi: Document this.
29424         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
29425         __attribute__ ((__aligned__ (...))).
29427 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
29429         time_rz: fix comment about tzalloc
29430         * lib/time_rz.c (tzalloc): Fix comment.
29432 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
29434         stdalign: work around pre-4.9 GCC x86 bug
29435         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
29436         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
29437         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
29439 2015-10-18  Pádraig Brady  <P@draigBrady.com>
29441         maint.mk: sc_tight_scope: remove extraneous expressions
29442         * top/maint.mk (tight_scope): This is not really required since
29443         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
29444         that matches all nm entries.  But it does remove extraneous entries
29445         that may be confusing or cause issue in future maintenance.
29447 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
29449         time_rz: return NULL if localtime_r fails
29450         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
29451         while still attempting to pacify bleeding-edge GCC.
29453         fts: port to C11 alignof
29454         * doc/posix-headers/stdalign.texi (stdalign.h):
29455         Document the C11 restriction.
29456         * lib/fts.c: Include stddef.h, for max_align_t.
29457         (fts_alloc): Align using max_align_t, not FTSENT.
29458         * modules/fts (Depends-on): Add stddef.
29460 2015-10-18  Jim Meyering  <meyering@fb.com>
29462         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
29463         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
29464         would see this:
29466         lib/time_rz.c: In function 'localtime_rz':
29467         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
29468           [-Werror=nonnull]
29469                    if (tm && !save_abbr (tz, tm))
29470                        ^
29472         That was complaining about "tm" because it is a parameter that was
29473         declared with the __nonnull__ attribute.
29474         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
29475         result of localtime_r.
29477 2015-10-17  Jim Meyering  <meyering@fb.com>
29479         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
29480         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
29481         name-extraction regexp mistakenly used \S+, and would mistakenly
29482         extract "*F" from "extern int *F()" rather than the desired "F".
29483         Use \w+ instead.
29485 2015-10-17  Jim Meyering  <meyering@fb.com>
29487         maint.mk: sc_tight_scope: factor and support OS X
29488         * top/maint.mk (_gl_tight_scope): Address three issues:
29489         - factor out four instances of code that wraps a string in "^...$"
29490         - allow nm-reported symbol names to have an optional leading "_"
29491         - add "main" to the list of ignored variable names, because on os x,
29492         "main" has nm-reported type "S" in the variable-checking section.
29494 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
29496         safe-alloc-tests: fix typo in license header
29497         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
29499 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
29501         copy-file: fix mem leak in error case
29502         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
29503         upon error opening or performing I/O to the src and dest files.
29505 2015-10-15  Mike Frysinger  <vapier@chromium.org>
29507         localename: control langinfo.h inclusion
29508         This header is only used to work around buggy behavior in old
29509         versions of glibc, so do not include it all the time.  Otherwise
29510         we get build failures on systems that do not provide langinfo.h.
29511         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
29512         in the source later on.
29513         The patch was originally submitted to gettext as:
29514         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
29516 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
29518         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
29519         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
29520         * lib/u64.c, lib/unistd.c:
29521         Append 'typedef int dummy;', to pacify compilers that are picky
29522         about empty translation units.
29524 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
29526         accept4-tests: fix to avoid non portable flags
29527         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
29528         as they are the only documented ones, and passing others may trigger
29529         EINVAL (seen on FreeBSD 10.1-RELEASE).
29530         * doc/glibc-functions/accept4.texi: Mention that we don't provide
29531         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
29533 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
29535         gnulib-tool: fix tests of 'extensions' module
29536         This complements f8fe25fab60e3c687a124 commit.
29537         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
29538         emitting of initial gl_EARLY macros.
29539         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
29540         replaced with func_emit_pre_early_macros call.
29542 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
29544         unicase/locale-language: fix typo in utf-8 cookie
29545         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
29546         Problem reported by Zbigniew Jędrzejewski-Szmek.
29548 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
29550         xalloc: do not worry about GCC 5 warning on 32 bit
29551         * lib/xalloc.h: Revert previous change.
29552         I found a better way to fix this in coreutils.
29554 2015-10-02  Pádraig Brady  <P@draigBrady.com>
29556         xalloc: avoid GCC 5.1 warning on 32 bit
29557         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
29558         xalloc_oversized(), which was seen to give this warning
29559         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
29560         when simplifying conditional".
29562 2015-10-02  Daiki Ueno  <ueno@gnu.org>
29564         uniname/uniname-tests: avoid compiler warnings
29565         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
29566         unused local variables.
29567         (test_alias_lookup): Fix alias name display in failure cases.
29569 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
29571         c-ctype: do not worry about EBCDIC + char signed
29572         Drop support for EBCDIC with char being signed, as this breaks too
29573         many programs.  Problem reported by Ben Pfaff in:
29574         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
29575         * lib/c-ctype.h: Verify that we are not using EBCDIC with
29576         char being signed.
29577         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
29578         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
29579         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
29580         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
29581         * tests/test-c-ctype.c (test_all):
29582         Simplify by assuming standard char values cannot be negative.
29583         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
29585 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
29587         c-ctype: port better to z/OS EBCDIC
29588         Problems reported by Daniel Richard G. in:
29589         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
29590         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
29591         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
29592         (_C_CTYPE_OTHER_CNTRL): New macro.
29593         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
29594         from SCHAR_MIN, as the functions are defined only from values
29595         promoted from char or from unsigned char, not necessarily from
29596         signed char.
29598 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
29600         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
29602         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
29603         and ARFLAGS variables.  Doing this unconditionally could break
29604         later Automake's AM_PROG_AR invocation (at least it's
29605         AC_CHECK_TOOLS call to detect correct 'ar' binary).
29607         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
29608         Amsterdam Compiler Kit, so make the previous code to have effects
29609         only on ACK, and rather automatically call the Automake's
29610         AM_PROG_AR as soon as possible to decide other cases.
29612         References:
29613         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
29615         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
29616         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
29617         is possible, keep setting AR/ARFLAGS to reasonable defaults.
29618         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
29619         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
29620         'extensions' module is used.
29621         * modules/extensions (configure.ac-early): Remove as this snippet
29622         is added to gnulib-comp.m4 earlier anyway.
29624 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
29626         sockets: MS Windows initalization fixes
29627         Problem reported by Test User in:
29628         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
29629         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
29630         Correct the endianness.
29631         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
29632         number mismatch, not just on <.  Cleanup before any such failure.
29634 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
29636         gc: fix detection of installed libgcrypt version
29637         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
29638         at least as recent as 1.4.4.  The previously used macro is not
29639         available now, since modules were removed in version 1.6.0.
29641 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
29643         c-ctype: rewrite to use inline functions
29644         This simplifies maintenance, since it makes for just one
29645         implementation of each function, letting the compiler have the fun
29646         of optimization.  In practice this works well nowadays with GCC.
29647         E.g., c_isascii might need only three instructions even though the
29648         source code lists every ASCII character individually in a large
29649         switch statement.
29650         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
29651         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
29652         * NEWS: Document the API change.
29653         * lib/c-ctype.c: Drastically simplify, since this now just expands
29654         inline functions.
29655         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
29656         (C_CTYPE_INLINE): New macro.
29657         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
29658         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
29659         Verify that either ASCII or EBCDIC is being used.
29660         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
29661         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
29662         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
29663         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
29664         New private macros.
29665         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
29666         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
29667         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
29668         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
29669         (c_tolower, c_toupper): When converting, return the unsigned char,
29670         as that is what z/OS does.
29671         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
29672         of some c-ctype.h macros.
29673         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
29674         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
29675         c_tolower promotion to be compatible with z/OS.
29677 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
29679         gitlog-to-changelog: trim only trailing whitespaces
29680         This is fix for --format regression introduced by commit
29681         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
29682         doubled %n string) had no effect anymore.  This format
29683         specification has been used e.g. by GNU paxuitils (commit
29684         edfd8bcc3).
29686         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
29687         newlines in commmit messages.
29689 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
29691         Test that c_iscntrl agrees with iscntrl, etc.
29692         Suggested by Daniel Richard G. in:
29693         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
29694         * modules/c-ctype-tests (Depends-on): Add ctype.
29695         * tests/test-c-ctype.c: Include <ctype.h>.
29696         (NCHARS): New constant.
29697         (test_agree_with_C_locale): New function.
29698         (main): Use it.
29699         (test_all): Use named constants.
29701         c-ctype: improve c_isascii testing
29702         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
29703         Add a test to count the number of ASCII characters.
29705 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
29707         savewd: remove SAVEWD_CHDIR_READABLE
29708         It was problematic in the light of file systems that ignore umask.
29709         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
29710         * NEWS: Document this.
29711         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
29712         successful, -1 (setting errno) on failure, rather than something
29713         more complicated than that.
29714         * lib/mkdir-p.c (make_dir_parents):
29715         Do not use SAVEWD_CHDIR_READABLE.
29716         * lib/savewd.c (savewd_chdir):
29717         Remove support for SAVEWD_CHDIR_READABLE.
29718         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
29720         c-ctype: port better to EBCDIC
29721         Problems reported by Daniel Richard G. in
29722         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
29723         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
29724         Include "verify.h".
29725         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
29726         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
29727         Define as enum constants with value false, if not defined, so that
29728         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
29729         code more portable, as both branches of the 'if' are compiled on
29730         all platforms.
29731         (C_CTYPE_EBCDIC): New constant.
29732         Verify that the character set is either ASCII or EBCDIC.
29733         (to_char): New static function.
29734         (c_isascii, c_iscntrl):
29735         Assume standard control-character assignments for EBCDIC.
29736         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
29737         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
29738         Rewrite to use 'if' instead of 'ifdef'.
29739         Use to_char if non-ASCII.  Prefer <= to >=.
29740         Prefer true and false to 1 and 0, for booleans.
29741         (c_iscntrl): Use 'if', not 'ifdef'.
29742         * modules/c-ctype (Depends-on): Add verify.
29743         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
29744         (to_char): New function.
29745         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
29747 2015-09-21  Pádraig Brady  <P@draigBrady.com>
29749         nanosleep: fix return code for interrupted replacement
29750         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
29751         that we return -1 in the case the call is interrupted by a signal,
29752         rather than the current value of 1.
29753         Diagnosed and tested by Daniel Richard G.
29755 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
29757         Diagnose ERE '()|\1'
29758         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
29759         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
29760         track of the set of previously-completed subexpressions available
29761         before the first alternative, and restore this set just before
29762         parsing each subsequent alternative.  This lets us diagnose the
29763         invalid back-reference in the ERE '()|\1'.
29765         regex: merge patches from libc
29767         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
29768         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
29769         * lib/regex_internal.h:
29770         Include <libc-lock.h> instead of <bits/libc-lock.h>.
29772         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
29773         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
29774         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
29775         wcscoll.
29776         * lib/regexec.c (check_node_accept_bytes): Likewise.
29778         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
29779         Fix regex wcrtomb namespace (bug 18496).
29780         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
29781         instead of wcrtomb.
29783         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
29784         Fix regex wctype namespace (bug 18495).
29785         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
29786         instead of towlower.
29787         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
29788         instead of iswlower.  Call __towupper instead of towupper.
29789         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
29790         instead of iswalnum.
29792         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
29793         * lib/regcomp.c (parse_bracket_exp): Initialize type to
29794         COLL_SYM in a couple of places to avoid uninitialized variable
29795         wanings on tilegx gcc 4.8.2.
29797         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
29798         * lib/regex_internal.h: Remove NOT_IN_libc.
29800         2014-11-17  Andreas Schwab  <schwab@suse.de>
29801         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
29803         2014-09-11  Roland McGrath  <roland@hack.frob.com>
29804         Move findidx nested functions to top-level.
29805         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
29806         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
29807         Pass new arguments to findidx.
29808         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
29809         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
29810         Don't #include it inside the function.  Pass new arguments to findidx.
29811         * lib/regex_internal.h:
29812         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
29813         (re_string_elem_size_at): Don't #include it inside the function.
29814         Pass new arguments to findidx.
29816         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
29817         Check if DEBUG is defined in regex_internal.c
29818         * lib/regex_internal.c: Check if DEBUG is defined and is set.
29820 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
29822         ceill: detect buggy OpenBSD implementation
29823         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
29824         which returns zero for small values.  Discussed here:
29825         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
29827 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
29829         mountlist: add me_mntroot field on Linux machines
29830         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
29831         mount_entry so Linux machines based on /proc/self/mountinfo can
29832         distinguish between bind mounts and original mounts.  In reality bind
29833         mounts aren't treated differently than mountroot=/ mounts by the
29834         kernel, but the user often wants these bind mounts distinguished.
29835         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
29836         More details at https://pad.lv/1432871
29838 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
29840         doc: Describe to use multiple instances of gnulib
29841         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
29842         instances of gnulib with different modules can be used, for example one
29843         for a lib and another one for associated tools.
29845 2015-09-01  Pádraig Brady  <P@draigBrady.com>
29847         base32: mark function as __attribute__ const
29848         * lib/base32.h (isbase32): Mark __attribute__ const as
29849         suggested by GCC, and consistent with the base64 module.
29851 2015-08-20  Daiki Ueno  <ueno@gnu.org>
29853         gnulib-tool: don't transform binary files with sed
29854         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
29855         .mo and .class files.
29856         Reported by Denis Denisov.
29858 2015-08-10  Daiki Ueno  <ueno@gnu.org>
29860         gperf: respect silent rules
29861         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
29862         V_GPERF_0 for silent rules.
29863         * modules/iconv_open (Makefile.am): Use V_GPERF.
29864         * modules/unicase/locale-language (Makefile.am): Likewise.
29865         * modules/unicase/special-casing (Makefile.am): Likewise.
29866         * modules/unictype/category-byname (Makefile.am): Likewise.
29867         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
29868         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
29869         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
29870         * modules/unictype/property-byname (Makefile.am): Likewise.
29871         * modules/unictype/scripts (Makefile.am): Likewise.
29872         * modules/uninorm/composition (Makefile.am): Likewise.
29874 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
29876         Improve port of stdalign to C++11
29877         Problem reported by Sundaram in:
29878         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
29879         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
29880         (__alignas_is_defined): Define if C++11 or newer.
29882 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
29884         pmccabe2html: fix gawk regex escaping
29885         * build-aux/pmccabe2html: Add one more backslash to properly
29886         escape the gsub replacement value.  Fixes this error:
29887         gawk: ./build-aux/pmccabe2html:425: \
29888         warning: escape sequence `\&' treated as plain `&'
29890 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
29892         time_rz: port to pedantic memcpy
29893         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
29894         that reject memcpy (..., NULL, 0).
29896 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
29898         time_rz: port better to MinGW
29899         Don't change tzname, as this makes MinGW dump core (Bug#21020).
29900         Instead, store the tzname copy in the struct tm_zone object.
29901         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
29902         * lib/strftime.c [!_LIBC]:
29903         * lib/time_rz.c: Include time-internal.h.
29904         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
29905         name from *TZ rather than from TZNAME, doable because *TZ now has
29906         a tzname_copy member.
29907         * lib/time-internal.h: New file, with contents taken from
29908         lib/time_rz.c.  It's separate because strftime.c now accesses
29909         struct tm_zone members.
29910         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
29911         New member tzname_copy.
29912         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
29913         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
29914         Initialize tzname_copy member.
29915         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
29916         in tzname_copy member.
29917         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
29918         (restore_tzname): Remove; no longer needed.  All calls removed.
29919         * modules/time_rz (Files): Add lib/time-internal.h.
29921         time: port __need_time_t to MinGW
29922         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
29923         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
29925 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
29927         strftime: fix newly-introduced bug on Solaris
29928         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
29929         consistently at the start, rather than doing some of the setup at
29930         the start and some in the %Z format spec.  This is cleaner, and
29931         works better with time_rz on platforms like Solaris where struct
29932         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
29933         mktime_z and localtime_rz can mess up the tzname cache.
29935         test-strftime: test for Solaris bug
29936         * modules/strftime-tests (Depends-on): Add strerror.
29937         * tests/test-strftime.c: Include <errno.h>.
29938         (posixtm_test): New function, containing the old 'main'.
29939         (struct tzalloc_test, struct localtime_rz_test): New types.
29940         (TZ, LT): New static vars.
29941         (tzalloc_test): New function.
29942         (main): Rewrite in terms of posixtm_test and tzalloc_test.
29944         time_rz: port to Solaris etc.
29945         Works around a tzname problem on platforms like Solaris that have
29946         tzname but not tm_zone, by setting tzname at the appropriate time
29947         and restoring it later.
29948         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
29949         New static vars.
29950         (save_abbr) [HAVE_TZNAME]: Set them.
29951         (revert_tz) [HAVE_TZNAME]: Clear or use them.
29952         (restore_tzname): New function.
29953         (localtime_rz, mktime_z): Use it.
29955         time_rz: now LGPL
29956         * modules/time_rz (License): Now LGPL, because strftime depends on it.
29958         time_rz: make a constant 'const'
29959         * lib/time_rz.c (local_tz): Now const.
29961         time_rz: fix off-by-one typo
29962         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
29964 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
29966         fprintftime, strftime: use timezone_t args
29967         * NEWS: Document the change.
29968         * lib/fprintftime.h (fprintftime):
29969         * lib/strftime.c (extra_args) [my_strftime]:
29970         * lib/strftime.h (nstrftime):
29971         Time zone arg is now of type timezone_t, not int.
29972         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
29973         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
29974         (my_strftime) [emacs && !my_strftime]:
29975         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
29976         Remove; Emacs doesn't need this any more.
29977         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
29978         fprintftime and nstrftime to call tzset.
29979         (ut) [!my_strftime]: Remove, replacing with ...
29980         (tz) [!my_stftime]: ... this new macro.  All uses changed.
29981         (strftime_case_): Use localtime_rz and mktime_z instead
29982         of localtime_r and mktime.
29983         * modules/fprintftime (Depends-on): Add time_rz.
29984         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
29985         * tests/test-strftime.c (main): Adjust to new nstrftime API.
29987         time_rz: new module
29988         * MODULES.html.sh: Add time_rz.
29989         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
29990         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
29991         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
29992         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
29993         New var HAVE_TIMEZONE_T (default 0).
29994         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
29995         New var GNULIB_TIME_RZ (default 0).
29996         * modules/time (time.h): Substitute the new vars.
29998         flexmember: license is now unlimited
29999         * modules/flexmember (License): Change to unlimited,
30000         since its only source file gives an unlimited license.
30002 2015-07-15  Eric Blake  <eblake@redhat.com>
30004         maint: update copyright paper procedures
30005         * config/srclist.txt: Drop outdated files.
30006         * doc/Copyright/conditions.txt: Update to latest.
30007         * doc/Copyright/assign.changes.manual: Delete.
30008         * doc/Copyright/assign.future.manual: Likewise.
30009         * doc/Copyright/assign.manual: Likewise.
30010         * doc/Copyright/assign.translation.manual: Likewise.
30011         * doc/Copyright/disclaim.changes.manual: Likewise.
30012         * doc/Copyright/disclaim.manual: Likewise.
30013         * doc/Copyright/disclaim.program: Likewise.
30015 2015-07-07  Daiki Ueno  <ueno@gnu.org>
30017         localename: fix link error on Illumos
30018         Illumos defines __sun, but does not have getlocalename_l nor the
30019         equivalent.  This partially reverts commit 387c214.
30020         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
30021         available, as well as uselocale.
30022         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
30023         use getlocalename_l if it is not available.
30025 2015-07-07  Daiki Ueno  <ueno@gnu.org>
30027         unistr/uN-strtok-tests: avoid a trivial leak
30028         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
30029         input and delim after the multibyte delimiter tests.
30031 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
30033         file-has-acl, acl-permissions: fix HP-UX typos
30034         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
30035         * lib/file-has-acl.c (file_has_acl):
30036         * lib/set-permissions.c (context_acl_from_mode)
30037         (context_aclv_from_mode, set_acls):
30038         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
30039         They were introduced by the recent ACL changes.
30041         regex: match current GNU grep behavior
30042         These symbols have not matched GNU grep behavior for quite some time.
30043         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
30044         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
30045         Change to match current GNU behavior.
30046         Simplify by expressing it as differences from POSIX BREs and EREs.
30047         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
30049 2015-07-03  Jim Meyering  <meyering@fb.com>
30051         set-permissions.c: adjust acl_from_mode's cpp guard
30052         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
30053         directives identical to those guarding the sole use.
30054         Otherwise, on some systems, we'd get a warning about
30055         the function being defined but not used.
30056         Also, filter through cppi to correct misleading indentation
30057         of cpp directives.
30059 2015-07-03  Pádraig Brady  <P@draigBrady.com>
30061         tests: restrict shells to those that support 'local'
30062         The local keyword is very widely supported and used
30063         in tests in coreutils and grep at least.  Therefore
30064         restrict to testing with shells that support it.
30065         This mainly excludes /bin/sh on Solaris.
30066         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
30068 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
30069         and Daiki Ueno  <ueno@gnu.org>
30071         unistr/uN-strtok: handle multibyte delimiters
30072         Previously, uN_strtok moved PTR to the next unit to the token end.
30073         When DELIM contained a multibyte character, the new position could
30074         be a middle of a multibyte character.
30075         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
30076         after the token.
30077         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
30078         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
30079         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
30080         * modules/unistr/u8-strtok (Depends-on): Depend on
30081         unistr/u8-strmblen.
30082         * modules/unistr/u16-strtok (Depends-on): Depend on
30083         unistr/u16-strmblen.
30084         * modules/unistr/u32-strtok (Depends-on): Depend on
30085         unistr/u32-strmblen.
30086         * tests/unistr/test-u-strtok.h: New file.
30087         * tests/unistr/test-u8-strtok.c: New file.
30088         * tests/unistr/test-u16-strtok.c: New file.
30089         * tests/unistr/test-u32-strtok.c: New file.
30090         * modules/unistr/u8-strtok-tests: New file.
30091         * modules/unistr/u32-strtok-tests: New file.
30092         * modules/unistr/u16-strtok-tests: New file.
30094 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
30096         update-copyright: fix test failure with perl >= 5.22 (trivial)
30097         * build-aux/update-copyright: Escape a literal left curly bracket,
30098         required with perl >= 5.22
30100 2015-07-02  Daiki Ueno  <ueno@gnu.org>
30102         u{16,32}-strstr-tests: relax timeout condition
30103         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
30104         tests can take longer than 5 seconds to complete.
30105         Reported by Dagobert Michelsen in:
30106         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
30107         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
30108         seconds to 10 seconds.
30109         * tests/unistr/test-u32-strstr.c (main): Likewise.
30111 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
30113         gnulib-common.m4: change the ARFLAGS default to 'cr'
30114         In some GNU/Linux distributions people started to compile 'ar'
30115         binary with --enable-deterministic-archives (binutils project).
30116         That, however, in combination with previous autotools long time
30117         working default AR{_,}FLAGS=cru causes warnings on such
30118         installations:
30119         ar: `u' modifier ignored since `D' is the default (see `U')
30120         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
30121         set already.
30123 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
30125         selinux-h: avoid double free after *getfilecon()
30126         Originally reported by Ben Shelton on bug-tar:
30127         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
30128         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
30129         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
30130         param should be freed by freecon(3) (regardless the return value).
30132 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
30134         fix pty related tests issues on Windows (trivial)
30135         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
30136         however it's still present in tests/ subdirectory of the final project.
30137         Therefore avoid it to pass `make check`.
30138         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
30139         will just return -ENOSYS, so avoid this non applicable test allowing
30140         the build to proceed.
30142 2015-07-01  Pádraig Brady  <P@draigBrady.com>
30144         acl: fix definition of acl_from_mode on FreeBSD
30145         This was causing basic coreutils copy operations to fail
30146         with ENOTSUP or ENOENT error messages.
30147         * lib/acl-internal.h (acl_from_mode): Only define when
30148         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
30149         of acl_from_mode() defined in lib/set-permissions.c to
30150         be used on FreeBSD at least.
30151         * lib/set-permissions.c: Fix up comment spelling,
30152         and a redundant variable assignment; noticed in passing.
30154 2015-06-30  Pádraig Brady  <P@draigBrady.com>
30156         readutmp: port to FreeBSD >= 9
30157         * lib/readutmp.h: Map utmpxname() to setutxdb().
30158         With that coreutils who(1) and pinky(1) tests pass.
30160 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
30162         mgetgroups: port to strict OS X
30163         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
30164         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
30165         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
30166         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
30168 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
30170         mgetgroups: port to strict OS X
30171         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
30172         Document the getgrouplist problem.
30173         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
30174         New macro.
30175         (mgetgroups): Use it.
30176         * m4/mgetgroups.m4 (gl_MGETGROUPS):
30177         Check for OS X signature for getgrouplist.
30179 2015-06-29  Jim Meyering  <meyering@fb.com>
30181         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
30182         It started like this when building coreutils' latest on OS X,
30183         invoking ./configure with a nonempty --cache=.cache:
30185           lib/linkat.c:46:42: error: operator '||' has no right operand
30186           lib/linkat.c: In function 'rpl_linkat':
30187           lib/linkat.c:330:27: error: #if with no expression
30189         Here's linkat.c's line 46:
30191           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
30193         Here's some context:
30195           $ grep linkat_nofoll .cache
30196           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
30197           $ grep LINKAT_SYM lib/config.h
30198           #define LINKAT_SYMLINK_NOTSUP
30200         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
30201         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
30202         but that violates a tenet of AC_CACHE_CHECK: it must
30203         have no side effect other than setting its cache variable.
30205         What happens is that when the cache is set, we'd skip the
30206         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
30207         defined to whatever value it happened to have in configure's
30208         environment.  In my case, it was not defined, so this later code:
30210           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
30211             [Define to 1 if linkat can create hardlinks to symlinks])
30213         would emit code with an empty RHS.
30215         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
30216         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
30218 2015-06-28  Jim Meyering  <meyering@fb.com>
30220         mountlist: avoid an unused-label warning on OS X
30221         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
30222         Building on OS X, I saw a warning about the "free_then_fail" label
30223         being unused.  Give it the _GL_UNUSED_LABEL attribute.
30225         error.c: correct printf-style format: %d -> %u
30226         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
30227         rather than %d, to match the type of "line_number", unsigned int.
30229 2015-06-25  Pádraig Brady  <P@draigBrady.com>
30231         fts: avoid reading beyond the heap allocation
30232         GCC 5.1.1 with -O2 and -fsanitize=address reports
30233         a read of size 4 from a heap object of size 3 is indeed invalid,
30234         though this may be due to incorrect padding assumptions by GCC, see:
30235         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
30236         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
30237         * modules/fts: Depend on stdalign.
30239 2015-06-24  Pádraig Brady  <P@draigBrady.com>
30241         savedir: avoid undefined behavior in qsort call
30242         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
30243         "runtime error: null pointer passed as argument 1,
30244          which is declared to never be null"
30245         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
30247 2015-06-24  Pádraig Brady  <P@draigBrady.com>
30249         userspec: avoid undefined behavior in gettext call
30250         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
30251         "runtime error: null pointer passed as argument 2,
30252          which is declared to never be null"
30253         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
30255 2015-06-20  Glenn Morris  <rgm@gnu.org>
30257         gitlog-to-changelog: improve gitmerge.el commits
30258         Let the Emacs ChangeLog generation process exclude "skipped"
30259         messages from merge commits (Bug#20717).
30260         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
30262 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
30264         wchar: fix MinGW compilation warnings
30265         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
30266         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
30267         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
30269 2015-06-20  Daiki Ueno  <ueno@gnu.org>
30271         uniname/uniname-tests: use pristine data files
30272         For copyright and maintenance reasons, use the data files from UCD
30273         without modification.
30274         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
30275         (getfield): Remove.
30276         (aliases_count): New global variable.
30277         (fill_names): Skip comments and empty lines in the input.  Don't
30278         use getfield.
30279         (fill_aliases): Likewise.
30280         (main): Change the expected command line arguments to:
30281         NAMES... ["--" ALIASES...].
30282         * tests/uniname/test-uninames.sh: Adjust to the change in
30283         test-uninames.c.
30284         * tests/uniname/UnicodeDataNames.txt: Remove.
30285         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
30286         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
30287         file from Unicode 8.0.0.
30289 2015-06-19  Pádraig Brady  <P@draigBrady.com>
30291         linked-list, linkedhash-list: avoid compiler warnings
30292         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
30293         -Werror=suggest-attribute=pure (from GCC 5.1.1).
30295 2015-06-19  Daiki Ueno  <ueno@gnu.org>
30297         libunistring: bump minimum version to 0.9.6
30298         * all modules depending on updated Unicode data: Regenerate.
30299         The modules are listed by a script that does:
30300         - for each file listed by: git show --oneline --name-only 705f4efc
30301           - deduce the containing modules, based on "Files:"
30302         - deduce the modules which depend on the containing modules, based
30303           on "Depends-on:"
30305 2015-06-18  Daiki Ueno  <ueno@gnu.org>
30307         uniname/uniname: update to Unicode 8.0.0
30308         * lib/uniname/uninames.h: Regenerate.
30309         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
30310         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
30312 2015-06-18  Daiki Ueno  <ueno@gnu.org>
30314         libunistring: update to Unicode 8.0.0
30315         * lib/gen-uni-tables.c (SIZEOF): New macro.
30316         (output_numeric): Increase the maximum number of fractions from
30317         128 to 160.  Increase the level3 value width from 7 bits to 8
30318         bits.  Use SIZEOF instead of a hard-coded integer.
30319         (output_blocks): Decrease the cut-off threshold from 0x30000 to
30320         0x28000.
30321         (fill_blocks): Increase the maximum number of blocks from 256 to
30322         384.  Use SIZEOF instead of a hard-coded integer.
30323         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
30324         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
30325         value width.
30326         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
30327         a new case added to LBP22.
30328         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
30329         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
30330         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
30331         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
30332         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
30333         * tests/uniwidth/test-uc_width2.sh: Same updates as in
30334         lib/uniwidth/width.c.
30335         * all generated files under lib/uni* and tests/uni*: Regenerate.
30337 2015-06-16  Pádraig Brady  <P@draigBrady.com>
30339         gnu-web-doc-update: add --mirror to remove stale files
30340         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
30341         out of date files from the CVS server.  Since this is usually
30342         appropriate, a prompt is given when the option is not specified,
30343         along with the `cvs remove` command that would be run.
30345 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
30347         acl-permissions: pacify -Wsuggest-attribute=const
30348         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
30349         * lib/acl-internal.h (free_permission_context):
30350         Declare with attribute const if ! (defined USE_ACL &&
30351         (HAVE_ACL_GET_FILE || defined GETACL)).
30353         fsync: document AIX misbehavior
30354         * doc/posix-functions/fsync.texi (fsync):
30355         Document failure on AIX with read-only file descriptor.
30357 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
30359         stdio: Don't redefine gets when using C++
30360         * lib/stdio.in.h (gets): Disable warning on C++.
30362 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
30364         acl-permissions: port to AIX, C89 HP-UX
30365         Problems reported by Michael Felt.
30366         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
30367         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
30368         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
30369         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
30370         Add cast for AIX, whose system calls are declared to accept
30371         char * even though the arguments are really char const *.
30372         * lib/get-permissions.c (get_permissions):
30373         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
30374         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
30375         that broke a build.
30376         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
30377         Rework types to pacify xlc.
30379 2015-06-03  Pádraig Brady  <P@draigBrady.com>
30381         vasprintf-posix: avoid compiling vasnprintf where possible
30382         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
30383         module where not required.  For example on a GNU/Linux system
30384         when gnulib-tool is run with the --conditional-dependencies option.
30386 2015-06-02  Pádraig Brady  <P@draigBrady.com>
30388         file-has-acl: fix build on Mac OS X 10
30389         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
30390         which has an incompatible 6 parameter getxattr() call.
30391         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
30392         call on Mac OS X >= 10.4.
30393         * doc/glibc-functions/fgetxattr.texi: Likewise.
30394         * lib/file-has-acl.c: Revert to more complete combined check.
30395         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
30396         Reported by Jack Howarth.
30398 2015-06-02  Pádraig Brady  <P@draigBrady.com>
30400         prefix-gnulib-mk: remove no longer needed special case
30401         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
30402         continued lib_SOURCES lines are no longer present,
30403         so special case handling of such entries is not required.
30405 2015-06-01  Pádraig Brady  <P@draigBrady.com>
30407         acl: don't depend on the deprecated qacl module
30408         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
30410 2015-06-01  Pádraig Brady  <P@draigBrady.com>
30412         gnulib-tool: concatenate lib_SOURCES to a single line
30413         * gnulib-tool: Refactor the line merging sed logic,
30414         and use that to output a single lib_SOURCES line for each module.
30415         gnulib using projects often postprocess this output to prepend
30416         subdir paths to each item, and having a single line simplifies this
30417         processing allowing better decoupling from the gnulib-tool output.
30419 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
30421         pthread_sigmask: discount system version if a simple macro (trivial)
30422         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
30423         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
30424         function to ensure it's available.
30426 2015-05-31  Pádraig Brady  <P@draigBrady.com>
30428         readlinkat: avoid OS X 10.10 trailing slash bug
30429         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
30430         has this bug.
30431         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
30432         that OS X 10.10 has this function.
30433         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
30434         as done for readlink().
30435         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
30436         trailing slash bug, and assume readlinkat() has the same issue.
30437         Also fix a typo where $gl_cv_decl_readlink_works was tested,
30438         rather than the correct $gl_cv_decl_readlinkat_works.
30440 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
30442         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
30443         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
30444         module rewrite.
30446         acl-permissions: Fix build on Solaris and Cygwin
30447         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
30448         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
30449         ace_entries variables have moved into struct permission_context but
30450         they were still accessed as local variables here.
30452 2015-05-29  Pádraig Brady  <P@draigBrady.com>
30454         linkat: avoid OS X 10.10 trailing slash with symlink bug
30455         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
30456         causes the symlink to be dereferenced, and if it points
30457         to a non existent file, that file will be created as
30458         a hard link to "path1".
30459         This fixes a test failure in test-linkat.c.
30460         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
30461         this case.  The existing workaround in linkat.c for
30462         trailing slash issues, suffices for this case.
30463         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
30464         the list of platforms with trailing slash issues.
30466 2015-05-28  Pádraig Brady  <P@draigBrady.com>
30468         unlinkat: handle ignoring of ".." on Darwin 14
30469         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
30470         on Mac OS X 10.10, where it ignores paths with a trailing "..",
30471         so handle in the same manner.
30472         * m4/unlinkat.m4: Comment on this Darwin issue.
30473         * doc/posix-functions/unlink.texi: Update the latest version
30474         where the issue was seen.
30475         * doc/posix-functions/unlinkat.texi: Mention this issue.
30476         Fixes a test failure in test-unlinkat.c.
30478 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
30480         qacl: split into qcopy-acl and qset-acl
30481         Emacs needs the former, but not the latter.
30482         * modules/acl-permissions: New file, containing most of the old qacl.
30483         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
30484         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
30485         * modules/qcopy-acl, modules/qset-acl: New files.
30486         * MODULES.html.sh (File system functions):
30487         Mention the new modules, and mention qacl while we're at it.
30489 2015-05-27  Glenn Morris  <rgm@gnu.org>
30491         gitlog-to-changelog: new option --ignore-line
30492         (This patch is imported from the GNU Emacs master.)
30493         This option ignores individual commit lines matching a pattern.
30494         * build-aux/gitlog-to-changelog: Add --ignore-line option.
30496 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
30498         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
30499         Implement get_permissions and set_permissions primitives for getting all
30500         the permissions of a file, storing them, and later setting them. (In the
30501         minimal case, the permissions consist only of a file mode.) Reimplement
30502         qset_acl and qcopy_acl based on these new primitives: this avoids code
30503         duplication and makes error handling more consistent.
30504         The Solaris and Cygwin code still uses duplicate code paths for setting
30505         a file mode while making sure that no acls exist and setting an explicit
30506         acl; this is no worse than before, but could be cleaned up.  The AIX
30507         code still doesn't read ACLs, it only makes sure that acls don't get in
30508         the way when setting a file mode.
30509         * lib/acl-internal.h (struct permission_context): New data structure.
30510         (get_permissions, set_permissions, free_permission_context): Declare.
30511         * lib/acl-internal.c (free_permission_context): New helper function.
30512         * lib/get-permissions.c (get_permissions): New helper function split off
30513         from qcopy_acl.
30514         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
30515         AIX, set a file's permissions based only on a file mode.
30516         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
30517         other platforms construct a temporary acl from the file mode and set
30518         that acl in the same way as setting an acl read from the source file.
30519         This should help avoid code duplication and inconsistent / buggy
30520         behavior.
30521         (set_acls): New helper function Split off from qcopy_acl.
30522         (chmod_or_fchmod): Moved here from qset-acl.c.
30523         (set_permissions): New helper function.
30524         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
30525         set_permissions.
30526         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
30527         * modules/qacl: Add get-permissions.c and set-permissions.c.
30529         file-has-acl: Split feature tests again (Bug#20667)
30530         * lib/file-has-acl.c: Instead of testing for
30531         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
30532         define them when needed.
30533         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
30534         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
30536 2015-05-27  Pádraig Brady  <P@draigBrady.com>
30538         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
30539         This avoids a conflict with "FORTIFY_SOURCE" variants
30540         of the string functions when they're replaced on NetBSD-6.0.1
30541         and Darwin-14.3.0 at least.
30542         * lib/string.in.h: Avoid including our "lib/string.h" while
30543         including the system <string.h>.
30545 2015-05-26  Eric Blake  <eblake@redhat.com>
30547         stdio: limit __gnu_printf__ witness to gcc 4.4+
30548         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
30549         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
30551         error: use correct printf attributes on mingw
30552         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
30554         inttypes: force correct mingw PRIdMAX even without <stdio.h>
30555         * modules/inttypes (Depends-on): Require extensions, so that mingw
30556         always uses GNU style inttypes.
30557         * lib/inttypes.in.h: On mingw, include <stdio.h>.
30559         stdio: fix probe on mingw under gcc 5.1
30560         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
30561         around new gcc preprocessor rules.
30563 2015-05-07  Glenn Morris  <rgm@gnu.org>
30565         gitlog-to-changelog: parse "Tiny-change"
30566         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
30567         "Copyright-paperwork-exempt".  (Bug#20324)
30569 2015-05-06  Pádraig Brady  <P@draigBrady.com>
30571         doc: document glibc posix_fallocate() issues
30572         * doc/posix-functions/posix_fallocate.texi: Mention the
30573         glibc efficiency problems and issues with NFS.
30575 2015-05-05  Karl Berry  <karl@freefriends.org>
30577         * build-aux/gendocs.sh (usage): document new css default
30578         for HTML (--htmlarg).
30580 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
30582         extern-inline: no need for workaround in GCC 5.1
30583         * doc/extern-inline.texi (extern inline):
30584         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
30585         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
30586         around these bugs in GCC 5.1 and later.  Maybe in a decade or
30587         two we can remove these workarounds.
30589 2015-04-28  Pádraig Brady  <P@draigBrady.com>
30591         eealloc, pagealign_alloc, xalloc: avoid clang warnings
30592         Avoid [-Wunknown-attributes] warnings like:
30593         warning: unknown attribute '__alloc_size__' ignored
30594         * lib/xalloc.h: Don't use the __alloc_size__  attribute
30595         with clang, as support has been fully removed as of clang 3.5:
30596         https://github.com/llvm-mirror/clang/commit/c047507a
30597         * lib/eealloc.h: Likewise.
30598         * lib/pagealign_alloc.h: Likewise.
30600 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
30602         tests: pacify GCC 5.1's stricter printf checking
30603         * tests/test-dirname.c (main):
30604         * tests/test-getaddrinfo.c (simple):
30605         * tests/test-getlogin.c (main):
30606         * tests/test-getndelim2.c (main):
30607         * tests/test-inttostr.c (CK):
30608         * tests/test-md5.c (main):
30609         * tests/test-read-file.c (main):
30610         * tests/test-sha1.c (main):
30611         Fix mismatches between printf format and value signedness.
30612         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
30613         Remove, as CAST_VAL always returned a value of type uintmax_t.
30615         fts: port to GCC 5.1 with --enable-gcc-warnings
30616         Without this fix, GCC 5.1 (correctly) warns about a subscript
30617         error on the fts_name component of FTSENT.  It's actually a
30618         flexible member, so define it that way on C99 or later hosts.
30619         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
30620         structure that now has a flexible array member.
30621         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
30622         (FTSENT): fts_name is now flexible on C99-or-later platforms.
30623         * modules/fts (Depends-on): Add flexmember.
30625 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
30627         file-has-acl: port to CentOS 6
30628         Problem reported by Tom G. Christensen in:
30629         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
30630         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
30631         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
30632         HAVE_GETXATTR.
30633         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
30634         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
30635         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
30636         file-has-acl.c actually needs.
30638 2015-04-26  Pádraig Brady  <P@draigBrady.com>
30640         file-has-acl: always return false when ACLs aren't supported
30641         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
30642         change the GNU/Linux getxattr path, to transform "not supported"
30643         errors to a false return rather than an error.  This is handled
30644         within file_has_acl() due to the platform specific tests to
30645         determine if ACLs are not supported.
30647 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
30649         gettext: propagate po/Makefile.in.in too
30650         * build-aux/po/Makefile.in.in: Copy from latest gettext.
30651         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
30652         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
30653         between Makefile.in.in and the gettext-runtime m4 files.
30655 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
30657         file-has-acl: new module, split from acl
30658         And add a new module file-has-acl-tests to match.
30659         I ran into a problem with the recent changes to the acl module,
30660         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
30661         When using the fixed version with Emacs, I discovered that
30662         file-has-acl wasn't separated out well enough for Emacs (e.g., it
30663         had multiple libraries, but needed only one), so I fixed that too.
30664         * NEWS: Document this incompatible change.
30665         * modules/file-has-acl, modules/file-has-acl-tests: New files.
30666         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
30667         Initialize gl_need_lib_has_acl.
30668         (gl_FUNC_ACL): Require it.
30669         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
30670         Move the file-has-acl.c-relevant stuff to ...
30671         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
30672         use_xattrs = 0' typo, and omit some needless work.  Set
30673         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
30674         when gl_FUNC_ACL is called.
30675         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
30676         (Link): Remove $(LIB_HAS_ACL).
30677         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
30678         (check_PROGRAMS): Move stuff relevant to file-has-acl to
30679         modules/file-has-acl-tests.
30680         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
30682         manywarnings: add GCC 5.1 warnings
30683         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
30684         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
30685         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
30686         -Wsuggest-override, -Wuse-without-only.  Change
30687         -Wnormalized=... operands to match 5.1.
30688         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
30689         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
30690         -Wdiscarded-qualifiers, -Wformat-signedness,
30691         -Wincompatible-pointer-types, -Wint-conversion,
30692         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
30693         -Wshift-count-negative, -Wshift-count-overflow,
30694         -Wsizeof-array-argument, -Wsuggest-final-methods,
30695         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
30696         and add -Warray-bounds=2 as a special case.
30698 2015-04-21  Simon Josefsson  <simon@josefsson.org>
30700         doc: update FDL template to match FDL examples.
30701         * doc/alloca-opt.texi:
30702         * doc/alloca.texi:
30703         * doc/c-ctype.texi:
30704         * doc/c-strcase.texi:
30705         * doc/c-strcaseeq.texi:
30706         * doc/c-strcasestr.texi:
30707         * doc/c-strstr.texi:
30708         * doc/c-strtod.texi:
30709         * doc/c-strtold.texi:
30710         * doc/ctime.texi:
30711         * doc/error.texi:
30712         * doc/gcd.texi:
30713         * doc/gnulib-tool.texi:
30714         * doc/inet_ntoa.texi:
30715         * doc/intprops.texi:
30716         * doc/lib-symbol-visibility.texi:
30717         * doc/maintain.texi:
30718         * doc/parse-datetime.texi:
30719         * doc/quote.texi:
30720         * doc/regexprops-generic.texi:
30721         * doc/standards.texi: Remove spurious 'with' in FDL license
30722         template.
30724 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
30726         lstat: fix cross-compilation 'ln -s' problem
30727         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
30728         Have the test program call 'symlink' rather than a separate
30729         script run 'ln -s'; this is more likely to work in
30730         cross-compilation environments.  Reported by Pavel Fedin in:
30731         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
30733 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
30735         gendocs.sh: default to a common CSS style sheet for HTML output
30736         * build-aux/gendocs.sh (htmlarg): Change default value.
30738 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
30740         gnulib-tool: output bold attribute more portably
30741         * gnulib-tool (func_show_module_list): Change hexadecimal
30742         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
30743         encoded numbers as arguments to `printf' is not portable,
30744         and is not claimed by POSIX.  This is the case with FreeBSD.
30746 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
30748         qacl: Simplify HP-UX acl_nontrivial check
30749         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
30750         acl_nontrivial. Check if the acl has at most three entries instead (it must
30751         have exactly three entries according to the HP-UX documentation). Ignore
30752         uids and gids as long as an entry is either for a user (i.e., the owner),
30753         a group (i.e., the owning group), or others.
30754         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
30755         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
30757 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
30759         acl: On Linux, check for acls without libacl
30760         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
30761         library function to check for the presence of acls, avoiding a library.
30762         * lib/file-has-acl.c: Include xattr headers if we have them.
30763         (file_has_acl): On Linux, use getxattr().
30764         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
30765         file_has_acl(). Check for xattr headers and getxattr().
30767 2015-04-14  Ángel González  <keisial@gmail.com>
30769         tempname: avoid unused parameter warnings (trivial)
30770         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
30771         (try_nocreate): Likewise.
30773 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
30775         fseeko: fix build failure on NetBSD >= 6 (trivial)
30776         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
30777         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
30779 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
30781         gitlog-to-changelog: port to MS-Windows
30782         * build-aux/gitlog-to-changelog (git_dir_option):
30783         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
30784         MS-Windows Perl.  Reported by Eli Zaretskii in:
30785         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
30787 2015-04-07  Karl Berry  <karl@gnu.org>
30789         gendocs: new option --tex for passing args to texi2dvi.
30790         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
30791         (TEXI2DVI): cut to just command name.
30792         (usage): mention new option, and update copyright.
30793         <generate_tex>: use it.
30795 2015-04-07  Karl Berry  <karl@gnu.org>
30797         * config/srclistvars.sh (GETTEXT): new definition.
30798         * config/srclist.txt: use it for gettext .m4 files.
30799         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
30800         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
30801         and continuing into April.
30803 2015-04-07  Daiki Ueno  <ueno@gnu.org>
30805         uniname/uniname-tests: fix failure due to alias
30806         Reported by Jack Howarth in:
30807         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
30808         * tests/uniname/test-uninames.c (name_has_alias): New function.
30809         (test_inverse_lookup): Exclude character name with valid alias,
30810         from randomly generated character names.
30811         (main): Fill unicode_aliases before calling test functions.
30813 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
30815         hash: remove deprecated hash_insert0 function
30816         * lib/hash.h (hash_insert0): Remove deprecated function.
30817         * lib/hash.c (hash_insert0): Likewise.
30819 2015-04-02  Pádraig Brady  <P@draigBrady.com>
30821         mountlist: remove dependency on libmount
30822         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
30823         directly, rather than depending on libmount, which has many
30824         dependencies due to its dependence on libselinux, as detailed at:
30825         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
30826         Note we restrict this to __linux__ as that's probably where this
30827         interface will remain.  If ever porting, it would be best
30828         to first pull the makedev() wrapper from coreutils to a gnulib module.
30829         Note also we don't add a getline dependency to the mountlist module,
30830         as all Linux versions are sufficient.
30832 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
30834         stddef: port to pre-C11 GCC on x86
30835         On this platform, max_align_t should have an alignment of 8 even
30836         though the storage alignments of double, long, etc. max out at 4.
30837         Inspired by a comment of Andreas Schwab's here:
30838         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
30839         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
30840         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
30841         * tests/test-stddef.c: Test __alignof__ too, if available.
30843 2015-03-24  Pádraig Brady  <P@draigBrady.com>
30845         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
30846         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
30848 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
30850         yesno: make EOL optional in ENABLE_NLS case also (trival)
30851         * lib/yesno.c (yesno): Check for EOL before replacing.
30852         * tests/test-yesno.sh: Add a test case (test along with gettext).
30854 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
30856         fdopendir-tests: test it does not close its arg
30857         * tests/test-fdopendir.c (main): Test that fdopendir does not
30858         close its argument.  From a suggestion by David Grayson in:
30859         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
30861 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
30863         gitlog-to-changelog: trim trailing white space
30864         * build-aux/gitlog-to-changelog (main):
30865         Trim trailing white space from commit message lines.
30866         This is helpful for processing the GNU Emacs repository,
30867         which dates back to 1985 and contains a lot of such lines.
30869         gitlog-to-changelog: new option --ignore-matching
30870         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
30871         Support new option --ignore-matching=PAT, which ignores all
30872         commit messages whose first line matches PAT.
30874 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
30876         fdopendir: port better to MinGW
30877         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
30878         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
30879         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
30880         * modules/fdopendir (Depends-on): Add dirfd.
30882 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
30884         fdopendir: fix typo in comment
30885         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
30887 2015-03-09  Eric Blake  <eblake@redhat.com>
30889         error: document all entry points provided
30890         * doc/glibc-functions/error_print_progname.texi
30891         (error_print_progname): Mention the error module.
30892         * doc/glibc-functions/error_at_line.texi (error_at_line):
30893         Likewise.
30894         * doc/glibc-functions/error_message_count.texi
30895         (error_message_count): Likewise.
30896         * doc/glibc-functions/error_one_per_line.texi
30897         (error_one_per_line): Likewise.
30899 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
30901         vasnprintf: pacify clang 3.5.0
30902         Problem reported by Werner Lemberg in:
30903         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
30904         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
30905         The casts aren't needed, since the characters in question are ASCII.
30907 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
30909         glob, etc.: port to MSVC v18 on MS-Windows 8.1
30910         * lib/dirent--.h (GNULIB_defined_opendir):
30911         * lib/dirent.in.h (GNULIB_defined_opendir)
30912         (GNULIB_defined_closedir):
30913         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
30914         #undef only if Gnulib defined it.
30916         poll: port to MSVC v18 on MS-Windows 8.1
30917         Problem reported by Gisle Vanem in:
30918         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
30919         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
30920         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
30921         Add sys_socket.
30923 2015-02-24  Pádraig Brady  <P@draigBrady.com>
30925         tests: support stderr verification with returns_()
30926         * tests/init.sh (returns_): Disable tracing for this wrapper
30927         function, so that stderr of the wrapped command is unchanged,
30928         allowing for verification of the contents.
30930 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
30932         passfd: avoid valgrind uninitalised data warning
30933         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
30934         to include just the fd we've initialized, rather than including
30935         the extra space used for alignment.
30937 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
30939         uniwbrk/u32-wordbreaks-tests: fix copyright
30940         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
30942         dup2: doc and test for Android bug
30943         Reported by Kevin Cernekee in:
30944         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
30945         * doc/posix-functions/dup2.texi (dup2): Document the bug.
30946         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
30948 2015-02-23  Kevin Cernekee  <cernekee@google.com>
30950         Replace dup2() on Android
30951         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
30952         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
30953         fails.  Using rpl_dup2() fixes this because it has an explicit test
30954         for this condition.
30956 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
30958         Android doesn't define RLIM_SAVED_*
30959         Portability problem reported by Kevin Cernekee in:
30960         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
30961         * doc/posix-headers/sys_resource.texi (sys/resource.h):
30962         Mention the portability problem.
30963         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
30964         Define if not defined.
30965         * m4/dup2.m4 (gl_FUNC_DUP2):
30966         * m4/fcntl.m4 (gl_FUNC_FCNTL):
30967         Likewise.
30969 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
30971         vasnprintf-posix-tests: use consistent test
30972         * tests/test-vasnprintf-posix.c (test_function):
30973         Use "<" in assert instead of "<=", for consistency with other tests.
30975 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
30977         printf, isinf, etc.: noncanonical != NaN
30978         Do not require that isinf, printf, etc. treat noncanonical
30979         values as NaNs.  Instead, require only that they do not crash.
30980         Problem reported by Joseph Myers in:
30981         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
30982         * doc/posix-functions/dprintf.texi (dprintf):
30983         * doc/posix-functions/fprintf.texi (fprintf):
30984         * doc/posix-functions/isfinite.texi (isfinite):
30985         * doc/posix-functions/isinf.texi (isinf):
30986         * doc/posix-functions/isnan.texi (isnan):
30987         * doc/posix-functions/printf.texi (printf):
30988         * doc/posix-functions/snprintf.texi (snprintf):
30989         * doc/posix-functions/sprintf.texi (sprintf):
30990         * doc/posix-functions/vdprintf.texi (vdprintf):
30991         * doc/posix-functions/vfprintf.texi (vfprintf):
30992         * doc/posix-functions/vprintf.texi (vprintf):
30993         * doc/posix-functions/vsnprintf.texi (vsnprintf):
30994         * doc/posix-functions/vsprintf.texi (vsprintf):
30995         Document this.
30996         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
30997         * m4/isinf.m4 (gl_ISINFL_WORKS):
30998         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
30999         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
31000         * tests/test-isfinite.c (test_isfinitel):
31001         * tests/test-isinf.c (test_isinfl):
31002         * tests/test-isnan.c (test_long_double):
31003         * tests/test-isnanl.h (main):
31004         * tests/test-snprintf-posix.h (test_function):
31005         * tests/test-sprintf-posix.h (test_function):
31006         * tests/test-vasnprintf-posix.c (test_function):
31007         * tests/test-vasprintf-posix.c (test_function):
31008         Test only that noncanonical values do not cause crashes, not that
31009         they are treated as NaNs.  In some cases this means a larger
31010         output buffer is needed.
31012 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
31014         fts: remove redundant close() (trivial)
31015         * lib/fts.c (fts_read): Remove redundant call to close().
31016         Spotted by coverity.
31018 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
31020         getdtablesize: port better for Android
31021         Problem reported by Kevin Cernekee in:
31022         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
31023         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
31024         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
31025         Instead, just use getrlimit, taking care to avoid Cygwin bug.
31027         poll: fixes for large fds
31028         * lib/poll.c (poll): Don't check directly for NFD too large.
31029         Don't rely on undefined behavior in FD_SET when an arg exceeds
31030         FD_SETSIZE.  Always set revents afterwards, even if to zero.
31031         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
31032         as that makes the test a bit stricter.
31034 2015-02-19  Kevin Cernekee  <cernekee@google.com>
31036         fcntl: Fix cross compiling
31037         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
31038         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
31040 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
31042         dup2, fcntl: cross-compile better for Android
31043         Problem reported by Kevin Cernekee in:
31044         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
31045         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
31046         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
31047         there's little need to cross-compile for older kernels nowadays.
31048         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
31049         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
31051 2015-02-18  Pádraig Brady  <P@draigBrady.com>
31053         getopt: don't crash on memory exhaustion
31054         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
31055         memory exhaustion.  In the _LIBC case we use alloca() as is
31056         already done in glibc, so we don't need to consider the separate
31057         error path in that awkward case.  Also fix a memory leak when
31058         ambiguous options are present.
31059         Reported by Tobias Stoeckmann
31061 2015-02-17  Mike Miller  <mtmiller@ieee.org>
31063         tempname: allow compilation with C++ (trivial)
31064         * lib/tempname.h [C++]: Specify extern "C" linkage.
31065         * lib/tempname.h (try_tempname):
31066         * lib/tempname.c (__try_tempname, __gen_tempname):
31067         Rename 'try' to 'tryfunc'.
31069 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
31071         dup2, fcntl: port to AIX
31072         * m4/dup2.m4 (gl_FUNC_DUP2):
31073         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31074         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
31075         The former works on AIX 7.1 but the latter does not.
31076         Also, this may work better with Android; see:
31077         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
31079 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
31081         getdtablesize, dup2, fcntl: port to Android
31082         Problem reported by Kevin Cernekee in:
31083         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
31084         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
31085         Mention that getdtablesize doesn't work on Android.
31086         * lib/getdtablesize.c: Use getrlimit substitute only if
31087         getdtablesize is declared.  This should suffice for Cygwin
31088         while not breaking Android.
31089         * m4/dup2.m4 (gl_FUNC_DUP2):
31090         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31091         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
31092         standardized but the latter is not, and sysconf works on Android.
31093         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
31094         Also check that getdtablesize is declared.
31095         This removes the need for a special case for Android.
31097 2015-02-16  Kevin Cernekee  <cernekee@google.com>
31099         localename: Implement gl_locale_name_thread_unsafe for Android
31100         * lib/localename.c: Android API level >= 21 supports two hardcoded
31101         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
31102         the internal __locale_t struct.
31104 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
31106         fts: avoid crash when a cycle is added while traversing
31107         This could be triggered by auto-mounting a recursive bind mount.
31108         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
31109         * lib/fts.c (fts_read): Avoid removing the original hash table item
31110         when leaving a directory that caused a cycle, and preserve the FTS_DC
31111         flag.
31113 2015-02-16  Daiki Ueno  <ueno@gnu.org>
31115         uniname/uniname: support character alias
31116         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
31117         Generate one-way mapping from aliases to codepoints in the
31118         generated tables.  Special case variation selectors to reduce
31119         table size.
31120         * lib/uniname/uniname.c (unicode_character_name): Special case
31121         variation selectors.
31122         (unicode_name_character): Special case variation selectors and
31123         their aliases.
31124         * lib/uniname/uninames.h: Regenerate.
31125         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
31126         * modules/uniname/uniname-tests (Files): Add
31127         tests/uniname/NameAliases.txt.
31128         * tests/uniname/test-uninames.c: Mark as static.
31129         (ALIASLEN): Define.
31130         (struct unicode_alias): New struct.
31131         (unicode_aliases): New variable.
31132         (fill_aliases): New function.
31133         (test_alias_lookup): New test function.
31134         (main): Run the 'test_alias_lookup' test if the second argument is
31135         given.
31136         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
31137         second argument.
31139 2015-02-11  Kevin Cernekee  <cernekee@google.com>
31141         Fix FILE struct compatibility with Android API level >= 21
31142         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
31143         __sferror.  Recent versions of Bionic's stdio.h no longer define
31144         __sferror.
31145         * lib/fbufmode.c: Likewise.
31146         * lib/fflush.c: Likewise.
31147         * lib/fpurge.c: Likewise.
31148         * lib/freadable.c: Likewise.
31149         * lib/freadahead.c: Likewise.
31150         * lib/freading.c: Likewise.
31151         * lib/freadptr.c: Likewise.
31152         * lib/freadseek.c: Likewise.
31153         * lib/fseeko.c: Likewise.
31154         * lib/fseterr.c: Likewise.
31155         * lib/fwritable.c: Likewise.
31157         Assume unbroken ungetc() on Android
31158         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
31159         test case passed when running on an Android host, and the code
31160         hasn't really changed since 2009.
31162         getdtablesize: Fix Android build
31163         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
31164         versions have this symbol in the .so library (at least 32-bit
31165         platforms) but are missing the declaration in the header file,
31166         causing the m4 logic to guess incorrectly.
31168         localename: Fix Android build
31169         * modules/localename (Depends-on): Add langinfo.
31171         getugroups: Fix Android build
31172         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
31173         functions.
31175         euidaccess: Fix Android build
31176         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
31177         AT_EACCESS gets declared.
31179         linkat_nofollow: Add fallback case for cross compiling
31180         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
31182         net_if: Handle content-free <net/if.h> system headers
31183         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
31184         struct if_nameindex.  If not, enable the replacement header.
31186         signal_h: Fix Android build
31187         * lib/signal.in.h: Add Android to the list of platforms that declare
31188         pthread_sigmask() in <pthread.h> instead of <signal.h>.
31190         duplocale: Fix Android build of duplocale-tests
31191         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
31192         is included by test-duplocale.c (but not by duplocale.c).
31193         * modules/duplocale-tests (configure.ac): Check for monetary.h.
31194         * tests/test-duplocale.c: Skip test if monetary.h is absent.
31195         * doc/posix-headers/monetary.texi: Add Android to the list of
31196         platforms missing monetary.h.
31198 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31200         tests: avoid recent -Werror=unused-variable regression in test-locale
31201         * tests/test-locale.c (main): Reference the variable to avoid the
31202         "unused variable" warning.
31204 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31206         maint: various whitespace cleanups in tempname
31207         * lib/tempname.c: Normalize spacing and line length.
31208         * lib/tempname.h: Likewise.
31209         * modules/tempname: Likewise.
31211 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31213         tests: provide returns_() to simplify exit status checking
31214         * tests/init.sh (returns_): A new function for use in tests,
31215         to allow for easier checking of return values, where you expect
31216         a command to exit with failure status.  By checking for a particular
31217         exit code, you don't hide any crashes for example.
31219 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31221         mountlist: only use libmount when specified
31222         There are currently many shared libs dependencies introduced by
31223         libmount with associated runtime and virt mem overhead.
31224         Therefore don't enable by default.
31225         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
31227 2015-02-08  Daiki Ueno  <ueno@gnu.org>
31229         uniname/unimame-tests: don't link with -lunistring
31230         * modules/uniname/uniname-tests (Makefile.am): Don't link against
31231         $(LIBUNISTRING).  Document the rationale why we need to
31232         conditionalize the test.
31234 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
31236         fstrcmp: don't assume strlen < INT_MAX
31237         * lib/fstrcmp.c: Include stddef.h and stdint.h.
31238         (uintptr_t): Remove, as we're now assuming stdint.
31239         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
31240         Prefer ptrdiff_t to int when the value could exceed INT_MAX
31241         if the input string is long.
31242         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
31243         uintptr_t to size_t when the underlying value is a pointer casted
31244         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
31245         * modules/fstrcmp (Depends-on): Add stdint.
31247         diffseq: prefer ptrdiff_t to ssize_t
31248         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
31249         ptrdiff_t is the natural type for signed indexes.
31250         On a few older platforms, ssize_t is narrower than size_t.
31252         xalloc: fix typo that suppressed warnings
31253         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
31254         This typo, introduced a couple of years ago, mistakenly suppressed
31255         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
31256         -Wmissing-declarations warnings.
31258         full-read: fix license notice typo
31259         * lib/full-read.h: Remove a stray line in the license notice.
31260         Reported by Sam Ellis in: http://bugs.gnu.org/19808
31262         crypto/gc: fix a -Wswitch warning
31263         Reported by Bruce Korb in:
31264         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
31265         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
31267 2015-02-03  Pádraig Brady  <P@draigBrady.com>
31269         gnulib-tool: fix handling of patch(1) diagnostics
31270         * gnulib-tool: Send diagnostics from patch(1) to stderr,
31271         as otherwise gnulib-tool will reparse that output and attempt
31272         to lookup modules.
31274 2015-02-03  Pádraig Brady  <P@draigBrady.com>
31276         bootstrap: exit immediately upon gnulib-tool failure
31277         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
31278         This was noticed when gnulib-tool exited early due to failure
31279         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
31280         but various confusing errors were then given as the build proceeded.
31282 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
31284         symlinkat: include all required header files
31285         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
31286         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
31287         Reported at https://savannah.gnu.org/bugs/index.php?44151
31288         and by Jack Howarth.
31290 2015-01-29  Pádraig Brady  <P@draigBrady.com>
31292         localename: support Solaris 12 and illumos
31293         * lib/localename.c (gl_locale_name_thread_unsafe): call
31294         getlocalename_l() on newer __sun platforms.
31295         Reported by Alexander Pyhalov.
31296         Fix suggested by Rich Burridge.
31298 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
31300         locale: fix tests on illumos (trivial)
31301         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
31302         so move from global scope to main().
31304 2015-01-24  Daiki Ueno  <ueno@gnu.org>
31306         unictype: avoid undefined left-shift behavior
31307         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
31308         gcc's -fsanitize=shift and running its tests triggered:
31309           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
31310             places cannot be represented in type 'int'
31311         Cast LHS to 'unsigned int' after integer promotion.
31312         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
31313         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
31315 2015-01-20  Daiki Ueno  <ueno@gnu.org>
31317         libunistring: bump version of unitypes dependants
31318         Due to the header file search order, all the headers which depend
31319         on unitypes.h need to be generated, when the preinstalled
31320         libunistring is older.
31321         * modules/unicase/base (configure.ac): Bump minimum version to
31322         0.9.4.
31323         * modules/uniconv/base (configure.ac): Likewise.
31324         * modules/unilbrk/base (configure.ac): Likewise.
31325         * modules/uninorm/base (configure.ac): Likewise.
31326         * modules/unistdio/base (configure.ac): Likewise.
31327         * modules/unistr/base (configure.ac): Likewise.
31328         * modules/uniwbrk/base (configure.ac): Likewise.
31329         * modules/uniwidth/base (configure.ac): Likewise.
31331 2015-01-20  Daiki Ueno  <ueno@gnu.org>
31333         unictype/category-none: fix link with libunistring
31334         Since _UC_CATEGORY_NONE is not a public symbol, it will be
31335         prefixed with "libstring_" when compiled as part of libunistring.
31336         To avoid undefined symbol at link time, increase the minimum
31337         version when the dependant modules are updated.
31338         * modules/unictype/category-none (configure.ac): Bump minimum
31339         version to 0.9.5.
31341 2015-01-20  Daiki Ueno  <ueno@gnu.org>
31343         unitypes: fix build with installed libunistring
31344         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
31345         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
31346         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
31348 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
31350         time: port to MinGW32 3.21
31351         Problem reported by Eli Zaretskii in:
31352         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
31353         * lib/time.in.h:
31354         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
31355         * modules/time (Depends-on):
31356         Fall back on unistd.h if the other include files don't define
31357         struct timespec.
31359         update-copyright: apply to self
31360         * build-aux/update-copyright: Fix copyright date.  How ironic!
31362 2015-01-15  Daiki Ueno  <ueno@gnu.org>
31364         libunistring: update to Unicode 7.0.0
31365         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
31366         Manichaean names.
31367         * lib/unictype/joininggroup_name.h: Likewise.
31368         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
31369         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
31370         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
31371         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
31372         (fill_arabicshaping, joining_group_as_c_identifier): Support those
31373         enum values.
31374         (is_property_alphabetic): Accept newly added characters to
31375         cuneiform numeric signs.
31376         (is_property_default_ignorable_code_point): Reject U+0605.
31377         (FIELDLEN): Increase from 120 to 160.
31378         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
31379         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
31380         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
31381         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
31382         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
31383         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
31384         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
31385         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
31386         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
31387         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
31388         U+1E8D0..U+1E8D6.
31389         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
31390         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31391         lib/uniwidth/width.c.
31392         * all generated files under lib/uni* and tests/uni*: Regenerate.
31394 2015-01-14  Daiki Ueno  <ueno@gnu.org>
31396         libunistring: update to Unicode 6.3.0
31397         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
31398         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
31399         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
31400         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
31401         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
31402         Update WB5, WB9, WB10, WB13a, and WB13b.
31403         * tests/uniwbrk/test-uc-wordbreaks.c
31404         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
31405         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
31406         (UC_BIDI_PDI): New enumeration values.
31407         (bidi_category_byname): Support those enum values.
31408         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
31409         dedicated property assigned.
31410         (is_property_case_ignorable): Check 0x0027.
31411         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
31412         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
31413         (output_wbp): Support those enum values.
31414         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
31415         (UC_BIDI_PDI): New enumeration values.
31416         * lib/unictype/bidi_byname.gperf: Add those property names.
31417         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
31418         U+180E, U+1A1B, and U+2066..U+2069.
31419         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31420         lib/uniwidth/width.c.
31421         * all generated files under lib/uni* and tests/uni*: Regenerate.
31423 2015-01-14  Daiki Ueno  <ueno@gnu.org>
31425         libunistring: update to Unicode 6.2.0
31426         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
31427         (unilbrk_table): Adjust table size.
31428         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
31429         for LBP_RI.
31430         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
31431         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
31432         Normalize table index skipping ignored properties.
31433         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
31434         WBP_EXTEND and WBP_FORMAT, which are now computed without using
31435         the table.
31436         * lib/uniwbrk/wbrktable.h: Adjust table size.
31437         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
31438         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
31439         Support rule GB8a.
31440         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
31441         * tests/unigbrk/test-uc-is-grapheme-break.c
31442         (graphemebreakproperty_to_string): Support GBP_RI.
31443         * tests/uniwbrk/test-uc-wordbreaks.c
31444         (wordbreakproperty_to_string): Support WBP_RI.
31445         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
31446         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
31447         (output_lbp): Support LBP_RI.  Adjust some characters changed from
31448         LBP_AL to LBP_ID.
31449         (output_lbp): Support LBP_RI.
31450         (WBP_RI): New enumeration value.
31451         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
31452         (output_wbp): Support WBP_RI.
31453         (GBP_RI): New enumeration value.
31454         (output_gbp_test, fill_org_gbp): Support GBP_RI.
31455         * all generated files under lib/uni* and tests/uni*: Regenerate.
31457 2015-01-14  Daiki Ueno  <ueno@gnu.org>
31459         libunistring: update to Unicode 6.1.0
31460         * lib/gen-uni-tables.c (output_joining_group): Switch to
31461         3-level table to accommodate joining groups defined with higher
31462         codepoint value.  Since there are only 88 groups defined in
31463         Unicode 7.0.0, use 7-bit packed format for level3 entries.
31464         (get_lbp): Update for Unicode 6.1.0.
31465         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
31466         3-level table.
31467         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
31468         joining group name.
31469         * lib/unictype/joininggroup_name.h: Likewise.
31470         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
31471         (unilbrk_table): Adjust table size.
31472         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
31473         for LBP_HL.
31474         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
31475         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
31476         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
31477         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
31478         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
31479         U+302E..U+302F.
31480         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31481         lib/uniwidth/width.c.
31482         * all generated files under lib/uni* and tests/uni*: Regenerate.
31483         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
31485 2015-01-15  Daiki Ueno  <ueno@gnu.org>
31487         uniwbrk/u32-wordbreaks-tests: add conformance test
31488         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
31489         tests/uniwbrk/test-uc-wordbreaks.c,
31490         tests/uniwbrk/test-uc-wordbreaks.sh, and
31491         tests/uniwbrk/WordBreakTest.txt.
31492         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
31493         test-uc-wordbreaks to $(check_PROGRAMS), and define
31494         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
31495         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
31496         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
31498 2015-01-15  Daiki Ueno  <ueno@gnu.org>
31500         uniwbrk: ignore Extended/Format characters at BOL not BOS
31501         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
31502         characters if the previous character property is one of
31503         WBP_NEWLINE, WBP_CR, and WBP_LF.
31505 2015-01-11  Jim Meyering  <meyering@fb.com>
31507         test-strstr.c: avoid a trivial leak
31508         * tests/test-strstr.c (main): Free haystack.
31510         update-copyright: recognize groff's \(co marker
31511         * build-aux/update-copyright (circle_c_re): Also accept
31512         uses of \(co, as found in gzip.1.
31514 2015-01-08  Pádraig Brady  <P@draigBrady.com>
31516         maint.mk: fix compatibility with OS X nm
31517         * top/maint.mk (_gl_tight_scope): Use the -g option to
31518         show exported items rather than the -e option which is
31519         ignored on all platforms except OS X where it gives an error.
31520         Reported by Assaf Gordon.
31522 2015-01-07  KO Myung-Hun  <komh@chollian.net>
31524         localcharset: improve charset detection on OS/2
31525         Use system codepage when appropriate.  Map OS/2 codepages to
31526         GNU canonical charset names if possible.
31527         * lib/config.charset: Don't output aliases if "$os" is os2*.
31528         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
31529         result for OS/2.
31530         (locale_charset) [OS2]: Use system codepage if codeset is omitted
31531         from the locale name which is neither "C" nor "POSIX".
31533 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
31535         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
31536         This reverts the last patch but one, as it shouldn't be needed now
31537         that the typo is fixed.
31538         * lib/count-leading-zeros.h (count_leading_zeros_ll):
31539         * lib/count-trailing-zeros.h:
31540         * lib/count-one-bits.h:
31541         Go back to using 64-bit intrinsics.
31543         count-leading-zeros: fix pragma typos
31544         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
31545         Fix typos in declaration of intrinsics when _MSC_VER.
31547 2015-01-06  Pádraig Brady  <P@draigBrady.com>
31549         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
31550         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
31551         intrinsics in this case.
31552         * lib/count-trailing-zeros.h: Likewise.
31553         * lib/count-one-bits.h: Likewise.
31555 2015-01-06  Daiki Ueno  <ueno@gnu.org>
31557         uniname/uniname: update to Unicode 7.0.0
31558         To accommodate new characters added since Unicode 5.1.0, this
31559         changes the internal representation of codepoint ranges.
31560         Previously, we grouped codepoint ranges by manually assigned 4-bit
31561         tag, which only allowed 16 groups.  This removes the limitation by
31562         switching to binary search on a table.  For the detail rationale
31563         and the benchmark results, see:
31564         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
31565         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
31566         to INDEX, as it no longer represents a codepoint.
31567         (range): New struct.
31568         (main): Switch to intervals list from a bit-pattern based
31569         classification.
31570         * lib/uniname/uninames.h: Regenerate.
31571         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
31572         * modules/uniname/base (configure.ac): Bump minimum version to
31573         0.9.5.
31574         * modules/uniname/uniname (configure.ac): Bump minimum version to
31575         0.9.5.
31577 2015-01-05  Eric Blake  <eblake@redhat.com>
31579         doc: update INSTALL from autoconf
31580         * doc/install.texi: Resync from autoconf.
31581         * doc/INSTALL: Reflect recent autoconf update.
31582         * doc/INSTALL.ISO: Likewise.
31583         * doc/INSTALL.UTF-8: Likewise.
31585         stdio: fix use of PRIdMAX on modern mingw
31586         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
31587         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
31588         to work with modern mingw.
31590 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
31592         pthread: detect git mingw builds with only partial pollution
31593         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
31594         pollution, as seen temporarily in Fedora 21.
31596 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
31598         lib-symbol-versions: cache script check
31599         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
31600         Cache the check for linker version scripts.
31601         From a suggestion by Christophe Curis in:
31602         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
31604 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
31606         maint: fix grammar nits in propername (trivial change)
31607         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
31608         and use an adequate verb and tense.
31610 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
31612         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
31613         * module/gendocs: Add 'doc/gendocs_template_min'.
31615         * build-aux/gendocs.sh: Change email addresses and upstream URLs
31616         from to Gnulib's.
31617         (scripturl, templateurl): Adjust accordingly.
31619 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
31621         gendocs: copyright date and version fix
31622         Reported by Karl Berry in:
31623         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
31624         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
31625         Fix copyright date.
31626         * build-aux/gendocs.sh (scriptversion): Update.
31628 2015-01-01  Karl Berry  <karl@gnu.org>
31630         * doc/install.texi,
31631         * build-aux/mdate-sh,
31632         * build-aux/depcomp,
31633         * build-aux/config.guess,
31634         * build-aux/config.sub,
31635         * build-aux/ar-lib,
31636         * build-aux/compile: revert copyright updates (some from last
31637         year) in slaved files.
31639 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
31641         version-etc: new year
31642         * doc/gnulib.texi:
31643         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
31644         * all files: Run 'make update-copyright'.
31646 2014-12-30  Pádraig Brady  <P@draigBrady.com>
31648         xstrtol: ensure errno is reset
31649         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
31650         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
31652         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
31654 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
31656         utimens: fix dependency typo
31657         * modules/utimens (Depends-on): Remove 'assure'.
31658         This bug was introduced in the recent 'assure' patch.
31660 2014-12-22  Eric Blake  <eblake@redhat.com>
31662         docs: mention why libgen.h is bad
31663         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
31665 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
31667         assure: new module
31668         This works better than 'assert' when compiling with -DNDEBUG,
31669         as it avoids some compiler diagnostics in that case.
31670         Reported by Norihiro Tanaka in:
31671         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
31672         * MODULES.html.sh (func_all_modules): Add 'assure'.
31673         * lib/assure.h, modules/assure: New files.
31674         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
31675         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
31676         Prefer 'assure' to 'assert'.
31677         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
31678         * modules/chdir-long, modules/cycle-check, modules/fchdir:
31679         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
31680         Depend on 'assure'.
31682 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
31684         stdalign: port better to HP compilers
31685         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
31686         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
31688         stdalign: work around Apple GCC 4.0 bug
31689         Reported by David Fang in:
31690         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
31691         * lib/stdalign.in.h (_Alignas):
31692         * m4/stdalign.m4 (gl_STDALIGN_H):
31693         Do not use aligned attribute with GCC 4.0 on Apple.
31695 2014-12-16  Pádraig Brady  <P@draigBrady.com>
31697         getcwd: fix test failure on OS X 10.9
31698         * m4/getcwd-path-max.m4: Avoid the replacement if it
31699         won't be effective due to the PATH_MAX limitation of lstat().
31700         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
31701         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
31702         for this case for use in tests, and also exclude this
31703         case when setting REPLACE_GETCWD.
31704         * tests/test-getcwd.c (test_long_name): Restrict the
31705         tested path length so that lstat() will not be passed
31706         a path greater than PATH_MAX.
31707         Also key a test condition on HAVE_OPENAT_SUPPORT rather
31708         than AT_FDCWD, since the latter is set unconditionally
31709         since Sep 2009 in commit 52c658e9.
31711 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
31713         parse-datetime: avoid a compiler warning with byacc (trivial)
31714         * lib/parse-datetime.y (yylex): Use the same prototype in the
31715         function definition as the declaration, to avoid a -Wstrict-prototypes
31716         warning seen when using byacc.
31718 2014-12-12  Daiki Ueno  <ueno@gnu.org>
31720         unicase/locale-language-tests: fix LOCALE_FR test
31721         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
31722         a French locale with traditional encoding.
31723         Reported by umerqayam in:
31724         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
31726 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
31728         stddef: support C11's max_align_t
31729         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
31730         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
31731         Do not undef, as that might cause max_align_t to be defined twice.
31732         Instead, change use to check for _GL_STDDEF_WINT_T too.
31733         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
31734         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
31735         Check for max_align_t.
31736         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
31737         * modules/stddef-tests (Depends-on): Add stdalign.
31738         * tests/test-stddef.c: Test max_align_t.
31740 2014-12-11  Daiki Ueno  <ueno@gnu.org>
31742         unistd: fix iOS check conditional
31743         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
31744         as 0 or 1 in <TargetConditionals.h>, and the previous check always
31745         yielded true on non-iOS environment.
31746         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
31747         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
31748         they are defined.
31750 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
31752         posixtm: avoid compiler warning in a better way
31753         * lib/posixtm.c (IF_LINT): Remove.
31754         (year, posix_time_parse):
31755         Return true (not 0) if successful.  All callers changed.
31756         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
31758 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
31760         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
31761         started with '/' on EMX.
31763 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
31765         freopen: workaround freopen() on OS/2 kLIBC
31766         * lib/freopen.c (rpl_freopen): Workaround.
31767         * m4/freopen.m4: Add os2* case.
31769         get_shared_library_fullname: port to EMX
31770         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
31771         on EMX, respectively.
31772         (_DLL_InitTerm): New on EMX.
31773         (get_shared_library_fullname): Implement on EMX.
31775         find_executable: port to EMX
31776         * lib/progreloc.c (find_executable): Implement on EMX.
31778         sched: check struct sched_param in spawn.h as well
31779         * lib/sched.in.h: Include spawn.h on kLIBC.
31780         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
31782 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
31784         bootstrap: Allow perl modules in $buildreq
31785         * build-aux/bootstrap: Add case for perl modules.
31787 2014-12-08  Pádraig Brady  <P@draigBrady.com>
31789         apply _GL_ATTRIBUTE_PURE to some inline functions
31790         clang 3.4.2 flagged these inline functions as pure
31791         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
31792         * lib/sig-handler.h (get_handler): Likewise.
31793         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
31794         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
31796 2014-12-06  Pádraig Brady  <P@draigBrady.com>
31798         vasnprintf: fix potential use after free
31799         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
31800         flagged by clang-analyzer 3.4.2.
31802 2014-12-05  Pádraig Brady  <P@draigBrady.com>
31804         filevercmp, posixtm: avoid compiler warnings with -O3
31805         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
31806         * lib/posixtm.c: (IF_LINT): Define.
31807         (posix_time_parse): Use it to void a "may be used uninitialized"
31808         warning, seen only with -O3.
31810 2014-12-05  Bruno Haible  <bruno@clisp.org>
31812         Fix LDBL80_WORDS macro on big endian platforms.
31813         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
31814         LDBL80_WORDS macro.
31815         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
31816         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
31817         * tests/test-isfinite.c (test_isfinitel): Likewise.
31818         * tests/test-isinf.c (test_isinfl): Likewise.
31819         * tests/test-isnan.c (test_long_double): Likewise.
31820         * tests/test-isnanl.h (main): Likewise.
31821         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
31822         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
31823         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
31824         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
31825         Reported by Pádraig Brady.
31827 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
31829         git-version-gen: do not print new line characters
31830         * build-aux/git-version-gen: Use printf instead of echo and tr.
31832         gnulib-tool: recognize x:* as an absolute path
31833         * gnulib-tool (func_gnulib_dir): Add ?:* case.
31834         (func_relconcat): Likewise.
31836 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
31838         argp: avoid extraneous translation and mem leak with empty pre doc
31839         * lib/argp-help.c (argp_doc): Never translate the empty string,
31840         when "\v" is the first or last character of the string, as that
31841         has a reserved meaning to return the header info from a po file.
31842         This also fixes a small memory leak in the !post case.
31843         The issue can be seen with this command for example:
31844         LC_MESSAGES=en_US grub2-mknetdir --help
31846 2014-11-27  Daiki Ueno  <ueno@gnu.org>
31848         uniname/uniname-tests: skip if system's libunistring is used
31849         * modules/uniname/uniname-tests (Makefile.am): Skip test if
31850         uniname/uniname module is not compiled.
31852 2014-11-27  Pádraig Brady  <P@draigBrady.com>
31854         printf: fix configure check on big endian systems
31855         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
31857 2014-11-22  Daiki Ueno  <ueno@gnu.org>
31859         pipe-filter-gi, pipe-filter-ii: port to AIX
31860         On AIX 7.1, 'select' is defined as static and cannot be referred
31861         to from inline function.
31862         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
31863         the definition...
31864         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
31865         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
31867 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
31869         gitlog-to-changelog: add --until
31870         * build-aux/gitlog-to-changelog: Support new --until option.
31871         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
31873 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
31875         extern-inline: update commentary about GCC bugs
31876         * m4/extern-inline.m4: Add another GCC bug number to comments.
31878 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31880         gen-uni-tables: untabify
31881         * lib/gen-uni-tables.c: Untabify.
31883 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31885         gen-uni-tables: check out-of-range values added to 3-level tables
31886         * lib/gen-uni-tables.c (output_category, output_bidi_category)
31887         (output_joining_type, output_ident_category): Check out-of-range
31888         values added to 3-level tables.
31890 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31892         gen-uni-tables: utilize 'assert'
31893         * lib/gen-uni-tables.c: Include <assert.h>.
31894         (output_category, output_combclass, output_decimal_digit_test)
31895         (output_decimal_digit, output_digit_test, output_digit)
31896         (output_numeric, get_mirror_value, fill_properties)
31897         (fill_property30, is_property_alphabetic)
31898         (is_property_default_ignorable_code_point)
31899         (is_property_uppercase, is_property_lowercase)
31900         (is_property_cased, is_property_case_ignorable)
31901         (is_property_changes_when_lowercased, is_property_iso_control)
31902         (is_property_math, fill_arabicshaping, output_joining_group)
31903         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
31904         (output_wbp, fill_org_gbp, get_decomposition)
31905         (output_decomposition, fill_composition_exclusions)
31906         (debug_output_composition_tables, output_composition_tables)
31907         (redistribute_casefolding_rules, output_casing_rules): Use
31908         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
31909         reporting.
31911 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31913         gen-uni-tables: cosmetic improvements
31914         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
31915         variables specification.
31916         (is_outdigit): Remove unused function.
31918 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
31920         fcntl-h-tests: port to PA-RISC GNU/Linux
31921         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
31923 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
31925         fts: port to C89
31926         Problem reported for MSVC 16 by Gisle Vanem in:
31927         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
31928         * lib/fts.c (fts_build): Avoid declaration before statement.
31930 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
31932         unistd: port to iOS
31933         Problem reported by André Klitzing in:
31934         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
31935         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
31937 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
31939         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
31940         Problem reported by Alan Modra in:
31941         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
31942         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
31943         Always cast the function arg, reverting this part of the previous
31944         change.
31946 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
31948         obstack: avoid potentially-nonportable function casts
31949         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
31950         Remove, replacing with ...
31951         (call_chunkfun, call_freefun): New static functions.
31952         All uses changed.  Avoid potentially-nonportable casts.
31953         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
31954         (_obstack_begin_worker): Omit last two args, since they
31955         rely on potentially-nonportable casts.  All callers changed.
31956         * lib/obstack.h (_OBSTACK_CAST): New macro.
31957         Use it everywhere the old API used a potentially-nonportable cast.
31958         The new API doesn't cast.
31959         (struct obstack): Use unions rather than requiring
31960         potentially-nonportable casts.
31961         (obstack_chunkfun, obstack_freefun): Return void.
31963 2014-11-03  Alan Modra  <amodra@gmail.com>
31965         obstack: fix macro return values
31966         * lib/obstack.h (obstack_next_free): Return void *.
31967         (obstack_1grow_fast, obstack_blank_fast): Return void.
31968         For __GNUC__ macros:
31969         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
31970         For !__GNUC__ macros:
31971         (obstack_make_room, obstack_grow, obstack_grow0)
31972         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
31974 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
31976         obstack: do not assume system-supplied obstack is size_t safe
31977         * m4/obstack.m4: New file.
31978         * modules/obstack (Files): Add it.
31980         obstack: port to platforms that #define __alignof__
31981         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
31982         not if !_LIBC.  We don't know of any platforms that #define
31983         __alignof__, but it might be useful in tests.  Conversely,
31984         glibc assumes GCC.
31986 2014-11-03  Pádraig Brady  <P@draigBrady.com>
31988         linkat: don't unconditionally replace on GNU/Linux
31989         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
31990         was redundant for a few reasons.  It was present to support compiling
31991         on new systems but running on the old narrow window of Linux 2.6.1[67].
31992         It setup and cleaned up test files which weren't actually used.
31993         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
31994         implicit in the following check.
31996 2014-11-03  Pádraig Brady  <P@draigBrady.com>
31998         linkat: wrap to handle symlinks on OS X 10.10
31999         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
32000         but not usable because it doesn't support creating hardlinks
32001         to symlinks.  Therefore add a generic test for this capability
32002         and fallback to our emulation if linkat() fails with ENOTSUP.
32004 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
32006         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
32007         * doc/posix-functions/open.texi (open):
32008         * doc/posix-functions/openat.texi (openat):
32009         Document that these functions do not set errno to ELOOP when
32010         a symlink is opened with O_NOFOLLOW.
32012 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
32014         obstack: add NEWS entry for recent incompatible changes
32015         * NEWS: Describe recent changes.
32017 2014-10-30  Pádraig Brady  <P@draigBrady.com>
32019         mountlist: don't use libmount to decide on dummy/remote
32020         * lib/mountlist.c (read_file_system_list): Don't use the libmount
32021         routines to determine whether a file system is dummy or remote,
32022         as they're not currently compatible.  For example the remoteness
32023         is determined on file system type (for which the list seems incomplete),
32024         rather than simply checking for a ':' in the device name.
32025         Also libmount currently determines that 'tmpfs' is a dummy file system
32026         even though it has associated storage.
32028 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
32030         obstack: prefer __alignof__ to alignof
32031         This is for portability to pre-4.7 GCC when compiling glibc.
32032         See Joseph S. Myers in:
32033         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
32034         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
32035         New macro, defined by including and using <alignof.h>.
32036         (MAX): New macro.
32037         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
32038         Do not use enums as they are not portable to some broken compilers.
32039         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
32041         obstack: prefer alignof to calculating alignments by hand
32042         * lib/obstack.c: Include <stdalign.h>.
32043         (struct fooalign): Remove.
32044         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
32045         * modules/obstack (Depends-on): Add stdalign.
32047 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
32049         obstack: use size_t alignments and check for overflow
32050         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
32051         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
32052         * lib/obstack.h (struct obstack.alignment_mask):
32053         Use _OBSTACK_SIZE_T, not int, for alignments.
32054         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
32055         overflows, e.g., when adding the alignment.
32057 2014-10-29  Alan Modra  <amodra@gmail.com>
32059         obstack: 64-bit obstack support, part 3
32060         This finally enables full 64-bit obstack support.  The glibc
32061         shared library specific code is removed from obstack.c too, and
32062         the error handling code conditionally compiled under control of
32063         another macro, _OBSTACK_NO_ERROR_HANDLER.
32064         * lib/obstack.h: Include string.h earlier.
32065         (_OBSTACK_INTERFACE_VERSION): Define.
32066         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
32067         * lib/obstack.c: Don't include shlib-compat.h.
32068         (OBSTACK_INTERFACE_VERSION): Delete.
32069         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
32070         glibc code is compatible with version 2.  Don't include stdio.h for
32071         __GNU_LIBRARY.
32072         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
32073         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
32074         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
32075         glibc shared library specific source.
32077         obstack: 64-bit obstack support, part 2
32078         This gets us 4G obstack support, without changing ABI
32079         compatibility, apart from possibly introducing some
32080         signed/unsigned comparison warnings in code that uses obstack.h.
32081         a) Replace "int" size parameters, return values, and macro local vars
32082            with _OBSTACK_SIZE_T, an "unsigned int" for now.
32083         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
32084         c) Make all obstack macros checking available room use obstack_room.
32085            "next_free + desired > chunk_limit" may wrap the lhs for chunks
32086            allocated near the top of memory.
32087         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
32088         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
32089         in place of "int" size parameters, return values and local vars.
32090         (_CHUNK_SIZE_T): Define.
32091         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
32092         union use an _OBSTACK_SIZE_T integer type.
32093         For __GNUC__ versions of the following macros...
32094         (obstack_room): Rename local var.
32095         (obstack_make_room): Use obstack_room.
32096         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
32097         obstack_int_grow, obstack_blank): Likewise.
32098         (obstack_finish): Use unsigned comparison when comparing aligned
32099         next_free against chunk_limit.
32100         (obstack_free): Cast OBJ to remove possible const qualifier.
32101         For !__GNUC__ versions of the following macros...
32102         (obstack_make_room): Use obstack_room.
32103         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
32104         obstack_int_grow, obstack_blank): Likewise.
32105         (obstack_finish): Use unsigned comparision when comparing aligned
32106         next_free against chunk_limit.
32107         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
32108         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
32109         _OBSTACK_SIZE_T.
32110         (_obstack_begin, _obstack_begin_1): Likewise.
32111         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
32112         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
32114         obstack: 64-bit obstack support, part 1
32115         a) Correct calls to alloc function, to use a size_t arg.  "long" is
32116            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
32117            and "size_t" 64 bits.
32118         b) Consolidate _obstack_begin and _obstack_begin1 code.
32119         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
32120         use "size_t" rather than "long".
32121         (_obstack_begin, _obstack_begin1): Likewise.
32122         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
32123         obstack_chunkfun): Update alloc function casts.
32124         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
32125         (chunkfun_type, freefun_type): New typdefs.
32126         (_obstack_begin_worker): Split out from ..
32127         (_obstack_begin, _obstack_begin_1): ..here.
32129         obstack: tidy part 2
32130         a) Don't be concerned about "not polluting the namespace with stddef.h
32131            symbols" in obstack.h, since gnulib string.h includes stddef.h
32132            anyway, and it seems unlikely that anyone would care.
32133         b) Don't roll our own slow memcpy in _obstack_newchunk.
32134         c) Rename obstack_free to _obstack_free.  This makes the naming
32135            consistent with other obstack functions and obviates the need for
32136            __obstack_free.  Ancient obstack.c defined both obstack_free and
32137            _obstack_free.  We continue to do that for _LIBC via an alias.
32138         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
32139            is clever, but nowadays gcc warns on undefined macros.  You'll get
32140            an undefined macro warning if simulating an old gcc with -U__GNUC__
32141            -U__GNUC_MINOR__ -D__GNUC__=1.
32142         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
32143         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
32144         (__obstack_free): Delete, update refs.
32145         (_obstack_free): Rename from obstack_free.
32146         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
32147         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
32148         * lib/obstack.c: Don't include stddef.h.
32149         (COPYING_UNIT): Delete.
32150         (_obstack_begin): Formatting fix.
32151         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
32152         (_obstack_free): Rename from __obstack_free, update alias.  Move
32153         undef of obstack_free to where it is needed.
32155         obstack: tidy part 1
32156         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
32157            to me, and result in overlong lines after later patches.
32158         b) Move error handling code, to avoid a forward declaration and to
32159            simplify later patches in this series.
32160         * lib/obstack.h (struct obstack <temp>): Rename fields of union
32161         and update all uses.
32162         * lib/obstack.c: Include stdlib.h earlier.
32163         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
32164         in file.
32165         (print_and_abort): Remove now redundant forward declaration.
32167 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
32169         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
32170         Without this change, in bleeding-edge fileutils Autoconf complains
32171         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
32172         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
32173         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
32174         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
32176 2014-10-24  Daiki Ueno  <ueno@gnu.org>
32178         iconv: avoid false detection of non-working iconv
32179         The INBUF arguments of iconv can be either 'const char **'
32180         or 'char **'.  If CC is g++, the difference causes a compile error
32181         and thus leads to a false detection of non-working iconv.
32182         Reported by Eli Zaretskii and Werner LEMBERG in:
32183         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
32184         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
32185         iconv.  Bump serial number.
32187 2014-10-23  Pádraig Brady  <P@draigBrady.com>
32189         bootstrap: print more diagnostics for missing programs
32190         * build-aux/bootstrap: only suppress stderr when checking for
32191         alternative program names.  This supports programs issuing non
32192         standard error messages.
32194 2014-10-23  Pádraig Brady  <P@draigBrady.com>
32196         bootstrap: only update the gnulib submodule
32197         * build-aux/bootstrap: Restrict the "submodule update" command
32198         to the gnulib path.
32200 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
32202         symlinkat: port to AIX 7.1
32203         * doc/posix-functions/symlinkat.texi (symlinkat):
32204         Mention AIX porting problem.
32205         * lib/symlinkat.c: Always include errno.h.
32206         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
32207         * lib/unistd.in.h (symlinkat): Add replacement machinery.
32208         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
32209         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
32210         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
32211         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
32212         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
32214         readlinkat: port to AIX 7.1
32215         * doc/posix-functions/readlink.texi (readlink):
32216         * doc/posix-functions/readlinkat.texi (readlinkat):
32217         Mention AIX porting problem.
32218         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
32219         New function.
32220         * lib/unistd.in.h (readlinkat): Add replacement machinery.
32221         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
32222         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
32223         * modules/readlinkat (configure.ac): Also compile replacement
32224         if REPLACE_READLINKAT.
32225         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
32227 2014-10-12  Karl Berry  <karl@gnu.org>
32229         * doc/posix-functions/dirname.texi: remove spurious {.
32231 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
32233         basename, dirname: Improve documentation.
32234         * doc/posix-functions/basename.texi: Mention dirname module and
32235         base_name() function.
32236         * doc/posix-functions/dirname.texi: Mention dir_name() and
32237         mdir_name() functions.
32238         Suggested by Werner LEMBERG <wl@gnu.org>.
32240 2014-09-24  Jim Meyering  <meyering@fb.com>
32242         exclude: declare exclude_patopts static
32243         * lib/exclude.c (exclude_patopts): Declare static,
32244         to avoid triggering a -Wmissing-prototypes warning.
32245         The alternative (declaring it in the .h file) would
32246         require publicizing the private "struct patopts".
32248 2014-09-21  Werner Lemberg  <wl@gnu.org>
32250         dirname: support compilation with C++
32251         * lib/dirname.h: Add necessary C linkage declarations.
32253 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
32255         qsort_r: include <config.h>
32256         Problem reported by Tom G. Christensen in:
32257         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
32258         * lib/qsort.c [!_LIBC]: Include <config.h> first.
32260 2014-09-16  Dylan Cali  <calid1984@gmail.com>
32262         avltree-list: avoid compiler warnings (trivial)
32263         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
32264         -Werror=suggest-attribute=pure.
32265         * lib/gl_array_list.c: Likewise.
32266         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
32267         declaration to avoid -Werror=missing-prototypes.  This is not added
32268         to a header as only exported for tests.  Add (void) to the
32269         check_invariants() call to indicate we're discarding the result
32270         in this context which avoids -Werror=unused-value.  Note we don't
32271         use ignore_value here to avoid a dependency as we know we'll not
32272         be adding __attribute__((warn_unused_result)) to check_invariants().
32273         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
32275 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
32277         qsort_r: new module, for GNU-style qsort_r
32278         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
32280 2014-09-15  Werner LEMBERG  <wl@gnu.org>
32282         strerror_r-posix: support compilation with C++
32283         * lib/strerror_r.c: Add necessary C linkage declarations.
32285 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
32287         fcntl-h: fix compilation with Intel C++ compiler (trivial)
32288         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
32290 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
32292         mountlist: use /proc/self/mountinfo when available
32293         Use libmount to propagate device IDs provided by Linux in
32294         /proc/self/mountinfo.  This will give more accurate output when
32295         using df in chroot'ed environments as the device IDs are not
32296         determined by stat() which may be inaccurate within the chroot.
32297         * lib/mountlist.c (read_file_system_list): Use the libmount routines
32298         from util-linux to parse "/proc/self/mountinfo" or fall back to
32299         standard getmntent() processing.
32300         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
32301         getmntent() is used, as is the case on GNU/Linux.
32303 2014-09-07  Eric Wong  <normalperson@yhbt.net>
32305         users.txt: add cmogstored
32306         cmogstored has used gnulib since the beginning in 2012 to support
32307         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
32309 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
32311         Trivial change.
32312         * gnulib-tool: Use same options as build-aux/bootstrap to download
32313         PO files.
32315 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
32317         Trivial change.
32318         * gnulib-tool: Fallback to wget when rsync of PO files fails.
32320 2014-09-04  Eric Blake  <eblake@redhat.com>
32322         maintainer-makefile: add syntax check for useless ';;'
32323         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
32325 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
32327         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
32328         Problem reported by Assaf Gordon in:
32329         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
32330         Apparently Ubuntu is doing some fancy link-time optimization
32331         that doesn't work with -lpthread but does work with -pthread.
32332         Work around the bug by preferring -pthread to -lpthread.
32333         * m4/pthread.m4 (gl_PTHREAD_CHECK):
32334         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
32335         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
32336         Treat -pthread like -lpthread.
32338 2014-09-04  Eric Blake  <eblake@redhat.com>
32340         error: drop spurious semicolon
32341         * lib/error.c (__error_at_line): Fix ';;'.
32343 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
32345         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
32346         * m4/gnulib-common.m4 (AC_C_RESTRICT):
32347         Override AC_C_RESTRICT unconditionally.
32348         Update from autoconf, incorporating:
32349         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
32350         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
32352 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
32354         manywarnings: add GCC 4.9 warnings
32355         Also, make it easier to maintain this in the future.
32356         * build-aux/gcc-warning.spec: Add -Wabi-tag,
32357         -Wconditionally-supported, -Wdelete-incomplete,
32358         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
32359         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
32360         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
32361         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
32362         only for older GCC versions that need them.  Handle
32363         -Wnormalized=nfc specially, so that the 'comm' command used
32364         for maintenance doesn't get confused.
32366 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
32368         vasnprintf: fix bugs in width computation
32369         * lib/vasnprintf.c (VASNPRINTF):
32370         Rework previous change, which introduced a bug,
32371         to avoid the warning in a different way.
32372         Avoid undefined behavior if the width arg is less than -INT_MAX.
32373         Avoid unnecessary use of HAS_WIDTH local.
32375 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
32377         vasnprintf: Avoid signed/unsigned comparison warning.
32378         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
32379         compare end addr of generated string w/ maximum end addr.
32381 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
32383         parse-datetime: Avoid pointer difference.
32384         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
32385         instead of calculating difference of pointers.  This removes an
32386         annoying warning, devoid of any use.
32388 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
32390         qsort_r: new module, for GNU-style qsort_r
32391         This works even on FreeBSD, which has an incompatible qsort_r API.
32392         * MODULES.html.sh: Add it.
32393         * doc/glibc-functions/qsort_r.texi: It's now supported.
32394         * lib/qsort.c: New file, taken from glibc with minor changes
32395         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
32396         removed.
32397         * lib/qsort_r.c: New file, compiled only on FreeBSD.
32398         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
32399         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
32400         * modules/qsort_r, modules/qsort_r-tests: New files.
32401         * modules/stdlib (Makefile): Set up its defaults.
32402         * tests/test-qsort_r.c: New file.
32404 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
32406         vla: new module
32407         GNU RCS can use this, mostly for documentation I expect.  See:
32408         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
32409         * MODULES.html.sh: Add vla.
32410         * lib/vla.h, modules/vla: New files.
32412 2014-08-07  Daiki Ueno  <ueno@gnu.org>
32414         localename: make gl_locale_name_thread really thread-safe on Windows
32415         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
32416         "glthread/lock.h".
32417         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
32418         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
32420 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
32422         getpass: don't assume struct termios
32423         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
32424         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
32425         * lib/getpass.c (getpass): Port to systems lacking struct termios.
32427         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
32428         Problem reported by Jonas 'Sortie' Termansen in:
32429         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
32430         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
32431         Implement via sysconf for platforms that lack getdtablesize.
32433         vararrays: modernize AC_C_VARARRAYS for C11
32434         This backports a change I recently made to Autoconf.
32435         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
32436         VLAs are not supported, as this is what C11 does.  The old macro
32437         HAVE_C_VARARRAYS is still defined if they are supported, but is
32438         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
32440 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
32442         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
32443         * build-aux/install-reloc (func_create_wrapper): Also wrap
32444         strerror-override, stat, stat.
32446 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
32448         sys_select: fix FD_ZERO problem on Solaris 10
32449         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
32450         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
32451         to expand to an expression that invoked memset without necessarily
32452         including <string.h>.  The problem was that the first include
32453         defined _SYS_TIME_H, causing the second include to short-circuit.
32454         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
32455         Also, fix what appears to be a cut-and-paste typo, by replacing
32456         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
32457         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
32459         accept: document Solaris 10 type glitch
32460         * doc/posix-functions/accept.texi (accept): Mention that
32461         Solaris 10 'accept' takes void * last arg, not socklen_t *.
32463 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
32465         extern-inline: port to FreeBSD, DragonFly
32466         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
32467         is present if either __DragonFly__ or __FreeBSD__ is defined.
32468         FreeBSD problem reported by Andrey Borzenkov in:
32469         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
32470         Also, worry about __APPLE__ only if __MACH__ is also defined,
32471         as this is more consistent with the rest of gnulib.
32472         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
32473         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
32475 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
32477         regex: Make #if/#ifdef usage consistent for DEBUG
32478         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
32479         of the inconsistent usage of #if and #ifdef as that works with
32480         both Glibc and Gnulib's style.
32482 2014-07-31  Eric Blake  <eblake@redhat.com>
32484         openat-die: use _Noreturn markup
32485         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
32486         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
32487         _Noreturn.
32489 2014-07-30  Eric Blake  <eblake@redhat.com>
32491         test-open: port to cygwin, which lacks Fortify
32492         * tests/test-open.h (ALWAYS_INLINE): New macro.
32493         (__always_inline): Don't abuse internal symbol on non-glibc.
32495 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
32497         localename: Enforce declarations before statements.
32498         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
32499         first statement.
32501 2014-07-18  Jim Meyering  <meyering@fb.com>
32503         test-userspec: don't look up numeric user names
32504         * tests/test-userspec.c: I found a system for which getpwnam("0")
32505         returned a pointer to a non-root user's entry, and that made the
32506         test fail.
32507         (T): Prefix each numeric input with "+", to inhibit lookup.
32509 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
32511         localcharset, localename: MS-Windows support for non-default locales
32512         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
32513         falling back on the default system codepage, try extracting
32514         the codepage from what 'setlocale' returns.  This allows to
32515         take into account changes of the codeset due to non-default
32516         locale set by a previous call to 'setlocale'.
32517         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
32518         Define if not already defined.
32519         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
32520         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
32521         current locale by calling 'setlocale', then converting the
32522         locale name into LCID by calling 'get_lcid'.  This allows to
32523         take into account changes in the current locale from the
32524         default one, in contrast to GetThreadLocale.
32526 2014-07-14  Daiki Ueno  <ueno@gnu.org>
32528         announce-gen: avoid failure when Digest::SHA is installed
32529         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
32530         Digest::SHA1->new in print_checksums fails.
32531         * build-aux/announce-gen (digest_classes): New associative array
32532         for available message digest implementations.
32533         (print_locations): Use it.
32535 2014-07-13  Pádraig Brady  <P@draigBrady.com>
32537         gettext: revert "update macros to version 0.19"
32538         This reverts commit 9b9370ca, as it currently requires that
32539         developers of any project that explicitly uses the gettext module
32540         or implicitly uses it through the utimens-tests or
32541         futimens-tests modules, use gettext >= 0.19.
32542         However there are some stability and availablity issues with
32543         that version at present.  We can reinstate this soon, when stability
32544         is addressed and packages are more readily available.
32546 2014-07-12  Jim Meyering  <meyering@fb.com>
32548         regex: don't deref NULL upon heap allocation failure
32549         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
32550         failure in one more place.
32551         To trigger the segfault, configure grep -with-included-regex,
32552         build it, and run these commands:
32553         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
32554         I discovered this while replying to a private report from
32555         Jens Schleusener about excessive memory consumption by grep
32556         when using a regular expression like the one above.
32558 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
32560         regex: fix memory leak in compiler
32561         Fix by Andreas Schwab in:
32562         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
32563         * lib/regcomp.c (parse_reg_exp): Deallocate partially
32564         constructed tree before returning error.
32566 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
32568         announce-gen: avoid perl warnings
32569         * build-aux/announce-gen: add two minor checks to avoid
32570         "use of uninitialized value" warnings when command-line parameters are
32571         missing.
32573 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
32575         localename: avoid -Wsuggest-attribute={const,pure} warnings
32576         * lib/localename.c (string_has): Tag internal function as pure.
32577         * lib/localename.h (gl_locale_name_default): Tag extern declaration
32578         as const when appropriate.
32580 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
32582         nl_langinfo: Fix last change.
32583         * lib/nl_langinfo.c (includes): Drop redundant include.
32585 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
32587         error: Fix -Wundef warnings in glibc
32588         * lib/error.c [_LIBC]: Define default macros for
32589         glibc.
32590         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
32591         Check _LIBC before STRERROR_R_CHAR_P.
32593         error: Sync from glibc master
32594         * lib/error.c [_LIBC]: Remove INTUSE usage.
32595         (error_tail): Remove unused macro ALLOCA_LIMIT.
32596         Fix potential buffer overflow.  Fix potential NULL dereference
32597         in strcmp.
32599 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
32601         nl_langinfo: fix build under mingw
32602         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
32604 2014-07-09  Andrew D Warshall  <warshall@99main.com>
32606         mountlist: do not classify a bind-mounted dir entry as "dummy"
32607         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
32608         1-argument getmntent() (instead of assuming absence).
32610 2014-07-08  Eric Blake  <eblake@redhat.com>
32612         maint.mk: less syntax-check noise when SIGPIPE is ignored
32613         * top/maint.mk (_sc_header_without_use)
32614         (sc_require_config_h_first): Parse full list.
32616 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
32617             Paul Eggert  <eggert@cs.ucla.edu>
32619         nl_langinfo: CODESET on MS-Windows and more items from localeconv
32620         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
32621         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
32622         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
32623         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
32624         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
32625         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
32626         Include <stdio.h> if Microsoft Windows.
32627         Include <time.h> if !REPLACE_NL_LANGINFO.
32628         (ctype_codeset): New function, taken from rpl_nl_langinfo,
32629         and with improvements for Microsoft Windows.
32630         (rpl_nl_langinfo): Use it.
32631         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
32632         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
32633         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
32634         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
32635         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
32636         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
32637         corresponding values returned by 'localeconv'.  Compute the values
32638         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
32639         'strftime' with a suitable struct tm value.
32641 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
32643         Bruno Haible has stepped down as maintainer.
32644         See Karl Berry in:
32645         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
32646         Daiki Ueno has volunteered to maintain libunistring; see:
32647         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
32648         * modules/gen-uni-tables, modules/libunistring:
32649         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
32650         * modules/unicase/base, modules/unicase/cased:
32651         * modules/unicase/empty-prefix-context:
32652         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
32653         * modules/unicase/locale-language, modules/unicase/special-casing:
32654         * modules/unicase/tocasefold, modules/unicase/tolower:
32655         * modules/unicase/totitle, modules/unicase/toupper:
32656         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
32657         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
32658         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
32659         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
32660         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
32661         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
32662         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
32663         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
32664         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
32665         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
32666         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
32667         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
32668         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
32669         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
32670         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
32671         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
32672         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
32673         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
32674         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
32675         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
32676         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
32677         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
32678         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
32679         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
32680         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
32681         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
32682         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
32683         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
32684         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
32685         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
32686         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
32687         * modules/unicase/ulc-casexfrm, modules/unicodeio:
32688         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
32689         * modules/uniconv/u16-conv-to-enc:
32690         * modules/uniconv/u16-strconv-from-enc:
32691         * modules/uniconv/u16-strconv-from-locale:
32692         * modules/uniconv/u16-strconv-to-enc:
32693         * modules/uniconv/u16-strconv-to-locale:
32694         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
32695         * modules/uniconv/u32-strconv-from-enc:
32696         * modules/uniconv/u32-strconv-from-locale:
32697         * modules/uniconv/u32-strconv-to-enc:
32698         * modules/uniconv/u32-strconv-to-locale:
32699         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
32700         * modules/uniconv/u8-strconv-from-enc:
32701         * modules/uniconv/u8-strconv-from-locale:
32702         * modules/uniconv/u8-strconv-to-enc:
32703         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
32704         * modules/unictype/bidicategory-all:
32705         * modules/unictype/bidicategory-byname:
32706         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
32707         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
32708         * modules/unictype/bidiclass-byname:
32709         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
32710         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
32711         * modules/unictype/block-all, modules/unictype/block-list:
32712         * modules/unictype/block-of, modules/unictype/block-test:
32713         * modules/unictype/category-C, modules/unictype/category-Cc:
32714         * modules/unictype/category-Cf, modules/unictype/category-Cn:
32715         * modules/unictype/category-Co, modules/unictype/category-Cs:
32716         * modules/unictype/category-L, modules/unictype/category-LC:
32717         * modules/unictype/category-Ll, modules/unictype/category-Lm:
32718         * modules/unictype/category-Lo, modules/unictype/category-Lt:
32719         * modules/unictype/category-Lu, modules/unictype/category-M:
32720         * modules/unictype/category-Mc, modules/unictype/category-Me:
32721         * modules/unictype/category-Mn, modules/unictype/category-N:
32722         * modules/unictype/category-Nd, modules/unictype/category-Nl:
32723         * modules/unictype/category-No, modules/unictype/category-P:
32724         * modules/unictype/category-Pc, modules/unictype/category-Pd:
32725         * modules/unictype/category-Pe, modules/unictype/category-Pf:
32726         * modules/unictype/category-Pi, modules/unictype/category-Po:
32727         * modules/unictype/category-Ps, modules/unictype/category-S:
32728         * modules/unictype/category-Sc, modules/unictype/category-Sk:
32729         * modules/unictype/category-Sm, modules/unictype/category-So:
32730         * modules/unictype/category-Z, modules/unictype/category-Zl:
32731         * modules/unictype/category-Zp, modules/unictype/category-Zs:
32732         * modules/unictype/category-all, modules/unictype/category-and:
32733         * modules/unictype/category-and-not, modules/unictype/category-byname:
32734         * modules/unictype/category-longname, modules/unictype/category-name:
32735         * modules/unictype/category-none, modules/unictype/category-of:
32736         * modules/unictype/category-or, modules/unictype/category-test:
32737         * modules/unictype/category-test-withtable:
32738         * modules/unictype/combining-class:
32739         * modules/unictype/combining-class-all:
32740         * modules/unictype/combining-class-byname:
32741         * modules/unictype/combining-class-longname:
32742         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
32743         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
32744         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
32745         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
32746         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
32747         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
32748         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
32749         * modules/unictype/digit, modules/unictype/joininggroup-all:
32750         * modules/unictype/joininggroup-byname:
32751         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
32752         * modules/unictype/joiningtype-all:
32753         * modules/unictype/joiningtype-byname:
32754         * modules/unictype/joiningtype-longname:
32755         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
32756         * modules/unictype/mirror, modules/unictype/numeric:
32757         * modules/unictype/property-all, modules/unictype/property-alphabetic:
32758         * modules/unictype/property-ascii-hex-digit:
32759         * modules/unictype/property-bidi-arabic-digit:
32760         * modules/unictype/property-bidi-arabic-right-to-left:
32761         * modules/unictype/property-bidi-block-separator:
32762         * modules/unictype/property-bidi-boundary-neutral:
32763         * modules/unictype/property-bidi-common-separator:
32764         * modules/unictype/property-bidi-control:
32765         * modules/unictype/property-bidi-embedding-or-override:
32766         * modules/unictype/property-bidi-eur-num-separator:
32767         * modules/unictype/property-bidi-eur-num-terminator:
32768         * modules/unictype/property-bidi-european-digit:
32769         * modules/unictype/property-bidi-hebrew-right-to-left:
32770         * modules/unictype/property-bidi-left-to-right:
32771         * modules/unictype/property-bidi-non-spacing-mark:
32772         * modules/unictype/property-bidi-other-neutral:
32773         * modules/unictype/property-bidi-pdf:
32774         * modules/unictype/property-bidi-segment-separator:
32775         * modules/unictype/property-bidi-whitespace:
32776         * modules/unictype/property-byname:
32777         * modules/unictype/property-case-ignorable:
32778         * modules/unictype/property-cased:
32779         * modules/unictype/property-changes-when-casefolded:
32780         * modules/unictype/property-changes-when-casemapped:
32781         * modules/unictype/property-changes-when-lowercased:
32782         * modules/unictype/property-changes-when-titlecased:
32783         * modules/unictype/property-changes-when-uppercased:
32784         * modules/unictype/property-combining:
32785         * modules/unictype/property-composite:
32786         * modules/unictype/property-currency-symbol:
32787         * modules/unictype/property-dash:
32788         * modules/unictype/property-decimal-digit:
32789         * modules/unictype/property-default-ignorable-code-point:
32790         * modules/unictype/property-deprecated:
32791         * modules/unictype/property-diacritic:
32792         * modules/unictype/property-extender:
32793         * modules/unictype/property-format-control:
32794         * modules/unictype/property-grapheme-base:
32795         * modules/unictype/property-grapheme-extend:
32796         * modules/unictype/property-grapheme-link:
32797         * modules/unictype/property-hex-digit:
32798         * modules/unictype/property-hyphen:
32799         * modules/unictype/property-id-continue:
32800         * modules/unictype/property-id-start:
32801         * modules/unictype/property-ideographic:
32802         * modules/unictype/property-ids-binary-operator:
32803         * modules/unictype/property-ids-trinary-operator:
32804         * modules/unictype/property-ignorable-control:
32805         * modules/unictype/property-iso-control:
32806         * modules/unictype/property-join-control:
32807         * modules/unictype/property-left-of-pair:
32808         * modules/unictype/property-line-separator:
32809         * modules/unictype/property-logical-order-exception:
32810         * modules/unictype/property-lowercase, modules/unictype/property-math:
32811         * modules/unictype/property-non-break:
32812         * modules/unictype/property-not-a-character:
32813         * modules/unictype/property-numeric:
32814         * modules/unictype/property-other-alphabetic:
32815         * modules/unictype/property-other-default-ignorable-code-point:
32816         * modules/unictype/property-other-grapheme-extend:
32817         * modules/unictype/property-other-id-continue:
32818         * modules/unictype/property-other-id-start:
32819         * modules/unictype/property-other-lowercase:
32820         * modules/unictype/property-other-math:
32821         * modules/unictype/property-other-uppercase:
32822         * modules/unictype/property-paired-punctuation:
32823         * modules/unictype/property-paragraph-separator:
32824         * modules/unictype/property-pattern-syntax:
32825         * modules/unictype/property-pattern-white-space:
32826         * modules/unictype/property-private-use:
32827         * modules/unictype/property-punctuation:
32828         * modules/unictype/property-quotation-mark:
32829         * modules/unictype/property-radical:
32830         * modules/unictype/property-sentence-terminal:
32831         * modules/unictype/property-soft-dotted:
32832         * modules/unictype/property-space:
32833         * modules/unictype/property-terminal-punctuation:
32834         * modules/unictype/property-test, modules/unictype/property-titlecase:
32835         * modules/unictype/property-unassigned-code-value:
32836         * modules/unictype/property-unified-ideograph:
32837         * modules/unictype/property-uppercase:
32838         * modules/unictype/property-variation-selector:
32839         * modules/unictype/property-white-space:
32840         * modules/unictype/property-xid-continue:
32841         * modules/unictype/property-xid-start:
32842         * modules/unictype/property-zero-width, modules/unictype/scripts:
32843         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
32844         * modules/unictype/syntax-c-whitespace:
32845         * modules/unictype/syntax-java-ident:
32846         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
32847         * modules/unigbrk/u16-grapheme-breaks:
32848         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
32849         * modules/unigbrk/u32-grapheme-breaks:
32850         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
32851         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
32852         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
32853         * modules/unigbrk/uc-is-grapheme-break:
32854         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
32855         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
32856         * modules/unilbrk/u16-width-linebreaks:
32857         * modules/unilbrk/u32-possible-linebreaks:
32858         * modules/unilbrk/u32-width-linebreaks:
32859         * modules/unilbrk/u8-possible-linebreaks:
32860         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
32861         * modules/unilbrk/ulc-possible-linebreaks:
32862         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
32863         * modules/uniname/uniname, modules/uninorm/base:
32864         * modules/uninorm/canonical-decomposition:
32865         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
32866         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
32867         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
32868         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
32869         * modules/uninorm/nfkc, modules/uninorm/nfkd:
32870         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
32871         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
32872         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
32873         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
32874         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
32875         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
32876         * modules/unistdio/base, modules/unistdio/u-printf-args:
32877         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
32878         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
32879         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
32880         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
32881         * modules/unistdio/u16-u16-sprintf:
32882         * modules/unistdio/u16-u16-vasnprintf:
32883         * modules/unistdio/u16-u16-vasprintf:
32884         * modules/unistdio/u16-u16-vsnprintf:
32885         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
32886         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
32887         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
32888         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
32889         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
32890         * modules/unistdio/u32-u32-asnprintf:
32891         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
32892         * modules/unistdio/u32-u32-sprintf:
32893         * modules/unistdio/u32-u32-vasnprintf:
32894         * modules/unistdio/u32-u32-vasprintf:
32895         * modules/unistdio/u32-u32-vsnprintf:
32896         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
32897         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
32898         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
32899         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
32900         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
32901         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
32902         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
32903         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
32904         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
32905         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
32906         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
32907         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
32908         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
32909         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
32910         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
32911         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
32912         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
32913         * modules/unistr/u16-check, modules/unistr/u16-chr:
32914         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
32915         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
32916         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
32917         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
32918         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
32919         * modules/unistr/u16-move, modules/unistr/u16-next:
32920         * modules/unistr/u16-prev, modules/unistr/u16-set:
32921         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
32922         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
32923         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
32924         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
32925         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
32926         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
32927         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
32928         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
32929         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
32930         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
32931         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
32932         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
32933         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
32934         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
32935         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
32936         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
32937         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
32938         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
32939         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
32940         * modules/unistr/u32-next, modules/unistr/u32-prev:
32941         * modules/unistr/u32-set, modules/unistr/u32-startswith:
32942         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
32943         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
32944         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
32945         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
32946         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
32947         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
32948         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
32949         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
32950         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
32951         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
32952         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
32953         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
32954         * modules/unistr/u8-check, modules/unistr/u8-chr:
32955         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
32956         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
32957         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
32958         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
32959         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
32960         * modules/unistr/u8-next, modules/unistr/u8-prev:
32961         * modules/unistr/u8-set, modules/unistr/u8-startswith:
32962         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
32963         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
32964         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
32965         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
32966         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
32967         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
32968         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
32969         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
32970         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
32971         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
32972         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
32973         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
32974         * modules/uniwbrk/base, modules/uniwbrk/table:
32975         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
32976         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
32977         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
32978         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
32979         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
32980         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
32981         * modules/uniwidth/width, modules/utf16-ucs4:
32982         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
32983         * modules/utf8-ucs4-unsafe:
32984         Change maintainer from Bruno Haible to Daiki Ueno.
32985         This is my guess at the libunistring modules; please feel free
32986         to fix if I guessed incorrectly.
32987         * modules/accept4, modules/acl, modules/acos, modules/acosf:
32988         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
32989         * modules/areadlink, modules/array-list, modules/array-mergesort:
32990         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
32991         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
32992         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
32993         * modules/binary-io, modules/bison-i18n, modules/btowc:
32994         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
32995         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
32996         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
32997         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
32998         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
32999         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
33000         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
33001         * modules/closedir, modules/concat-filename, modules/copy-file:
33002         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
33003         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
33004         * modules/csharpcomp-script, modules/csharpexec:
33005         * modules/csharpexec-script, modules/ctype, modules/diffseq:
33006         * modules/dprintf, modules/dprintf-posix, modules/dup:
33007         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
33008         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
33009         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
33010         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
33011         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
33012         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
33013         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
33014         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
33015         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
33016         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
33017         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
33018         * modules/findprog, modules/findprog-lgpl, modules/floor:
33019         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
33020         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
33021         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
33022         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
33023         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
33024         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
33025         * modules/freadable, modules/freadahead, modules/freadptr:
33026         * modules/freadseek, modules/freopen, modules/frexp:
33027         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
33028         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
33029         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
33030         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
33031         * modules/ftello, modules/full-read, modules/full-write:
33032         * modules/fwritable, modules/fwriteerror, modules/gcd:
33033         * modules/get-rusage-as, modules/get-rusage-data:
33034         * modules/getdtablesize, modules/getrusage, modules/gettext:
33035         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
33036         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
33037         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
33038         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
33039         * modules/iconv, modules/iconv-h, modules/iconv_open:
33040         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
33041         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
33042         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
33043         * modules/integer_length_ll, modules/ioctl, modules/isatty:
33044         * modules/isblank, modules/isnand, modules/isnand-nolibm:
33045         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
33046         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
33047         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
33048         * modules/javaexec, modules/javaexec-script, modules/javaversion:
33049         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
33050         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
33051         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
33052         * modules/lib-symbol-visibility, modules/libsigsegv:
33053         * modules/linked-list, modules/linkedhash-list, modules/list:
33054         * modules/localcharset, modules/locale, modules/localeconv:
33055         * modules/localename, modules/lock, modules/log, modules/log-ieee:
33056         * modules/log10, modules/log10-ieee, modules/log10f:
33057         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
33058         * modules/log1p, modules/log1p-ieee, modules/log1pf:
33059         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
33060         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
33061         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
33062         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
33063         * modules/logf, modules/logf-ieee, modules/login_tty:
33064         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
33065         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
33066         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
33067         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
33068         * modules/mbscspn, modules/mbsinit, modules/mbslen:
33069         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
33070         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
33071         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
33072         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
33073         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
33074         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
33075         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
33076         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
33077         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
33078         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
33079         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
33080         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
33081         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
33082         * modules/posix_spawn, modules/posix_spawn-internal:
33083         * modules/posix_spawn_file_actions_addclose:
33084         * modules/posix_spawn_file_actions_adddup2:
33085         * modules/posix_spawn_file_actions_addopen:
33086         * modules/posix_spawn_file_actions_destroy:
33087         * modules/posix_spawn_file_actions_init:
33088         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
33089         * modules/posix_spawnattr_getpgroup:
33090         * modules/posix_spawnattr_getschedparam:
33091         * modules/posix_spawnattr_getschedpolicy:
33092         * modules/posix_spawnattr_getsigdefault:
33093         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
33094         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
33095         * modules/posix_spawnattr_setschedparam:
33096         * modules/posix_spawnattr_setschedpolicy:
33097         * modules/posix_spawnattr_setsigdefault:
33098         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
33099         * modules/pow, modules/powf, modules/printf-frexp:
33100         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
33101         * modules/progname, modules/propername, modules/pselect:
33102         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
33103         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
33104         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
33105         * modules/read, modules/readdir, modules/readlink:
33106         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
33107         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
33108         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
33109         * modules/relocatable-script, modules/remainder:
33110         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
33111         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
33112         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
33113         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
33114         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
33115         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
33116         * modules/setlocale, modules/sh-quote, modules/shutdown:
33117         * modules/signal, modules/signbit, modules/sigpipe:
33118         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
33119         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
33120         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
33121         * modules/snippet/link-warning, modules/snippet/unused-parameter:
33122         * modules/snprintf, modules/snprintf-posix, modules/spawn:
33123         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
33124         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
33125         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
33126         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
33127         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
33128         * modules/streq, modules/strerror_r-posix, modules/striconv:
33129         * modules/striconveh, modules/striconveha, modules/strncat:
33130         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
33131         * modules/sublist, modules/sys_resource, modules/sys_utsname:
33132         * modules/sys_wait, modules/system-posix, modules/system-quote:
33133         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
33134         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
33135         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
33136         * modules/truncf, modules/truncf-ieee, modules/truncl:
33137         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
33138         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
33139         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
33140         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
33141         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
33142         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
33143         * modules/wait-process, modules/waitpid, modules/wcpcpy:
33144         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
33145         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
33146         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
33147         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
33148         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
33149         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
33150         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
33151         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
33152         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
33153         * modules/write, modules/xconcat-filename, modules/xlist:
33154         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
33155         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
33156         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
33157         * modules/y0, modules/y1, modules/yn:
33158         Remove Bruno Haible as maintainer; if he's the sole maintainer,
33159         change the maintainer to 'all'.  Let's hope someone volunteers.
33161 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
33163         mktime: merge #if/#ifdef usage from glibc
33164         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
33165         as that works with both Glibc's and Gnulib's style.
33166         See thread starting at Siddhesh Poyarekar's bug report at:
33167         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
33169 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
33171         git-version-gen: improve option descriptions
33172         * build-aux/git-version-gen: Mention that --prefix and --fallback
33173         have a mandatory argument.
33175 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
33177         regex: fix memory leak in compiler
33178         Fix by Andreas Schwab in:
33179         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
33180         * lib/regcomp.c (parse_expression): Deallocate partially
33181         constructed tree before returning error.
33183         regex: merge patch from libc
33184         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
33185         Combine __USE_BSD and __USE_SVID into __USE_MISC.
33186         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
33188 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
33190         acl: port to gcc -Wredundant-decls
33191         From a request by Dmitry Antipov in:
33192         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
33193         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
33194         "#ifndef _GL_ACL_H".
33196 2014-06-11  Bruce Korb  <bkorb@gnu.org>
33197         Jim Meyering  <meyering@fb.com>
33199         parse-duration: eliminate 68-year duration limit
33200         * lib/parse-duration.c: Include "intprops.h".
33201         (TIME_MAX): Rename to MAX_DURATION and define to
33202         TYPE_MAXIMUM(time_t).
33203         * modules/parse-duration (Depends-on): Add intprops.
33204         Reported by Jonas 'Sortie' Termansen.
33206 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
33208         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
33209         * modules/pthread (Depends-on): Add 'extensions', as it defines
33210         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
33211         (configure.ac-early): New section.
33212         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
33213         it is no longer needed.
33215 2014-06-14  Pádraig Brady  <P@draigBrady.com>
33217         pthread: define thread-safe macros on some platforms
33218         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
33219         for thread-safe operation on some platforms.
33221 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
33223         regex: don't be multithreaded if USE_UNLOCKED_IO.
33224         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
33225         * lib/regex_internal.h: Do not use multithreaded version if
33226         USE_UNLOCKED_IO is defined.  This is a hack, but it works
33227         around a porting bug with coreutils 8.22 on AIX 7.1.
33229 2014-06-11  Daiki Ueno  <ueno@gnu.org>
33231         gettext: update macros to version 0.19
33232         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
33233         depend on gl_EXTERN_INLINE and drop support for older Bison
33234         versions.
33236 2014-06-10  Pádraig Brady  <P@draigBrady.com>
33238         select,poll: fix console handle check on windows 8
33239         lib/poll.c (IsConsoleHandle): Change from testing the lower
33240         2 bits of the handle to the more expensive but accurate syscall.
33241         lib/select.c: Likewise.
33243 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
33245         select: fix waiting on anonymous pipes on MS-Windows
33246         * lib/select.c (rpl_select): Fall back to polling when select()
33247         indicates there is nothing to check, while due to the timeout not
33248         expiring, activity is indicated on one of the handles.
33249         Also clear the TIMEOUT argument if the timer does expire.
33251 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
33253         times: fix to return non constant value on MS-Windows
33254         * lib/times.c (times): Don't use the process creation time,
33255         rather clock() which on windows returns the number of
33256         clock ticks since the process started.
33258 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
33260         isatty: fix to work on windows 8
33261         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
33262         2 bits of the handle to the more expensive but accurate syscall.
33264 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
33266         maint: fix typo in fdl.texi
33267         * doc/fdl.texi: Fix typo (missing '@').
33268         Somehow this was in fdl.texi but not fdl-1.3.texi.
33270 2014-06-06  Ben Walton  <bdwalton@gmail.com>
33272         mountlist: avoid hasmntopt const type warning on solaris
33273         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
33274         with char * instead of const char *.  Passing the constant string
33275         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
33276         to avoid the warning.
33278 2014-06-04  Eric Blake  <eblake@redhat.com>
33280         maintainer-makefile: delete obsolete code
33281         * top/maint.mk (build_aux): Drop old code, as threatened.
33283         maintainer-makefile: avoid spurious error messages
33284         * top/maint.mk (syntax-check): Guard definition and use of
33285         $(shell) by whether Makefile is present.
33287 2014-06-03  Ben Walton  <bdwalton@gmail.com>
33289         rename: avoid unused-but-set-variable compiler warning
33290         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
33291         it is possible that dst_exists may be set but not used.  Mark it with
33292         the unused attribute to avoid compiler warnings.
33294 2014-06-02  Ben Walton  <bdwalton@gmail.com>
33296         rename: mark a label as potentially unused
33297         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
33298         by marking the out label as potentially unused.
33299         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
33301 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
33303         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
33304         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
33306 2014-06-02  Ben Walton  <bdwalton@gmail.com>
33308         acl: apply pure attribute to two functions
33309         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
33310         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
33312 2014-06-01  Pádraig Brady  <P@draigBrady.com>
33314         gnulib-common.m4: add _GL_UNUSED_LABEL
33315         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
33316         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
33318 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
33320         dup2, fcntl, fcntl-h: port to AIX 7.1
33321         This fixes some porting problems discovered when testing the latest
33322         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
33323         in grep but it could be important for other applications.
33324         * doc/posix-functions/dup2.texi:
33325         * doc/posix-functions/fcntl.texi:
33326         * doc/posix-headers/fcntl.texi:
33327         Document AIX bugs.
33328         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
33329         Define to 0 if outside 'int' range.
33330         * m4/dup2.m4 (gl_FUNC_DUP2):
33331         * m4/fcntl.m4 (gl_FUNC_FCNTL):
33332         Check for getdtablesize.  If it's available, test a value just
33333         outside its range instead of testing 1000000.  When cross-compiling,
33334         guess that AIX will fail this improved test.
33336 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
33338         printf, config.rpath: Port to FreeBSD 10.
33339         Problem reported by Tijl Coosemans in:
33340         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
33341         * build-aux/config.rpath (hardcode_libdir_flag_spec)
33342         (hardcode_direct): Simplify FreeBSD configuration.
33343         (library_names_spec): Don't mishandle FreeBSD 10+.
33344         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
33345         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
33346         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
33347         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
33348         Don't mishandle FreeBSD 10+ when cross-compiling.
33350         ftoastr: work around compiler bug in IBM xlc 12.1
33351         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
33352         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
33353         around a compiler bug in IBM xlc 12.1.0.0: it complains
33354         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
33355         _GL_FLT_PREC_BOUND.'
33357 2014-05-30  Kieran Colford  <colfordk@gmail.com>
33359         valgrind-tests: fixed misleading help message
33360         * m4/valgrind-tests.m4: The help message generated by configure
33361         implied that valgrind was disabled by default, which it wasn't.
33362         Adjusted the help message using s/enable/disable/ to clarify.
33364 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
33366         isfinite, isinf, isnan tests: fix for little-endian PowerPC
33367         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
33368         first double of a PowerPC "double double" pair.
33369         * tests/test-isinf.c (test_isinfl): Likewise.
33370         * tests/test-isnan.c (test_long_double): Likewise.
33371         * tests/test-isnanl.h (main): Likewise.
33372         * tests/test-signbit.c (test_signbitl): Likewise.
33374 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
33376         exclude-tests: port to AIX 7.1
33377         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
33378         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
33379         the regex code uses locks.
33381 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
33383         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
33384         Without this fix, Emacs would sometimes call sigprocmask instead
33385         of pthread_sigmask, which is a no-no in multithreaded applications.
33386         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
33387         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
33388         Suppress check for pthread_sigmask working without -lpthread if
33389         the application always links with -lpthread.  Do not link with
33390         $LIBMULTITHREAD if gl_THREADLIB is not defined.
33391         * m4/timer_time.m4 (gl_TIMER_TIME):
33392         Require gl_THREADLIB only if it is defined.  Do not append
33393         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
33395 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
33397         gnulib-tool: wget translations using --no-verbose rather than --quiet
33398         This allows the user to see error messages if any (--quiet hides them)
33399         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
33401 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
33403         gnulib-tool: adjust translation wget to avoid a https redirection
33404         Context: http://translationproject.org/latest/gnulib redirects to
33405            https://translationproject.org/latest/gnulib/
33406         Rationale: if the user falls back to wget, she doesn't have rsync and
33407         is probably in a minimal build environment, where packages such as
33408         'ca-certificates' are missing as well, resulting in a failed (and
33409         difficult to detect since ignored) translation initial fetch.
33410         Consequently let's avoid https if possible, and add the missing
33411         trailing slash.  This also avoids an unnecessary 302 redirection.
33412         * gnulib-tool: Add trailing slash to gnulib URL.
33414 2014-05-22  Pádraig Brady  <P@draigBrady.com>
33416         getlogin_r-tests: check return value rather than errno
33417         * tests/test-getlogin_r.c (main): As per POSIX we should be
33418         verifying the return value from getlogin_r() rather than errno.
33420 2014-05-22  Pádraig Brady  <P@draigBrady.com>
33422         getlogin_r-tests: fix various issues in recent change
33423         * tests/test-getlogin_r.c: Include required headers that were
33424         missed in recent commit eec20b4e.
33425         Also consistently check the errno rather than the return value from
33426         getlogin_r as POSIX only specifies that non zero is returned on error.
33427         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
33429 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
33431         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
33432         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
33433         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
33434         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
33435         * lib/spawn-pipe.c:
33436         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
33437         and then 'int open64(const char *, int, ...);', which means the
33438         declaration for 'open' gets lost if we later '#undef open'.
33439         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
33440         where the compilation reported the non-fatal error "In function
33441         'openat_proc_name' ... warning: implicit declaration of function
33442         'open'".  In this case the error is relatively harmless, but in
33443         other cases it might not be so minor.
33445 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
33447         xalloc: don't potentially generate invalid code for xmemdup calls
33448         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
33449         this function can initialize the newly-allocated storage with new
33450         pointers, which means this function is not malloc-like.  See:
33451         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
33453 2014-05-19  Pádraig Brady  <P@draigBrady.com>
33455         getlogin_r-tests: avoid false failure under sudo/ssh etc.
33456         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
33457         changes from commit 97249cf29 to not depend on environment variables.
33459 2014-05-18  Pádraig Brady  <P@draigBrady.com>
33461         getlogin-tests: avoid false failure under cron
33462         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
33463         since that's not what's under test.  Centos 6 was seen to return
33464         EINVAL for ttyname() when run from cron.
33466 2014-05-16  Jim Meyering  <meyering@fb.com>
33468         mbrtowc.m4: fix a comment typo
33469         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
33470         emitted documentation string.
33472 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
33474         mbrlen, mbrtowc: fix bug with empty input
33475         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
33476         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
33477         so this is mainly for documentation.
33478         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
33479         (gl_FUNC_MBRTOWC): Use it.
33480         * tests/test-mbrtowc.c (main): Test for the bug.
33482 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
33484         doc: document mbrtowc and mbrlen problem with empty input
33485         * doc/posix-functions/mbrlen.texi (mbrlen):
33486         * doc/posix-functions/mbrtowc.texi (mbrtowc):
33487         Document portability problem when the input string is empty.  See:
33488         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
33490         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
33491         Problem reported by Eli Zaretskii in:
33492         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
33493         * doc/posix-functions/execl.texi (execl):
33494         * doc/posix-functions/execle.texi (execle):
33495         * doc/posix-functions/execlp.texi (execlp):
33496         * doc/posix-functions/execv.texi (execv):
33497         * doc/posix-functions/execve.texi (execve):
33498         * doc/posix-functions/execvp.texi (execvp):
33499         Mention spawn+exit problem on non-Cygwin Windows platforms.
33501 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
33503         getlogin-tests: avoid false failure under sudo/ssh etc.
33504         * modules/getlogin-tests (configure.ac): Check for ttyname().
33505         * tests/test-getlogin.c (main): Don't depend on environment variables
33506         to correlate with getlogin(), since sudo and ssh etc. can tamper
33507         with the LOGNAME and USER env vars.  Instead lookup the name from
33508         the uid associated with the stdin tty.
33510 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
33512         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
33513         These were found when building the latest grep snapshot on IRIX 6.5.
33514         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
33515         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
33516         never used later.
33517         * lib/quotearg.c (quoting_options_from_style):
33518         * lib/xstrtol.c (__xstrtol):
33519         Use enum instead of 0, to pacify IRIX 6.5 cc.
33521 2014-04-18  Pádraig Brady  <P@draigBrady.com>
33523         gitlog-to-changelog: revert inclusion of git-log-fix file
33524         * build-aux/git-log-fix: Delete dummy file.
33525         * modules/gitlog-to-changelog: Don't reference (overwrite)
33526         the project specific git-log-fix file.
33528 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
33530         maint.mk: Relax the copyright check to cater for non FSF projects
33531         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
33532         to not require the "Free" suffix after the copyright years.
33534 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
33536         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
33537         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
33538         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
33539         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
33540         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
33542 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
33544         exclude: port to strict C99
33545         Strict C does not allow converting a function pointer to void *
33546         and vice versa.  Pass a pointer to a function pointer instead.
33547         * lib/exclude.c (add_exclude_file):
33548         Pass the address of the function pointer.
33549         (call_addfn): And deference the address here, to match.
33551 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
33553         regex: do not depend on malloc-gnu
33554         * modules/regex (Depends-on): Remove malloc-gnu.
33555         It's no longer needed, because of the 2012-12-29 patch
33556         "regex: port to hosts where malloc (0) == NULL".
33557         Reported by Nathan Kennedy in:
33558         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
33560 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
33562         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
33563         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
33564         * doc/posix-functions/expl.texi: Mention the workaround.
33566 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
33568         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
33569         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
33570         size to be zero even when the pointer is nonnull.  This
33571         accommodates the use case where P is malloc (0) and *PN is 0 on a
33572         host where malloc (0) yields nonnull.
33574 2014-04-09  Eric Blake  <eblake@redhat.com>
33576         fts: avoid unnecessary strlen calls
33577         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
33579 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
33581         fts: avoid unnecessary strlen calls
33582         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
33583         when that can be faster than strlen.
33585 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
33587         fts: avoid unnecessary strlen calls
33588         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
33589         (fts_build): Store the length of the dp->d_name entry in a local variable
33590         instead of calling strlen() several times via the above, removed macro.
33591         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
33592         run by ~4%, yet this reduces the execution time by about a third if run
33593         via "ltrace -c rm -rf some-dir".
33595 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
33597         obstack: Remove ancient NeXTSTEP gcc support conditional
33598         This change will ease merging with glibc.  The "#if ... __NEXT__"
33599         causes a warning with -Wundef which glibc now enables by default.
33600         Problem reported by Will Newton in
33601         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
33602         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
33603         so go with that.
33604         * lib/obstack.h (__extension__):
33606 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
33608         obstack: merge with glibc changes
33609         * lib/obstack.c, lib/obstack.h: Merge from glibc.
33610         This is mostly indenting and commentary changes.
33611         Instances of 'register' have been removed.
33613 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
33615         strftime: wrap macros in "do {...} while(0)"
33616         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
33617         this macro in "do {...} while(0)" to prevent false use as a
33618         single statement, e.g., in an un-braced "{}" else-block.
33619         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
33620         (strftime_case_): Remove 'else' after 'goto' - which was the
33621         only non-fatal, un-braced use of one of the above macros.
33622         Spotted by coverity (NESTING_INDENT_MISMATCH).
33624 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
33626         modechange: avoid memory leaks for invalid octal modes
33627         * lib/modechange.c (mode_compile): During the parsing of
33628         notations like +40, free the 'mc' buffer for invalid mode
33629         strings like +17777 (greater than the maximum octal mode),
33630         =18 (bad octal mode characters) or u=1 ('affected' with
33631         octal modes).
33632         Reproducer, e.g.:
33633             $ valgrind --leak-check=full chmod +17777 file
33634         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
33635         add notations +40, 00440, etc.".
33636         Spotted by coverity (RESOURCE_LEAK).
33638 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
33640         gitlog-to-changelog: include a dummy git-log-fix file
33641         Problem reported by Nathan Stratton Treadway in:
33642         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
33643         * build-aux/git-log-fix: New file.
33645 2014-03-13  Jim Meyering  <meyering@fb.com>
33647         gitlog-to-changelog: also include the file, git-log-fix
33648         * modules/gitlog-to-changelog (Files): Add git-log-fix.
33649         Reported by Assaf Gordon.
33651 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
33653         regex: port to OS X 10.8.5 en_US.UTF-8 locale
33654         This fixes a bug when ignoring case and when comparing the
33655         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
33656         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
33657         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
33658         titlecase letter is neither lowercase nor uppercase, but
33659         uppercasing the titlecase letter (via towupper) yields the
33660         uppercase letter, so the two letters should match when ignoring case.
33661         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
33662         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
33663         Don't test whether a character is lowercase before uppercasing it.
33665 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
33667         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
33668         This is basically one of the options Bruno Haible proposed in:
33669         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
33670         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
33671         * lib/stdint.in.h: Use it.
33672         * modules/stdint (Depends-on): Add sys_types.
33674 2014-02-26  Pádraig Brady  <P@draigBrady.com>
33676         parse-datetime: fix crash or infloop in TZ="" parsing
33677         * lib/parse-datetime.y (parse_datetime): Break out of the
33678         TZ="" parsing loop once the second significant " is found.
33679         Also skip over any subsequent whitespace to be consistent
33680         with the non TZ= case.
33681         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
33683 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
33685         savedir: new symbol for fast-read version
33686         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
33687         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
33688         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
33689         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
33691 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
33693         unistd: port readlink to Mac OS X 10.3.9
33694         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
33695         around self-include problem in Mac OS X 10.3.9 when combined with
33696         readlink module.  Problem reported by Klaus Zietler in
33697         <http://bugs.gnu.org/16825>.
33699 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
33701         diffseq: remove TOO_EXPENSIVE heuristic
33702         Problem with diffutils reported by Vincent Lefevre in
33703         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
33704         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
33705         Although appropriate for circa-1993 hardware, these days the heuristic
33706         seems to be more trouble than it's worth.
33707         * lib/diffseq.h: Modernize citations.
33708         (struct context): Remove member too_expensive.
33709         All uses changed.
33710         (struct partition): Remove members lo_minimal, hi_minimal.
33711         All uses changed.
33712         (diag, compareseq): Remove arg find_minimal.  All uses changed.
33713         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
33714         1993 to make 'diff' run faster (but not as well) on large inputs.
33715         These days, computers are fast enough that it's typically better
33716         to run slower but more accurately.
33717         * lib/fstrcmp.c: Remove duplicate comment.
33718         * lib/fstrcmp.c (strcmp_bounded):
33719         * lib/git-merge-changelog.c (compute_differences):
33720         Adjust to diffseq.h changes.
33721         * NEWS: Document the change.
33723         savedir: simplify by using stpcpy
33724         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
33725         (streamsavedir): Use stpcpy instead.
33726         * modules/savedir (Depends-on): Add stpcpy.
33728 2014-02-21  Pádraig Brady  <P@draigBrady.com>
33730         spawn: fix link error on uclibc
33731         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
33732         to incorporate -lrt if needed (on uclibc for example).
33733         * modules/posix_spawn: Reference the substituted LIB.
33735 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
33736         timer: fix uClibc detection of threading
33737         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
33738         enabled in uClibc.
33740 2014-02-21  Eric Blake  <eblake@redhat.com>
33742         maintainer-makefiles: provide AC_PROG_SED for older autoconf
33743         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
33745 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
33747         exclude: add support for posix regexps
33749         This commit adds support for POSIX extended regular expressions
33750         and fixes a long-standing memory leak (pattern buffer was never
33751         freed).  It also implements a new interface function to read
33752         exclude patterns from a FILE, which passes an additional parameter
33753         to its callback function, thereby allowing to preserve its state
33754         between invocations.
33756         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
33757         (pattern_buffer): New struct.
33758         (exclude): New member patbuf.
33759         (exclude_add_pattern_buffer): New function.
33760         (free_exclude_segment): Free regexps.
33761         (free_exclude): Free allocated pattern buffers.
33762         (exclude_patopts): New function.
33763         (file_pattern_matches): Use exclude_patopts.
33764         (add_exclude): support regexps.
33765         (add_exclude_fp): New function.
33766         (add_exclude_file): Rewrite using add_exclude_fp.
33767         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
33768         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
33769         (add_exclude_fp)
33770         (add_exclude_file): Rewrite using add_exclude_fp.
33771         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
33772         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
33773         (add_exclude_fp)
33774         (exclude_add_pattern_buffer): New prototypes.
33775         * modules/exclude: Depends on regex and filename.
33777 2014-02-20  Eric Blake  <eblake@redhat.com>
33779         maintainer-makefiles: use $(SED) for syntax check
33780         * modules/maintainer-makefile (configure.ac): Check for sane sed.
33781         * top/maint.mk: Change sed to $(SED).
33783 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
33784             Paul Eggert  <eggert@cs.ucla.edu>
33786         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
33787         Patch based on an idea by Dick Streefland in
33788         <https://savannah.gnu.org/patch/?7892>.
33789         * NEWS: Document this.
33790         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
33791         (direntry_t, comparison_function): New types.
33792         (direntry_cmp_name): New function.
33793         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
33794         (streamsavedir, savedir): New arg OPTION.
33795         (streamsavedir): Simplify memory allocation.
33796         (fdsavedir): Remove.
33797         * lib/savedir.h (enum savedir_option): New type.
33798         (streamsavedir, savedir): New arg OPTION.
33799         (fdsavedir): Remove.
33801 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
33803         file-type: add support for doors and other less-common file types
33804         Problem with S_ISDOOR reported by Rich Burridge.
33805         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
33806         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
33807         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
33809 2014-01-23  Eric Blake  <eblake@redhat.com>
33811         pthread: work around winpthread header pollution on mingw
33812         * lib/time.in.h: Move pthread workarounds...
33813         * lib/pthread.in.h: ...here.
33814         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
33815         detect macro pollution on mingw.
33816         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
33818 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
33820         qacl: check for fchmod
33821         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
33822         and qset-acl.c both use HAVE_FCHMOD.
33824 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
33826         fdopen-tests: port to Tru64
33827         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
33828         descriptor that is not open, as POSIX doesn't specify the
33829         resulting behavior and the test does not work on Tru64.
33830         Problem reported by Steven M. Schweda in:
33831         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
33833         stdalign: port to HP-UX compilers
33834         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
33835         if __HP_cc or __HP_aCC are nonzero.
33837 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
33839         strtoimax: port to platforms lacking 'long long'
33840         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
33841         check whether strtoll is declared, which causes the C file to
33842         wrongly report an error.  Problem reported by Steven M. Schweda in:
33843         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
33844         * lib/strtoimax.c (strtoull):
33845         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
33846         (strtoll): Declare only if HAVE_LONG_LONG_INT.
33848 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
33850         relocatable-perl: fix texi syntax
33851         * doc/relocatable-maint.texi: Escape braces.
33853 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
33855         relocatable-perl: like relocatable-script, but for Perl scripts
33856         * build-aux/relocatable.pl.in: Add.
33857         * doc/relocatable-maint.texi: Add documentation.
33858         * modules/relocatable-perl: Add.
33860 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
33862         tests: fix export bug in previous patch
33863         Problem reported by Jim Meyering.
33864         * tests/init.sh (re_shell): New var, which is exported instead of
33865         re_shell_.
33867         tests: simplify porting to Solaris 10 /bin/sh
33868         Some test cases in 'grep' need a shell that groks '$(';
33869         export re_shell_ for their benefit.  Problem reported for 'grep'
33870         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
33871         * tests/init.sh (re_shell_): Export if it's used.
33873 2014-01-06  Eric Blake  <eblake@redhat.com>
33875         md5, sha1, sha256, sha512: support older autoconf
33876         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
33877         for autoconf < 2.63b.
33879         include_next: port to autoconf 2.63
33880         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
33882 2014-01-04  Jim Meyering  <meyering@fb.com>
33884         maint: add a gnulib-local rule to keep non-ascii out of .texi files
33885         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
33886         so that "make sc_maint" will ding anyone who puts non-ascii
33887         in any of gnulib's .texi files.
33889 2014-01-03  Jim Meyering  <meyering@fb.com>
33891         freadable, fwritable, fwriting: declare with the "pure" attribute
33892         * lib/freadable.h (freadable): Declare with the "pure" attribute.
33893         * lib/fwritable.h (fwritable): Likewise.
33894         * lib/fwriting.h (fwriting): Likewise.
33895         Suggested by Bruno Haible.
33897         maint.mk: adapt openat.h-include-without-use test
33898         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
33899         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
33900         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
33901         With this change, running "make sc_maint" in gnulib's top-level
33902         directory now passes for me.
33904 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
33906         doc: use ASCII in .texi files where UTF-8 isn't needed
33907         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
33908         * doc/posix-functions/setkey.texi, doc/regex.texi:
33909         Use ASCII input, not UTF-8.
33911 2014-01-02  Jim Meyering  <meyering@fb.com>
33913         freading: declare with the "pure" attribute
33914         * lib/freading.h (freading): Declare with the "pure" attribute.
33916         manywarnings: remove -Wmudflap
33917         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
33918         it is no longer supported in gcc-4.9-to-be.
33920 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33922         relocatable-script: remove unused code
33923         Problem reported by Reuben Thomas in:
33924         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
33925         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
33927 2014-01-01  Jim Meyering  <meyering@fb.com>
33929         maint: fix public-submodule-commit to work with newer git
33930         * top/maint.mk (public-submodule-commit): Remove excess quoting.
33931         We were over-quoting the test arguments, and somewhere prior to
33932         version 1.8.5.2.229, git stopped removing those excess quotes,
33933         which made the test fail, since the unexpanded strings would
33934         always differ; using GIT_TRACE=1 confirmed that the git merge-base
33935         command wasn't even being run.
33937 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33939         doc: update main copyright year
33940         * doc/gnulib.texi: Update copyright date.
33942 2014-01-01  Eric Blake  <eblake@redhat.com>
33944         version-etc: new year
33945         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
33946         * all files: run 'make update-copyright'
33948 2013-12-24  Eric Blake  <eblake@redhat.com>
33950         passfd: give nicer error for recvfd at eof
33951         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
33952         * tests/test-passfd.c (main): Enhance test to cover this.
33954 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
33956         gettimeofday: port recent C++ fix to Emacs
33957         Without this further patch, Emacs won't build due to
33958         the portcheck failing.  Also, this simplifies the patch a bit.
33959         * lib/time.in.h (localtime, gmtime): Don't replace unless
33960         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
33961         * lib/time.in.h (localtime, gmtime):
33962         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
33963         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
33964         * modules/time (time.h):
33965         Don't worry about the possibility of localtime and gmtime
33966         being absent; they're present in all C libraries we know about.
33967         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
33968         Don't assume sys_time is present and has been initialized.
33969         Instead, use a hack that should work even if it hasn't been.
33970         Don't use a portcheck for gmtime or localtime; this supports
33971         the hack.
33972         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
33974 2013-12-17  John W. Eaton  <jwe@gnu.org>
33976         gettimeofday: fix C++ crosscompilation
33978         Never replace gmtime and localtime by macros when compiling with
33979         C++, this prevents <ctime> from being included.
33981         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
33982         define gmtime and localtime as preprocessor macros.  Instead
33983         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
33984         REPLACE_LOCALTIME substitutions.
33985         * lib/time.in.h: Declare gmtime and localtime when needed.
33986         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
33987         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
33988         * modules/time: Depend on gettimeofday, and substitute the above
33989         variables in time.h.
33991 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
33993         qacl: port to Windows better
33994         See Eli Zaretskii in
33995         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
33996         * lib/file-has-acl.c (acl_access_nontrivial):
33997         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
33998         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
34000 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
34002         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
34003         * lib/gl_openssl.h: Cast void pointers to a specific type.
34005 2013-12-07  Pádraig Brady  <P@draigBrady.com>
34007         open-tests: fix build failure with -Werror=old-style-declaration
34008         * tests/test-open.h: Reorder the inline to avoid the issue.
34010 2013-12-07  Pádraig Brady  <P@draigBrady.com>
34012         md5, sha1, sha256, sha512: fix link error with partial libcrypto
34013         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
34014         init time, so that if early checks find crypto routines,
34015         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
34016         avoiding link failures.
34018 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
34020         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
34021         This provides a new way to specify the default for
34022         gl_CRYPTO_CHECK, one that is reflected in the --help message.
34023         Emacs uses this, as well as the old way.
34024         This attempts to implement a suggestion by Pádraig Brady in
34025         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
34026         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
34027         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
34029         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
34030         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
34031         Add support for a new option, --with-openssl=auto, which causes
34032         the library to be used if available and silently ignored if not.
34033         Add support to allow configure.ac to specify its own
34034         default, by setting with_openssl_default before invoking gl_INIT.
34036 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
34038         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
34039         Problem reported by Daiki Ueno in:
34040         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
34041         * tests/test-open.h (__always_inline):
34042         New macro, if not already defined.
34043         (test_open): Use it.
34045 2013-12-04  Eric Blake  <eblake@redhat.com>
34047         include_next: minimize code duplication
34048         * modules/include_next (Depends-on): Add absolute-header.
34049         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
34050         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
34052 2013-12-04  Pádraig Brady  <P@draigBrady.com>
34054         getcwd: fix compile error in configure check
34055         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
34057 2013-12-04  Pádraig Brady  <P@draigBrady.com>
34059         regex: suppress core dumps from detection code
34060         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
34061         to suppress core dumps that may well occur on glibc systems.
34062         These core dumps might not be cleaned up automatically, or could
34063         trigger some system core dump handling logic.
34065 2013-12-03  Pádraig Brady  <P@draigBrady.com>
34067         md5, sha1, sha256, sha512: support mandating use of openssl
34068         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
34069         description, to list the now 3 separate options.  also don't
34070         mention the default=no, since this is implicit given the option
34071         is described as --with-openssl rather than --without-openssl.
34072         If projects change the default they're free to document that.
34073         with --with-openssl[=yes] we now error out when the specified
34074         hash algorithm is not available in libcrypto.
34076 2013-12-03  Ivailo  <xakepa10@gmail.com>
34078         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
34079         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
34080         -Wformat-nonliteral checks, as these edge cases are part of the test.
34082 2013-12-03  Eric Blake  <eblake@redhat.com>
34084         regex: avoid glibc deadlock during configure
34085         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
34086         glibc bug 15078 in turn triggers bug 16159.
34087         Reported by Michal Privoznik.
34089 2013-12-02  Pádraig Brady  <P@draigBrady.com>
34091         md5, sha1, sha256, sha512: use openssl routines if available.
34092         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
34093         routines will be used if available, requiring apps to link @LIB_CRYPTO@
34094         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
34095         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
34096         in the standard system location.
34097         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
34098         * m4/sha256.m4: Likewise with SHA256.
34099         * m4/sha512.m4: Likewise with SHA512.
34100         * m4/md5.m4: Likewise with MD5.
34101         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
34102         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
34103         * lib/sha256.h: Likewise with SHA256.
34104         * lib/sha512.h: Likewise with SHA512.
34105         * lib/md5.h: Likewise with MD5.
34106         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
34107         * lib/sha256.c: Likewise with SHA256.
34108         * lib/sha512.c: Likewise with SHA512.
34109         * lib/md5.c: Likewise with MD5.
34110         * modules/crypto/sha1 (Link:): Add the new optional lib.
34111         (Depends-on:): Add dependency on extern-inline.
34112         * modules/crypto/sha256: Likewise.
34113         * modules/crypto/sha512: Likewise.
34114         * modules/crypto/md5: Likewise.
34115         * modules/crypto/sha1-tests: Reference the lib here too.
34116         * modules/crypto/md5-tests: Likewise.
34117         * modules/crypto/gc-des-tests: Likewise.
34118         * modules/crypto/gc-hmac-md5-tests: Likewise.
34119         * modules/crypto/gc-hmac-sha1-tests: Likewise.
34120         * modules/crypto/gc-hmac-sha256-tests: Likewise.
34121         * modules/crypto/gc-hmac-sha512-tests: Likewise.
34122         * modules/crypto/gc-md5-tests: Likewise.
34123         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
34124         * modules/crypto/gc-sha1-tests: Likewise.
34125         * modules/crypto/gc-tests: Likewise.
34126         * modules/crypto/hmac-md5-tests: Likewise.
34127         * modules/crypto/hmac-sha1-tests: Likewise.
34128         * modules/crypto/hmac-sha256-tests: Likewise.
34129         * modules/crypto/hmac-sha512-tests: Likewise.
34131 2013-11-29  RV1971  <rv1971@web.de>
34133         base64: (trivial) fix compilation regression on some compilers
34134         * lib/base64.c: Don't return the void function,
34135         instead split to a separate return statement.
34137 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
34139         ignore-value: revert previous code change
34140         * lib/ignore-value.h (ignore_value): Use __extension__ and
34141         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
34142         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
34143         Change the comment to try to explain this better.
34145 2013-11-27  Pádraig Brady  <P@draigBrady.com>
34147         selinux-h: improve stub types and add more stub functions
34149         * lib/se-selinux.in.h: Change security_context_t to a typedef
34150         rather than a define, as it's a pointer type and so is better
34151         as a typedef to avoid issues declaring multiple variables
34152         with the comma operator.  Also add stub for string_to_security_class().
34153         * lib/se-context.in.h: Add stub functions for
34154         context_{type,range,role,user}_get().
34156 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
34158         ignore-value: prefer GCC version back through 2.0
34159         The code didn't match the comments, so I did a bit of software
34160         archaeology.  GCC 2.0 seems to support __extension__ and
34161         __typeof__, so fix both code and comments to use 2.0.
34162         * lib/ignore-value.h (ignore_value): Use __extension__ and
34163         __typeof__ for GCC 2.0 through 3.3, too.
34165 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
34167         pty: Activate the signature wrapper of forkpty.
34168         The intended preprocessor macro HAVE_FORKPTY is
34169         never defined, yet `lib/forkpty.c' depends on it.
34171         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
34172         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
34173         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
34175 2013-11-18  Jim Meyering  <meyering@fb.com>
34176         and Paul Eggert  <eggert@cs.ucla.edu>
34178         quotearg: don't attempt to store 1 << 31 into an "int"
34179         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
34180         gcc's new -fsanitize=undefined and running its tests triggered some
34181         new test failures due to undefined behavior, all with this diagnostic:
34182           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
34183             cannot be represented in type int
34184         Rather than shifting "1" left to form a mask, shift the bits right and
34185         simply use "1" as the mask.
34187 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
34189         error: depend on stdio
34190         Problem reported by Nikos Mavrogiannopoulos in
34191         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
34192         * modules/error (Depends-on): Add stdio.
34194 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
34196         * doc/relocatable-maint.texi (Supporting Relocation): Improve
34197         wording.
34198         Reported by Reuben Thomas <rrt@sc3d.org>.
34200 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
34202         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
34203         New function and macro, to work around _DARWIN_C_SOURCE problem.
34204         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
34206 2013-11-11  Pádraig Brady  <P@draigBrady.com>
34208         base64: provide a fast path for encoding well sized buffers
34209         Avoid conditionals in the base64 encoding loop,
34210         which was seen to give 60% better throughput.
34211         * lib/base64.c (base64_encode_fast): A new function to be called
34212         when we don't want to NUL terminate, and we have enough space
34213         in the output to encode the given input.
34214         (base64_encode): Call the _fast() version when appropriate.
34215         Also remove a redundant mask with 0x3F on the first encoded byte.
34217 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
34219         extern-inline: port better to OS X 10.9
34220         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
34221         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
34222         OS X 10.9, except for g++ where the bug is still present.
34223         See <http://trac.macports.org/ticket/41033>.
34225 2013-11-08  Eric Blake  <eblake@redhat.com>
34227         fpending: fix regression on DragonFly BSD
34228         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
34229         * lib/fpending.h (__fpending): Don't declare twice.
34230         Reported by GW in
34231         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
34233 2013-11-05  Jim Meyering  <meyering@fb.com>
34235         hash: relax license to LGPLv2+, for libguestfs
34236         * modules/hash (License): Change from GPL to LGPLv2+.
34238 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
34240         intprops: port to Oracle Studio c99
34241         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
34242         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
34244 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
34246         obstack: pacify HP C
34247         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
34248         warning "conversion from pointer to smaller integer" from HP
34249         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
34250         C89 or later nowadays, so cast to void instead of int.  Privately
34251         reported by H.Merijn Brand.  Also, change header to match glibc's,
34252         to make checking against glibc easier.
34254 2013-10-29  Jim Meyering  <meyering@fb.com>
34256         maint.mk: prefer gpgv2 over gpgv
34257         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
34258         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
34259         Reported by Gary Vaughan.
34261 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
34263         isnan: port to VAX
34264         Reported by John Klos for NetBSD-5/VAX in
34265         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
34266         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
34267         (FUNC): Use it.
34269 2013-10-28  Jim Meyering  <meyering@fb.com>
34271         gnulib-tool: protect against CDPATH
34272         * gnulib-tool: Many "cd" built-in functions print a directory name
34273         to stdout when CDPATH is set, e.g.,
34274           $ bash -c 'CDPATH=/; cd tmp'
34275           /tmp
34276         Unset it, when possible.  Prompted by a comment from Bruce Korb.
34278         maint.mk: restore functionality removed by recent change...
34279         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
34280         the context of a shallow-cloned gnulib repository: "git describe"
34281         would fail in such a directory.  However, that change made it so
34282         the reported gnulib revision no longer includes the version number
34283         or a commit count, even when run from a full clone.
34284         * top/maint.mk (gnulib-version): Use the full "git describe"
34285         output when possible, e.g., the form above, rather than the
34286         abbreviated, no-tag, no-commit-count string, and fall back to
34287         using a 10-byte hash, rather than the default minimal-length
34288         hash prefix, since while the minimal-length one may be fine today,
34289         it is likely not to be unique for very long.
34291 2013-10-26  Jim Meyering  <meyering@fb.com>
34293         maint.mk: fix "release" target to build _version
34294         This fixes a bug in README-release whereby following the outlined
34295         steps, one would publish a tarball whose programs would report
34296         --version output not consistent with the package version number.
34297         This bug caused grep-2.15 to produce a grep program whose
34298         --version option made it print 2.14.56-1e3d rather than 2.15.
34299         * top/maint.mk (release): Making this target build "_version"
34300         ensures that the new version number is reflected in configure.
34302 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
34304         install-reloc: Support multi-binary installation.
34305         * build-aux/install-reloc: Support installing multiple programs in
34306         one invocation, as done by Automake starting with commit
34307         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
34308         Haible <bruno@clisp.org>, archived at
34309         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
34310         Reported by Sylvain <beuc@gnu.org>.
34312 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
34314         selinux-h: Really build without selinux when library is missing.
34315         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
34316         continue without selinux, as already told in the warning message.
34318 2013-10-21  Jim Meyering  <meyering@fb.com>
34320         regex: also remove dependency on HAVE_WCSCOLL
34321         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
34323 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
34325         xfreopen: Fix typo. s/frepoen/freopen/
34326         * lib/xfreopen.c: Fix description.
34327         * modules/xfreopen: Likewise.
34329 2013-10-21  Jim Meyering  <meyering@fb.com>
34331         regex: don't depend on wcscoll
34332         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
34333         It is no longer used.
34335 2013-10-20  Jim Meyering  <meyering@fb.com>
34337         error: add the printf attribute to a static function
34338         * lib/error.c (error_tail): Add the printf attribute, to placate
34339         gcc's -Werror=suggest-attribute=format option.
34341 2013-09-30  Jim Meyering  <meyering@fb.com>
34343         fpending, obstack, strerror-override: use pure+const function attrs
34344         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
34345         * lib/obstack.c (_obstack_allocated_p): Likewise.
34346         * lib/obstack.h (_obstack_memory_used): Likewise.
34347         (_obstack_memory_used): Likewise.
34348         * lib/strerror-override.h (strerror_override): Declare with
34349         the "const" attribute.
34351 2013-10-18  Eric Blake  <eblake@redhat.com>
34353         extern-inline: make safe for -Wundef usage
34354         Reported by Vladimir 'phcoder' Serbinenko in
34355         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
34356         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
34358 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
34360         mkfifo-tests, etc.: allow HP-UX 11.11 bug
34361         Problem reported by Daniel Richard G. in
34362         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
34363         * doc/posix-functions/mkfifo.texi (mkfifo):
34364         * doc/posix-functions/mkfifoat.texi (mkfifoat):
34365         * doc/posix-functions/mknod.texi (mknod):
34366         * doc/posix-functions/mknodat.texi (mknodat):
34367         Document the HP-UX 11.11 bug.
34368         * tests/test-mkfifo.h (test_mkfifo):
34369         Allow the HP-UX 11.11 bug.
34371 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
34373         acl: allow cross-compilation to Gentoo
34374         Problem reported by Gabriel Marcano in
34375         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
34376         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
34377         test only whether it links.
34379 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
34381         mgetgroups: remove dependency on realloc-gnu
34382         The dependency violates the comment in realloc-gnu, which
34383         says that tests can't depend on realloc-gnu; some tests depend
34384         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
34385         Problem reported by Daniel Richard G. in
34386         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
34387         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
34388         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
34389         not realloc-gnu.
34391 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
34393         regex-tests: port to HP-UX 11.11
34394         Problem reported by Daniel Richard G. in
34395         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
34396         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
34398 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
34400         verify: document some 'assume' pitfalls
34401         * doc/verify.texi (Compile-time Assertions):
34402         Mention that 'assume (E)' can sometimes slow things down.
34403         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
34405 2013-10-10  Eric Blake  <eblake@redhat.com>
34407         strtoumax: fix typo in previous commit.
34408         * modules/strtoumax (Depends-on): Fix typo.
34409         * modules/strtoimax (Depends-on): Likewise.
34411 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
34413         strtoumax: port to Solaris 8
34414         This problem was introduced in the recent HP-UX patch.
34415         Reported by Tom G. Christensen in
34416         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
34417         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
34418         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
34420 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
34422         strtoimax, strtoumax: port to HP-UX 11.11
34423         Problem reported by Daniel Richard G. in
34424         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
34425         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
34426         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
34427         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
34428         REPLACE_STRTOUMAX.
34429         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
34430         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
34431         Replace the function if defined as a macro but not as a function.
34432         * modules/inttypes-incomplete (inttypes.h): Substitute
34433         REPLACE_STRTOUMAX.
34434         * modules/strtoumax (configure.ac): Replace strtoumax if
34435         REPLACE_STRTOUMAX.
34437 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
34439         strtoimax: port to HP-UX 11.11
34440         Problem reported by Daniel Richard G.
34441         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
34442         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
34443         they might clash with inttypes.h.
34445 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
34447         New module 'count-trailing-zeros'.
34448         * MODULES.html.sh: Mention it.
34449         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
34450         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
34451         * modules/count-trailing-zeros-tests:
34452         * tests/test-count-trailing-zeros.c:
34453         New files.
34455         count-leading-zeros: port to MSC; support types wider than 64 bits
34456         The ideas behind the MSC port are stolen from Emacs.
34457         * lib/count-leading-zeros.h:
34458         Don't include verify.h: it's no longer needed, as types wider than
34459         64 bits are now supported.
34460         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
34461         performance with MSC.  All uses changed.  Do not assume that TYPE
34462         has at most 64 bits.
34463         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
34464         All uses changed.  Fold the subtraction from 31 into the table.
34466         count-one-bits: port to MSC; support types wider than 64 bits
34467         The ideas behind the MSC port are stolen from Emacs.
34468         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
34469         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
34470         Don't include verify.h: it's no longer needed, as types wider than
34471         64 bits are now supported.
34472         (COUNT_ONE_BITS_GENERIC): New macro.
34473         (popcount_supported) [_MSC_VER]: New inline function.
34474         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
34475         performance with MSC.  All uses changed.  Do not assume that TYPE
34476         has at most 64 bits.
34477         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
34479 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
34481         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
34482         * lib/mountlist.c (read_file_system_list): fix leak of directory
34483         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
34485 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
34487         tests: improve diagnostic when an assertion fails
34488         * tests/macros.h (ASSERT): Report the assertion that failed.
34490 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
34492         verify: new macro 'assume'
34493         This is taken from Emacs, and should be generally useful.
34494         * doc/verify.texi (assume): Document it.
34495         * lib/verify.h (assume): New macro.
34496         (__has_builtin): Expand to 0 if not defined.
34498 2013-09-26  Eric Blake  <eblake@redhat.com>
34500         dup2, dup3: work around another cygwin crasher
34501         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
34502         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
34503         * tests/test-dup2.c (main): Likewise.
34504         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
34505         * lib/dup3.c (dup3): Likewise.
34506         * doc/posix-functions/dup2.texi (dup2): Document it.
34507         * doc/glibc-functions/dup3.texi (dup3): Likewise.
34509         getdtablesize: work around cygwin issue
34510         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
34511         * modules/getdtablesize (configure.ac): Build replacement.
34512         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
34513         * modules/unistd (Makefile.am): Expose the witness.
34514         * lib/unistd.in.h (getdtablesize): Declare replacement.
34515         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
34516         * tests/test-getdtablesize.c (main): Test it.
34517         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
34519 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
34521         pmccabe2html: escaping of special characters
34522         Escape all '<', '>', and '&' in HTML output.
34523         * build-aux/pmccabe2html (html_fnc): Call gsub()
34524         instead of sub() to capture all '<', '>', and '&'.
34525         Neither of '<' and '>' is special in a regexp,
34526         so first arguments to gsub() are corrected. Also,
34527         in replacement strings, ampersand must be escaped.
34528         Finally, '&' must be handled first, then '<' and '>'.
34530 2013-09-24  Eric Blake  <eblake@redhat.com>
34532         manywarnings: enable nicer gcc warning messages
34533         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
34534         some -f options for optimal warnings.
34536 2013-09-21  Jim Meyering  <meyering@fb.com>
34538         timespec: use the new TIMESPEC_RESOLUTION in a few more places
34539         * lib/timespec-add.c (timespec_add): Also replace 999999999
34540         with TIMESPEC_RESOLUTION - 1.
34541         * lib/timespec-sub.c (timespec_sub): Likewise.
34543 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
34545         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
34546         Problem reported by Dagobert Michelsen via Eric Blake in
34547         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
34548         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
34549         not AC_COMPILE_IFELSE.
34551 2013-09-23  Eric Blake  <eblake@redhat.com>
34553         configmake: support new --runstatedir option
34554         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
34555         even if autoconf was too old to provide the command line option.
34556         * modules/configmake (Makefile.am): Propagate it to .h file.
34558 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
34560         ctype, string: depend on extern-inline
34561         This is needed to complete the recent OS X fixes.
34562         Also, fix related documentation as suggested by Eric Blake.
34563         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
34564         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
34565         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
34566         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
34567         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
34568         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
34569         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
34570         * doc/posix-functions/toupper.texi:
34571         List the 'ctype' gnulib module.
34572         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
34573         * doc/posix-functions/strncpy.texi:
34574         List the 'string' gnulib module.
34575         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
34576         Add string.
34577         * modules/ctype, modules/string (Depends-on): Add extern-inline.
34579 2013-09-19  Pádraig Brady  <P@draigBrady.com>
34581         userspec: support optional parameters to parse_user_spec()
34582         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
34583         then avoid group processing and treat the full spec as a user.
34584         (parse_with_separator): Allow the USERNAME and GROUPNAME to
34585         be optional params (NULL), in which case they're ignored.
34587 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
34589         timespec: new function make_timespec, and new constants
34590         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
34591         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
34592         (make_timespec): New function.
34593         * lib/dtotimespec.c (dtotimespec):
34594         * lib/timespec-add.c (timespec_add):
34595         * lib/timespec-sub.c (timespec_sub):
34596         * lib/utimens.c (validate_timespec):
34597         * lib/utimensat.c (rpl_utimensat):
34598         Use these new constants and functions.
34600         stdio: OS X port of putc_unlocked + extern inline
34601         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
34602         * doc/posix-functions/putc_unlocked.texi:
34603         * doc/posix-functions/putchar_unlocked.texi:
34604         Document this portability problem.
34606         signal: OS X port of sigaddset etc. + extern inline
34607         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
34608         (sigismember): #undef on problematic Apple platforms.
34609         * doc/posix-functions/sigaddset.texi:
34610         * doc/posix-functions/sigdelset.texi:
34611         * doc/posix-functions/sigemptyset.texi:
34612         * doc/posix-functions/sigfillset.texi:
34613         * doc/posix-functions/sigismember.texi:
34614         Document this portability problem.
34616         extern-inline: do not always suppress extern inline on OS X
34617         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
34618         extern inline on Apple only if the particular compile-time
34619         configuration is known to have the problem.
34620         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
34621         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
34622         other Gnulib modules.
34624         extern-inline: document fixes for ctype and wctype macros
34625         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
34626         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
34627         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
34628         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
34629         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
34630         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
34631         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
34632         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
34633         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
34634         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
34635         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
34636         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
34637         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
34638         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
34639         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
34640         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
34641         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
34642         * doc/posix-functions/strncpy.texi:
34643         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
34644         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
34645         Document that Gnulib fixes portability problems with these
34646         functions on OS X 10.8 and earlier when called from plain inline
34647         or extern inline functions.
34649 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
34651         fflush, freadahead, fseeko: Fix for Android
34652         Suggested by Bruno Haible in:
34653         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
34654         * lib/stdio-impl.h: Use local __sfileext definition.
34656 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
34658         pmccabe2html: Portability to other awk versions.
34659         The functions systime() and strftime() are available
34660         in Gawk only.  Properly close two HTML-tags 'style'
34661         and 'span'.
34662         * build-aux/pmccabe2html (BEGIN): Store timing
34663         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
34664         systime() in HTML_COMMENT.
34665         (html_header): Correctly close tag 'style'.
34666         (END): Replace strftime() by CHRONOS_TIME.  Close
34667         tag 'span' correctly, not as 'div'.
34669 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
34671         getgroups: statement without effect
34672         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
34673         Change equality conditional to expected assignment.
34675 2013-09-09  Eric Blake  <eblake@redhat.com>
34677         glob: fix compilation
34678         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
34680 2013-09-07  Eric Blake  <eblake@redhat.com>
34682         glob: fix build for platforms without __THROW
34683         * lib/glob.in.h (__THROW): Add definition again.
34685 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
34687         regex-quote: fix buffer access out of bounds
34688         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
34689         * lib/regex-quote.c (regex_quote_spec_pcre):
34690         Fix typo that resulted in an out-of-bounds read.
34692 2013-09-04  Eric Blake  <eblake@redhat.com>
34694         glob: avoid -Wattribute warnings on glibc
34695         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
34696         __THROWNL, not __THROW, on static functions.
34697         * lib/glob.in.h (__THROW): Adjust...
34698         (__THROWNL): ...accordingly.
34700 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
34702         headers: check that _GL_INLINE_HEADER_BEGIN is defined
34703         Suggested by Bruce Korb in:
34704         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
34705         * doc/extern-inline.texi (extern inline):
34706         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
34707         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
34708         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
34709         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
34710         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
34711         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
34712         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
34713         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
34714         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
34715         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
34716         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
34717         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
34718         * lib/xtime.h:
34719         Check that _GL_INLINE_HEADER_BEGIN is defined.
34721 2013-08-29  Pádraig Brady  <P@draigBrady.com>
34723         bootstrap: remove the --version requirement from ancillary tools
34724         * build-aux/bootstrap (check_exists): A new refactored function to
34725         determine if a command exists.
34726         (find_tool): Use the new function which does not require the
34727         --version option to be supported.
34728         (check_versions): Use the new function.
34730 2013-08-26  Simon Josefsson  <simon@josefsson.org>
34732         gc: support HMAC-SHA256 and HMAC-SHA512.
34733         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
34734         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
34735         functions.
34736         (gc_hmac_md5): Use symbolic constant.
34737         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
34738         (gc_hmac_sha256, gc_hmac_sha512): New functions.
34739         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
34740         * m4/sha256.m4: Protect against empty expansion.
34741         * m4/sha512.m4: Likewise.
34742         * lib/hmac-sha256.c: New file.
34743         * lib/hmac-sha512.c: Likewise.
34744         * m4/gc-hmac-sha256.m4: Likewise.
34745         * m4/gc-hmac-sha512.m4: Likewise.
34746         * m4/gc-sha256.m4: Likewise.
34747         * m4/gc-sha512.m4: Likewise.
34748         * modules/crypto/gc-hmac-sha256: Likewise.
34749         * modules/crypto/gc-hmac-sha256-tests: Likewise.
34750         * modules/crypto/gc-hmac-sha512: Likewise.
34751         * modules/crypto/gc-hmac-sha512-tests: Likewise.
34752         * modules/crypto/hmac-sha256: Likewise.
34753         * modules/crypto/hmac-sha256-tests: Likewise.
34754         * modules/crypto/hmac-sha512: Likewise.
34755         * modules/crypto/hmac-sha512-tests: Likewise.
34756         * tests/test-gc-hmac-sha256.c: Likewise.
34757         * tests/test-gc-hmac-sha512.c: Likewise
34758         * tests/test-hmac-sha256.c: Likewise.
34759         * tests/test-hmac-sha512.c: Likewise
34761 2013-08-24  Daiki Ueno  <ueno@gnu.org>
34763         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
34764         of AC_CHECK_DECLS.
34766 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
34768         selinux-at: omit unnecessary include
34769         * lib/selinux-at.c: Don't include dosname.h; not needed, since
34770         this source file doesn't use its macros, and subsidiary files that
34771         use the macros already include it.
34773 2013-08-21  Eric Blake  <eblake@redhat.com>
34775         d-ino: avoid false negative on symlink
34776         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
34777         Reported by Stephane Chazelas.
34779 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
34781         bootstrap: port to OpenBSD sed
34782         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
34783         does not interpret `-' as a file argument to mean stdin.
34785 2013-08-15  Eric Blake  <eblake@redhat.com>
34787         warnings: minor optimization
34788         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
34790         warnings: check -Wfoo rather than -Wno-foo
34791         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
34792         -Wno-, test if the compiler recognizes the positive form instead.
34794 2013-08-15  Karl Berry  <karl@gnu.org>
34796         * config/srclist-update: add option "doclicense" to placate
34797         pulling *.texi files from Emacs.  Write terse usage
34798         documentation at the top.
34800 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
34802         xvasprintf-tests: port to GCC with hardening flags
34803         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
34804         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
34805         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
34807 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
34809         fpending: port to recent Cygwin change to stdio_ext.h
34810         Reported by LRN in
34811         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
34812         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
34813         just declare __fpending unless it's a macro.
34814         A duplicate decl shouldn't hurt.
34815         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
34816         call compiles and links, instead of separately checking for
34817         decl and lib function.
34818         * modules/fpending (configure-ac):
34819         Adjust to fpending.m4's renaming of shell variable.
34821 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
34823         sys_time: port to OpenBSD
34824         * lib/sys_time.in.h: Simply delegate to the system's header
34825         in the BSDish cases as well.  Problem reported by Mike Miller in
34826         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
34827         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
34828         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
34829         wider than time_t.
34831 2013-08-09  Pádraig Brady  <P@draigBrady.com>
34833         bootstrap: support checksum utils having -c but not --status
34834         * build-aux/bootstrap: Only look for sha1sum if updating po files.
34835         Add sha1 to the list of supported checksum utils since it's now
34836         supported through adjustments below.
34837         (update_po_files): Remove the use of --status
34838         in a way that will suppress all error messages, but since this is
34839         only used to minimize updates, it shouldn't cause an issue.
34840         Exit early if there is a problem updating the po file checksums.
34841         (find_tool): Remove the check for --version support as this
34842         is optional as per commit 86186b17.  Don't even check for the
34843         presence of the command as if that is needed, it's supported
34844         through configuring prerequisites in bootstrap.conf.
34845         Prompt that when a tool isn't found, one can define an environment
34846         variable to add to the hardcoded search list.
34848 2013-08-05  Jim Meyering  <meyering@fb.com>
34850         regex: port to non-glibc/lock-using systems
34851         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
34852         system with GNULIB_LOCK would fail due to absence of the
34853         included "glthread/lock.h".  This would affect any package
34854         for which the "lock" module is used only by the regex module,
34855         and not explicitly used.
34856         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
34857         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
34858         Add a dependency on the "lock" module.
34860 2013-07-20  Daiki Ueno  <ueno@gnu.org>
34862         localecharset: make locale_charset thread-safe on Mac OS X
34863         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
34864         instead of MB_CUR_MAX.
34866 2013-07-20  Daiki Ueno  <ueno@gnu.org>
34868         gettext: update to version 0.18.3
34869         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
34870         require AC_PROG_SED to allow user to specify custom sed command when
34871         generating en@quot PO file.
34873 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
34875         bootstrap: use correct source when copying build-aux files
34876         * build-aux/bootstrap (gnulib_extra_files): This variable is
34877         relative to upstream gnulib layout, not downstream.
34879 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
34881         tmpdir: fix bug in VMS port
34882         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
34883         See Steven M. Schweda in
34884         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
34886 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
34888         tmpdir: port to VMS, to // != /, and to long dirs
34889         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
34890         __secure_getenv, so that we're more like the glibc version.
34891         All uses changed.
34892         (path_search): Don't put slash after directory if __VMS.
34893         Problem reported by Steven M. Schweda in
34894         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
34895         Simplify code to add slash; no need for a loop.
34896         Do not remove trailing slash from "//".
34897         Do not assume dlen <= INT_MAX.
34899 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
34901         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
34902         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
34903         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
34904         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
34906         accept4, dup3, pipe2: port to Cygwin
34907         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
34908         * lib/accept4.c (accept4) [O_BINARY]:
34909         * lib/dup3.c (dup3) [O_BINARY]:
34910         * lib/pipe2.c (pipe2) [O_BINARY]:
34911         Use set_binary_mode, not setmode.
34912         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
34913         * modules/binary-io (Depends-on): Remove module indicator.
34914         These last two bits undo the previous change to pipe2 and binary-io.
34916 2013-07-09  Pádraig Brady  <P@draigBrady.com>
34918         mountlist: add support for deallocating returned list entries
34919         * lib/mountlist.c (free_mount_entry): A new exported function
34920         to deallocate a mount list entry.
34921         (read_file_system_list): Refactor to use the new deallocation function.
34922         Suggested by Anton Ovchinnikov.
34924 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
34926         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
34927         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
34928         * lib/stdalign.in.h (_Alignas, _Alignof):
34929         Port to FreeBSD 9.1, and to C11 and C++11.
34930         (_Alignas): Also support ICC.
34931         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
34932         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
34934 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
34936         fnmatch: don't goto over declaration
34937         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
34938         undefined behavior for goto over a declaration.
34939         Problem reported by Charlie Brown in
34940         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
34942         pipe2: decouple from binary-io a bit
34943         This is for Emacs, which needs pipe2 but not binary-io.
34944         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
34945         * modules/binary-io (Depends-on): Add module indicator.
34947 2013-07-03  Eric Blake  <eblake@redhat.com>
34949         mgetgroups: relax license to LGPLv2+
34950         * modules/getugroups (License): Change from GPLv3+.
34951         * modules/mgetgroups (License): Likewise.
34952         * modules/getgroups (License): Change from LGPLv3+.
34954         xalloc-oversized: relax license to LGPLv2+
34955         * modules/xalloc-oversized (License): Change from GPLv3+.
34957         nproc: relax license to LGPLv2+
34958         * modules/nproc (License): Change from LGPLv3+.
34960         bootstrap: honor --no-git
34961         * build-aux/bootstrap: Don't even try to use git when user is
34962         pointing to a static checkout.
34964 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
34966         ignore-value: port to gcc -pedantic
34967         * lib/ignore-value.h (ignore_value):
34968         Port to gcc -pedantic, by using __extension__.
34969         Reindent as per usual gnulib style nowadays.
34970         Simplify GCC version check.
34972 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
34974         extern-inline: port to gcc -std=c89
34975         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
34976         Do not use __gnu_inline__ if pedantic and pre-C99.
34978 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
34980         doc: document extern-inline
34981         * doc/extern-inline.texi: New file.
34982         * doc/gnulib.texi (alloca-opt): Include it.
34983         * m4/extern-inline.m4: Move some comments to documentation,
34984         and others closer to what they describe.
34986         doc: chatter less
34987         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
34988         (updated-stamp): Use it.  This causes 'make' to output just
34989         one file name rather than zillions.
34991         fflush, fseeko: port to musl cross-compiles
34992         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
34993         on some implementation that (1) is not known to be buggy,
34994         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
34995         cross-compiled to so we can't easily check for lack of
34996         conformance.  This is for cross-compiling to musl.
34997         Reported by Rich Felker in
34998         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
34999         * m4/fclose.m4 (gl_FUNC_FCLOSE):
35000         * m4/fflush.m4 (gl_FUNC_FFLUSH):
35001         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
35002         Adjust to above change.
35003         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
35004         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
35005         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
35006         known not to work, or unknown.
35008 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
35010         msvc-inval: port to mingw-w64
35011         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
35012         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
35013         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
35015 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
35017         getcwd-lgpl: port to Tru64
35018         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
35019         Problem reported by Steven M. Schweda in
35020         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
35022         tests: port large-fd POSIX spawn tests to OS X
35023         Problem reported by Daiki Ueno in
35024         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
35025         * tests/test-posix_spawn_file_actions_addclose.c:
35026         * tests/test-posix_spawn_file_actions_adddup2.c:
35027         * tests/test-posix_spawn_file_actions_addopen.c:
35028         Include <limits.h>, for OPEN_MAX, if available.
35029         (big_fd): New static function.
35030         (main): Use it.
35032 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
35034         tests/nap.h: use an adaptive delay to avoid ctime update issues
35035         The recent change in nap.h (5191133e) decreased the probability of lost
35036         races to about a third, however such problems could still be observed
35037         in virtual machines and openSUSE's OBS.
35038         Before, nap() detected the needed time once empirically and then used
35039         that delay (together with a small correction multiplier) in further
35040         calls.  This problem has been reported and discussed several times,
35041         including guesses about possible kernel issues:
35042         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
35043         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
35044         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
35045         http://bugs.gnu.org/12820
35046         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
35047         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
35048         Now, nap() avoids the race alltogether by verifying on a reference
35049         file whether a timestamp difference has happened.
35050         * tests/nap.h (nap_fd): Define file descriptor variable for the
35051         witness file.
35052         (nap_works): Change return value to bool.  Change passing
35053         the old file's status by value instead of by reference as this function
35054         does no longer update that timestamp; rename the function argument from
35055         st to old_st.  Remove the local variables cdiff and mdiff because that
35056         function now returns true/false instead of the precise delay.
35057         (guess_delay): Remove function.
35058         (clear_tmp_file): Add new function to close and unlink the witness file.
35059         (nap): Instead of re-using the delay which has been calculated during
35060         the first call, avoid the race by actually verifying that a timestamp
35061         difference can be observed on the current file system.  Use an adaptive
35062         approach for the delay to minimize execution time.  Assert that the
35063         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
35064         = 2^31 - 1 = 2.1s.
35065         Use atexit to call clear_tmp_file when the process terminates.
35067 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
35069         sig2str: port to C++
35070         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
35071         Reported by Daniel J Sebald in
35072         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
35074 2013-05-30  Eric Blake  <eblake@redhat.com>
35076         docs: mention cygwin shortcoming in <sys/un.h>
35077         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
35079         vasnprintf: silence mingw compiler warning
35080         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
35082 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
35084         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
35085         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
35086         This fixes a porting bug I recently reintroduced in regex, and
35087         some other instances that I discovered while testing the fix.
35088         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
35089         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
35090         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
35091         with an empty argument if this is a pedantic pre-C99 GCC.
35092         * lib/verify.h: Do not use _Static_assert if this is a pedantic
35093         pre-C11 GCC.
35095         regex: adapt to locking regime instead of depending on pthread
35096         Instead of depending on pthread, adapt to whatever thread
35097         modules are in use.  Problem reported by Ludovic Courtès in
35098         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
35099         and by Mats Erik Andersson in
35100         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
35101         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
35102         Support either the 'lock' module, or the 'pthread' module, or
35103         no module.
35104         (lock_lock, lock_unlock): New macros.
35105         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
35106         * modules/lock, modules/pthread (configure.ac): Add module indicator.
35107         * modules/regex (Depends-on): Remove pthread.
35109 2013-05-22  Eric Blake  <eblake@redhat.com>
35111         getgroups: document portability issues
35112         * doc/glibc-functions/initgroups.texi (initgroups): Mention
35113         multithread safety.
35114         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
35115         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
35116         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
35117         getugroups.
35118         * doc/posix-functions/getgroups.texi (getgroups): Mention
35119         multithread safety and mgetgroups.
35121 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
35123         test-lchown, test-chown: also skip test if chown fails with EPERM
35124         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
35125         skip this test, to handle FAT file systems.
35126         * tests/test-chown.h (test_chown): Likewise.
35128 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
35130         regex: fix dfa race in multithreaded uses
35131         Problem reported by Ludovic Courtès in
35132         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
35133         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
35134         New macros.  All uses of __libc_lock_define, __libc_lock_init
35135         changed to use the first two of these.
35136         (__libc_lock_lock, __libc_lock_unlock): New macros, for
35137         non-glibc platforms.
35138         (struct re_dfa_t): Define the lock unconditionally.
35139         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
35140         '#ifdef _LIBC"s.
35141         * modules/regex (Depends-on): Add pthread, if we use the
35142         included regex.
35144         * lib/regcomp.c: Do actions that are not needed for glibc,
35145         but may be needed elsewhere.
35146         (regfree, re_compile_internal): Destroy the lock.
35147         (re_compile_internal): Check for lock-initialization failure.
35149         malloca: port to compilers that reject size-zero arrays
35150         This fixes a bug introduced in my previous patch.
35151         * lib/malloca.c (struct preliminary_header): Use an int
35152         rather than a character array of size int; that's simpler.
35153         (struct header): Remove, replacing with ...
35154         (union header): New type.  This avoids the need for declaring a
35155         character array of size zero, which is not allowed on some platforms.
35156         All uses changed.
35158 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
35160         parse-datetime, tests: don't use "string" + int
35161         Recent versions of 'clang' complain about C source code that
35162         uses expressions of the form '"string literal" + integer',
35163         I guess on the theory that it's confusing for readers who are
35164         used to C++.  On those grounds I suppose it's OK to make this
35165         minor style change.
35166         * lib/parse-datetime.y (parse_datetime):
35167         * tests/test-fchdir.c (main):
35168         * tests/test-snprintf-posix.h (test_function):
35169         * tests/test-snprintf.c (main):
35170         * tests/test-vasnprintf-posix.c (test_function):
35171         * tests/test-vasnprintf.c (test_function):
35172         * tests/test-vsnprintf.c (main):
35173         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
35174         Rewrite '"str" + E' to '&"str"[E]'.
35176 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
35178         argmatch: port to C++
35179         * lib/argmatch.h [__cplusplus]: Add extern "C".
35181         argp: typo fix
35182         * lib/argp-help.c: Typo in comment.
35184 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
35186         manywarnings: update for GCC 4.8.0
35187         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
35188         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
35189         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
35190         -Wmissing-noreturn, as they are duplicates of other warnings.
35191         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
35192         was documented to be flaky in earlier versions of GCC.
35194         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
35195         * tests/test-spawn.c (main):
35196         * tests/test-sys_socket.c (main):
35197         * tests/test-sys_wait.c (main):
35198         Don't have a switch value that isn't covered by a case.
35200         getaddrinfo-tests: port --enable-gcc-warnings to clang
35201         * tests/test-getaddrinfo.c (simple):
35202         Avoid casts from looser to stricter-aligned pointers.
35204         thread: port --enable-gcc-warnings to clang
35205         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
35206         Include <signal.h>, to pacify a warning about pthread_sigmask.
35208         stdio: use __REDIRECT for fwrite, fwrite_unlocked
35209         * lib/stdio.in.h (fwrite):
35210         When working around bug 11959, use __REDIRECT rather than '#define
35211         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
35212         fix the -Wunused-value issue with clang, and it works with GCC too.
35213         Problem with targeting reported by Eric Blake in
35214         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
35215         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
35216         debugging the fwrite issue.
35218         stdio: port --enable-gcc-warnings to clang
35219         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
35220         since the GCC workaround for fwrite does not pacify clang.
35222         sig2str: port --enable-gcc-warnings to clang
35223         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
35225         obstack: port --enable-gcc-warnings to clang
35226         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
35227         Avoid casts from looser to stricter-aligned pointers.
35229         memchr2: port --enable-gcc-warnings to clang
35230         * lib/memchr2.c (memchr2):
35231         Avoid casts from looser to stricter-aligned pointers.
35233         mbsstr: port --enable-gcc-warnings to clang
35234         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
35235         Avoid casts from looser to stricter-aligned pointers.
35237         malloca: port --enable-gcc-warnings to clang
35238         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
35239         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
35241         inttostr: port --enable-gcc-warnings to clang
35242         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
35244         warnings: port to clang
35245         Problem reported by Daniel P. Berrange via Eric Blake in
35246         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
35247         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
35248         (gl_WARN_ADD): Use it.
35250 2013-05-11  Jim Meyering  <meyering@fb.com>
35252         quotearg: do not read beyond end of buffer
35253         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
35254         end of an ARG for which no length was specified.  With an N-byte
35255         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
35256         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
35257         via coreutils' misc/sort-debug-keys.sh test and detected by running
35258         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
35259         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
35260         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
35261         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
35262         characters correctly."
35264 2013-05-11  Daiki Ueno  <ueno@gnu.org>
35266         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
35267         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
35268         compilation target is Mac OS X 10.6.
35269         Problem reported by parafin and Andoni Morales in
35270         <http://savannah.gnu.org/bugs/?37844> and
35271         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
35273 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
35275         mkdir-p: remove assumptions about umask and mode
35276         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
35277         umask is 0, or that MODE is a subset of MODE_BITS.
35279 2013-05-10  Eric Blake  <eblake@redhat.com>
35281         maint.mk: catch more abuse of HAVE_DECL in syntax-check
35282         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
35284 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
35286         deps: require Automake >= 1.9.6 in generated Makefile fragments
35288         That is the same minimal version required in the DEPENDENCIES file.
35289         Moreover, the old code generated a requirement of Automake >= 1.5,
35290         and that is an insanely outdated version.
35292         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
35293         * tests/havelib/rpathlx/Makefile.am: Likewise.
35294         * tests/havelib/rpathly/Makefile.am: Likewise.
35295         * tests/havelib/rpathlyx/Makefile.am: Likewise.
35296         * tests/havelib/rpathlz/Makefile.am: Likewise.
35297         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
35298         * tests/havelib/rpathx/Makefile.am: Likewise.
35299         * tests/havelib/rpathy/Makefile.am: Likewise.
35300         * tests/havelib/rpathz/Makefile.am: Likewise.
35302 2013-05-08  Eric Blake  <eblake@redhat.com>
35304         bootstrap: AC_INIT may have more than four parameters
35305         * build-aux/bootstrap (extract_package_name): Correctly extract
35306         non-empty tarname field.  Avoid range in regex.
35307         Based on a report by Sami Kerola <kerolasa@iki.fi>.
35309 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
35311         qacl: port to MS-Windows port of GNU Emacs
35312         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
35313         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
35314         port of GNU Emacs.  Problem reported by Eli Zaretskii in
35315         <http://bugs.gnu.org/14295#14>.
35317 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
35319         acl: include quote.h
35320         * lib/copy-acl.c: Include quote.h.
35321         * lib/set-acl.c: Likewise.
35323 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
35325         fchownat, renameat, unlinkat: update statat dependencies
35326         These modules use statat and lstatat, not fstatat; so depend on
35327         the statat module, which was split out recently from fstatat.
35328         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
35329         * modules/renameat: Likewise.  Also delete fstat.
35330         URL: http://bugs.gentoo.org/468790
35332 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
35334         Assume gnulib is checked out from Git, not CVS
35336         In fact, access to the gnulib repository through CVS has been
35337         disabled, or more precisely, got broken and was never restored; see:
35338         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
35340         Note that support for CVS is not removed completely and unthinkingly
35341         by this change: only support for CVS checkouts of gnulib itself is
35342         removed.  For example, the 'bootstrap' script still cater to .cvsingore
35343         files and CVS directories, for the benefit of those poor gnulib clients
35344         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
35346         * gnulib-tool: Simplify accordingly.
35347         * posix-modules: Likewise.
35348         * MODULES.html.sh: Likewise.
35349         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
35350         repository.
35351         * doc/gnulib-intro.texi: Likewise.
35352         * doc/gnulib-readme.texi: Likewise.
35353         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
35354         sample '.gitignore' file rather than a sample '.cvsignore'.
35355         * NEWS: Update.
35356         * m4/extensions.m4: While at it, remove a comment mistakenly referring
35357         to "CVS Autoconf" rather than "git Autoconf".
35359 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
35361         utimensat-tests, etc.: try to fix some races
35362         Problem reported by Bernhard Voelker in
35363         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
35364         I don't know whether this patch fixes that race condition, but it
35365         fixes *some* race conditions, so it should be a win.
35366         * modules/chown-tests (Depends-on):
35367         * modules/fchownat-tests (Depends-on):
35368         * modules/fdutimensat-tests (Depends-on):
35369         * modules/futimens-tests (Depends-on):
35370         * modules/lchown-tests (Depends-on):
35371         * modules/stat-time-tests (Depends-on):
35372         * modules/utimens-tests (Depends-on):
35373         * modules/utimensat-tests (Depends-on):
35374         Depend on nanosleep, not usleep.
35375         * modules/chown-tests (test_chown_LDADD):
35376         * modules/lchown-tests (test_lchown_LDADD):
35377         * modules/stat-time-tests (test_stat_time_LDADD):
35378         New macro.
35379         * modules/fchownat-tests (test_fchownat_LDADD):
35380         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
35381         * modules/futimens-tests (test_futimens_LDADD):
35382         * modules/utimens-tests (test_utimens_LDADD):
35383         * modules/utimensat-tests (test_utimensat_LDADD):
35384         Add $(LIB_NANOSLEEP).
35385         * modules/stat-time-tests (Files): Add tests/nap.h.
35386         * tests/nap.h: Include <limits.h>, for INT_MAX.
35387         (lt_mtime): Remove.
35388         (diff_timespec): New function.
35389         (get_stat): Rename from get_mtime.  All callers changed.
35390         (nap_works): Determine the needed delay by inspecting the
35391         file system's timestamp jumps; this should be more reliable.
35392         Look at both mtime and ctime, and take the maximum of the two jumps.
35393         (nap_works, guess_delay):
35394         Return a nanosecond count, not a microsecond count.
35395         All callers changed.
35396         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
35397         failure.
35398         (nap): Multiply the guess by 1.125, to accommodate the case where
35399         the file system's clock is a bit slower than nanosleep's clock.
35400         * tests/test-stat-time.c (BASE): New macro.
35401         Include nap.h.
35402         (nap): Remove; nap.h now defines this.  This removes a duplicate
35403         implementation of 'nap'.
35405         utimens, utimensat: work around Solaris UTIME_OMIT bug
35406         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
35407         Linux kernel 2.6.32 does.  Work around it in the same way.
35408         * doc/posix-functions/futimens.texi (futimens):
35409         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
35410         * lib/utimens.c (fdutimens, lutimens):
35411         * lib/utimensat.c (rpl_utimensat): Work around the bug.
35413         gettext: now it's your responsibility to add -I$(top_builddir)/intl
35414         Formerly, it was your responsibility to do this for all Makefile.ams
35415         other than Gnulib's.  Now it's your responsibility to do it for
35416         Gnulib's Makefile.am, too.
35417         * NEWS: Document this.
35418         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
35420         acl: include errno.h to get errno
35421         Reported by Daiki Ueno in
35422         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
35423         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
35425 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
35427         tests: don't assume getdtablesize () <= 10000000
35428         * modules/cloexec-tests:
35429         * modules/dup2-tests:
35430         * modules/dup3-tests:
35431         * modules/nonblocking-tests:
35432         * modules/posix_spawn_file_actions_addclose-tests:
35433         * modules/posix_spawn_file_actions_adddup2-tests:
35434         * modules/posix_spawn_file_actions_addopen-tests:
35435         * modules/unistd-safer-tests:
35436         Depend on the getdtablesize module.
35437         * tests/test-cloexec.c:
35438         * tests/test-dup-safer.c:
35439         * tests/test-dup2.c:
35440         * tests/test-dup3.c:
35441         * tests/test-fcntl.c:
35442         * tests/test-nonblocking.c:
35443         * tests/test-posix_spawn_file_actions_addclose.c:
35444         * tests/test-posix_spawn_file_actions_adddup2.c:
35445         * tests/test-posix_spawn_file_actions_addopen.c:
35446         Don't assume getdtablesize () <= 10000000.
35448 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
35450         extern-inline: work around bug in Sun c99
35451         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
35452         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
35454 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
35456         qacl: new module, broken out from the acl module
35457         This is for GNU Emacs, which wants the acl functions but does
35458         not want 'error' invoked when they fail.
35459         * lib/acl-internal.h: Do not include error.h, quote.h.
35460         (ENOSYS, ENOTSUP): Remove; no longer needed.
35461         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
35462         * lib/acl.h: Include <stdbool.h>.
35463         (acl_errno_valid): New function.
35464         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
35465         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
35466         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
35467         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
35468         (ACL_INTERNAL_INLINE): Remove; no longer needed.
35469         * lib/file-has-acl.c (file_has_acl):
35470         * lib/qcopy-acl.c (qcopy_acl):
35471         * lib/qset-acl.c (qset_acl):
35472         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
35473         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
35474         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
35475         lib/file-has-acl.c, m4/acl.m4 to qacl module.
35476         Add lib/set-acl.c.
35477         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
35478         Add qacl.
35479         (configure.ac): Move gl_FUNC_ACL to qacl module.
35480         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
35481         Rename set-mode-acl.c to set-acl.c.
35482         * lib/acl-errno-valid.c: New file.
35483         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
35484         copy_acl function remains in copy-acl.c.
35485         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
35486         (_): Remove; not needed.
35487         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
35488         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
35489         * modules/qacl: New file, moved from the old modules/acl.
35490         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
35491         Remove set-mode-acl.c, copy-acl.c.
35492         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
35494         alignof, intprops, malloca: port better to IBM's C compiler
35495         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
35496         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
35497         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
35499 2013-04-25  Daiki Ueno  <ueno@gnu.org>
35501         wctype-h: fix gettext link error on mingw
35502         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
35503         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
35504         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
35505         rpl_towupper and rpl_towupper.
35507 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
35509         regex-tests, regex: allow glibc re_search behavior
35510         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
35511         re_search input data to make the multi-character collating element
35512         in it clearly visible, and treat re_search return code 0 as valid.
35513         * m4/regex.m4 (gl_REGEX): Likewise.
35515 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
35517         stdalign: doc fix
35518         * doc/posix-headers/stdalign.texi (stdalign.h):
35519         Gnulib doesn't support '_Alignof expr'.
35521 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
35523         stdalign: port to stricter ISO C11
35524         ISO C11 says that _Alignof's operand must be a parenthesized type.
35525         Problem reported by Eli Zaretskii in
35526         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
35527         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
35528         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
35530 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
35532         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
35533         Problem reported by Marco Atzeri in
35534         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
35535         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
35536         Simply delegate to the system <sys/select.h> in this case too.
35537         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
35538         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
35539         be needed on Solaris either.
35540         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
35541         Simply delegate to the system <sys/time.h> in this case.
35543 2013-03-19  Karl Berry  <karl@gnu.org>
35545         * build-aux/gnupload: check for erroneous (with gnupload) use of
35546         ftp-upload.gnu.org, tweak help.
35548 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
35550         copy-file, rpmatch: fix problems found by cppcheck
35551         Reported by Arno Onken in
35552         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
35553         * lib/rpmatch.c (try): Fix memory leak.
35554         * lib/copy-file.c: Include "ignore-value.h".
35555         (qcopy_file_preserving): Ignore chown value.
35556         * modules/copy-file (Depends-on): Add ignore-value.
35558 2013-01-27  Jim Meyering  <jim@meyering.net>
35560         prefix-gnulib-mk: give better diagnostics
35561         * build-aux/prefix-gnulib-mk: Don't just "die".
35562         Give better diagnostics upon failure.
35564 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
35566         putenv: port to Solaris 10
35567         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
35568         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
35569         is not what is wanted here.
35570         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
35571         declaration, not for its existence.
35573 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
35575         mktime: fix configure typo
35576         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
35578 2013-03-12  Eric Blake  <eblake@redhat.com>
35580         regex-tests: skip UTF-8 test on mingw
35581         * modules/regex-tests (Depends-on): Add localcharset.
35582         * tests/test-regex.c (main): Use it to skip test on mingw.
35584 2013-03-11  Eric Blake  <eblake@redhat.com>
35586         tests: make it easier to bypass alarm time in debugger
35587         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
35588         * tests/test-memmem.c (main): Likewise.
35589         * tests/test-passfd.c (main): Likewise.
35590         * tests/test-ptsname.c (main): Likewise.
35591         * tests/test-ptsname_r.c (main): Likewise.
35592         * tests/test-strcasestr.c (main): Likewise.
35593         * tests/test-strstr.c (main): Likewise.
35595         regex: port to mingw's recent addition of undeclared alarm
35596         * doc/posix-functions/alarm.texi (alarm): Document that alarm
35597         exists but still doesn't work in newer mingw.
35598         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
35599         not existence.  Ensure SIGALRM is not trapped.
35600         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
35601         * m4/regex.m4 (gl_REGEX): Likewise.
35602         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
35603         * tests/test-regex.c (main): Use correct probe for alarm.
35605         putenv: avoid compilation warning on mingw
35606         * lib/putenv.c (_unsetenv): Protect variable declaration.
35607         (putenv): Fix indentation.
35609 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
35611         unistd: don't prevent Tru64 Unix from using gnulib strtod.
35612         * lib/unistd.in.h: be careful not to include un-needed system
35613         stdlib.h from here, because that prevents gnulib stdlib.h from
35614         defining rpl_strtod correctly.
35616 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
35618         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
35619         changesets, but for the 'precision 0' test.
35620         * tests/test-vasprintf-posix.c (test_function): Don't insist on
35621         round-to-even, since POSIX says rounding is implementation-defined
35622         and OS X 10.8.2 rounds 1.51 to 1 here.
35624         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
35625         changeset.
35626         * tests/test-vasprintf-posix.c (test_function): Don't insist on
35627         round-to-even, since POSIX says rounding is implementation-defined
35628         and OS X 10.8.2 rounds 1.5 to 1 here.
35630 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
35632         vasnprintf-posix-tests: allow rounding 1.5 to 1
35633         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
35634         round-to-even, since POSIX says rounding is implementation-defined
35635         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
35636         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
35638         bootstrap: port to FreeBSD
35639         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
35640         that treat '--' differently.  Reported by Mats Erik Andersson in
35641         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
35643 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
35645         regex: rename remaining __attribute calls to __attribute__.
35646         2012-02-25 changed definition of __attribute, but left some uses
35647         unchanged, preventing compilation of regex module on most non-gcc
35648         environments.
35649         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
35650         (lookup_collation_sequence_value, build_range_exp)
35651         (build_collating_symbol): Set attributes with newly renamed
35652         __attribute__ decorator.
35653         * lib/regex_internal.c (re_string_peek_byte_case)
35654         (re_node_set_compare, re_node_set_contains): Likewise.
35655         * lib/regexec.c (acquire_init_state_context): Likewise.
35657 2013-03-06  Bruno Haible  <bruno@clisp.org>
35659         execute: Revert last change, but use a different condition.
35660         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
35661         on Windows.
35663 2013-03-05  Eric Blake  <eblake@redhat.com>
35665         execute: drop dead code
35666         * lib/execute.c (nonintr_close, nonintr_open): Delete.
35668 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
35670         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
35671         * m4/non-recursive-gnulib-prefix-hack.m4
35672         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
35673         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
35674         <http://bugs.gnu.org/10305#237>.
35676 2013-03-04  Eric Blake  <eblake@redhat.com>
35678         test-getsockopt: avoid compiler warning
35679         * tests/test-getsockopt.c (includes): Ensure close is declared.
35681 2013-03-02  Bruno Haible  <bruno@clisp.org>
35683         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
35684         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
35686 2013-03-02  Bruno Haible  <bruno@clisp.org>
35688         gettext: Update to version 0.18.2.
35689         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
35690         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
35691                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
35693 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
35695         regex: merge patches from libc
35697         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
35698         * lib/regex_internal.h (__attribute__): Rename from __attribute.
35699         All uses changed.
35700         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
35701         (re_string_wchar_at, re_string_elem_size_at):
35702         Mark function as possibly unused.
35704         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
35705         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
35706         elements compare against the byte sequence of it, not its name.
35708 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
35710         putenv: port better to native Windows
35711         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
35712         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
35713         (_unsetenv): Use _putenv if available.
35714         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
35715         a bit less likely to cause damage.
35716         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
35717         Fix the wrong value with SetEnvironmentVariable.
35718         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
35719         code better.
35721 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
35723         regex: ignore old-style-definition warnings
35724         * lib/regex.c: Add pragma to ignore these warnings.
35725         Problem reported for GNU tar by Pavel Raiskup.
35727 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
35729         getcwd: support coreutils better
35730         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
35731         but this might not be correct in coreutils, which disables
35732         the raw decl checks.  Problem reported by Nagendra in
35733         <http://bugs.gnu.org/10305#192>.
35734         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
35735         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
35736         Test the getcwd function, not any macro, since getcwd.c wants the
35737         function.
35738         * m4/getcwd.m4 (gl_FUNC_GETCWD):
35739         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
35740         compile, as might happen if there's a macro but no function.
35742         strtod: support coreutils better
35743         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
35744         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
35745         disables the raw decl checks.  This assumes there is an underlying
35746         strtod, but that's a safe assumption these days.
35747         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
35749         mountlist: port to HP NonStop
35750         Reported by Joachim Schmitz in
35751         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
35752         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
35753         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
35755 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
35757         extern-inline: avoid compilation error with HP-UX cc
35758         Reported by Richard Lloyd in
35759         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
35760         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
35761         Suppress extern inline with HP-UX cc.  This should be safe,
35762         though it may hurt performance.  Perhaps someone with some HP-UX
35763         experience can come up with a higher-performance fix.
35765 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
35767         putenv: fix heap corruption with mixed putenv/_putenv
35768         Problem reported by Michael Goffioul in
35769         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
35770         * lib/putenv.c (putenv) [HAVE__PUTENV]:
35771         Rely on _putenv to allocate the new environment.
35772         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
35773         * modules/putenv (configure.ac): Use it.
35775 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
35777         unsetenv etc.: port to Solaris 11 + GNU Emacs
35778         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
35779         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
35780         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
35781         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
35782         idea but is too painful to fix right now), and without this gnulib
35783         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
35784         compiling unsetenv.c on Solaris 11.  Fix the problem for
35785         unsetenv.c, and fix other similar occurrences.
35787 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
35789         secure_getenv: fix C++ declaration typo
35790         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
35791         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
35792         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
35794 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
35796         careadlinkat: stop exporting careadlinkatcwd
35797         Only Emacs used it directly, and Emacs no longer needs it.
35798         * NEWS: Document this simplification.
35799         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
35800         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
35801         for readlink.
35802         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
35803         Don't include stdlib.h; no longer needed.
35804         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
35805         * lib/relocwrapper.c: Adjust comment to match new dependencies.
35806         * modules/areadlink (Depends-on): Add readlink.
35807         (Maintainer): Add self.
35808         * modules/careadlinkat (Depends-on): Remove readlink.
35810         extensions: port better to HP-UX
35811         This is merged from git Autoconf.
35812         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
35813         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
35814         so that it's compatible with the value used when compiling.
35816         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
35817         Problem reported by Mats Erik Andersson in
35818         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
35819         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
35820         openpty function exists, not merely when we intend to replace it.
35821         This corrects the 2013-01-31 patch, which mistakenly defined
35822         HAVE_OPENPTY even on hosts that lacked it.
35824 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
35826         secure_getenv: fix include typo
35827         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
35829         secure_getenv: port better to FreeBSD and Solaris
35830         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
35831         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
35832         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
35833         This works better on BSDish platforms.
35834         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
35835         Test for issetugid if __secure_getenv is missing.
35837 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
35839         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
35840         Some of these changes are merged in from git Autoconf.
35841         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
35842         When deciding whether to define _XOPEN_SOURCE, inspect the
35843         preprocessor macro __hpux instead of the more-heavyweight
35844         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
35845         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
35846         as the key for __EXTENSIONS__.
35848         unistd: avoid namespace pollution on non-glibc systems
35849         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
35850         This avoids namespace pollution on non-glibc systems, by causing
35851         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
35852         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
35853         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
35855 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
35857         tmpdir: use secure_getenv
35858         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
35859         Define to secure_getenv, not getenv.
35860         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
35861         as that's now secure_getenv's job.
35862         * modules/tmpdir (Depends-on): Add secure_getenv.
35864         tempname: use secure_getenv
35865         * lib/tempname.c (__secure_getenv) [!_LIBC]:
35866         Define to secure_getenv, not getenv.
35867         * modules/tempname (Depends-on):
35868         Add secure_getenv.
35870         secure_getenv: new module
35871         * MODULES.html.sh (Extra functions based on ANSI C 89):
35872         Add secure_getenv.
35873         * doc/glibc-functions/secure_getenv.texi: New file.
35874         * doc/gnulib.texi: Include it.
35875         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
35876         New files.
35877         * lib/stdlib.in.h (secure_getenv): New decl.
35878         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
35879         * modules/stdlib (stdlib.h):
35880         Add secure_getenv checks.
35882 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
35884         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
35885         Reported for OS X 10.8.2 by Assaf Gordon in
35886         <http://bugs.gnu.org/13516>.
35887         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
35888         !HAVE_OPENAT && !HAVE_FDOPENDIR.
35889         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
35890         so that they can be kept in sync more easily.  Avoid PATH_MAX
35891         test on the Hurd.  Sync from test-getcwd.c for errno tests after
35892         mkdir or chdir failure.
35893         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
35894         lib/getcwd.c.
35895         (test_abort_bug): Do not test for the deep directory bug unless we
35896         have openat support.  Avoid PATH_MAX test on the Hurd.
35898         regex-tests, regex: fix bug: memset undeclared
35899         * tests/test-regex.c: Don't include regex.h twice.  Include
35900         string.h, to declare memset.  Christensen's report also mentioned
35901         this issue.
35902         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
35903         test-regex.c, to avoid future problems like this.  Remove
35904         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
35905         twice.
35907         regex-tests: fix link errors on older Solaris
35908         These need to link with @LIBINTL@ to get libintl_gettext.
35909         Problem reported by Tom G. Christensen in
35910         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
35911         * modules/regex-tests (test_regex_LDADD): New macro.
35913 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
35915         regex-tests: new module
35916         * modules/regex-tests, tests/test-regex.c: New files.
35918         regex: fix off-by-one error in configure test
35919         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
35921 2013-01-31  Eric Blake  <eblake@redhat.com>
35923         regex: avoid infinite configure test
35924         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
35926 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
35928         openpty: fix bug where HAVE_OPENPTY wasn't defined
35929         See the thread starting at:
35930         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
35931         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
35932         openpty function exists, not merely when we intend to replace it.
35934 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
35936         sys_time: port to Solaris 2.6
35937         There is a circularity problem on Solaris 2.6, where <time.h> includes
35938         <sys/time.h> for struct timespec.  The include nesting is gnulib
35939         <time.h>, system <time.h>, gnulib <sys/time.h>, system
35940         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
35941         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
35942         <sys/siginfo.h>; the last, innermost file needs struct
35943         timestruc_t, which is defined in <sys/time.h>, which has not been
35944         fully parsed.  Problem reported by Tom G. Christensen in
35945         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
35946         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
35947         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
35948         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
35949         uses split double-inclusion guards.
35951 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
35953         regex: test for buffer overrun
35954         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
35955         for the just-fixed regex bug.
35957 2013-01-29  Andreas Schwab  <schwab@suse.de>
35959         regex: fix buffer overrun in regexp matcher [BZ #15078]
35960         * lib/regexec.c (extend_buffers): Add parameter min_len.
35961         (check_matching): Pass minimum needed length.
35962         (clean_state_log_if_needed): Likewise.
35963         (get_subexp): Likewise.
35965 2013-01-28  Pádraig Brady  <P@draigBrady.com>
35967         mountlist: don't consider "devtmpfs" as dummy
35968         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
35969         as there is storage associcated with it.
35971 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
35973         futimens-tests, utimens-tests: Depend on gettext.
35974         This works around a problem introduced in my 2013-01-12 patch,
35975         which added @LIBINTL@ to these modules.
35976         * modules/futimens-tests (Depends-on):
35977         * modules/utimens-tests (Depends-on): Add gettext.
35979 2013-01-26  Eric Blake  <eblake@redhat.com>
35981         test-getpeername: fix typo
35982         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
35984 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
35986         bootstrap: remove the need for a sorted .gitignore file
35987         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
35988         rename to insert_if_absent(), so that we don't need or generate
35989         a sorted .gitignore file.  We do require a .gitignore with no
35990         existing duplicate entries and enforce that.
35991         (sort_patterns): Remove this function as we now use the simpler
35992         technigue of inserting blacklist entries at the top of the file,
35993         assuming gnulib won't be inserting !whitelist entries.
35995 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
35997         readlinkat: don't depend on gl_FUNC_OPENAT
35998         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
35999         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
36000         renameat.m4, symlinkat.m4; but one thing at a time.
36002         statat: new module, split out from fstatat
36003         GNU Emacs needs the POSIX-specified fstatat, but not the
36004         gnulib-specified statat and lstat.  Split the latter two into a
36005         new module 'statat'.
36006         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
36007         * lib/openat.h, lib/statat.c (STATAT_INLINE):
36008         Rename from FSTATAT_INLINE. All uses changed.
36009         * modules/fstatat (Files): Remove lib/statat.c.
36010         (gl_MODULE_INDICATOR([fstatat])): Remove.
36011         (lib_SOURCES): Remove.
36012         (Maintainer): Add self.
36013         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
36014         * tests/test-fstatat.c (BASE): Don't define if already defined.
36015         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
36017 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
36019         tests: don't assume fd 99 is closed
36020         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
36021         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
36022         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
36023         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
36024         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
36025         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
36026         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
36027         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
36028         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
36029         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
36030         * tests/test-fwrite.c, tests/test-getpeername.c:
36031         * tests/test-getsockname.c, tests/test-getsockopt.c:
36032         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
36033         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
36034         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
36035         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
36036         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
36037         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
36038         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
36039         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
36040         * tests/test-unlinkat.c, tests/test-unlockpt.c:
36041         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
36042         Close file descriptor 99, instead of assuming it's already closed.
36044 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
36046         stpncpy: port to OS X 10.8
36047         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
36048         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
36050 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
36052         unistd: port to recent mingw
36053         * lib/unistd.in.h: Remove special invocation convention for mingw,
36054         which breaks for the latest mingw version.  See John W. Eaton in
36055         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
36057         largefile: port better to Mac OS X 10.5
36058         This patch is backported from Autoconf git.
36059         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
36060         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
36061         with ino_t size being different for configuration time versus
36062         build/run time.  Problem reported by PHO in
36063         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
36065 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
36067         doc: clarify -Werror
36068         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
36069         clarify that it's intended for developers, not for ordinary builds,
36070         and mention --enable-gcc-warnings as one possible use.
36072 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
36074         stdint: fix build with Android's Bionic fox x86
36075         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
36076         was already included as _SSIZE_T_DEFINED_ might also be defined
36077         in include/machine/_types.h, which is included by stdio.h
36079 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
36081         net_if-tests: port to Solaris 7 + GCC 3.4.6
36082         Problem reported by Tom G. Christensen in
36083         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
36084         * tests/test-net_if.c (ni): Move to next the code that uses it,
36085         so that it's declared only if needed.
36087 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
36089         net_if-tests: port to older Solaris
36090         Problem reported by Tom G. Christensen in
36091         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36092         * modules/net_if-tests (NET_IF_LIB): New substitution.
36093         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
36094         (HAVE_IF_NAMEINDEX): New C macro.
36095         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
36097         system-quote-tests: port to older Solaris
36098         Problem reported by Tom G. Christensen in
36099         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36100         * tests/test-system-quote-child.c (fopen, fread): Undef.
36102         c-xvasprintf etc.: fix link errors on older Solaris
36103         These need to link with @LIBINTL@ to get libintl_gettext.
36104         Problem reported by Tom G. Christensen in
36105         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36106         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
36107         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
36108         * modules/futimens-tests (test_futimens_LDADD):
36109         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
36111 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
36113         locale: port to Solaris 2.6 and 7 + GNU gettext
36114         * lib/locale.in.h: Just include_next <locale.h> when
36115         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
36116         when combining the localename module with GNU gettext 0.18.2.
36117         Problem reported by Tom G. Christensen in
36118         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
36120 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
36122         stdlib: port to Solaris 2.6
36123         Also, the code worked on Solaris 7 through 9 only by accident.
36124         Problem reported by Tom G. Christensen in
36125         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
36126         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
36127         simply include the system stdlib.h.
36128         * lib/getopt.in.h (__need_system_stdlib_h):
36129         * lib/pthread.in.h (__need_system_stdlib_h):
36130         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
36131         Define when including <stdlib.h>, to avoid problems at least for
36132         the pthread case on Solaris 2.6 and 7.  These .h files can get by
36133         with the system stdlib.h.
36135 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
36137         doc: update main copyright year
36138         * doc/gnulib.texi: Update copyright date.
36140         doc: improve ISO 8601 discussion
36141         * doc/parse-datetime.texi (Combined date and time of day items):
36142         Specify more carefully what formats are supported and what is
36143         done with excess precision.
36145 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
36147         doc: avoid small caps
36148         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
36149         they're more trouble than they're worth.  Suggested by Karl Berry
36150         in <http://bugs.gnu.org/13360>.
36152         regex: conform to strict C
36153         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
36154         From Aharon Robbins.
36156         gnulib-tool: fix incompatibility with autopoint 0.18.2
36157         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
36158         Problem reported by Tom G. Christensen in
36159         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
36161 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
36163         fprintftime: bring back and reword fwrite comment
36164         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
36166         stdio: remove now-unnecessary stdio.c
36167         Since stdio.in.h no longer uses inline functions, we no longer
36168         need to compile the extern versions.
36169         * lib/stdio.c: Remove.
36170         * modules/stdio (Files): Remove lib/stdio.c.
36171         (lib_SOURCES): Remove.
36173         unicodeio: depend on stdio, not ignore-value
36174         * lib/unicodeio.c: Do not include ignore-value.h.
36175         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
36176         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
36178         fprintftime: depend on stdio, not ignore-value
36179         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
36180         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
36181         since the stdio module arranges to silence that warning now.
36182         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
36184 2012-10-04  Simon Josefsson  <simon@josefsson.org>
36186         stdint-tests: Fix expanded-before-required-warning.
36187         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
36189 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
36191         fwrite: silence __wur only for older glibc versions
36192         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
36193         This will help us remove this workaround some time in the far future.
36195 2013-01-03  Eric Blake  <eblake@redhat.com>
36197         fwrite: silence __wur without using inline
36198         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
36199         just gcc, and in a way that avoids inline issues.
36200         * modules/stdio (Depends-on): Drop extern-inline.
36202 2013-01-03  Jim Meyering  <jim@meyering.net>
36204         update-copyright: avoid copyright notice date corruption
36205         Given a sequence of copyright year numbers in which the final
36206         one was a two-digit number that happened to be a substring of
36207         a preceding four-digit year number, we would mistakenly update
36208         the substring (from two- to four-digit) rather than the two-digit
36209         number at the end, which, combined with the addition of the current
36210         4-digit year number would yield two 5-digit year numbers, e.g.,
36211         here, it would convert the first "99" to "1999, 2013" rather than
36212         the final one:
36213           1991, 99
36214           11999, 20131, 1999
36215         * build-aux/update-copyright: Tighten a regexp.
36216         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
36217         Reported by Joseph Myers in
36218         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
36220 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
36222         regex: omit needless signed-pointer casts
36223         * lib/regcomp.c (build_charclass, build_charclass_op):
36224         Use char *, not unsigned char *, for class name and extra.
36225         The char values are always nonnegative so there's no need to
36226         insist on unsigned char * here, and using char * removes the need
36227         for casts.  Reported by Aharon Robbins in
36228         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36230         regex: support Gawk, which never uses alloca
36231         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
36232         Do not include in this case.  Gawk doesn't supply a substitute
36233         alloca.h and doesn't need one.
36235         regex: port __libc_lock_define usage to C89
36236         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
36237         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
36238         does not conform to C89, as it has an empty macro argument.
36239         Reported by Aharon Robbins in
36240         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36242 2013-01-01  Eric Blake  <eblake@redhat.com>
36244         maint: update all copyright year number ranges
36245         Run "make update-copyright".
36247         version-etc: bump copyright year reported in --version
36248         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
36250 2012-12-31  Eric Blake  <eblake@redhat.com>
36252         sigprocmask-tests: skip test if pid is unexpectedly large
36253         * tests/test-sigprocmask.c (main): Add range check.
36255         git-version-gen: avoid test -z portability glitch
36256         * build-aux/git-version-gen: Prefer portable test spelling, since
36257         git-version-gen is run on more than just developer machines.
36259 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
36261         git-version-gen: add --fallback option to use if git is not present
36262         * build-aux/git-version-gen: Add support for the new option --fallback,
36263         which comes into play when there is no $tarball_version_file and
36264         git is not working.
36265         (scriptversion): Update.
36267         maint.mk: handle missing git with more grace
36268         * top/maint.mk (no-submodule-changes, public-submodule-commit):
36269         Quietly proceed if git is not present.
36271 2012-12-31  Eric Blake  <eblake@redhat.com>
36273         dup2: work around cygwin bug
36274         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
36275         * lib/dup2.c (rpl_dup2): Work around it.
36276         * doc/posix-functions/dup2.texi (dup2): Document it.
36278 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
36280         regex: remove unnecessary dependency on localcharset.h
36281         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
36282         hasn't been needed for years.
36283         * modules/regex (Depends-on): Remove localcharset.
36285         regex: revert single-byte change
36286         * lib/regexec.c (check_node_accept_bytes): Revert previous change
36287         to this function.  This was alredy fixed in a different way, at
36288         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
36289         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
36290         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
36292         regex: simplify based on Gawk version
36293         * lib/regex_internal.c (re_dfa_add_node): Simplify.
36294         Reported by Aharon Robbins in
36295         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36297 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
36299         regex: check that pattern char is single-byte
36300         Reported by Aharon Robbins in
36301         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36302         * lib/regexec.c (check_node_accept_bytes):
36303         Return 0 if the pattern string has a multibyte character here.
36305         regex: implement rational ranges
36306         Reported by Aharon Robbins in
36307         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36308         * lib/regcomp.c (build_range_exp) [!_LIBC]:
36309         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
36310         Implement rational ranges.
36312         regex: avoid redefining __wctype
36313         Reported by Aharon Robbins in
36314         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36315         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
36316         #undef before defining.
36318         regex: port to hosts where malloc (0) == NULL
36319         Reported by Aharon Robbins in
36320         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36321         * lib/regex_internal.c (re_node_set_alloc):
36322         Don't assume that malloc (0) yields nonnull.
36323         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
36324         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
36325         * modules/regex (Files): Add m4/eealloc.m4.
36327         regex: port to C89
36328         Reported by Aharon Robbins in
36329         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36330         * lib/regcomp.c (init_word_char): Declaration before statement.
36332         regex: merge glibc changes
36333         Also, copy the license wording from glibc.  This simplifies
36334         merging changes.  gnulib-tool will change the wording to GPL as
36335         appropriate, when importing it to other packages.  The only
36336         glibc change made since the last merge, which needs merging, is:
36337         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
36338         * lib/regex_internal.h (gettext): Remove use of INTUSE.
36340         * users.txt: Add Emacs.
36342         doc: omit mention of version when not needed
36343         * doc/gnulib-intro.texi (Portability and Application Code):
36344         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
36345         Don't mention particular dates or versions when not necessary, so
36346         that the documentation won't go out of date so quickly.
36348         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
36350 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
36352         bootstrap: pass --force to autoreconf.
36353         * build-aux/bootstrap (AUTORECONFFLAGS): New.
36354         Add "--force" so that Automake's ylwrap and other such tools
36355         be updated at each bootstrap invocation.
36356         Use it.
36358 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
36360         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
36361         The earlier patch forgot to update one of the #if conditions, causing
36362         a problem on Debian testing i386 reported by Mats Erik Andersson
36363         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
36364         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
36365         (__argp_fmtstream_puts, argp_fmtstream_puts)
36366         (__argp_fmtstream_write, argp_fmtstream_write)
36367         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
36369         * doc/gnulib-readme.texi: Minor fixups.
36370         (Portability guidelines): Modernize URLs.  Remove some repetition.
36371         (Indent with spaces not TABs): Reword to avoid too-long lines.
36372         Remove some '@ifset standalone' stuff that isn't used.
36374         * doc/gnulib-readme.texi (Portability guidelines):
36375         ctype.h, not ctime.h.
36377         Correct name of POSIX.1-2001.
36378         * doc/posix-functions/fgetc.texi (fgetc):
36379         * doc/posix-functions/fgets.texi (fgets):
36380         * doc/posix-functions/fread.texi (fread):
36381         * doc/posix-functions/fscanf.texi (fscanf):
36382         * doc/posix-functions/getc.texi (getc):
36383         * doc/posix-functions/getchar.texi (getchar):
36384         * doc/posix-functions/scanf.texi (scanf):
36385         POSIX.1-2001, not POSIX-2001.
36387         doc: move README into manual
36388         * README: Move contents to new file doc/gnulib-readme.texi.
36389         Replace with a one-line summary.
36390         * doc/gnulib.texi (Brief Overview): New section,
36391         with old intro preface.  Include gnulib-readme.texi for contents.
36392         (Philosophy): Rename from "Introduction", since this
36393         section no longer introduces the rest.  Write a new preface.
36394         * doc/gnulib-readme.texi: New file, with the old contents of
36395         README texinfo-ized.  This way, the README info appears
36396         in the online and printed manual.
36398 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
36400         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
36401         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
36402         c_vasprintf() prototype.
36404 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
36406         c-vasprintf: Fix "empty declaration" warning reported by GCC.
36407         * lib/c-vasprintf.h: Remove stray semicolon.
36409 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
36411         gettext: avoid obsolete macro AM_PROG_MKDIR_P
36412         It is obsolete and is planned to be removed from Automake 1.14; see
36413         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
36414         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
36415         (installdirs-data, installdirs-data-yes):
36416         Use $(MKDIR_P), not $(mkdir_p).
36417         * m4/intl.m4 (AM_INTL_SUBDIR):
36418         * m4/po.m4 (AM_PO_SUBDIRS):
36419         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
36421 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
36423         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
36424         On this platform, we are not optimizing but we are using
36425         the substitute for extern inlines, so compile as if
36426         C99-style extern inline, or a substitute, is available.
36427         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
36428         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
36429         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
36430         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
36431         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
36432         Declare as ARGP_FS_EI, not as extern.
36433         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
36434         (__option_is_short, _option_is_end, __option_is_end)
36435         [!_LIBC && __USE_EXTERN_INLINES]:
36436         Declare as ARGP_EI, not as extern.
36438 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
36440         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
36441         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
36442         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
36443         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
36444         ...), as the latter is fatal with older Autoconfs.
36445         Problem reported and fix suggested by Eric Blake in thread starting at
36446         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
36448 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
36450         AC_PROG_MKDIR_P: don't workaround if not buggy
36451         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
36452         Define only for Autoconf versions before 2.62.
36453         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
36454         undocumented m4_PACKAGE_VERSION, for consistency with the
36455         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
36456         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
36457         was introduced in 2.62.
36459 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
36461         New 'c-*printf' modules for formatted output in C locale.
36463         New module 'c-vasnprintf'.
36464         * modules/c-vasnprintf: New file.
36465         * lib/c-vasnprintf.c: New file.
36466         * lib/c-vasnprintf.h: New file.
36468         New module 'c-snprintf'.
36469         * modules/c-snprintf: New file.
36470         * modules/c-snprintf-tests: New file.
36471         * lib/c-snprintf.c: New file.
36472         * lib/c-snprintf.h: New file.
36473         * tests/test-c-snprintf.c: New file.
36474         * tests/test-c-snprintf.sh: New file.
36476         New module 'c-vsnprintf'.
36477         * modules/c-vsnprintf: New file.
36478         * modules/c-vsnprintf-tests: New file.
36479         * lib/c-vsnprintf.c: New file.
36480         * lib/c-vsnprintf.h: New file.
36481         * tests/test-c-vsnprintf.c: New file.
36482         * tests/test-c-vsnprintf.sh: New file.
36484         New module 'c-vasprintf'.
36485         * modules/c-vasprintf: New file.
36486         * modules/c-vasprintf-tests: New file.
36487         * lib/c-asprintf.c: New file.
36488         * lib/c-vasprintf.c: New file.
36489         * lib/c-vasprintf.h: New file.
36490         * tests/test-c-vasprintf.c  +: New file.
36491         * tests/test-c-vasprintf.sh: New file.
36493         New module 'c-xvasprintf'.
36494         * modules/c-xvasprintf: New file.
36495         * modules/c-xvasprintf-tests: New file.
36496         * lib/c-xasprintf.c: New file.
36497         * lib/c-xvasprintf.c: New file.
36498         * lib/c-xvasprintf.h: New file.
36499         * tests/test-c-xvasprintf.c: New file.
36500         * tests/test-c-xvasprintf.sh: New file.
36502 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
36504         argp: better 'inline'
36505         Use extern-inline module to declare extern inline functions.
36506         This avoids some bogus warning diagnostics.  Problem discovered
36507         when modifying GNU tar to use the manywarnings module.
36508         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
36509         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
36510         Define based on extern-inline.
36511         * modules/argp (Depends-on): Add extern-inline.
36513 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
36515         filemode, sys_stat: Handle MPX files a la AIX.
36516         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
36517         * lib/sys_stat.in.h (S_ISMPX): New macro.
36518         * tests/test-sys_stat.c: Add tests for MPX files.
36520 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
36522         x-to-1: honor $PERL
36523         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
36524         a chance to use his preferred version of Perl.  This is typically
36525         required by Darwin users whose default /usr/bin/perl does not have all
36526         the libraries required by help2man, and who need to use their MacPorts
36527         installation of Perl instead.
36529 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
36531         gnu-web-doc-update: add all the new files, even in new directories
36532         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
36533         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
36534         Use it.
36535         (main): Don't use cvsutils to get the list of unknown files,
36536         just add all the existing files and directories.
36538 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
36540         gnu-web-doc-update: improve --help
36541         * build-aux/gnu-web-doc-update: Move comments into --help.
36543 2012-12-07  Eric Wong  <normalperson@yhbt.net>
36545         mountlist: recognize more "dummy" file systems
36546         * lib/mountlist.c (ME_DUMMY_0):
36547         Add these dummy FS names to the list:
36548         - "debugfs" virtual filesystem for kernel debugging
36549         - "devpts" PTY slave filesystem
36550         - "devtmpfs" device filesystem on top of tmpfs/ramfs
36551         - "fusectl" control filesystem for FUSE
36552         - "mqueue" enumerates POSIX message queues
36553         - "rpc_pipefs" kernel <-> userspace bridge for NFS
36554         - "sysfs" is for exporting kernel objects
36555         - "devfs" device filesystem for Linux 2.4 and FreeBSD
36557 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
36559         extern-inline: avoid incompatibility with Darwin Libc
36560         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
36561         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
36562         Problem reported by Akim Demaille in
36563         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
36565 2012-12-11  Simon Josefsson  <simon@josefsson.org>
36567         gnupload: Work with GnuPG using gpg-agent (for smartcards).
36568         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
36569         let it handle password prompting.
36571 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
36573         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
36574         * lib/canonicalize.c (canonicalize_filename_mode):
36575         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
36576         fetching the current directory.  Don't overrun the beginning of
36577         rpath if there's no slashes after the MS-Windows drive letter.
36579 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
36581         maint.mk: avoid extra forks
36582         * top/maint.mk (_cfg_mk): The GNU make manual documents that
36583         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
36584         So use that instead of "$(shell test -f FILE && echo FILE)".
36586 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36588         vasnprintf: fix ASCII_ONLY typo
36589         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
36590         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
36591         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
36592         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
36593         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
36595 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
36597         list, oset, xlist, xoset: fix extern inline issue with C99
36598         This was introduced by my recent changes for 'inline'.
36599         Problem reported for gettext by Daiki Ueno in
36600         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
36601         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
36602         (gl_list_nx_create, gl_list_size, gl_list_node_value)
36603         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
36604         (gl_list_previous_node, gl_list_get_at)
36605         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
36606         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
36607         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
36608         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
36609         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
36610         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
36611         (gl_list_iterator_free, gl_sortedlist_search)
36612         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
36613         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
36614         (gl_sortedlist_remove):
36615         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
36616         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
36617         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
36618         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
36619         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
36620         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
36621         (gl_list_add_at, gl_sortedlist_add):
36622         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
36623         Wrap these extern decls inside "#if 0", because they are implemented
36624         as inline functions, and extern inline is not what's wanted here.
36625         It would simplify these .h files to remove the extern decls entirely,
36626         although a downside would be less-clear separation between
36627         specification and implementation.
36629 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
36631         sys_stat: no 'static inline'
36632         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
36633         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
36635         extern-inline: no 'static inline'
36636         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
36637         Do not require AC_C_INLINE.
36638         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
36639         'static inline', for older compilers.
36641         snippet/warn-on-use: no 'static inline'
36642         * build-aux/snippet/warn-on-use.h:
36643         Remove unnecessary 'inline' in comment.
36645         rbtree-list, rbtreehash-list: no 'static inline'
36646         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
36647         * lib/gl_anytree_list2.h (node_at):
36648         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
36649         (gl_oset_first, add_nodes_to_buckets):
36650         Now static, not static inline.
36652         regex: no 'static inline'
36653         * lib/regex_internal.c (calc_state_hash):
36654         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
36655         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
36656         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
36657         Now static, not static inline.
36658         (inline) [__GNUC__ < 3 && _LIBC]:
36659         Remove macro; no longer needed.
36661         xvasprintf: no 'static inline'
36662         * lib/xvasprintf.c (xstrcat):
36663         Now static, not static inline.
36664         * m4/xvasprintf.m4 (gl_XVASPRINTF):
36665         Do not require AC_C_INLINE.
36667         parse-datetime, parse-duration: no 'static inline'
36668         * lib/parse-datetime.y (to_uchar):
36669         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
36670         (scale_n_add):
36671         Now static, not static inline.
36672         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
36673         * modules/parse-duration (configure.ac):
36674         Do not require AC_C_INLINE.
36676         getaddrinfo: no 'static inline'
36677         * lib/getaddrinfo.c (validate_family):
36678         Now static, not static inline.
36679         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
36680         Do not require AC_C_INLINE.
36682         ftruncate, fts, lstat, openat, raise: no 'static inline'
36683         * lib/ftruncate.c (chsize_nothrow):
36684         * lib/fts.c (opendirat, diropen):
36685         * lib/lstat.c (orig_lstat):
36686         * lib/openat.c (orig_openat):
36687         * lib/raise.c (raise_nothrow):
36688         Now static, not static inline.
36689         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
36690         * m4/fts.m4 (gl_FUNC_FTS_CORE):
36691         * m4/lstat.m4 (gl_PREREQ_LSTAT):
36692         * m4/openat.m4 (gl_PREREQ_OPENAT):
36693         * m4/raise.m4 (gl_PREREQ_RAISE):
36694         Do not require AC_C_INLINE.
36696         fflush, stat: no 'static inline'
36697         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
36698         (clear_ungetc_buffer, disable_seek_optimization)
36699         (restore_seek_optimization, update_fpos_cache):
36700         * lib/stat.c (orig_stat):
36701         Now static, not static inline.
36702         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
36703         (update_fpos_cache):
36704         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
36705         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
36706         * m4/stat.m4 (gl_PREREQ_STAT):
36707         Do not require AC_C_INLINE.
36709         error, filevercmp: no 'static inline'
36710         * lib/error.c (is_open, flush_stdout):
36711         * lib/filevercmp.c (order):
36712         Now static, not static inline.
36713         * m4/error.m4 (gl_PREREQ_ERROR):
36714         * modules/filevercmp (configure.ac):
36715         Do not require AC_C_INLINE.
36717         dup, execute, fatal-signal, etc.: no 'static inline'
36718         * lib/dup.c (dup_nothrow):
36719         * lib/execute.c (nonintr_close, nonintr_open):
36720         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
36721         * lib/fopen.c (orig_fopen):
36722         * lib/freadseek.c (freadptrinc):
36723         * lib/freopen.c (orig_freopen):
36724         * lib/fstat.c (orig_fstat, fstat_nothrow):
36725         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
36726         (get_rusage_as_via_iterator):
36727         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
36728         * lib/getdtablesize.c (_setmaxstdio_nothrow):
36729         * lib/isatty.c (_isatty_nothrow):
36730         * lib/open.c (orig_open):
36731         * lib/read.c (read_nothrow):
36732         * lib/sigprocmask.c (signal_nothrow):
36733         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
36734         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
36735         * lib/wait-process.c (unregister_slave_subprocess):
36736         * lib/write.c (write_nothrow):
36737         Now static, not static inline.
36738         * lib/spawn-pipe.c (nonintr_open): Define only if
36739         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
36740         * m4/dup.m4 (gl_PREREQ_DUP):
36741         * m4/execute.m4 (gl_EXECUTE):
36742         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
36743         * m4/fopen.m4 (gl_PREREQ_FOPEN):
36744         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
36745         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
36746         * m4/fstat.m4 (gl_PREREQ_FSTAT):
36747         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
36748         * m4/isatty.m4 (gl_PREREQ_ISATTY):
36749         * m4/open.m4 (gl_PREREQ_OPEN):
36750         * m4/read.m4 (gl_PREREQ_READ):
36751         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
36752         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
36753         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
36754         * m4/wait-process.m4 (gl_WAIT_PROCESS):
36755         * m4/write.m4 (gl_PREREQ_WRITE):
36756         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
36757         Do not require AC_C_INLINE.
36759         c-strtod, memcoll, readutmp: no 'static inline'
36760         * lib/c-strtod.c (c_locale):
36761         * lib/memcoll.c (strcoll_loop):
36762         * lib/readutmp.c (desirable_utmp_entry):
36763         Now static, not static inline.
36764         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
36765         * m4/memcoll.m4 (gl_MEMCOLL):
36766         * m4/readutmp.m4 (gl_READUTMP):
36767         Do not require AC_C_INLINE.
36769         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
36770         * lib/arctwo.c (to_uchar):
36771         * lib/md4.c (set_uint32):
36772         * lib/md5.c (set_uint32):
36773         * lib/sha1.c (set_uint32):
36774         * lib/sha256.c (set_uint32):
36775         * lib/sha512.c (set_uint64):
36776         Now static, not static inline.  This is a bit simpler, and doesn't
36777         affect performance with GCC and default optimization.
36778         * m4/arctwo.m4 (gl_ARCTWO):
36779         * m4/md4.m4 (gl_MD4):
36780         * m4/md5.m4 (gl_MD5):
36781         * m4/sha1.m4 (gl_SHA1):
36782         * m4/sha256.m4 (gl_SHA256):
36783         * m4/sha512.m4 (gl_SHA512):
36784         Do not require AC_C_INLINE.
36786         cond, lock, thread: better 'inline'
36787         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
36788         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
36789         New macros.  Use them instead of static inline, for header functions.
36790         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
36791         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
36792         * lib/glthread/lock.c (gl_waitqueue_init)
36793         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
36794         * lib/glthread/thread.c (get_current_thread_handle):
36795         Change 'static inline' to 'inline'.
36796         * lib/glthread/cond.h, lib/glthread/thread.h:
36797         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36798         * m4/cond.m4 (gl_COND):
36799         * m4/lock.m4 (gl_PREREQ_LOCK):
36800         * m4/thread.m4 (gl_THREAD):
36801         Do not require AC_C_INLINE.
36802         * modules/cond, modules/thread (Depends-on): Add extern-inline.
36804         chdir-long, cycle-check, savewd: better 'inline'
36805         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
36806         (find_non_slash):
36807         * lib/cycle-check.c (is_zero_or_power_of_two):
36808         * lib/savewd.c (savewd_delegating):
36809         Change 'static inline' to 'inline'.
36810         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
36811         Replace all remaining uses of 'static inline' with it.
36812         * lib/savewd.h:
36813         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36814         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
36815         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
36816         * m4/savewd.m4 (gl_SAVEWD):
36817         Do not require AC_C_INLINE.
36818         * modules/savewd (Depends-on): Add extern-inline.
36820         base32, base64: no need for 'inline'
36821         * lib/base32.c (to_uchar, get_8, decode_8):
36822         * lib/base64.c (to_uchar, get_4, decode_4):
36823         Change 'static inline' to 'inline'.
36824         * m4/base32.m4 (gl_PREREQ_BASE32):
36825         * m4/base64.m4 (gl_PREREQ_BASE64):
36826         Do not require AC_C_INLINE.
36828         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
36829         * lib/gl_array_oset.c (gl_array_nx_add_at):
36830         (gl_array_remove_at):
36831         * lib/gl_linkedhash_list.c (hash_resize_after_add)
36832         (add_to_bucket, remove_from_bucket):
36833         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
36834         Change 'static inline' to 'static', as it's simpler to omit
36835         'inline' unless there's a significant performance advantage.
36837         list, oset, xlist, xoset, xsublist: simplify via extern inline
36838         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
36839         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
36840         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
36841         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
36842         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
36843         New macro.  Replace all uses of 'static inline' with it.
36844         [HAVE_INLINE]: Implement functions as *_INLINE functions,
36845         instead of as macros FOO that are defined to static inline
36846         functions FOO_inline.
36847         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
36848         * lib/gl_xsublist.c:
36849         Reimplement from scratch, by defining the corresponding *_INLINE
36850         macro and including the corresponding .h file.  This is simpler.
36851         * modules/list, modules/oset, modules/xlist, modules/xoset:
36852         (Files): Remove m4/gl_list.m4.
36853         (configure.ac): Remove gl_LIST.
36854         * m4/gl_list.m4: Remove.
36855         * modules/list, modules/oset, modules/xlist, modules/xoset:
36856         * modules/xsublist:
36857         (Depends-on): Depend on extern-inline, not inline.
36859         xalloc: better 'inline'
36860         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
36861         New macro.  Replace all uses of 'static inline' with it.
36862         (static_inline): Remove.
36863         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
36864         Let 'extern inline' do the work automatically, instead of doing
36865         it by hand.
36866         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
36867         Remove.  All uses removed.
36868         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
36870         gethrxtime: better 'inline'
36871         * lib/xtime.c: New file.
36872         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
36873         * lib/xtime.h (XTIME_INCLUDE):
36874         New macros.  Replace all uses of 'static inline' with them.
36875         * lib/gethrxtime.c (gethrxtime): Define only if
36876         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
36877         this source file is now always compiled, because of the extern inline.
36878         * lib/gethrxtime.h, lib/xtime.h:
36879         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36880         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
36881         if gethrtime works, as they're not needed in that case.
36882         (gl_XTIME): Do not require AC_C_INLINE.
36883         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
36884         compiled now.  Move the check into gl_GETHRXTIME.
36885         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
36886         (Depends-on): Add extern-inline.
36887         (configure.ac): gethrxtime is always compiled now.
36888         (lib_SOURCES): Add gethrxtime.c.
36890         wctype-h: better 'inline'
36891         * lib/wctype-h.c: New file.
36892         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
36893         New macro.  Replace all uses of 'static inline' with it.
36894         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36895         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
36896         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
36897         (Depends-on): Add extern-inline.
36899         unistd: better 'inline'
36900         * lib/unistd.c: New file.
36901         * lib/unistd.in.h (_GL_UNISTD_INLINE):
36902         New macro.  Replace all uses of 'static inline' with it.
36903         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36904         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
36905         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
36906         (Depends-on): Add extern-inline.
36908         sys_socket: better 'inline'
36909         * lib/sys_socket.c: New file.
36910         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
36911         New macro.  Replace all uses of 'static inline' with it.
36912         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36913         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
36914         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
36915         (Depends-on): Add extern-inline.
36917         stdio: better 'inline'
36918         * lib/stdio.c: New file.
36919         * lib/stdio.in.h (_GL_STDIO_INLINE):
36920         New macro.  Replace all uses of 'static inline' with it.
36921         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36922         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
36923         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
36924         (Depends-on): Add extern-inline.
36926         sigaction: better 'inline'
36927         * lib/sig-handler.c: New file.
36928         * lib/sig-handler.h (SIG_HANDLER_INLINE):
36929         New macro.  Replace all uses of 'static inline' with it.
36930         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36931         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
36932         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
36933         (Depends-on): Add extern-inline.
36935         selinux-h: better 'inline'
36936         * lib/se-context.c, lib/se-selinux.c: New files.
36937         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
36938         * lib/se-context.in.h (SE_CONTEXT_INLINE):
36939         New macro.  Replace all uses of 'static inline' with it.
36940         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36941         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
36942         New macro.  Replace all uses of 'static inline' with it.
36943         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36944         * modules/selinux-h (Files, lib_SOURCES):
36945         Add lib/se-context.c, lib/se-selinux.c.
36946         (Depends-on): Add extern-inline.
36947         (configure.ac): Do not require AC_C_INLINE.
36949         pthread: better 'inline'
36950         * lib/pthread.c: New file.
36951         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
36952         New macro.  Replace all uses of 'static inline' with it.
36953         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36954         * m4/pthread.m4 (gl_PTHREAD_CHECK):
36955         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
36956         * modules/pthread (Files): Add lib/pthread.c.
36957         (Depends-on): Add extern-inline.
36959         math: better 'inline'
36960         * lib/math.c: New file.
36961         * lib/math.in.h (_GL_MATH_INLINE):
36962         New macro.  Replace all uses of 'static inline' with it.
36963         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36964         * m4/math_h.m4 (gl_MATH_H):
36965         Do not require AC_C_INLINE.
36966         * modules/math (Files, lib_SOURCES):
36967         Add lib/math.c.
36968         (Depends-on): Add extern-inline.
36970         count-one-bits: better 'inline'
36971         * lib/count-one-bits.c: New file.
36972         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
36973         New macro.  Replace all uses of 'static inline' with it.
36974         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36975         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
36976         Do not require AC_C_INLINE.
36977         * modules/count-one-bits (Files, lib_SOURCES):
36978         Add lib/count-one-bits.c.
36979         (Depends-on): Add extern-inline.
36981         count-leading-zeros: better 'inline'
36982         * lib/count-leading-zeros.c: New file.
36983         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
36984         New macro.  Replace all uses of 'static inline' with it.
36985         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36986         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
36987         Do not require AC_C_INLINE.
36988         * modules/count-leading-zeros (Files, lib_SOURCES):
36989         Add lib/count-leading-zeros.c.
36990         (Depends-on): Add extern-inline.
36992         bitrotate: better 'inline'
36993         * lib/bitrotate.c: New file.
36994         * lib/bitrotate.h (BITROTATE_INLINE):
36995         New macros.
36996         Replace all uses of 'static inline' with them.
36997         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36998         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
36999         (Depends-on): Add extern-inline.
37000         (configure.ac): Do not require AC_C_INLINE.
37002 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
37004         maint.mk: avoid gratuitous failure
37005         Reported by Stefano Lattarini in
37006         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
37007         * top/maint.mk (public-submodule-commit): Quote more safely.
37009 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
37011         canonicalize, canonicalize-lgpl: support MS-Windows file names
37012         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
37013         for test cases, which it'd be nice to add at some point.
37014         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
37015         * lib/canonicalize.c (canonicalize_filename_mode):
37016         * lib/canonicalize-lgpl.c (__realpath):
37017         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
37018         slash is at the beginning of the file name.  Use ISSLASH, instead
37019         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
37020         the first character with '/'.  Test for
37021         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
37022         with a drive letter.
37023         * lib/canonicalize.c (SLASHES): New macro.
37024         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
37026 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
37028         fts: introduce FTS_VERBATIM
37029         * lib/fts_.h (FTS_VERBATIM): New bit flag.
37030         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
37031         * lib/fts.c (fts_open): Honor it.
37033 2012-11-09  Pádraig Brady  <P@draigBrady.com>
37035         getlogin-tests: allow errno == ENXIO
37036         * tests/test-getlogin.c (main): Skip tests if getlogin fails
37037         with errno == ENXIO (No controlling tty).
37038         getlogin_r-tests: Likewise. Also allow errno == ENOENT
37039         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
37040         with errno == ENOENT.  This was reported to happen in various
37041         situations on GNU/Linux.
37043 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
37045         getlogin-tests: allow errno == ENOENT
37046         * tests/test-getlogin.c (main): Skip tests if getlogin fails
37047         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
37048         when running a test in an Emacs shell buffer.
37050 2012-11-08  Jim Meyering  <jim@meyering.net>
37052         tests/nap.h: avoid warning about unused variable
37053         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
37055         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
37056         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
37057         white space before each of the special-cased file names, to avoid
37058         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
37059         in http://bugs.gnu.org/12830.
37061 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
37063         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
37064         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
37065         fails with errno == EBADF when fd is opened with O_PATH.
37066         Reported by Jim Meyering in
37067         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
37068         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
37069         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
37071 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
37073         test-utimens: speed up by taking shorter naps
37074         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
37075         New functions.
37076         (nap): Use them, to do a better job of guessing the delay.
37077         On Fedora 17 with ext4 atop md atop hard disks, this made
37078         test-utimens run 10x faster, because the test napped for
37079         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
37080         <http://bugs.gnu.org/12820#11>.
37082 2012-11-07  Jim Meyering  <jim@meyering.net>
37084         mountlist.c: fix a compilation failure
37085         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
37086         I introduced while transforming commit v0.0-7683-g613bcb6
37088 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
37090         errno: port to LynxOS 178 2.2.2
37091         Problem reported by Joel Brobecker in
37092         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
37093         * doc/posix-headers/errno.texi (errno.h): Document this.
37094         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
37095         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
37096         Supply a string for EILSEQ.
37097         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
37099 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
37101         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
37102         Linux kernel 2.6.39 introduced O_PATH (see
37103         <http://lwn.net/Articles/433854/>) and this is a better fallback
37104         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
37105         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
37106         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
37107         * lib/fcntl.in.h (O_ACCMODE):
37108         * tests/test-fcntl-h.c (main):
37109         Do not reject O_ACCMODE merely because it has more than the
37110         minimal number of bits, as POSIX allows extensions here.
37112 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
37114         mountlist: do not classify a bind-mounted dir entry as "dummy"
37115         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
37116         the "none"-testing clause.
37117         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
37118         exception for bind-mounted directories.
37120 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
37122         quote: provide a means to escape strings with nul characters
37123         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
37124         (quote, quote_n): Rename formal arguments for consistency with
37125         quotearg.
37127 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
37129         test-raise: don't assume 199 is an invalid signal
37130         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
37132         sh-quote-tests: port to Solaris 9
37133         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
37134         Problem reported by Dagobert Michelsen in
37135         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
37137 2012-10-28  Jim Meyering  <jim@meyering.net>
37139         maint.mk: rename a new configurable variable
37140         * top/maint.mk (_gl_translatable_string_re): Rename from
37141         translation-markers: _gl_ prefix to insulate from user Makefile code,
37142         and the _re suffix to inform that it's a regular expression.
37144 2012-10-26  Eric Blake  <eblake@redhat.com>
37146         maint.mk: let packages tweak sc_po_check pattern
37147         * top/maint.mk (sc_po_check): Add translation-markers, to allow
37148         finding files with other translation markers.
37150 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
37152         euidaccess: speed up 'configure' on GNU hosts
37153         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
37154         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
37155         it's needed only in this case.  Use AC_CHECK_DECLS, not
37156         AC_CHECK_DECLS_ONCE.
37157         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
37158         or AC_REQUIRE for AC_FUNC_GETGROUPS.
37160         * lib/regexec.c (re_search_internal): Fix grammar in comment.
37162 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
37164         fchmodat, fchownat, fstatat: port to non-inlining compilers
37165         Problem reported for FreeBSD 9 by Jim Meyering in
37166         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
37167         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
37168         New files, which define FCHMODAT_INLINE etc.
37169         * lib/fchmodat.c (FCHMODAT_INLINE):
37170         * lib/fchownat.c (FCHOWNAT_INLINE):
37171         * lib/fstatat.c (FSTATAT_INLINE):
37172         Remove, as chmodat.c etc. now do this.
37173         * modules/fchmodat (Files): Add lib/chmodat.c.
37174         * modules/fchownat (Files): Add lib/chownat.c.
37175         * modules/fstatat (Files): Add lib/statat.c.
37177 2012-10-15  Jim Meyering  <jim@meyering.net>
37179         fchmodat.c, fchownat.c: compile-impeding typos
37180         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
37181         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
37182         Introduced in commit v0.0-7636-gd202279.
37184 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
37186         fcntl-h: support GNU flags like O_IGNORE_CTTY
37187         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
37188         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
37189         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
37190         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
37191         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
37192         Define to 0 if not already defined.
37193         * tests/test-fcntl-h.c: Test these new flags.
37195 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
37197         faccessat, etc.: support AT_FDCWD-only use
37198         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
37199         this function only if its first argument is AT_FDCWD.
37200         Emacs wants faccessat for AT_EACCESS but not for any first-arg
37201         values other than AT_FDCWD, so it doesn't want all the openat
37202         machinery with fchdir etc.
37203         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
37204         * modules/fstatat, modules/mkdirat, modules/openat (Files):
37205         * modules/unlinkat (Files):
37206         Remove lib/openat-priv.h, as at-internal supplies this file.
37207         Removing this file here allows us to support programs like Emacs
37208         that avoid at-internal.
37210         faccessat: speed up 'configure' on mainstream hosts
37211         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
37212         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
37213         since it's only on unusual platforms that we need to check for
37214         'access', and it's better not to slow 'configure' down on all
37215         platforms.
37217         faccessat: port to Solaris 10
37218         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
37219         Needed on Solaris 10, which doesn't have AT_EACCESS,
37220         so we need the Gnulib fcntl.h, which defines it.
37222 2012-10-14  Pádraig Brady  <P@draigBrady.com>
37223         canonicalize: fix C89 compilation
37224         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
37225         declarations so C89 is supported.  Also remove the comment
37226         referencing memorty allocation as the suggested feature could
37227         not be implemented as suggested.
37228         Reported by Michael Goffioul.
37230 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
37232         group-member: omit unnecessary dependencies
37233         This is for Emacs, which has its own allocator and where we
37234         don't want to use xalloc.
37235         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
37236         since we no longer use xmalloc.  Do not include stdbool.h, since
37237         the changes below happen to remove the only use of bool.
37238         (GROUPBUF_SIZE): New constant.
37239         (struct group_info): Remove n_groups member.  Add groupbuf member.
37240         This lets us get the groups without using malloc, usually.
37241         (free_group_info, get_group_info): Adjust to this.
37242         (get_group_info): Return the number of groups found, or -1 on error.
37243         Use plain malloc not xmalloc, and treat its failure as if there
37244         are no groups, as the user already loses in case of error.
37245         (group_member): Simplify, based on changes to get_group_info.
37246         * modules/group-member (Depends-on): Remove dependencies on
37247         xalloc and stdbool.  Add dependency on xalloc-oversized.
37249 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
37251         gethrxtime: port to C++
37252         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
37254 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
37256         ptsname: fix macro-name typo
37257         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
37259 2012-10-03  Simon Josefsson  <simon@josefsson.org>
37261         inttostr: Relax license.
37262         * modules/inttostr (License): Change from LGPL to LGPLv2+.
37264 2012-10-03  Eric Blake  <eblake@redhat.com>
37266         ptsname_r: support ptys returned by FreeBSD posix_openpt
37267         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
37268         lives in /dev/pts/.
37270 2012-10-02  Eric Blake  <eblake@redhat.com>
37272         pselect: reject invalid file descriptors
37273         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
37274         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
37275         * modules/pselect (Depends-on): Add dup2.
37276         * doc/posix-functions/pselect.texi (pselect): Document this.
37278         select: reject invalid file descriptors
37279         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
37280         * lib/select.c (rpl_select) [!win32]: Work around it.
37281         * modules/select (Depends-on): Add dup2.
37282         * doc/posix-functions/select.texi (select): Document this.
37284         select: enhance test
37285         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
37286         New functions.
37287         (test_function): Enhance test.
37288         (do_select_bad_fd): Avoid any stale errno values.
37290         ptsname: reject invalid file descriptors
37291         http://www.austingroupbugs.net/view.php?id=503
37292         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
37293         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
37294         * modules/stdlib (Makefile.am): Replace witness.
37295         * lib/stdlib.in.h (ptsname): Allow for replacement.
37296         * modules/ptsname (configure.ac): Trigger replacement.
37297         * doc/posix-functions/ptsname.texi (ptsname): Document this.
37299 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
37301         hash-pjw-bare: new module
37302         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
37303         * lib/hash-pjw-bare.h: Likewise.
37304         * modules/hash-pjw-bare: New file.
37305         * MODULES.html.sh (Misc): Add it.
37307 2012-10-02  Eric Blake  <eblake@redhat.com>
37309         manywarnings: cater to more gcc infelicities
37310         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
37311         -Wuninitialized without -O.
37313 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
37315         select, poll tests: Make setsockopt invocation effective.
37316         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
37317         the bind() call.
37318         * tests/test-select.h (open_server_socket): Likewise.
37320 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
37322         sockets, sys_stat: restore AC_C_INLINE
37323         This undoes the 2012-09-22 patch.
37324         * m4/sockets.m4 (gl_SOCKETS):
37325         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
37326         Restore AC_C_INLINE, since MSVC requires __inline or _inline
37327         and does not support plain 'inline'.  Reported by Bruno Haible in
37328         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
37330 2012-09-30  Bruno Haible  <bruno@clisp.org>
37332         localeconv tests: Avoid test failure on OpenIndiana.
37333         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
37334         skip the 'grouping' and 'mon_grouping' tests.
37335         Reported by Jim Meyering.
37337 2012-09-30  Bruno Haible  <bruno@clisp.org>
37339         havelib: Follow libtool developments.
37340         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
37341         Suggested by Simon Josefsson.
37343 2012-09-29  Jim Meyering  <meyering@redhat.com>
37345         fstatat.c: fix a compile-impeding typo
37346         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
37347         Introduced in commit v0.0-7636-gd202279.
37348         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
37350 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
37352         extern-inline: provide a -Wundef safe config.h
37353         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
37354         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
37355         to produce a -Wundef warning free config.h.
37357 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
37359         hash-pjw: relax license to LGPLv2+
37360         * modules/hash-pjw (License): Relax, with consent of author.
37362 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
37364         maint.mk: fix strict vs. lazy variable issues with RELEASE
37365         * top/maint.mk (_equal): New function.
37366         (member_check): Strip the result to avoid spurious spaces.
37367         (url_dir_list): Do not use ifeq, which is strict, as it will
37368         require RELEASE_TYPE to be defined.
37369         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
37370         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
37371         (announcement_Cc_alpha,announcement_mail_headers_alpha)
37372         (announcement_Cc_beta,announcement_mail_headers_beta)
37373         (announcement_Cc_stable,announcement_mail_headers_stable): these.
37374         (release): Do not depend on $(release-type), as it forces its
37375         evaluation.  Bounce to it.
37377 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
37379         maint.mk: formatting changes
37380         * top/maint.mk: Indent bodies of if's.
37382 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
37384         maint.mk: factor the validation of RELEASE_TYPE
37385         With help from Jim Meyering.
37386         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
37387         * top/maint.mk (_empty, _sp): Move their definition earlier.
37388         (member-check, release-type): New.
37389         Use the latter instead of $(RELEASE_TYPE).
37390         Remove now useless local checks.
37392 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
37394         maint.mk: provide "make upload" to ease uploading
37395         See
37396         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
37397         Do not depend simply on the current $(VERSION), as there may have been
37398         new commits since the tarball generation.  Rather, rely on $(RELEASE),
37399         as "make release-commit" already does.
37401         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
37402         "make TYPE".
37404         * top/maint.mk (upload_command, upload, release): New.
37405         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
37406         (VERSION): first word of $(RELEASE) is always right.
37407         (emit_upload_commands): Adjust.
37408         * top/README-release: Update.
37410 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
37412         maint.mk: silent rules
37413         With help from Stefano Lattarini.
37414         * top/maint.mk (writable-files): Use $(AM_V_GEN).
37415         (announcement): Use $(AM_V_at).
37417 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
37419         localename: port gl_locale_name_thread_unsafe to FreeBSD
37420         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
37421         and use the simpler FreeBSD implementation on Mac OS X as well.
37422         Original idea suggested by Ed Maste in
37423         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
37425 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
37427         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
37428         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
37429         * lib/mbuiter.c, lib/xsize.c: New files.
37430         * lib/binary-io.h (BINARY_IO_INLINE):
37431         * lib/eealloc.h (EEALLOC_INLINE):
37432         * lib/mbfile.h (MBFILE_INLINE):
37433         * lib/mbiter.h (MBITER_INLINE):
37434         * lib/mbuiter.h (MBUITER_INLINE):
37435         * lib/xsize.h (XSIZE_INLINE):
37436         New macros.
37437         Replace all uses of 'static inline' with them.
37438         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37439         * m4/eealloc.m4 (gl_EEALLOC):
37440         * m4/mbfile.m4 (gl_MBFILE):
37441         * m4/mbiter.m4 (gl_MBITER):
37442         * m4/xsize.m4 (gl_XSIZE):
37443         Do not require AC_C_INLINE.
37444         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
37445         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
37446         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
37447         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
37448         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
37449         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
37450         * modules/binary-io, modules/eealloc, modules/mbfile:
37451         * modules/mbiter, modules/mbuiter:
37452         (Depends-on): Add extern-inline.
37454         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
37455         * lib/pipe-filter-aux.c: New file.
37456         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
37457         Replace all uses of 'static inline' with it.
37458         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37459         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
37460         (filter_retcode): No real need for inline here.
37461         * modules/pipe-filter-gi, modules/pipe-filter-ii:
37462         (Files): Add lib/pipe-filter-aux.c.
37463         (Depends-on): Add extern-inline.
37464         (configure.ac): Do not require AC_C_INLINE.
37465         (lib_SOURCES): Add pipe-filter-aux.c.
37467         fdutimensat: omit unnecessary AC_C_INLINE
37468         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
37470         fchmodat, fchownat, fstatat: use extern-inline
37471         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
37472         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
37473         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
37474         New macros.
37475         * lib/openat.h:
37476         Replace all uses of 'static inline' with them.
37477         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37478         * modules/fchmodat, modules/fchownat, modules/fstatat:
37479         * modules/openat-h:
37480         (Depends-on):
37481         Add extern-inline.
37482         (configure.ac): Remove AC_C_INLINE.
37484         acl, mbchar, priv-set: use extern-inline
37485         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
37486         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
37487         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
37488         New macros.
37489         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
37490         Replace all uses of 'static inline' with it.
37491         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37492         * m4/acl.m4 (gl_FUNC_ACL):
37493         * m4/mbchar.m4 (gl_MBCHAR):
37494         * m4/priv-set.m4 (gl_PRIV_SET):
37495         Remove AC_C_INLINE, since 'inline' is no longer used directly.
37496         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
37497         Add extern-inline.
37499         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
37500         * m4/sockets.m4 (gl_SOCKETS):
37501         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
37502         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
37503         environments where it's already guaranteed to work, so we needn't
37504         check for it at 'configure'-time.
37506         tls-tests: omit unnecessary 'inline'
37507         * tests/test-tls.c (perhaps_yield): No longer inline.
37508         Simplicity and portability trump efficiency in test cases.
37510         utimens-tests: avoid unnecessary 'inline'
37511         * modules/fdutimensat-tests (configure.ac):
37512         * modules/futimens-tests (configure.ac):
37513         * modules/utimens-tests (configure.ac):
37514         * modules/utimensat-tests (configure.ac):
37515         Remove AC_C_INLINE.
37516         * tests/test-utimens-common.h (ctime_compare):
37517         No longer inline.  Simplicity and portability trump efficiency here.
37519         misc: don't limit commentary to inline functions
37520         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
37521         * lib/xalloc-oversized.h, lib/xsize.h:
37522         Contrast macros to functions in general, not just to inline functions,
37523         when the commentary does not apply only to inline functions.
37525 2012-09-20  Jim Meyering  <meyering@redhat.com>
37527         non-recursive-gnulib-prefix-hack: new module
37528         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
37529         the file that originated in Bison.
37530         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
37531         largely copied from a snippet that resided in bison's configure.ac.
37532         * modules/non-recursive-gnulib-prefix-hack: New file.
37533         * MODULES.html.sh (Support for maintaining and releasing projects):
37534         Add it.
37536 2012-09-18  Jim Meyering  <meyering@redhat.com>
37538         maint.mk: generalize _gl_tight_scope for non-recursive make
37539         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
37540         that *.h would describe additional .h files in the directory
37541         specified by $(_gl_TS_dir).  I.e., add this...
37542         (_gl_TS_other_headers): New variable.
37544         maint.mk: exempt trailing blanks found in "binary" files
37545         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
37546         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
37547         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37549 2012-09-17  Jim Meyering  <meyering@redhat.com>
37551         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
37552         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
37553         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
37554         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37556 2012-09-17  Jim Meyering  <meyering@redhat.com>
37558         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
37559         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
37560         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
37561         It is not in the same category as "exit (0)" or "exit (1)", and
37562         besides, I know of no symbolic name for that 77.  Reported by
37563         Richard W.M. Jones in
37564         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37566 2012-09-17  Jim Meyering  <meyering@redhat.com>
37568         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
37569         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
37570         all uses of #define, not just those that start in column 1.
37571         Richard W.M. Jones reported a false positive in
37572         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37574 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
37576         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
37577         * lib/localcharset.c (locale_charset) [DARWIN7]:
37578         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
37579         as these two values are incompatible.  Problem reported by Max Horn.
37580         For more discussion, please see
37581         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
37583         doc: document sticky-EOF issue
37584         * doc/posix-functions/fgetc.texi (fgetc):
37585         * doc/posix-functions/fgets.texi (fgets):
37586         * doc/posix-functions/fread.texi (fread):
37587         * doc/posix-functions/fscanf.texi (fscanf):
37588         * doc/posix-functions/getc.texi (getc):
37589         * doc/posix-functions/getchar.texi (getchar):
37590         * doc/posix-functions/scanf.texi (scanf):
37591         Mention that glibc and default Solaris do not conform to
37592         C99 and POSIX-2001 or later, with respect to how getchar
37593         etc. behave when feof reports nonzero.
37595 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
37597         poll: fix poll(0, NULL, msec)
37598         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
37599         but nfd is 0.  In that case poll should behave like select.
37601 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
37602             Paolo Bonzini  <bonzini@gnu.org>
37604         poll: fix for systems that can't recv() on a non-socket
37605         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
37606         is readable.  In this case POLLHUP will not be supported.
37607         * doc/posix-functions/poll.texi: Document this.
37609 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
37611         poll/select: document portability problems not fixed by Gnulib.
37612         * doc/posix-functions/poll.texi: poll does not work well on
37613         pipes under Windows.  It has the same limitations as select on
37614         BeOS.
37615         * doc/posix-functions/select.texi: select does not work well
37616         on pipes under Windows.
37618 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
37620         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
37621         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
37622         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
37623         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
37625 2012-09-06  Eric Blake  <eblake@redhat.com>
37627         net_if: give more details about the bug being fixed
37628         * doc/posix-headers/net_if.texi: Add clarification.
37630 2012-09-05  Eric Blake  <eblake@redhat.com>
37632         net_if: new module
37633         * modules/net_if: New module, borrowing ideas from netinet_in.
37634         * m4/net_if_h.m4: New file.
37635         * lib/net_if.in.h: Likewise.
37636         * doc/posix-headers/net_if.texi (net/if.h): Document it.
37637         * MODULES.html.sh (lacking POSIX:2008): Likewise.
37638         * tests/test-net_if.c: Make function checks conditional.
37639         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
37641 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
37643         readutmp: fix non-portable UT_PID use
37644         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
37645         Use `UT_PID (u) > 0' as absolute condition.
37647 2012-09-04  Jim Meyering  <meyering@redhat.com>
37649         fts: reduce two or more trailing spaces to just one, usually
37650         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
37651         or more slashes, trim all but the final one.  But if a name consists
37652         solely of two slashes, don't modify it.  If it consists solely of
37653         three or more slashes, strip all but one.
37655         This is part of the solution to a minor problem with rm:
37656         it would print a bogus ELOOP diagnostic when failing to remove
37657         the slash-decorated name of a symlink-to-directory:
37659             $ mkdir d && ln -s d s && env rm -r s/
37660             rm: cannot remove 's': Too many levels of symbolic links
37662         With the change below and a trivial don't-trim-trailing-slashes
37663         adjustment to remove.c, it does this:
37665             $ env rm -r s/
37666             rm: cannot remove 's/': Not a directory
37668         Improved by: Eric Blake
37670         fts: when there is no risk of overlap, use memcpy, not memmove
37671         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
37673 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
37675         stdbool: be more compatible with mixed C/C++ compiles
37676         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
37677         Define to bool, true, false, respectively, as GCC's builtin
37678         stdbool.h does.  Problem reported by Michael Goffioul in
37679         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
37681 2012-08-28  Jim Meyering  <meyering@redhat.com>
37683         revert last change: it was not needed
37684         * tests/test-vc-list-files-git.sh: There's already a test for
37685         a working git, just below.
37687 2012-08-28  Jim Meyering  <meyering@redhat.com>
37689         tests: test-vc-list-files-git.sh: skip if git is not available
37690         * tests/test-vc-list-files-git.sh: Skip this test when git is
37691         not available.
37693 2012-08-26  Bruno Haible  <bruno@clisp.org>
37695         gnulib-tool: Remove no-op option --no-changelog.
37696         * gnulib-tool (func_usage): Don't mention --no-changelog.
37697         (do_changelog): Remove variable.
37698         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37700 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
37702         doc: remove fdl-1.2.texi
37703         It is no longer used or maintained, and its use of @acronym
37704         is problematic.  See the thread containing
37705         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
37706         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
37707         * doc/old-licenses/fdl-1.2.texi: Remove.
37709         execinfo: port to FreeBSD
37710         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
37711         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
37712         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
37713         * modules/execinfo (Link): Add $(LIB_EXECINFO).
37715 2012-08-23  Jim Meyering  <meyering@redhat.com>
37717         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
37718         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
37719         to placate gcc's -Wold-style-declaration.
37721 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
37723         doc: do not use @acronym
37724         * doc/inet_ntoa.texi (inet_ntoa):
37725         * doc/parse-datetime.texi (Seconds since the Epoch)
37726         (Specifying time zone rules):
37727         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
37728         Don't use @acronym.  Problem reported by John Darlington in
37729         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
37731 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
37733         stdnoreturn: port to newer GCCs
37734         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
37735         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
37736         Problem reported by Jim Meyering in
37737         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
37738         Also, rename the 'test' function to a void a clash with the
37739         already-supplied 'main' function; this fixes a bug that incorrectly
37740         rejected GCC 4.7.1's <stdnoreturn.h>.
37741         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
37742         Document GCC problem.
37744 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
37746         pipe-filter: fix comment typo
37747         * lib/pipe-filter.h: Mention correct function.
37749 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
37751         execinfo: new module
37752         This is for Emacs.  Currently, it provides a no-effect stub
37753         on all platforms where it does not already work.
37754         It already works on glibc-based systems, and on Solaris 11.
37755         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
37756         New files.
37757         * doc/glibc-headers/execinfo.texi (execinfo.h):
37758         * MODULES.html.sh (Misc): Document it.
37760 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
37762         extern-inline: support old GCC 'inline'
37763         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
37764         if available.  This applies to GCC versions 2.7 through 4.2, or
37765         when newer GCC is using -fgnu89-inline.  The goal is to address
37766         some of the performance issues mentioned by Bruno Haible in
37767         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
37769 2012-08-20  Eric Blake  <eblake@redhat.com>
37771         maint.mk: avoid redundant file name in message
37772         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
37773         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
37774         (sc_makefile_path_separator_check): Remove bogus $(ME).
37776 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
37778         timer-time: fix link order when static linking on glibc
37779         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
37780         _after_ -lrt so that it's significant.
37782 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
37784         timespec: omit unnecessary AC_C_INLINE
37785         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
37787         stat-time: omit unnecessary AC_C_INLINE
37788         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
37789         Do not require AC_C_INLINE.
37791         ignore-value: omit unnecessary AC_C_INLINE
37792         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
37794         sys_select: avoid 'static inline'
37795         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
37797         mktime: avoid 'static inline'
37798         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
37799         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
37801 2012-08-19  Bruno Haible  <bruno@clisp.org>
37803         gnulib-tool: Improve coding style.
37804         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
37805         func_emit_lib_Makefile_am.
37806         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37808 2012-08-19  Bruno Haible  <bruno@clisp.org>
37810         gnulib-tool: Fix indentation.
37811         * gnulib-tool (func_import): Fix indentation.
37813 2012-08-19  Bruno Haible  <bruno@clisp.org>
37815         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
37816         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
37817         on the list of removed files.
37819 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
37821         test-parse-datetime: avoid glibc leap-second glitch
37822         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
37823         with the 2012 rules.  Problem reported by Bruce Dubbs in
37824         <http://bugs.gnu.org/12206>.
37826 2012-08-14  Bruno Haible  <bruno@clisp.org>
37828         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
37829         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
37830         from argument.
37831         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37833 2012-08-14  Eric Blake  <eblake@redhat.com>
37835         ldexp: relax license
37836         * modules/ldexp (License): Trivial relax, since the module only
37837         provides a permissively licensed m4 file.
37839 2012-08-13  Bruno Haible  <bruno@clisp.org>
37841         gnulib-tool: Fix persistence of --witness-c-macro option.
37842         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
37843         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37845 2012-08-11  Eric Blake  <eblake@redhat.com>
37847         count-leading-zeros: use a lookup table on non-gcc compilers
37848         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
37849         alternate implementation, suggested by Jim Meyering.
37851 2012-08-10  Eric Blake  <eblake@redhat.com>
37853         count-leading-zeros: new module
37854         * modules/count-leading-zeros: New module.
37855         * m4/count-leading-zeros.m4: New file.
37856         * lib/count-leading-zeros.h: Likewise.
37857         * modules/count-leading-zeros-tests: New test.
37858         * tests/test-count-leading-zeros.c: New file.
37859         * MODULES.html.sh (Integer arithmetic functions): Document it.
37861 2012-08-07  Simon Josefsson  <simon@josefsson.org>
37862             Jim Meyering  <meyering@redhat.com>
37864         maintainer-makefile: Fix syntax error with dash.
37865         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
37866         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
37868 2012-08-05  Jim Meyering  <meyering@redhat.com>
37870         extern-inline: also ignore -Wmissing-declarations
37871         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
37872         required with gcc-4.8.0-to-be.
37874         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
37875         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
37876         for /error ?([^,]*)/.  This avoids false-positives for strings like
37877         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
37879 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
37881         gnumakefile: better interaction with Automake-NG
37882         * modules/gnumakefile [Makefile.am]: The makefiles generated by
37883         Automake-NG always contain a definition of VPATH, even in non-VPATH
37884         builds (its value being simply '.' in that case).  So, in the
37885         'clean-GNUmakefile' rule, to determine whether running under a
37886         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
37887         '$(VPATH)' expands to the empty string.
37889 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
37891         base64: Use extern C scope in header file, for C++.
37892         * lib/base64.h: Add C++ namespace protection.
37894 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
37896         stat-time, timespec, u64: support naive out-of-dir builds
37897         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
37898         Use '#include "foo.h"', not '#include <foo.h>', when including
37899         one's own interface.  This works better when configuring with
37900         out-of-directory builds, since packages need not add an
37901         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
37903 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
37905         utimens: use extern-inline
37906         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
37907         * lib/utimens.h: Add copyright notice, since this is now large enough
37908         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37909         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
37910         * modules/utimens (Depends-on): Add extern-inline.
37912         u64: use extern-inline
37913         * lib/u64.c: New file.
37914         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37915         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
37916         * modules/u64 (Files): Add lib/u64.c.
37917         (Depends-on): Add extern-inline.
37918         (configure.ac): No need to require AC_C_INLINE, since extern-inline
37919         does that now.
37920         (lib_SOURCES): Add u64.c.
37922         timespec: use extern-inline
37923         * lib/timespec.c: New file.
37924         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37925         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
37926         * modules/timespec (Files): Add lib/timespec.c.
37927         (Depends-on): Add extern-inline.
37928         (lib_SOURCES): Add timespec.c.
37930         stat-time: use extern-inline
37931         * lib/stat-time.c: New file.
37932         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37933         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
37934         * modules/stat-time (Files): Add lib/stat-time.c.
37935         (Depends-on): Add extern-inline.
37936         (lib_SOURCES): Add stat-time.c.
37938         extern-inline: new module
37939         * modules/extern-inline, m4/extern-inline.m4: New files.
37940         This is for better support of 'extern inline' a la ISO C99,
37941         with a portable alternative on compilers that do not support
37942         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
37943         of the Emacs executable, when compiled with debugging disabled,
37944         which is a typical way that Emacs is built while developing.
37946 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
37948         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
37949         * build-aux/do-release-commit-and-tag: Move variable definitions
37950         together.
37951         ($branch): Instead of defaulting to "master", default to the current
37952         branch (as gnu-web-doc-update does).
37953         (help): Display the current values of the option arguments.
37954         * top/maint.mk (release-commit): New.
37955         * top/README-release: Simplify the corresponding step.
37957 2012-07-30  Eric Blake  <eblake@redhat.com>
37959         passfd: fix comment on recvfd
37960         * lib/passfd.c (recvfd): Fix comment.
37961         Reported by Jann Horn <jannhorn@googlemail.com>.
37963 2012-07-30  Jim Meyering  <meyering@redhat.com>
37965         maint.mk: avoid a sub-shell
37966         * top/maint.mk (release-prep): Remove unneeded sub-shell.
37968 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37970         maint.mk: use silent-rules support from Automake
37971         * top/maint.mk (news-check, vc-diff-check, announcement)
37972         (no-submodule-changes, alpha beta stable, release-prep)
37973         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
37975 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37977         maint.mk: provide a web-manual-update target
37978         * top/maint.mk: here.
37979         * top/README-release: Use it to simplify the web manual update step.
37981 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37983         README-release: shorten the circuit to post a news
37984         * top/README-release: Point directly to the news submission form.
37986 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37988         gnu-web-doc-update: fix --help
37989         * build-aux/gnu-web-doc-update: The information "top level" was written
37990         twice.
37992 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37994         maint.mk: absolute VPATH issue
37995         * top/maint.mk (release-prep): Help Git find .git/.
37996         From Jim Meyering.
37998 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38000         gitlog-to-changelog: fix previous change
38001         * build-aux/gitlog-to-changelog: Fix condition.
38002         Add missing ";".
38004 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38006         gitlog-to-changelog: don't expect .git to be in $srcdir
38007         Reported by Bruno Haible.
38008         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
38009         * build-aux/gitlog-to-changelog (&git_dir_option): New.
38010         Use it.
38012 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38014         maint.mk: absolute VPATH build fix
38015         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
38016         $(srcdir) is not a parent of $(builddir).
38018 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
38020         clean-temp: Fix memory leak.
38021         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
38022         'files' members of tmpdir.
38024 2012-07-27  Jim Meyering  <meyering@redhat.com>
38026         maint.mk: new rule: refresh-gnulib-patches
38027         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
38028         Use this rule to refresh them.
38029         * top/maint.mk (refresh-gnulib-patches): New rule.
38031 2012-07-24  Bruno Haible  <bruno@clisp.org>
38033         gnulib-tool: Fix handling of inctests variable.
38034         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
38035         Reported by Nick Bowler <nbowler@elliptictech.com>.
38037 2012-07-22  Bruno Haible  <bruno@clisp.org>
38039         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
38040         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
38041         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
38042         Remove exemption for getpass.h.
38043         Suggested by Eric Blake.
38045 2012-07-20  Eric Blake  <eblake@redhat.com>
38047         verify: document conflict with -Wnested-externs
38048         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
38050         maint.mk: forbid exit(-1)
38051         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
38053 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
38055         fsusage: port back to Solaris
38056         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
38057         error (fsd not declared) on Solaris 10.  Reported privately by
38058         Andrew Borodin.
38060 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
38062         gnu-web-doc-update: fix error messages
38063         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
38065         gnu-web-doc-update: check the requirements.
38066         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
38067         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
38068         * build-aux/bootstrap (find_tool): Comment change.
38070 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
38072         maint.mk: minor simplication.
38073         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
38074         for default values.
38076 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
38078         gitlog-to-changelog: VPATH build issues
38079         If builddir is not a subdirectory of srcdir, running git from it will
38080         fail.
38081         * build-aux/gitlog-to-changelog (--srcdir): New option.
38083 2012-07-15  Bruno Haible  <bruno@clisp.org>
38085         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
38086         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
38087         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
38088         Remove exemption for fpending.h.
38089         Suggested by Eric Blake.
38091 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
38093         pthread_sigmask: fix bug on FreeBSD 9
38094         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
38095         Include string.h.
38096         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
38097         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
38098         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
38099         but pthread_sigmask (1729, NULL, NULL) returns zero.
38100         See <http://bugs.gnu.org/11884>.
38101         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
38102         by inspecting whether the main call changed the old mask.
38104 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
38106         README-release: make it more legible
38107         * top/README-release: Improve typography slightly.
38109 2012-07-15  Jim Meyering  <meyering@redhat.com>
38111         maint: require that each sc_... command start with "@"
38112         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
38113         "make sc_maint" helps us avoid this nit.
38115 2012-07-15  Jim Meyering  <meyering@redhat.com>
38117         maint.mk: add leading "@" to quiet new "make syntax-check" rule
38118         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
38120 2012-07-13  Eric Blake  <eblake@redhat.com>
38122         maint.mk: new syntax check for HAVE_DECL checks
38123         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
38124         * cfg.mk
38125         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
38126         Exempt some false positives.
38127         Based on a report by Karel Zak.
38129         argp: make HAVE_DECL usage consistent
38130         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
38131         macros, not whether they are defined.
38132         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
38133         convention with other declaration checks.
38134         Reported by Karel Zak, with suggestions from Paul Eggert.
38136         stat-time: relax license to LGPLv2+
38137         * modules/stat-time (License): Relax, with consent of all authors.
38139         strndup: fix m4 usage error
38140         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
38141         defined, to either 0 or 1.
38142         Reported by Karel Zak.
38144 2012-07-11  Jim Meyering  <meyering@redhat.com>
38146         maint: enable the sc_avoid_if_before_free syntax-check rule
38147         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
38148         (if_before_free_offenders_): Define.
38149         (if_before_free_basename_re_): Define.
38150         Exempt current files with useless if-before-free.
38152 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
38154         gettext: do not assume '#define ... defined ...' behavior
38155         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
38156         Do not use '#define FOO ... defined BAR ...', as the C standard says
38157         it's not portable to expect that this works after macro expansion.
38158         Problem reported for gzip by Steven M. Schweda in
38159         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
38161 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
38163         getloadavg: clean out old Emacs and Autoconf cruft
38164         See Glenn Morris in <http://bugs.gnu.org/11905>.
38165         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
38166         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
38167         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
38168         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
38170 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
38172         bootstrap: let warn be like tests/init.sh's warn_
38173         Reported by Jim Meyering.
38174         * build-aux/bootstrap (warn): Remove, replaced by...
38175         (warnf_, warn_): these.
38176         Adjust callers.
38177         Shorten messages that no longer fit in 80 columns.
38179 2012-07-09  Bruno Haible  <bruno@clisp.org>
38181         getopt: Simplify after Emacs changed.
38182         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
38183         (gl_GETOPT_IFELSE): Remove macro.
38185 2012-07-09  Jim Meyering  <meyering@redhat.com>
38187         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
38188         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
38190         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
38191         Bugs in both of those conspired to make the
38192         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
38193         _sc_search_regexp's handling of non-empty $in_files would filter
38194         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
38195         choice of in_files value meant there would be no match in most
38196         projects, due to the presence of two or more Makefile.in files.
38197         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
38198         Fix a bug in how a non-empty $$in_files was processed:
38199         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
38200         in spite of the name, it's a regexp, not a list of file names.
38202 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
38204         getloadavg, getopt: fix commentary re configure.in
38205         Autoconf is deprecating the name 'configure.in', so change it to
38206         to the new name 'configure.ac' in a couple of places.
38207         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
38208         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
38209         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
38210         Emacs has renamed it to configure.ac, and it no longer refers
38211         to these macros anyway.
38213         timespec: mark functions with const attributes
38214         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
38215         Mark with _GL_ATTRIBUTE_CONST.
38217 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
38219         canonicalize[-lgpl]: handle "guessing" values when cross-building
38220         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
38221         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
38222         matches "*yes" instead of just "yes".  Regression introduced in commit
38223         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
38225 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
38226             Bruno Haible  <bruno@clisp.org>
38228         canonicalize: make the right guess when cross-compiling to GNU
38229         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
38230         determine whether cross-compiling to glibc systems, so as to
38231         include GNU/Hurd.
38233 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
38235         timespec-sub: avoid duplicate include
38236         * lib/timespec-sub.c: Do not include <config.h> twice.
38237         Reported by Juanma Barranquero.
38239 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
38241         bootstrap: use a more consistent error reporting scheme
38242         * build-aux/bootstrap (warn, die): New.
38243         Use them.
38245 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
38247         sys_time: allow too-wide tv_sec
38248         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
38249         timeval even if tv_sec is wider than time_t.  This allows
38250         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
38251         as without this patch gnulib replaces struct timeval
38252         and OpenBSD futimes therefore has a type mismatch.
38253         * doc/posix-headers/sys_time.texi: Mention this.
38255         pthread: check for both pthread_create and pthread_join
38256         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
38257         alter the check so that it tests for both pthread_create and
38258         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
38259         Suggested by Bruno Haible and Richard Yao in
38260         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
38262         parse-datetime: doc tuneup
38263         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
38264         spacing issues.
38266 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
38268         do-release-commit-and-tag: fix the previous commit
38269         * build-aux/do-release-commit-and-tag: Actually the test was right,
38270         but the comment and the error message were misleading.
38271         Fix comment, and improve error message.
38272         Perform check first, so that NEWS is not modified uselessly.
38274         do-release-commit-and-tag: fix typo
38275         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
38276         _not_ start with a stub.
38278 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
38280         pthread: check for pthread_create, not pthread_join
38281         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
38282         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
38283         pthread_join in libc.  I hope this removes the need for all the
38284         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
38285         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
38287 2012-07-04  Jim Meyering  <meyering@redhat.com>
38289         parse-datetime: fix failure to diagnose invalid input
38290         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
38291         rather than diagnosing the invalid input.  Now it reports this:
38292         date: invalid date '\260'
38293         * lib/parse-datetime.y (to_uchar): Define.
38294         (yylex): Don't sign-extend "other" bytes.
38295         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
38296         Thanks to Bruno Haible for the patch to this file.
38297         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
38298         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
38300 2012-07-03  Jim Meyering  <meyering@redhat.com>
38302         bootstrap: do not require now-removed build-aux/missing
38303         Now that build-aux/missing is, er, missing, bootstrap would
38304         silently fail.
38305         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
38306         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
38307         no longer part of gnulib.
38308         Diagnose the failure.
38310 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
38312         alloca: add support for HP NonStop TNS/E native
38313         * lib/alloca.in.h (alloca): Support the new host.
38314         From a suggestion by Joachim Schmitz in
38315         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
38317 2012-07-02  Pádraig Brady  <P@draigBrady.com>
38319         fsusage: remove code not needed on non GNU/Linux systems.
38321         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
38322         Don't include headers no longer needed in this case.
38323         * lib/fsusage.c [STAT_STATVFS &&
38324         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
38325         STAT_STATFS2_FRSIZE to exclude code not used in this case.
38327 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
38329         fsusage: include files needed for glibc 2.6 fallback
38330         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
38331         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
38332         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
38333         Problem reported by Ludovic Courtès in
38334         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
38336         fsusage: avoid needless check on GNU/Linux
38337         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
38338         on GNU/Linux systems, since it can't possibly work.
38340 2012-07-01  Bruno Haible  <bruno@clisp.org>
38342         log: Fix an autoconf >= 2.64 warning.
38343         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
38344         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
38346 2012-06-28  Bruno Haible  <bruno@clisp.org>
38348         log10f: Fix possible configuration problem.
38349         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
38350         $LOGF_LIBM.
38351         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
38353 2012-06-28  Bruno Haible  <bruno@clisp.org>
38355         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
38356         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
38357         not gl_cv_func_unlink_works.
38358         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
38360 2012-06-27  Eric Blake  <eblake@redhat.com>
38362         config: drop scripts that automake says are not independent
38363         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
38364         * build-aux/elisp-comp: Delete.
38365         * build-aux/missing: Likewise.
38366         * build-aux/ylwrap: Likewise.
38367         * modules/elisp-comp: Likewise.
38368         * MODULES.html.sh: Drop mention of elisp-comp.
38369         * NEWS: Mention this.
38371 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
38373         root-uid: new module
38374         This is for portability to Tandem's NonStop Kernel.
38375         * lib/root-uid.h, modules/root-uid: New files.
38376         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
38377         * lib/write-any-file.c, tests/test-sethostname2.c:
38378         Include "root-uid.h".
38379         * lib/euidaccess.c (euidaccess):
38380         * lib/pt_chown.c (main):
38381         * lib/unlinkdir.c (cannot_unlink_dir):
38382         * lib/write-any-file.c (can_write_any_file):
38383         * m4/mknod.m4 (gl_FUNC_MKNOD):
38384         * tests/test-sethostname2.c (geteuid, main):
38385         Don't assume ROOT_UID == 0.
38386         * modules/euidaccess (Depends-on):
38387         * modules/pt_chown (Depends-on):
38388         * modules/sethostname-tests (Depends-on):
38389         * modules/unlinkdir (Depends-on):
38390         * modules/write-any-file (Depends-on):
38391         Add root-uid.
38393         regex: use locale-independent comparison for codeset name
38394         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
38395         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
38396         for codeset name.
38397         * lib/regex_internal.h: Do not include <strings.h>, since we
38398         no longer use strcasecmp.
38399         * modules/regex (Depends-on): Remove strcase.
38401 2012-06-23  Bruno Haible  <bruno@clisp.org>
38403         getopt-posix: No longer guarantee that option processing is resettable.
38404         * doc/posix-functions/getopt.texi: Drop description of problem with
38405         internal state. Fix info about mingw and msvc9.
38406         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
38407         option processing by getopt(). Run three test programs instead of one.
38408         Simplify cross-compilation guess.
38409         * NEWS: Mention the change.
38410         Reported by Rich Felker <dalias@aerifal.cx>.
38412 2012-06-26  Bruno Haible  <bruno@clisp.org>
38414         argp, regex: Ensure strcasecmp gets declared.
38415         * lib/argp-help.c: Include <strings.h>.
38416         * lib/regex_internal.h: Likewise.
38417         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
38419 2012-06-24  Bruno Haible  <bruno@clisp.org>
38421         ptsname_r: Make it consistent with ptsname on AIX.
38422         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
38423         implementation as for OSF/1.
38424         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
38425         a pty master.
38427         ptsname_r: Make it consistent with ptsname on OSF/1.
38428         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
38429         OSF/1.
38431 2012-06-24  Bruno Haible  <bruno@clisp.org>
38433         ttyname_r: Fix result on OSF/1, Solaris.
38434         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
38436 2012-06-24  Bruno Haible  <bruno@clisp.org>
38438         ptsname_r: Add support for Solaris.
38439         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
38440         Solaris.
38442         ptsname_r: Fix test failure on native Windows.
38443         * modules/ptsname_r (Depends-on): Add isatty.
38445         ptsname_r: Fix test failures on IRIX, Solaris.
38446         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
38447         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
38448         accordingly.
38449         * lib/ptsname_r.c: Include <fcntl.h>.
38450         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
38451         set errno if fd is invalid.
38452         * tests/test-isatty.c (main): Update comments.
38454 2012-06-24  Bruno Haible  <bruno@clisp.org>
38456         ptsname test: Extend test.
38457         * tests/test-ptsname.c: Include <errno.h>.
38458         (main): Test behaviour with invalid file descriptor.
38460 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
38462         time: fix obsolete comment
38463         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
38464         reference to HAVE_STRUCT_TIMESPEC in comment.
38466 2012-06-23  Bruno Haible  <bruno@clisp.org>
38468         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
38469         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
38470         does not handle abbreviated long options with equivalent
38471         disambiguations, set gl_replace_getopt to yes.
38472         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
38474 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
38476         time_r: fix typo that always overrode localtime_r decl
38477         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
38478         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
38479         not in a standard include.
38481 2012-06-22  Bruno Haible  <bruno@clisp.org>
38483         Write "Mac OS X" instead of "MacOS X".
38484         * README: Write "Mac OS X" instead of "MacOS X".
38485         * build-aux/bootstrap: Likewise.
38486         * build-aux/install-reloc: Likewise.
38487         * lib/acl-internal.h: Likewise.
38488         * lib/acl_entries.c: Likewise.
38489         * lib/argp-ba.c: Likewise.
38490         * lib/argp-pv.c: Likewise.
38491         * lib/config.charset: Likewise.
38492         * lib/copy-acl.c: Likewise.
38493         * lib/csharpexec.c: Likewise.
38494         * lib/euidaccess.c: Likewise.
38495         * lib/fbufmode.c: Likewise.
38496         * lib/fflush.c: Likewise.
38497         * lib/file-has-acl.c: Likewise.
38498         * lib/filemode.h: Likewise.
38499         * lib/fpurge.c: Likewise.
38500         * lib/freadable.c: Likewise.
38501         * lib/freadahead.c: Likewise.
38502         * lib/freading.c: Likewise.
38503         * lib/freadptr.c: Likewise.
38504         * lib/freadseek.c: Likewise.
38505         * lib/fseeko.c: Likewise.
38506         * lib/fseterr.c: Likewise.
38507         * lib/fsusage.c: Likewise.
38508         * lib/fwritable.c: Likewise.
38509         * lib/fwriting.c: Likewise.
38510         * lib/get-rusage-as.c: Likewise.
38511         * lib/get-rusage-data.c: Likewise.
38512         * lib/getdomainname.c: Likewise.
38513         * lib/idpriv-drop.c: Likewise.
38514         * lib/idpriv-droptemp.c: Likewise.
38515         * lib/localcharset.c: Likewise.
38516         * lib/locale.in.h: Likewise.
38517         * lib/localename.c: Likewise.
38518         * lib/mbsrtowcs-state.c: Likewise.
38519         * lib/nproc.c: Likewise.
38520         * lib/passfd.c: Likewise.
38521         * lib/posix_openpt.c: Likewise.
38522         * lib/printf-parse.c: Likewise.
38523         * lib/progreloc.c: Likewise.
38524         * lib/safe-read.h: Likewise.
38525         * lib/safe-write.h: Likewise.
38526         * lib/sched.in.h: Likewise.
38527         * lib/set-mode-acl.c: Likewise.
38528         * lib/signal.in.h: Likewise.
38529         * lib/stdint.in.h: Likewise.
38530         * lib/stdio-impl.h: Likewise.
38531         * lib/stdlib.in.h: Likewise.
38532         * lib/strtod.c: Likewise.
38533         * lib/sys_select.in.h: Likewise.
38534         * lib/tcgetsid.c: Likewise.
38535         * lib/unistd.in.h: Likewise.
38536         * lib/unlockpt.c: Likewise.
38537         * lib/vasnprintf.c: Likewise.
38538         * lib/vma-iter.c: Likewise.
38539         * lib/wcsrtombs-state.c: Likewise.
38540         * m4/acl.m4: Likewise.
38541         * m4/acosl.m4: Likewise.
38542         * m4/asinl.m4: Likewise.
38543         * m4/atanl.m4: Likewise.
38544         * m4/c-stack.m4: Likewise.
38545         * m4/cosl.m4: Likewise.
38546         * m4/expl.m4: Likewise.
38547         * m4/extensions.m4: Likewise.
38548         * m4/fdatasync.m4: Likewise.
38549         * m4/fmal.m4: Likewise.
38550         * m4/frexp.m4: Likewise.
38551         * m4/frexpf.m4: Likewise.
38552         * m4/frexpl.m4: Likewise.
38553         * m4/fsusage.m4: Likewise.
38554         * m4/getdomainname.m4: Likewise.
38555         * m4/getloadavg.m4: Likewise.
38556         * m4/getopt.m4: Likewise.
38557         * m4/gettext.m4: Likewise.
38558         * m4/gnulib-common.m4: Likewise.
38559         * m4/intdiv0.m4: Likewise.
38560         * m4/intlmacosx.m4: Likewise.
38561         * m4/largefile.m4: Likewise.
38562         * m4/ldexpl.m4: Likewise.
38563         * m4/link-follow.m4: Likewise.
38564         * m4/locale-ar.m4: Likewise.
38565         * m4/locale-fr.m4: Likewise.
38566         * m4/locale-ja.m4: Likewise.
38567         * m4/locale-tr.m4: Likewise.
38568         * m4/locale-zh.m4: Likewise.
38569         * m4/locale_h.m4: Likewise.
38570         * m4/lock.m4: Likewise.
38571         * m4/logl.m4: Likewise.
38572         * m4/mathfunc.m4: Likewise.
38573         * m4/minus-zero.m4: Likewise.
38574         * m4/mktime.m4: Likewise.
38575         * m4/mmap-anon.m4: Likewise.
38576         * m4/multiarch.m4: Likewise.
38577         * m4/nanosleep.m4: Likewise.
38578         * m4/nocrash.m4: Likewise.
38579         * m4/poll.m4: Likewise.
38580         * m4/printf-frexpl.m4: Likewise.
38581         * m4/printf.m4: Likewise.
38582         * m4/signbit.m4: Likewise.
38583         * m4/sinl.m4: Likewise.
38584         * m4/sqrtl.m4: Likewise.
38585         * m4/strerror_r.m4: Likewise.
38586         * m4/tanl.m4: Likewise.
38587         * m4/threadlib.m4: Likewise.
38588         * m4/ttyname_r.m4: Likewise.
38589         * m4/unlink.m4: Likewise.
38590         * m4/visibility.m4: Likewise.
38591         * m4/wcwidth.m4: Likewise.
38592         * tests/minus-zero.h: Likewise.
38593         * tests/test-alloca-opt.c: Likewise.
38594         * tests/test-copy-acl.sh: Likewise.
38595         * tests/test-copy-file.sh: Likewise.
38596         * tests/test-fdatasync.c: Likewise.
38597         * tests/test-file-has-acl.sh: Likewise.
38598         * tests/test-flock.c: Likewise.
38599         * tests/test-fsync.c: Likewise.
38600         * tests/test-localename.c: Likewise.
38601         * tests/test-malloca.c: Likewise.
38602         * tests/test-nonblocking-pipe.h: Likewise.
38603         * tests/test-nonblocking-socket.h: Likewise.
38604         * tests/test-openpty.c: Likewise.
38605         * tests/test-posix_openpt.c: Likewise.
38606         * tests/test-ptsname.c: Likewise.
38607         * tests/test-ptsname_r.c: Likewise.
38608         * tests/test-sameacls.c: Likewise.
38609         * tests/test-select.h: Likewise.
38610         * tests/test-set-mode-acl.sh: Likewise.
38611         * tests/test-snprintf-posix.h: Likewise.
38612         * tests/test-sprintf-posix.h: Likewise.
38613         * tests/test-strtod.c: Likewise.
38614         * tests/test-time.c: Likewise.
38615         * tests/test-vasnprintf-posix.c: Likewise.
38616         * tests/test-vasprintf-posix.c: Likewise.
38617         * doc/acl-resources.txt: Likewise.
38618         * doc/**/*.texi: Likewise.
38619         Reported by Max Horn <max@quendi.de>.
38621 2012-06-22  Bruno Haible  <bruno@clisp.org>
38623         grantpt: Relax requirement regarding invalid file descriptors.
38624         * lib/grantpt.c: Don't include <fcntl.h>.
38625         (grantpt): Don't verify the validity of the file descriptor.
38626         * modules/grantpt (Depends-on): Remove fcntl-h.
38627         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
38628         file descriptors.
38629         * doc/posix-functions/grantpt.texi: Document more platforms on which
38630         grantpt succeeds for invalid file descriptors.
38631         Reported by Rich Felker <dalias@aerifal.cx>.
38633 2012-06-22  Bruno Haible  <bruno@clisp.org>
38635         fbufmode test: Don't test unportable behaviour.
38636         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
38637         (main): Invoke it three times.
38638         Reported by Szabolcs Nagy <nsz@port70.net>
38639         and Rich Felker <dalias@aerifal.cx>.
38641 2012-06-21  Bruno Haible  <bruno@clisp.org>
38643         gnulib-tool: Refactor inctests variable.
38644         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
38645         (func_modules_transitive_closure,
38646         func_modules_transitive_closure_separately,
38647         func_import, func_create_testdir): Update.
38649         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
38650         * gnulib-tool: Accept option --without-tests.
38651         (func_usage): Document --without-tests option. Rearrange.
38652         (inctests): Normalize according to the mode.
38653         * NEWS: Mention the change.
38654         Suggested by Simon Josefsson.
38656 2012-06-21  Bruce Korb  <bkorb@gnu.org>
38658         parse-duration test: Avoid spurious output.
38659         * tests/test-parse-duration.sh: Reindent with leading tabs.
38661 2012-06-21  Jim Meyering  <meyering@redhat.com>
38663         maint: disable the strncpy prohibition
38664         * cfg.mk: Do not prohibit strncpy here.
38666 2012-06-21  Bruno Haible  <bruno@clisp.org>
38668         nonblocking: Avoid compilation error on mingw64.
38669         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
38670         fscanf.
38671         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
38672         * modules/vfscanf (configure.ac): Likewise.
38673         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
38674         definition only if stdio.h has prepared it.
38675         Reported by Daniel P. Berrange <berrange@redhat.com>.
38677 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
38679         gnulib-tool: Use readlink if it is available.
38680         * gnulib-tool (func_readlink): Choose function more appropriately.
38682 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
38684         posixtm-tests: port to buggy compiler
38685         Problem reported by Simon Josefsson in
38686         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
38687         * modules/posixtm-tests (Depends-on): Add stdint.
38688         * tests/test-posixtm.c (struct posixtm_test.t_expected):
38689         Now of type int_least64_t, not int64_t, both because that's
38690         what INT64_C returns and because int_least64_t works even
38691         on 72-bit hosts.
38692         (T): Use INT64_C on constants outside the traditional int range,
38693         to work around compiler bug noted by Simon.
38695         mktime: fix integer overflow in 'configure'-time test
38696         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
38697         after integer overflow.  Problem reported by Rich Felker in
38698         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
38699         Also, don't look for further instances of a bug if we've already
38700         found one instance; this helps 'configure' run faster.
38702 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
38704         tmpfile, clean-temp: Fix invocation of GetVersionEx.
38705         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
38706         GetVersionEx correctly.
38707         * lib/clean-temp.c (supports_delete_on_close): Likewise.
38709 2012-06-20  Bruno Haible  <bruno@clisp.org>
38711         fdopen: Allow implementations that don't reject invalid fd arguments.
38712         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
38713         succeeds.
38714         Reported by Rich Felker <dalias@aerifal.cx>.
38716 2012-06-20  Simon Josefsson  <simon@josefsson.org>
38718         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
38719         bring in LIBINTL.
38721 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
38723         init.sh: do not rely on autoupated PWD
38724         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
38725         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
38726         Although Nelson's bug was not necessarily fixed by this patch,
38727         it seems wise to make the change for safety.
38728         * tests/init.sh (path_prepend_): Do not rely on PWD updating
38729         automagically after 'cd'; this is not reliable on older shells.
38730         (setup_): Fail if we cannot cd to temporary directory.
38732 2012-06-19  Bruno Haible  <bruno@clisp.org>
38734         stat, fstat: Avoid warnings on mingw64.
38735         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
38736         redefining.
38737         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
38738         Reported by Daniel P. Berrange <berrange@redhat.com>.
38740 2012-06-19  Bruno Haible  <bruno@clisp.org>
38742         stdioext: Add support for musl libc.
38744         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
38745         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
38747         * m4/fseterr.m4: New file.
38748         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
38749         function exists.
38750         * modules/fseterr (Files): Add m4/fseterr.m4.
38751         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
38752         __fseterr does not exist.
38753         (Makefile.am): Remove fseterr.c from lib_SOURCES.
38755         * lib/freadable.h: Update comment.
38757         * lib/fwritable.h: Update comment.
38759         * lib/freading.h: Update comment.
38761         * lib/fwriting.h: Update comment.
38763         * m4/freadahead.m4: New file.
38764         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
38765         that function exists.
38766         * modules/freadahead (Files): Add m4/freadahead.m4.
38767         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
38768         __freadahead does not exist.
38769         (Makefile.am): Remove freadahead.c from lib_SOURCES.
38771         * m4/freadptr.m4: New file.
38772         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
38773         function exists.
38774         * modules/freadptr (Files): Add m4/freadptr.m4.
38775         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
38776         __freadptr does not exist.
38777         (Makefile.am): Remove freadptr.c from lib_SOURCES.
38779         * m4/freadseek.m4: New file.
38780         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
38781         exists.
38782         * modules/freadseek (Files): Add m4/freadseek.m4.
38783         (configure.ac): Invoke gl_FUNC_FREADSEEK.
38785         * lib/fpurge.c (fpurge): Update comment.
38787         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
38789 2012-06-19  Bruno Haible  <bruno@clisp.org>
38791         *printf-posix: Put more info into config.log.
38792         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
38793         exit code into config.log.
38795 2012-06-19  Bruno Haible  <bruno@clisp.org>
38797         getopt-gnu: Fix exit code overflow in autoconf test.
38798         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
38799         to keep them below < 128.
38801 2012-06-17  Jim Meyering  <meyering@redhat.com>
38803         maint.mk: fix typo in code to derive GPG key at release time
38804         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
38806 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
38808         regex: avoid warning when pointers are not long
38809         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
38810         and uintptr_t, not long, for portability to hosts where pointers and
38811         long have different sizes.  Issue noted by Daniel P. Berrange in
38812         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
38813         and fix suggested by Bruno Haible in
38814         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
38816 2012-06-17  Bruno Haible  <bruno@clisp.org>
38818         dummy: Relicense into the public domain.
38819         * modules/dummy (License): Set to "public domain".
38820         Suggested by Reuben Thomas.
38822 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
38824         announce-gen: VPATH issues
38825         * build-aux/announce-gen (--srcdir): New option, used to trim the
38826         $srcdir part of the path from $builddir to NEWS.
38827         * top/maint.mk (announcement): Adjust.
38829 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
38831         gnu-web-doc-update: VPATH builds
38832         * build-aux/gnu-web-doc-update (--builddir): New option.
38833         Revamp the handling of options.
38834         Prefer $(...) to `...`.
38835         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
38836         the template, and it is GNU mktemp specific.
38837         Prefer set -e to long series of &&.
38838         Restore the initial git branch, not "master".
38839         Properly initialize submodules (don't rely only on bootstrap).
38840         Do not reconfigure blindly, use config.status.
38841         * top/README-release: Update instructions for gnu-web-doc-update.
38843 2012-06-11  Jim Meyering  <meyering@redhat.com>
38845         maint.mk: revert most of the previous change re "all these"
38846         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
38847         For rationale, see the discussion at
38848         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
38850 2012-06-10  Karl Berry  <karl@gnu.org>
38852         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
38854         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
38856 2012-06-10  Bruce Korb  <bkorb@gnu.org>
38858         parse-duration: Relicense under LGPLv2+.
38859         * modules/parse-duration (License): Change to LGPLv2+.
38861 2012-06-10  Jim Meyering  <meyering@redhat.com>
38863         maint.mk: prohibit common grammar error: "all these"
38864         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
38865         the list of prohibited word sequences.  It should be "all of these".
38866         * lib/tempname.c (__gen_tempname): Fix one of them.
38868 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
38870         do-release-commit-and-tag: support VPATH builds
38871         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
38872         (noteworthy): Defined earlier to factor its value.
38873         (noteworthy_stub): New.
38874         Use it to factor.
38875         (help_version): Split into...
38876         (help, version): these.
38877         Adjust the option processing part.
38878         Support "--option=value" in addition to "--option value".
38879         (builddir): New.
38880         (--builddir): New option.
38881         * top/README-release: Document this.
38882         Reword slightly so that the reader cannot understand that he
38883         has to do these steps before calling do-release-commit-and-tag.
38885 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
38887         readme-release: also require announce-gen and maintainer-makefile
38888         * modules/readme-release (Depends-on): here.
38889         * modules/announce-gen, modules/do-release-commit-and-tag,
38890         modules/gnu-web-doc-update, modules/maintainer-makefile
38891         (Description): Point to readme-release.
38893 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
38895         maint.mk: fix VPATH issues.
38896         * top/maint.mk (news-check): GNU Make understand $< very well.
38897         (release-prep): NEWS is in $(srcdir).
38899 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
38901         readme-release: require the promoted modules.
38902         * modules/readme-release (Depends-on): Add
38903         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
38904         in this text.
38906 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
38907             Bruno Haible  <bruno@clisp.org>
38909         error, strerror-override: Support mingw64 from Fedora 17.
38910         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
38911         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
38912         EINPROGRESS.
38913         * lib/strerror-override.h (strerror_override): Test it.
38914         * lib/strerror-override.c (strerror_override): Likewise.
38915         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
38917 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
38918             Bruno Haible  <bruno@clisp.org>
38920         error, strerror-override: Support mingw64 from Fedora 17.
38921         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
38922         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
38923         * lib/strerror-override.h (strerror_override): Test it.
38924         * lib/strerror-override.c (strerror_override): Likewise.
38926 2012-06-03  Bruno Haible  <bruno@clisp.org>
38928         error, strerror-override: Support new errno values from POSIX:2008.
38929         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
38930         ENOTRECOVERABLE.
38931         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
38932         platforms.
38933         * lib/strerror-override.c (strerror_override): Conditionalize the
38934         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
38935         * lib/strerror-override.h (strerror_override): Declare also if
38936         GNULIB_defined_EOWNERDEAD is defined.
38937         * tests/test-errno.c (e130, e131): New variables.
38938         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
38939         ENOTRECOVERABLE.
38940         Reported by Paolo Bonzini.
38942 2012-05-31  Jim Meyering  <meyering@redhat.com>
38944         savewd: add missing dependency on sys_wait module
38945         * modules/savewd (Depends-on): Add sys_wait, needed at least
38946         for MSVC.  Report and suggested change by Michael Goffioul.
38948 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
38950         system-quote-tests: port to CentOS 5
38951         Problem reported by Tom G. Christensen in
38952         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
38953         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
38955 2012-05-29  Jim Meyering  <meyering@redhat.com>
38957         maint: fix typos in comments and ChangeLog
38958         Culprits identified and fixed mostly automatically using these commands:
38959         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
38960         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
38961         using http://github.com/lyda/misspell-check
38962         * ChangeLog: Fix typos.
38963         * doc/solaris-versions: Likewise.
38964         * lib/regexec.c (re_search_stub): Likewise.
38965         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
38967 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
38969         manywarnings: remove duplicate -Wmultichar entry
38970         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
38971         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
38972         so keep the entry marked as documented.
38974 2012-05-27  Karl Berry  <karl@gnu.org>
38976         * config/srclist.txt (mktime.c): remove last libc sync,
38977         perhaps just temporarily.
38979 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
38981         regex: don't assume uint64_t or uint32_t
38982         * lib/regcomp.c (init_word_char): Don't assume that the types
38983         uint64_t and uint32_t exist.  The C standard doesn't guarantee
38984         them, and on some 32-bit compilers there is no uint64_t.
38985         Problem reported by Gianluigi Tiesi in
38986         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
38988 2012-05-25  Jim Meyering  <meyering@redhat.com>
38990         maint.mk: add strncpy-prohibiting syntax-check rule
38991         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
38993 2012-05-24  Jim Meyering  <meyering@redhat.com>
38995         maint.mk: compute $(gpg_key_ID) more portably
38996         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
38997         That use of sed is not portable to some fringe systems.
38998         Reported by Paul Eggert in
38999         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
39001 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
39003         mktime: sync from glibc
39004         * config/srclist.txt: Uncomment mktime.c.
39005         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
39006         First, indent with tabs, since glibc uses tabs and doesn't want to
39007         change and we'd rather be identical to glibc.  Also, two small
39008         coding changes:
39009         (isdst_differ): Use &&, not &, as && is the usual style.
39010         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
39011         for clarity.
39013 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39015         announce-gen: du -h is more portable than du --human
39016         * build-aux/announce-gen (sizes): Invoke du with -h instead
39017         of --human.  Accept leading white space in its output.
39019 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39021         announce-gen: Improve diagnostics.
39022         * build-aux/announce-gen: When parsing command line options,
39023         prefer "announce-gen: option --release-type requires an argument"
39024         to "Option release-type requires an argument".
39026 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39028         maint.mk: gpg_key_ID: use sed more portably
39029         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
39030         the closing brace.
39031         (refresh-po): Fuse two sed invocations into one.
39033 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
39035         gitlog-to-changelog: support the log message format used in Bison.
39036         * build-aux/gitlog-to-changelog: Support --strip-tab and
39037         --strip-cherry-picked.
39039 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39041         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
39042         the rest of the current time slice to another thread in the current
39043         process. So if the thread that feeds the file decscriptor we're
39044         polling is not in the current process, we get busy-waiting.
39045         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
39046         Patch from Theodore Leblond.
39047         * lib/select.c: Split polling out of the loop that sets the output
39048         fd_sets.  Check for zero result and loop if the wait timeout is
39049         infinite.
39051 2012-05-21  Simon Josefsson  <simon@josefsson.org>
39053         select: Fix build error on IRIX 6.5.
39054         * lib/select.c: Include stddef.h for NULL.
39056 2012-05-21  Simon Josefsson  <simon@josefsson.org>
39058         gc: fix libgcrypt detection on older machines.
39059         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
39060         copyright years because the file has been distributed every year
39061         since it was created.
39063 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39065         crypto: fix bug in large buffer handling
39066         Problem reported by Serge Belyshev for glibc in
39067         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
39068         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
39069         * lib/md4.c (md4_process_block):
39070         * lib/md5.c (md5_process_block):
39071         * lib/sha1.c (sha1_process_block):
39072         * lib/sha256.c (sha256_process_block):
39073         Don't assume the buffer length is less than 2**32.
39074         * lib/sha512.c (sha512_process_block): Likewise.
39075         Here, the bug is present only in the rare case where the host does
39076         not support uint64_t or where size_t is wider than 64 bits.
39077         Use u64size to work around the problems.
39078         * lib/u64.h (u64size): New macro.
39080 2012-05-15  Pádraig Brady  <P@draigBrady.com>
39082         fsusage: fix block size returned on older Linux 2.6
39084         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
39085         which is available since Linux 2.6.
39086         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
39087         when the member is available so it can be used as a fallback.
39088         * doc/posix-functions/statvfs.texi: Mention the hang issue
39089         on Linux < 2.6.36.
39091 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
39093         bootstrap: suppress stderr chatter
39094         * build-aux/bootstrap (insert_sorted_if_absent, main program):
39095         Omit unnecessary chatter to stderr.  The main program chatter
39096         was there only inadvertantly.
39098         bootstrap: .gitignore files created by autopoint, libtool
39099         I ran into this problem when bootstrapping the latest diffutils.
39100         After './bootstrap', 'git status' reported lots of untracked files
39101         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
39102         autopoint and do not need to be version-controlled.
39103         * build-aux/bootstrap: Put into .gitignore the files that
39104         autopoint and libtool create, by keeping track of files that exist
39105         after but not before these programs are run.
39106         (version_controlled_file): Move up.  2nd arg is now full file
39107         name, not base name; this is more convenient.  Put CVS at the end,
39108         as it's now somewhat deprecated.
39110 2012-05-14  Jim Meyering  <meyering@redhat.com>
39112         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
39113         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
39114         definition.  Reported by Bruno Haible.
39116 2012-05-13  Bruno Haible  <bruno@clisp.org>
39117             Paul Eggert  <eggert@cs.ucla.edu>
39119         binary-io: Define set_binary_mode function.
39120         * lib/binary-io.h (set_binary_mode): New function.
39121         (SET_BINARY): Define in terms of set_binary_mode.
39122         * modules/binary-io (configure.ac): Require AC_C_INLINE.
39123         * tests/test-binary-io.c (main): Accept an argument, and test either
39124         set_binary_mode or SET_BINARY depending on the argument.
39125         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
39126         argument. Clean up also t-bin-out0.tmp.
39128 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
39130         bootstrap: take advantage of POSIX shell features
39132         The 'bootstrap' script offered by Gnulib script already uses POSIX
39133         shell features (like $((...)) arithmetic expansions) that are not
39134         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
39135         means that bootstrap must already be run using a proper POSIX shell,
39136         which will thus provide more features, like ${var#pattern} parameter
39137         expansion or inversion of a command exit status with '!'.  We can
39138         thus use these features to improve the clarity and the performances
39139         of the bootstrap script.
39141         Suggested by Eric Blake.
39143         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
39144         of sed/expr plus command substitutions, to save some forks.  While
39145         we are at it, prefer the POSIX $(...) form of command substitution,
39146         rather than the legacy form `...` (since the former is visually
39147         clearer and interacts better with quoting), and prefer the idiom:
39148           "if ! CMD; then ACTION ..."
39149         over the idiom:
39150           "if CMD; then :; else ACTION ..."
39151         which was required by legacy Bourne shells not supporting '!'.
39153 2012-05-12  Bruno Haible  <bruno@clisp.org>
39155         system-quote: Add more comments.
39156         * lib/system-quote.h: Add more comments about wilcards and limitations.
39157         Suggested by Eli Zaretskii <eliz@gnu.org>.
39159         sh-quote, system-quote: Add comments about wildcards.
39160         * lib/sh-quote.h: Clarify what happens with wildcard characters.
39161         * lib/system-quote.h: Likewise.
39162         Reported by Eli Zaretskii <eliz@gnu.org>.
39164 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
39166         fsusage: check for GNU/Linux statvfs problem dynamically
39167         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
39168         Define STAT_STATFS2_BSIZE too, since in this case the code now
39169         checks dynamically whether statvfs is reliable, falling back on
39170         Linux-style statfs otherwise.
39171         (statvfs_works): New function, for dynamically testing statvfs.
39172         (get_fs_usage) [STAT_STATVFS]: Use it.
39173         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
39174         statvfs on GNU/Linux hosts, since it's now done dynamically.
39176 2012-05-10  Bruno Haible  <bruno@clisp.org>
39178         system-quote, execute, spawn-pipe: Escape '?' on Windows.
39179         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
39180         '?' character.
39181         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
39182         * tests/test-system-quote-main.c (check_all): Check also strings like
39183         "??????????".
39184         Reported by Eli Zaretskii <eliz@gnu.org>.
39186 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
39188         _Noreturn: port config.h to gcc -Wundef
39189         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
39190         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
39191         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
39193 2012-05-10  Bruno Haible  <bruno@clisp.org>
39195         system-quote: Refactor.
39196         * lib/system-quote.h (system_quote_copy): Fix comment.
39197         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
39198         New functions, extracted from system_quote_copy.
39199         (system_quote_length, system_quote_copy): Use these functions.
39200         Reported by Paul Eggert.
39202 2012-05-08  Bruno Haible  <bruno@clisp.org>
39204         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
39205         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
39207 2012-05-08  Bruno Haible  <bruno@clisp.org>
39209         Tests for module 'system-quote'.
39210         * modules/system-quote-tests: New file.
39211         * tests/test-system-quote.sh: New file.
39212         * tests/test-system-quote-main.c: New file.
39213         * tests/test-system-quote-child.c: New file.
39215         New module 'system-quote'.
39216         * lib/system-quote.h: New file.
39217         * lib/system-quote.c: New file.
39218         * modules/system-quote: New file.
39220 2012-05-08  Bruno Haible  <bruno@clisp.org>
39222         sh-quote: Make C++ safe and allow multiple inclusion.
39223         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
39224         declarations in extern "C".
39226 2012-05-08  Bruno Haible  <bruno@clisp.org>
39228         sh-quote tests: Make tests stricter.
39229         * tests/test-sh-quote.c (check_one): Check the return value of
39230         shell_quote_copy.
39231         (main): Check a string with a CR character. Check a string that
39232         contains UCHAR_MAX.
39234 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
39236         warnings.m4: provide a means to specify the program to compile.
39237         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
39238         (gl_WARN_ADD): here.
39239         Use gl_AS_VAR_APPEND.
39240         Support an argument to specify the program to compile.
39241         (gl_WARN_ADD): Accept an argument to specify the program to compile.
39242         AC_SUBST the WARN_CFLAGS when they are used.
39243         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
39244         leave this to gl_WARN_ADD.
39246 2012-05-08  Eric Blake  <eblake@redhat.com>
39248         doc: recommendations on gettext version
39249         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
39250         choice between versions.
39251         * DEPENDENCIES (gettext): Cover both approaches.
39253 2012-05-08  Jim Meyering  <meyering@redhat.com>
39255         init.sh: explain why EXEEXT support uses aliases rather than functions
39256         * tests/init.sh: Add a comment.
39258         init.sh: don't let bash aliases interfere with tests
39259         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
39260         is bash.  This avoids problems for those who alias standard commands to
39261         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
39262         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
39264 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
39266         stdint: be more consistent with glibc, SunOS libc
39267         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
39268         (gl_int_fast16_t, gl_uint_fast16_t)
39269         (gl_int_fast32_t, gl_uint_fast32_t)
39270         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
39271         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
39272         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
39273         Be consistent with glibc by default, and with SunOS 5.10 and later
39274         if __sun is defined.  This lessens the likelihood of clashes if
39275         code compiled for older hosts is combined with code compiled for
39276         newer ones.  Problem reported by Niels Möller in
39277         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
39279 2012-05-07  Eric Blake  <eblake@redhat.com>
39281         isatty: relax license to LGPLv2+
39282         * modules/isatty (License): Relax license.
39284 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
39286         stat-size: comment fix
39287         * lib/stat-size.h: Remove obsolete comment about indenting.
39289 2012-05-06  Bruno Haible  <bruno@clisp.org>
39291         Tests for module 'sh-quote'.
39292         * modules/sh-quote-tests: New file.
39293         * tests/test-sh-quote.c: New file.
39295 2012-05-06  Bruno Haible  <bruno@clisp.org>
39297         sh-quote: Improve shell_quote_argv's signature.
39298         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
39299         * lib/sh-quote.c (shell_quote_argv): Likewise.
39301 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
39303         stdint: document issues with int_fast8_t etc.
39304         * doc/posix-headers/stdint.texi (stdint.h): Say that other
39305         stdint.h substitutes may define these types differently.  See
39306         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
39308 2012-05-05  Bruno Haible  <bruno@clisp.org>
39310         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
39311         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
39312         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
39313         or 'guessing no (mishandles large arguments)'.
39315 2012-05-05  Bruno Haible  <bruno@clisp.org>
39317         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
39318         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
39319         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
39320         set gl_cv_func_link_follows_symlink to "guessing no".
39322 2012-05-05  Bruno Haible  <bruno@clisp.org>
39324         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
39325         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
39326         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
39327         "guessing no".
39328         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
39330 2012-05-05  Bruno Haible  <bruno@clisp.org>
39332         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
39333         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
39334         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
39335         set gl_cv_struct_dirent_d_ino to "guessing yes".
39337 2012-05-05  Bruno Haible  <bruno@clisp.org>
39339         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
39340         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
39341         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
39342         "guessing yes".
39344 2012-05-05  Bruno Haible  <bruno@clisp.org>
39346         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
39347         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
39348         compiling to a glibc system, set gl_cv_func_signbit and
39349         gl_cv_func_signbit_gcc to "guessing yes".
39351 2012-05-05  Bruno Haible  <bruno@clisp.org>
39353         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
39354         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
39355         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
39356         to "guessing yes".
39357         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
39358         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
39360 2012-05-05  Bruno Haible  <bruno@clisp.org>
39362         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
39363         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
39364         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
39365         gl_cv_func_realpath_works to "guessing yes".
39367 2012-05-05  Bruno Haible  <bruno@clisp.org>
39369         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
39370         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
39371         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
39373 2012-05-04  Bruno Haible  <bruno@clisp.org>
39375         Tweak last commit.
39376         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
39377         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
39379 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
39381         unistd_h: make it easier to avoid sys_types_h
39382         This is useful for Emacs, which has its own method of porting to
39383         Windows, and which therefore does not need the sys_types_h module.
39384         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
39385         code moved here from gl_SYS_TYPES_H.
39386         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
39387         using the code directly.
39388         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
39389         gl_SYS_TYPES_H.
39390         * modules/sys_types (Files):
39391         * modules/unistd (Files): Add m4/off_t.m4.
39393 2012-05-03  Bruno Haible  <bruno@clisp.org>
39395         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
39396         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
39397         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
39398         "guessing yes" or "guessing no".
39399         (gl_FUNC_LSTAT): Update.
39400         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
39401         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
39402         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
39404 2012-05-03  Bruno Haible  <bruno@clisp.org>
39406         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
39407         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
39408         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
39409         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
39410         cross-compiling, choose the first alternative on glibc systems.
39411         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
39413 2012-05-03  Bruno Haible  <bruno@clisp.org>
39415         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
39416         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
39417         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
39419 2012-05-03  Bruno Haible  <bruno@clisp.org>
39421         chown: Avoid "guessing no" when cross-compiling to glibc systems.
39422         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
39424 2012-05-03  Bruno Haible  <bruno@clisp.org>
39426         Avoid "guessing no" guesses when cross-compiling to glibc systems.
39427         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
39428         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
39429         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
39430         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
39431         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
39432         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
39433         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
39434         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
39435         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
39436         compiling to glibc systems, set gl_cv_func_chown_slash_works,
39437         gl_cv_func_chown_ctime_works to "guessing yes".
39438         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
39439         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
39440         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
39441         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
39442         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
39443         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
39444         compiling to glibc systems, set gl_cv_func_open_directory_works to
39445         "guessing yes".
39446         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
39447         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
39448         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
39449         "guessing yes".
39450         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
39451         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
39452         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
39453         compiling to glibc systems, set gl_cv_func_floorf_ieee to
39454         "guessing yes".
39455         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
39456         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
39457         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
39458         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
39459         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
39460         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
39461         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
39462         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
39463         "guessing yes".
39464         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
39465         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
39466         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
39467         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
39468         "guessing yes".
39469         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
39470         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
39471         "guessing yes".
39472         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
39473         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
39474         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
39475         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
39476         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
39477         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
39478         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
39479         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
39480         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
39481         compiling to glibc systems, set gl_cv_func_log10f_ieee to
39482         "guessing yes".
39483         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
39484         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
39485         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
39486         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
39487         "guessing yes".
39488         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
39489         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
39490         "guessing yes".
39491         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
39492         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
39493         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
39494         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
39495         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
39496         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
39497         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
39498         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
39499         compiling to glibc systems, set gl_cv_func_mkfifo_works to
39500         "guessing yes".
39501         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
39502         compiling to glibc systems, set gl_cv_func_mknod_works to
39503         "guessing yes".
39504         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
39505         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
39506         "guessing yes".
39507         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
39508         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
39509         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
39510         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
39511         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
39512         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
39513         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
39514         compiling to glibc systems, set gl_cv_func_svid_putenv to
39515         "guessing yes".
39516         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
39517         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
39518         "guessing yes".
39519         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
39520         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
39521         "guessing yes".
39522         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
39523         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
39524         to "guessing yes".
39525         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
39526         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
39527         to "guessing yes".
39528         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
39529         compiling to glibc systems, set gl_cv_func_rmdir_works to
39530         "guessing yes".
39531         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
39532         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
39533         gl_cv_func_unlink_parent_fails to "guessing yes".
39534         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
39535         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
39536         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
39537         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
39538         gl_cv_func_rename_dest_works to "guessing yes".
39539         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
39540         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
39541         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
39542         compiling to glibc systems, set gl_cv_func_roundf_ieee to
39543         "guessing yes".
39544         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
39545         compiling to glibc systems, set gl_cv_func_roundl_ieee to
39546         "guessing yes".
39547         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
39548         compiling to glibc systems, set gl_cv_func_setenv_works to
39549         "guessing yes".
39550         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
39551         compiling to glibc systems, set gl_cv_func_unsetenv_works to
39552         "guessing yes".
39553         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
39554         compiling to glibc systems, set gl_cv_func_sleep_works to
39555         "guessing yes".
39556         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
39557         compiling to glibc systems, set gl_cv_func_stat_file_slash to
39558         "guessing yes".
39559         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
39560         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
39561         "guessing yes".
39562         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
39563         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
39564         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
39565         compiling to glibc systems, set gl_cv_func_truncf_ieee to
39566         "guessing yes".
39567         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
39568         compiling to glibc systems, set gl_cv_func_truncl_ieee to
39569         "guessing yes".
39570         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
39571         compiling to glibc systems, set gl_cv_func_usleep_works to
39572         "guessing yes".
39573         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
39574         compiling to glibc systems, set gl_cv_func_futimesat_works to
39575         "guessing yes".
39577 2012-05-03  Bruno Haible  <bruno@clisp.org>
39579         Say "guessing yes" or "guessing no" when cross-compiling.
39580         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
39581         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
39582         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
39583         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
39584         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
39585         am_cv_func_working_getline to "guessing yes" or "guessing no".
39586         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
39587         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
39588         (gl_FUNC_MEMMEM): When cross-compiling, set
39589         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
39590         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
39591         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
39592         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
39593         set gl_cv_func_strcasestr_works_always to "guessing yes" or
39594         "guessing no".
39595         (gl_FUNC_STRCASESTR): When cross-compiling, set
39596         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
39597         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
39598         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
39599         (gl_FUNC_STRSTR): When cross-compiling, set
39600         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
39601         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
39602         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
39603         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
39604         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
39606 2012-05-01  Bruno Haible  <bruno@clisp.org>
39608         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
39609         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
39610         * build-aux/reloc-ldflags: Likewise.
39611         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
39613 2012-05-01  Bruno Haible  <bruno@clisp.org>
39615         gnulib-tool: Remove transitional code.
39616         * gnulib-tool: Don't warn about --import with 0 arguments any more.
39617         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
39619 2012-05-01  Bruno Haible  <bruno@clisp.org>
39621         getcwd: Fix misindentation.
39622         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
39624 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
39626         exclude: process exclude and include directives in order
39627         This restores the pre-2009 behavior, and is part of a fix of a
39628         grep bug reported by Quentin Arce in
39629         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
39630         * lib/exclude.c (struct exclude): Remove 'tail' member.
39631         (new_exclude_segment): Prepend the new segment instead of appending.
39632         Return void, since that's now more convenient.
39633         (file_pattern_matches): Renamed from excluded_file_pattern_p.
39634         (file_name_matches): Renamed from excluded_file_name_p.
39635         (file_pattern_matches, file_name_matches):
39636         Return true if the pattern matches, not if it excludes.
39637         All callers changed.
39638         (excluded_file_name): Process the list in reverse order;
39639         since the list is now reversed this restores the pre-2009 behavior.
39640         (add_exclude): Adjust to new reversed-order list.  Use local var
39641         rather than macro, for clarity.
39642         * tests/test-exclude7.sh: Adjust to corrected behavior.
39644         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
39645         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
39646         it's not possible here.  Handle the case of \ at end of pattern
39647         without dumping core.
39648         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
39650         _Noreturn: future-proof non-GNU and non-MSVC compilers
39651         * build-aux/snippet/_Noreturn.h (_Noreturn):
39652         * m4/gnulib-common.m4 (gl_COMMON_BODY):
39653         Do not define _Noreturn if __STDC_VERSION__ indicates this is
39654         C11 or later.  This is more likely to work with random future C
39655         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
39656         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
39658         exclude: handle wildcards with FNM_EXTMATCH
39659         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
39660         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
39661         comment that "has wildcards" really means "has or may have
39662         wildcards".  Simplify by avoiding the need to call strcspn.
39664 2012-04-29  Bruno Haible  <bruno@clisp.org>
39666         gnulib-tool: Fix list of authors.
39667         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
39669 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
39671         bootstrap: support Automake-NG in $buildreq
39672         * bootstrap (check_versions): Handle automake and aclocal from
39673         Automake-NG specially.  They can be specified as respectively
39674         the "automake-ng" and "aclocal-ng" requirements.
39676 2012-04-25  Eric Blake  <eblake@redhat.com>
39678         bootstrap: only force latest Makefile.in.in for gettext module
39679         * build-aux/bootstrap (with_gettext): Only install latest
39680         Makefile.in.in for projects requesting bleeding edge gettext.
39682 2012-04-22  Bruno Haible  <bruno@clisp.org>
39684         doc: Mention reason for replacement on glibc/Linux systems.
39685         * doc/posix-functions/dprintf.texi: Mention the problem with special
39686         'long double' values.
39687         * doc/posix-functions/fprintf.texi: Likewise.
39688         * doc/posix-functions/printf.texi: Likewise.
39689         * doc/posix-functions/snprintf.texi: Likewise.
39690         * doc/posix-functions/sprintf.texi: Likewise.
39691         * doc/posix-functions/vdprintf.texi: Likewise.
39692         * doc/posix-functions/vfprintf.texi: Likewise.
39693         * doc/posix-functions/vprintf.texi: Likewise.
39694         * doc/posix-functions/vsnprintf.texi: Likewise.
39695         * doc/posix-functions/vsprintf.texi: Likewise.
39696         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
39697         platforms with F_DUPFD_CLOEXEC problems.
39698         * doc/posix-functions/glob.texi: Mention which platforms are affected
39699         by the problem with symbolic links.
39700         * doc/posix-functions/linkat.texi: Mention the problem with
39701         AT_SYMLINK_FOLLOW on Linux.
39703 2012-04-22  Bruno Haible  <bruno@clisp.org>
39705         pwrite: Don't replace on all platforms.
39706         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
39708 2012-04-22  Bruno Haible  <bruno@clisp.org>
39710         rint* tests: Avoid gcc warnings.
39711         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
39712         * tests/test-rintf.c (INFINITY, NAN): Likewise.
39713         * tests/test-rintl.c (INFINITY, NAN): Likewise.
39715 2012-04-21  Bruno Haible  <bruno@clisp.org>
39717         users.txt: Update.
39718         * users.txt: Add freedink, wdiff. Update URLs for projects that have
39719         switched from CVS to git, bzr, or svn.
39721 2012-04-21  Bruno Haible  <bruno@clisp.org>
39723         Large File Support for native Windows platforms.
39725         * m4/largefile.m4 (gl_LARGEFILE): New macro.
39726         * modules/largefile (configure.ac): Require gl_LARGEFILE.
39728         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
39729         type.
39730         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
39731         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
39732         * doc/posix-headers/sys_types.texi: Mention the effect of the
39733         'largefile' module.
39735         * lib/fcntl.in.h: Add comments about off_t.
39736         * modules/fcntl-h (Depends-on): Add sys_types.
39738         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
39739         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
39740         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
39741         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
39742         * modules/unistd (Depends-on): Add sys_types.
39743         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
39745         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
39746         instead of lseek.
39747         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
39748         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
39749         * modules/lseek (Depends-on): Add sys_types.
39751         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
39752         msvc-nothrow.h.
39753         (SetFileSize): New function.
39754         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
39755         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
39756         if Large File Support is requested.
39757         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
39758         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
39760         * lib/stdio.in.h: Add comments about off_t.
39761         * modules/stdio (Depends-on): Add sys_types.
39763         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
39764         instead of ftello.
39765         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
39766         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
39767         (gl_PREREQ_FTELLO): New macro.
39768         * modules/ftello (Depends-on): Add sys_types.
39769         (configure.ac): Incoke gl_PREREQ_FTELLO.
39771         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
39772         instead of fseeko.
39773         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
39774         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
39775         (gl_PREREQ_FSEEKO): New macro.
39776         * modules/fseeko (Depends-on): Add sys_types.
39777         (configure.ac): Invoke gl_PREREQ_FSEEKO.
39779         * lib/sys_stat.in.h: Add comments about off_t.
39780         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
39781         64-bit integer for st_size in 'struct stat'.
39782         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
39783         Define _GL_WINDOWS_64_BIT_ST_SIZE.
39784         * modules/sys_stat (Depends-on): Add sys_types.
39785         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
39787         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
39788         instead of stat or _stat.
39790         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
39791         'struct _stati64' instead of fstat and 'struct stat'.
39792         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
39793         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
39795         Reported by Ray Satiro <raysatiro@yahoo.com>.
39797 2012-04-19  Eric Blake  <eblake@redhat.com>
39799         bootstrap: accommodate older libtool
39800         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
39801         Reported by Daniel P. Berrange.
39803 2012-04-19  Jim Meyering  <meyering@redhat.com>
39805         announce-gen: avoid failure due to lack of Digest::SHA1
39806         Even with the preferred Digest::SHA available, this script
39807         would fail when the backup module, Digest::SHA1, was not installed.
39808         * build-aux/announce-gen: Quote the conditional use of "use".
39809         Reported by Reuben Thomas in:
39810         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
39812         bootstrap: don't let a user's CDPATH setting affect this script
39813         When CDPATH is set, cd will sometimes generate output.
39814         When "cd" is run in a subshell whose output matters, that
39815         surprising-to-some output can cause malfunction.
39816         Unsetting CDPATH turns off this shell "feature."
39817         * build-aux/bootstrap (CDPATH): Unset.
39818         Reported by Reuben Thomas in:
39819         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
39820         and inspired by his patch here:
39821         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
39823 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
39824         and Jim Meyering  <meyering@redhat.com>
39826         maint.mk: catch "see @xref{}" and similar
39827         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
39828         prohibit "See also @xref{", "Also see @pxref{", and similar.
39830 2012-04-16  Jim Meyering  <meyering@redhat.com>
39832         bootstrap: really use gnulib's po/Makefile.in.in
39833         * build-aux/bootstrap: Correct the source file name in previous change.
39834         Reported by Akim Demaille.
39836         configmake: correct minor inconsistency in Makefile rule
39837         * modules/configmake (Makefile.am): All other rules like this one
39838         run the final "mv -f ..." in the same backslash-continued command
39839         as the one that does everything else.  This one put the mv -f ...
39840         command on a separate, non-backslash-continued line.
39841         Make it like the others.
39843         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
39844         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
39845         the one from gettext.  Reported by Akim Demaille.
39847 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
39849         Fix recursion of install-* into po directories.
39850         Bison's install-pdf bug reported by Hans Aberg at
39851         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
39852         * build-aux/po/Makefile.in.in (install-dvi, install-html)
39853         (install-info, install-pdf, install-ps): New targets.
39855 2012-04-16  Jim Meyering  <meyering@redhat.com>
39857         maint: avoid spurious "make sc_maint" failure
39858         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
39859         exempt all *.class file names, for lib/javaversion.class.
39861 2012-04-15  Bruno Haible  <bruno@clisp.org>
39863         lseek: Make configure test independent of environment.
39864         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
39865         Windows, we know that lseek() on pipes is broken; skip the runtime
39866         test.
39868 2012-04-14  Bruno Haible  <bruno@clisp.org>
39870         stat: Bypass buggy override in mingw64.
39871         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
39872         * lib/stat.c (stat) [mingw64]: Define to _stat.
39873         * doc/posix-functions/stat.texi: Mention mingw64 bug.
39875 2012-04-14  Bruno Haible  <bruno@clisp.org>
39877         pathmax: Fix compilation error on MSVC 9.
39878         * modules/pathmax (Depends-on): Add unistd.
39880 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
39882         README: document pointer comparison assumption
39883         * README (Portability guidelines): Document assumption about
39884         pointer comparisons, in response to a recent bug-gnulib comment by
39885         Jeffrey Kegler.
39887 2012-04-12  Bruno Haible  <bruno@clisp.org>
39889         Tests for module 'getrusage'.
39890         * modules/getrusage-tests: New file.
39891         * tests/test-getrusage.c: New file.
39893         New module 'getrusage'.
39894         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
39895         warn-on-use.h.
39896         (getrusage): New declaration.
39897         * lib/getrusage.c: New file.
39898         * m4/getrusage.m4: New file.
39899         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
39900         is declared.
39901         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
39902         HAVE_GETRUSAGE.
39903         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
39904         snippet/c++defs, snippet/warn-on-use.
39905         (Makefile.am): Update generation of sys/resource.h. Substitute
39906         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
39907         * modules/getrusage: New file.
39908         * doc/posix-functions/getrusage.texi: Mention the new module.
39910 2012-04-12  Bruno Haible  <bruno@clisp.org>
39912         Tests for module 'sys_resource'.
39913         * modules/sys_resource-tests: New file.
39914         * tests/test-sys_resource.c: New file.
39916         New module 'sys_resource'.
39917         * lib/sys_resource.in.h: New file.
39918         * m4/sys_resource_h.m4: New file.
39919         * modules/sys_resource: New file.
39920         * doc/posix-headers/sys_resource.texi: Mention the new module.
39922 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
39924         ioctl: Fix compilation error on mingw.
39925         * lib/ioctl.c: Include <windows.h>.
39926         Also reported by Ray Satiro <raysatiro@yahoo.com>.
39928 2012-04-04  Jim Meyering  <meyering@redhat.com>
39930         regex: correct #pragma guard expression
39931         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
39932         not 4.3.  Correct its cpp guard expression.
39934 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
39936         regex: remove unnecessary type punning
39937         Problem reported by Vladimir Serbinenko in
39938         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
39939         * lib/regex.h (struct re_pattern_buffer): Change the type of
39940         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
39941         Fix comment to match code.
39942         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
39943         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
39944         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
39945         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
39946         (set_regs):
39947         Omit no-longer-necessary casts.
39949 2012-04-03  Bruno Haible  <bruno@clisp.org>
39951         Tests for module 'ilogbl'.
39952         * modules/ilogbl-tests: New file.
39953         * tests/test-ilogbl.c: New file.
39955         New module 'ilogbl'.
39956         * lib/math.in.h (ilogbl): New declaration.
39957         * lib/ilogbl.c: New file.
39958         * m4/ilogbl.m4: New file.
39959         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
39960         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
39961         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
39962         Split sed invocation, to avoid the limit of 100 substitutions of
39963         HP-UX 'sed'.
39964         * modules/ilogbl: New file.
39965         * tests/test-math-c++.cc: Check the declaration of ilogbl.
39966         * doc/posix-functions/ilogbl.texi: Mention the new module.
39968 2012-04-03  Bruno Haible  <bruno@clisp.org>
39970         Tests for module 'ilogbf'.
39971         * modules/ilogbf-tests: New file.
39972         * tests/test-ilogbf.c: New file.
39974         New module 'ilogbf'.
39975         * lib/math.in.h (ilogbf): New declaration.
39976         * lib/ilogbf.c: New file.
39977         * m4/ilogbf.m4: New file.
39978         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
39979         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
39980         REPLACE_ILOGBF.
39981         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
39982         REPLACE_ILOGBF.
39983         * modules/ilogbf: New file.
39984         * tests/test-math-c++.cc: Check the declaration of ilogbf.
39985         * doc/posix-functions/ilogbf.texi: Mention the new module.
39987 2012-04-03  Bruno Haible  <bruno@clisp.org>
39989         Tests for module 'ilogb'.
39990         * modules/ilogb-tests: New file.
39991         * tests/test-ilogb.c: New file.
39992         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
39993         tests/test-logb-ieee.h.
39995         New module 'ilogb'.
39996         * lib/math.in.h (ilogb): New declaration.
39997         * lib/ilogb.c: New file.
39998         * m4/ilogb.m4: New file.
39999         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
40000         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
40001         REPLACE_ILOGB.
40002         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
40003         REPLACE_ILOGB.
40004         * modules/ilogb: New file.
40005         * tests/test-math-c++.cc: Check the declaration of ilogb.
40006         * doc/posix-functions/ilogb.texi: Mention the new module.
40008 2012-04-03  Bruno Haible  <bruno@clisp.org>
40010         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
40011         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
40012         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
40013         (main): Check their values.
40014         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
40015         problem.
40017 2012-04-03  Bruno Haible  <bruno@clisp.org>
40019         Tests for module 'logbl-ieee'.
40020         * modules/logbl-ieee-tests: New file.
40021         * tests/test-logbl-ieee.c: New file.
40023         New module 'logbl-ieee'.
40024         * modules/logbl-ieee: New file.
40026         Tests for module 'logb-ieee'.
40027         * modules/logb-ieee-tests: New file.
40028         * tests/test-logb-ieee.c: New file.
40030         New module 'logb-ieee'.
40031         * modules/logb-ieee: New file.
40033         Tests for module 'logbf-ieee'.
40034         * modules/logbf-ieee-tests: New file.
40035         * tests/test-logbf-ieee.c: New file.
40036         * tests/test-logb-ieee.h: New file.
40038         New module 'logbf-ieee'.
40039         * modules/logbf-ieee: New file.
40041 2012-04-03  Bruno Haible  <bruno@clisp.org>
40043         Tests for module 'logbl'.
40044         * modules/logbl-tests: New file.
40045         * tests/test-logbl.c: New file.
40047         New module 'logbl'.
40048         * lib/math.in.h (logbl): New declaration.
40049         * lib/logbl.c: New file.
40050         * m4/logbl.m4: New file.
40051         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
40052         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
40053         REPLACE_LOGBL.
40054         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
40055         REPLACE_LOGBL.
40056         * modules/logbl: New file.
40057         * tests/test-math-c++.cc: Check the declaration of logbl.
40058         * doc/posix-functions/logbl.texi: Mention the new module.
40060 2012-04-02  Bruno Haible  <bruno@clisp.org>
40062         Tests for module 'logbf'.
40063         * modules/logbf-tests: New file.
40064         * tests/test-logbf.c: New file.
40066         New module 'logbf'.
40067         * lib/math.in.h (logbf): New declaration.
40068         * lib/logbf.c: New file.
40069         * m4/logbf.m4: New file.
40070         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
40071         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
40072         REPLACE_LOGBF.
40073         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
40074         REPLACE_LOGBF.
40075         * modules/logbf: New file.
40076         * tests/test-math-c++.cc: Check the declaration of logbf.
40077         * doc/posix-functions/logbf.texi: Mention the new module.
40079 2012-04-02  Bruno Haible  <bruno@clisp.org>
40081         logb tests: More tests.
40082         * tests/test-logb.h: New file, based on tests/test-logb.c and
40083         tests/test-frexp.h.
40084         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
40085         (main): Just invoke test_function.
40086         * modules/logb-tests (Files): Add tests/test-logb.h,
40087         tests/minus-zero.h, tests/randomd.c.
40088         (Makefile.am): Add randomd.c to test_logb_SOURCES.
40090         logb: Provide replacement and workarounds.
40091         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
40092         is 1.
40093         * lib/logb.c: New file.
40094         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
40095         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
40096         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
40097         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
40098         * modules/logb (Files): Add lib/logb.c.
40099         (Depends-on): Add isfinite, frexp, isnand.
40100         (configure.ac): Compile the replacement code logb.c if needed.
40101         * tests/test-math-c++.cc: Check the declaration of logb.
40102         * doc/posix-functions/logb.texi: Mention the replacement and the bug
40103         with subnormal numbers.
40105 2012-04-02  Bruno Haible  <bruno@clisp.org>
40107         log10* tests: Speed up.
40108         * tests/test-log10.h (test_function): Reduce amount of random numbers
40109         to test.
40111 2012-04-01  Bruno Haible  <bruno@clisp.org>
40113         logf-ieee: Fix test whether logf works.
40114         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
40116 2012-04-01  Bruno Haible  <bruno@clisp.org>
40118         log10l: Work around log10l-ieee test failure on IRIX 6.5.
40119         * lib/log10l.c: Include <float.h>
40120         (log10l): On IRIX, normalize the +Infinity value.
40121         * modules/log10l (Depends-on): Add 'float'.
40122         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
40123         +Infinity.
40125         log10f-ieee: Work around test failure on NetBSD 5.1.
40126         * m4/log10f-ieee.m4: New file.
40127         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
40128         test whether log10f works with a negative argument. Replace it if not.
40129         * lib/log10f.c (log10f): For negative arguments, return NaN.
40130         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
40131         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
40132         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
40134         log10f-ieee: Work around test failure on Solaris 9.
40135         * modules/log10f-ieee (Depends-on): Add log10-ieee.
40136         (configure.ac): Require gl_FUNC_LOG10F.
40138         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
40139         * m4/log10-ieee.m4: New file.
40140         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
40141         whether log10 works with a negative argument. Replace it if not.
40142         * lib/log10.c (log10): For negative arguments, return NaN.
40143         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
40144         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
40145         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
40147         Tests for module 'log10l-ieee'.
40148         * modules/log10l-ieee-tests: New file.
40149         * tests/test-log10l-ieee.c: New file.
40151         New module 'log10l-ieee'.
40152         * modules/log10l-ieee: New file.
40154         Tests for module 'log10-ieee'.
40155         * modules/log10-ieee-tests: New file.
40156         * tests/test-log10-ieee.c: New file.
40158         New module 'log10-ieee'.
40159         * modules/log10-ieee: New file.
40161         Tests for module 'log10f-ieee'.
40162         * modules/log10f-ieee-tests: New file.
40163         * tests/test-log10f-ieee.c: New file.
40164         * tests/test-log10-ieee.h: New file.
40166         New module 'log10f-ieee'.
40167         * modules/log10f-ieee: New file.
40169 2012-04-01  Bruno Haible  <bruno@clisp.org>
40171         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
40172         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
40173         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
40174         workaround.
40175         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
40176         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
40177         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
40178         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
40179         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
40180         (Depends-on): Update conditions.
40181         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
40182         IRIX 6.5, OSF/1 5.1 problems.
40184 2012-04-01  Bruno Haible  <bruno@clisp.org>
40186         log10f: Work around OSF/1 5.1 bug.
40187         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
40188         * lib/log10f.c (log10f): If logf exists, use it and provide just the
40189         workaround.
40190         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
40191         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
40192         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
40193         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
40194         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
40195         (Depends-on): Update conditions.
40196         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
40198 2012-04-01  Bruno Haible  <bruno@clisp.org>
40200         log10: Work around OSF/1 5.1 bug.
40201         * lib/math.in.h (log10): New declaration.
40202         * lib/log10.c: New file.
40203         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
40204         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
40205         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
40206         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
40207         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
40208         * modules/log10 (Files): Add lib/log10.c.
40209         (Depends-on): Add math.
40210         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
40211         * tests/test-math-c++.cc: Check the declaration of log10.
40212         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
40214 2012-03-31  Bruno Haible  <bruno@clisp.org>
40216         log10l tests: More tests.
40217         * modules/log10l-tests (Files): Add tests/test-log10l.h,
40218         tests/minus-zero.h, tests/randoml.c.
40219         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
40220         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
40221         (main): Invoke test_function.
40223         log10f tests: More tests.
40224         * modules/log10f-tests (Files): Add tests/test-log10.h,
40225         tests/minus-zero.h, tests/randomf.c.
40226         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
40227         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
40228         (main): Invoke test_function.
40230         log10 tests: More tests.
40231         * tests/test-log10.h: New file.
40232         * modules/log10-tests (Files): Add tests/test-log10.h,
40233         tests/minus-zero.h, tests/randomd.c.
40234         (Makefile.am): Add randomd.c to test_log10_SOURCES.
40235         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
40236         (main): Invoke test_function.
40238 2012-03-31  Simon Josefsson  <simon@josefsson.org>
40240         fflush: Fix syntax error.
40241         * lib/fflush.c: Include unused-parameter.h, needed for
40242         _GL_UNUSED_PARAMETER.
40243         * modules/fflush (Depends-on): Add snippet/unused-parameter.
40245 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
40247         regex: pacify GCC when compiling GRUB
40248         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
40249         a diagnostic.  Reported by Vladimir Serbinenko in
40250         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
40252 2012-03-29  Eric Blake  <eblake@redhat.com>
40254         stdio: don't assume gets any more
40255         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
40256         support.
40257         * modules/stdio (Makefile.am): Likewise.
40258         * lib/stdio-read.c (gets): Likewise.
40259         * tests/test-stdio-c++.cc: Likewise.
40260         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
40261         * lib/stdio.in.h (gets): Make warning occur in more places.
40262         * doc/posix-functions/gets.texi (gets): Update documentation.
40263         Reported by Christer Solskogen.
40265         maint.mk: fix syntax checks without exclusions
40266         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
40267         Reported by Daniel P. Berrange.
40269         strerror_r: avoid compiler warning
40270         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
40271         level.
40273         fflush: avoid compiler warning
40274         * lib/fflush.c (update_fpos_cache): Mark variables that are
40275         potentially unused.
40277 2012-03-25  Bruno Haible  <bruno@clisp.org>
40279         Tests for module 'localeconv'.
40280         * modules/localeconv-tests: New file.
40281         * tests/test-localeconv.c: New file.
40283         New module 'localeconv'.
40284         * lib/locale.in.h (localeconv): New declaration.
40285         * lib/localeconv.c: New file.
40286         * m4/localeconv.m4: New file.
40287         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
40288         REPLACE_LOCALECONV.
40289         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
40290         REPLACE_LOCALECONV.
40291         * modules/localeconv: New file.
40292         * modules/nl_langinfo (Depends-on): Add localeconv.
40293         * modules/human (Depends-on): Likewise.
40294         * doc/posix-functions/localeconv.texi: Mention the new module.
40296 2012-03-25  Bruno Haible  <bruno@clisp.org>
40298         locale: Provide a complete 'struct lconv'.
40299         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
40300         'struct lconv' does not contain int_p_cs_precedes.
40301         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
40302         * doc/posix-headers/locale.texi: Update.
40304         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
40305         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
40306         * doc/posix-headers/locale.texi: Update.
40308         locale: Provide a working 'struct lconv'.
40309         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
40310         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
40311         'struct lconv' does not even contain decimal_point.
40312         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
40313         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
40314         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
40315         * doc/posix-headers/locale.texi: Mention the problems with
40316         'struct lconv'.
40317         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
40319 2012-03-24  Bruno Haible  <bruno@clisp.org>
40321         Enable common subexpression optimization in GCC.
40322         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
40323         macros.
40324         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
40325         GCC attribute 'const'.
40326         (uc_locale_language): Declare with GCC attribute 'pure'.
40327         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
40328         with GCC attribute 'const'.
40329         * lib/unictype.in.h (uc_is_general_category_withtable,
40330         uc_combining_class, uc_combining_class_name,
40331         uc_combining_class_long_name, uc_bidi_class_name,
40332         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
40333         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
40334         uc_decimal_value, uc_digit_value, uc_numeric_value,
40335         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
40336         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
40337         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
40338         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
40339         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
40340         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
40341         Declare with GCC attribute 'const'.
40342         (uc_general_category_name, uc_general_category_long_name,
40343         uc_general_category_byname, uc_general_category,
40344         uc_is_general_category, uc_combining_class_byname,
40345         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
40346         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
40347         Declare with GCC attribute 'pure'.
40348         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
40349         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
40350         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
40351         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
40352         with GCC attribute 'pure'.
40353         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
40354         'const'.
40355         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
40356         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
40357         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
40358         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
40359         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
40360         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
40361         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
40362         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
40363         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
40364         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
40365         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
40366         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
40367         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
40368         GCC attribute 'pure'.
40369         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
40370         'const'.
40371         * lib/uniwidth.in.h (uc_width): Simplify declaration.
40372         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
40373         u32_strwidth): Declare with GCC attribute 'pure'.
40375         Enable common subexpression optimization in GCC.
40376         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
40377         (alphasort): Declare with GCC attribute 'pure'.
40378         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
40379         (atoll): Declare with GCC attribute 'pure'.
40380         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
40381         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
40382         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
40383         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
40384         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
40385         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
40386         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
40388 2012-03-24  Bruno Haible  <bruno@clisp.org>
40390         gnulib-tool: Avoid unintended error output from 'cmp'.
40391         * gnulib-tool (func_add_file, func_update_file, func_import): Use
40392         "cmp -s", not "cmp > /dev/null".
40394 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
40396         gnulib-tool: fix imprecise comments w.r.t. an automake bug
40398         It's not just Automake versions < 1.9b that creates an empty
40399         pkgdatadir at installation time if pkgdata_DATA is specified
40400         to empty; modern automake versions do this as well, at least
40401         until automake 1.11.4 (not yet released at the moment of writing,
40402         but soon to appear).  That behaviour was generally considered a
40403         feature rather than a bug, at least until this discussion:
40404         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
40406         See also automake bugs #10997 and #11030.
40408         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
40409         reference to relevant automake bug numbers.
40410         (func_emit_tests_Makefile_am): Likewise.
40412 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
40414         announce-gen: use Digest::SHA when possible
40415         * build-aux/announce-gen: Use Digest::SHA when possible, falling
40416         back to Digest::SHA1 if necessary.
40418 2012-03-20  Jim Meyering  <meyering@redhat.com>
40420         tests: avoid gcc warnings about argv vs. const initializers
40421         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
40422         warnings about discarding 'const' qualifier from pointer target type.
40423         * tests/test-posix_spawn2.c (main): Likewise.
40425 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
40427         README-release: simplify slightly
40428         * top/README-release: Run "git checkout master" only once.
40430 2012-03-15  Mark Wielaard  <mark@klomp.org>
40432         git-merge-changelog: add specific example on how to use with hg.
40433         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
40435 2012-03-18  Mark Wielaard  <mark@klomp.org>
40437         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
40439 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
40441         git-version-gen: don't let "prefix" envvar cause trouble
40442         * build-aux/git-version-gen (prefix): Initialize properly,
40443         so as not to use a value specified via the environment.
40444         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
40446 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
40448         regex: diagnose too-large repeat counts in EREs
40449         Previously, the code did not diagnose the too-large repeat count
40450         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
40451         as if it were 'b\{1000000000}', which is unexpected.
40452         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
40453         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
40454         is a reasonable one for this problem.  Another option would be to
40455         create a new REG_OVERFLOW error for repeat counts that are too large.
40456         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
40457         count is too large, so that the caller can distinguish the two cases.
40458         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
40459         "Too large" return code, and that repeat counts are one example of this.
40461 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
40463         doc: some glibc x32 integer width issues
40464         * doc/posix-headers/sys_types.texi (sys/types.h):
40465         * doc/posix-headers/time.texi (time.h):
40466         Mention that glibc x32 does not conform to POSIX in a couple of
40467         areas related to integer widths.
40469 2012-03-15  Bruno Haible  <bruno@clisp.org>
40471         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
40472         * lib/fma.c (VOLATILE): New macro.
40473         (FUNC): Use it to work around a GCC compiler bug.
40475 2012-03-13  Bruno Haible  <bruno@clisp.org>
40477         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40478         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
40479         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
40480         REPLACE_HYPOTL to 1.
40481         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
40483 2012-03-13  Bruno Haible  <bruno@clisp.org>
40485         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40486         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
40487         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
40488         REPLACE_REMAINDERL to 1.
40489         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
40490         bug.
40492 2012-03-13  Bruno Haible  <bruno@clisp.org>
40494         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40495         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
40496         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
40497         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
40498         too big rounding errors.
40499         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
40500         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
40501         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
40502         (Depends-on): Update conditions.
40503         * tests/test-sqrtl.c (my_ldexpl): New function.
40504         (main): Add test of a particular value.
40505         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
40507 2012-03-13  Pádraig Brady  <P@draigBrady.com>
40509         doc: Update timer_* platform portability notes.
40510         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
40511         that always return ENOSYS.
40512         * doc/posix-functions/timer_delete.texi: Likewise.
40513         * doc/posix-functions/timer_gettime.texi: Likewise.
40514         * doc/posix-functions/timer_settime.texi: Likewise.
40516 2012-03-13  Bruno Haible  <bruno@clisp.org>
40518         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40519         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
40520         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
40521         REPLACE_CBRTL to 1.
40522         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
40524 2012-03-13  Bruno Haible  <bruno@clisp.org>
40526         remainderl: Avoid compilation error on AIX >= 5.2.
40527         * lib/math.in.h (remainderl): Undefine macro from the system header.
40529 2012-03-13  Bruno Haible  <bruno@clisp.org>
40531         Avoid compilation errors with MSVC option -fp:strict.
40532         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
40533         * lib/cbrtf.c: Likewise.
40534         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
40536 2012-03-12  Bruno Haible  <bruno@clisp.org>
40538         uninorm: Don't crash in out-of-memory conditions.
40539         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
40540         gracefully.
40541         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
40542         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
40544 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
40546         quote: fix syntax-check
40547         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
40548         also exports quote_quoting_options.
40550 2012-03-12  Simon Josefsson  <simon@josefsson.org>
40552         Collapse list of copyright years to ranges.  See
40553         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
40554         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
40555         build-aux/csharpexec.sh.in, build-aux/gnupload,
40556         build-aux/install-reloc, build-aux/javacomp.sh.in,
40557         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
40558         build-aux/move-if-change, build-aux/reloc-ldflags,
40559         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
40561 2012-03-11  Bruno Haible  <bruno@clisp.org>
40563         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
40564         * m4/log2f-ieee.m4: New file.
40565         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
40566         whether log2f works with a minus zero argument. Replace it if not.
40567         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
40568         (Depends-on): Add log2-ieee.
40569         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
40570         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
40572         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
40573         * m4/log2-ieee.m4: New file.
40574         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
40575         whether log2 works with a minus zero argument. Replace it if not.
40576         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
40577         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
40578         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
40580         Tests for module 'log2l-ieee'.
40581         * modules/log2l-ieee-tests: New file.
40582         * tests/test-log2l-ieee.c: New file.
40584         New module 'log2l-ieee'.
40585         * modules/log2l-ieee: New file.
40587         Tests for module 'log2-ieee'.
40588         * modules/log2-ieee-tests: New file.
40589         * tests/test-log2-ieee.c: New file.
40591         New module 'log2-ieee'.
40592         * modules/log2-ieee: New file.
40594         Tests for module 'log2f-ieee'.
40595         * modules/log2f-ieee-tests: New file.
40596         * tests/test-log2f-ieee.c: New file.
40597         * tests/test-log2-ieee.h: New file.
40599         New module 'log2f-ieee'.
40600         * modules/log2f-ieee: New file.
40602 2012-03-11  Bruno Haible  <bruno@clisp.org>
40604         Tests for module 'log2l'.
40605         * modules/log2l-tests: New file.
40606         * tests/test-log2l.c: New file.
40608         New module 'log2l'.
40609         * lib/math.in.h (log2l): New declaration.
40610         * lib/log2l.c: New file.
40611         * m4/log2l.m4: New file.
40612         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
40613         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
40614         REPLACE_LOG2L.
40615         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
40616         REPLACE_LOG2L.
40617         * modules/log2l: New file.
40618         * tests/test-math-c++.cc: Check the declaration of log2l.
40619         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
40620         and OSF/1 problems.
40622 2012-03-11  Bruno Haible  <bruno@clisp.org>
40624         Tests for module 'log2f'.
40625         * modules/log2f-tests: New file.
40626         * tests/test-log2f.c: New file.
40628         New module 'log2f'.
40629         * lib/math.in.h (log2f): New declaration.
40630         * lib/log2f.c: New file.
40631         * m4/log2f.m4: New file.
40632         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
40633         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
40634         REPLACE_LOG2F.
40635         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
40636         REPLACE_LOG2F.
40637         * modules/log2f: New file.
40638         * tests/test-math-c++.cc: Check the declaration of log2f.
40639         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
40640         and OSF/1 and Cygwin problems.
40642 2012-03-11  Bruno Haible  <bruno@clisp.org>
40644         Tests for module 'log2'.
40645         * modules/log2-tests: New file.
40646         * tests/test-log2.c: New file.
40647         * tests/test-log2.h: New file.
40649         New module 'log2'.
40650         * lib/math.in.h (log2): New declaration.
40651         * lib/log2.c: New file.
40652         * m4/log2.m4: New file.
40653         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
40654         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
40655         REPLACE_LOG2.
40656         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
40657         REPLACE_LOG2.
40658         * modules/log2: New file.
40659         * tests/test-math-c++.cc: Check the declaration of log2.
40660         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
40661         and OSF/1 and Cygwin problems.
40663 2012-03-11  Bruno Haible  <bruno@clisp.org>
40665         exp2* tests: More tests.
40666         * tests/test-exp2.h (test_function): Test all integral arguments that
40667         don't need to overflow or denormalized numbers.
40668         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
40669         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
40670         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
40672 2012-03-10  Bruno Haible  <bruno@clisp.org>
40674         log1pl-ieee: Work around test failure on AIX 7.1.
40675         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
40677         log1pl-ieee: Work around test failure on IRIX 6.5.
40678         * m4/log1pl-ieee.m4: New file.
40679         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
40680         test whether log1pl works with a minus zero argument. Replace it if
40681         not.
40682         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
40683         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
40684         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
40685         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
40686         (Depends-on): Update conditions.
40687         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
40688         m4/signbit.m4.
40689         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
40690         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
40692         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
40693         * m4/log1pf-ieee.m4: New file.
40694         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
40695         test whether log1pf works with a minus zero argument. Replace it if
40696         not.
40697         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
40698         m4/signbit.m4.
40699         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
40700         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
40702         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
40703         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
40704         (configure.ac): Require gl_FUNC_LOG1PF.
40706         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
40707         * m4/log1p-ieee.m4: New file.
40708         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
40709         whether log1p works with a minus zero argument. Replace it if not.
40710         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
40711         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
40712         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
40713         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
40714         (Depends-on): Update conditions.
40715         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
40716         m4/signbit.m4.
40717         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
40718         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
40720         Tests for module 'log1pl-ieee'.
40721         * modules/log1pl-ieee-tests: New file.
40722         * tests/test-log1pl-ieee.c: New file.
40724         New module 'log1pl-ieee'.
40725         * modules/log1pl-ieee: New file.
40727         Tests for module 'log1p-ieee'.
40728         * modules/log1p-ieee-tests: New file.
40729         * tests/test-log1p-ieee.c: New file.
40731         New module 'log1p-ieee'.
40732         * modules/log1p-ieee: New file.
40734         Tests for module 'log1pf-ieee'.
40735         * modules/log1pf-ieee-tests: New file.
40736         * tests/test-log1pf-ieee.c: New file.
40737         * tests/test-log1p-ieee.h: New file.
40739         New module 'log1pf-ieee'.
40740         * modules/log1pf-ieee: New file.
40742 2012-03-10  Bruno Haible  <bruno@clisp.org>
40744         Tests for module 'log1pl'.
40745         * modules/log1pl-tests: New file.
40746         * tests/test-log1pl.c: New file.
40748         New module 'log1pl'.
40749         * lib/math.in.h (log1pl): New declaration.
40750         * lib/log1pl.c: New file.
40751         * m4/log1pl.m4: New file.
40752         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
40753         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
40754         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
40755         * modules/log1pl: New file.
40756         * tests/test-math-c++.cc: Check the declaration of log1pl.
40757         * doc/posix-functions/log1pl.texi: Mention the new module.
40759 2012-03-10  Bruno Haible  <bruno@clisp.org>
40761         Tests for module 'log1pf'.
40762         * modules/log1pf-tests: New file.
40763         * tests/test-log1pf.c: New file.
40765         New module 'log1pf'.
40766         * lib/math.in.h (log1pf): New declaration.
40767         * lib/log1pf.c: New file.
40768         * m4/log1pf.m4: New file.
40769         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
40770         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
40771         REPLACE_LOG1PF.
40772         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
40773         REPLACE_LOG1PF.
40774         * modules/log1pf: New file.
40775         * tests/test-math-c++.cc: Check the declaration of log1pf.
40776         * doc/posix-functions/log1pf.texi: Mention the new module.
40778 2012-03-10  Bruno Haible  <bruno@clisp.org>
40780         log1p tests: More tests.
40781         * tests/test-log1p.h: New file.
40782         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
40783         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
40784         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
40785         (main): Invoke test_function.
40787         log1p: Provide replacement for Minix and MSVC.
40788         * lib/math.in.h (log1p): New declaration.
40789         * lib/log1p.c: New file.
40790         * m4/log1p.m4: New file.
40791         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
40792         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
40793         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
40794         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
40795         (Depends-on): Add math, isnand, log, round.
40796         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
40797         HAVE_LOG1P is 0.
40798         * tests/test-math-c++.cc: Check the declaration of log1p.
40799         * doc/posix-functions/log1p.texi: Mention the replacement.
40801 2012-03-10  Bruno Haible  <bruno@clisp.org>
40803         math tests: Small simplification.
40804         * tests/test-exp.h (test_function): Use the same err_bound for
40805         'double' on platforms with sizeof (long double) == sizeof (double)
40806         than on platforms with sizeof (long double) > sizeof (double).
40807         * tests/test-exp2.h (test_function): Likewise.
40808         * tests/test-expm1.h (test_function): Likewise.
40809         * tests/test-log.h (test_function): Likewise.
40811 2012-03-10  Bruno Haible  <bruno@clisp.org>
40813         Fix some comments.
40814         * lib/expl.c: Fix an ambiguous comment.
40815         * lib/expm1.c: Likewise.
40816         * lib/expm1l.c: Likewise.
40817         * lib/exp2.c: Likewise.
40818         * lib/exp2l.c: Likewise.
40820 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
40822         regex: allow inclusion of <regex.h> before <limits.h>
40823         Without this patch, portable programs had to include <limits.h> before
40824         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
40825         I ran into this problem with a test version of GNU grep on Solaris 8.
40826         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
40827         This is done conditionally so that this change can be merged
40828         back to glibc.
40829         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
40830         using the included regex.
40832         fts: depend on fdopendir
40833         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
40834         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
40835         problem was introduced when fdopendir was split out.
40837 2012-03-10  Bruno Haible  <bruno@clisp.org>
40839         Remove unused variables.
40840         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
40841         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
40843 2012-03-10  Bruno Haible  <bruno@clisp.org>
40845         isnanf-nolibm: Fix last commit.
40846         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
40848         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
40849         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
40851 2012-03-10  Bruno Haible  <bruno@clisp.org>
40853         logf-ieee: Work around test failure on NetBSD 5.1.
40854         * m4/logf-ieee.m4: New file.
40855         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
40856         whether logf works with a negative argument. Replace it if not.
40857         * lib/logf.c (logf): For negative arguments, return NaN.
40858         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
40859         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
40860         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
40862         logf-ieee: Work around test failure on Solaris 9.
40863         * modules/logf-ieee (Depends-on): Add log-ieee.
40864         (configure.ac): Require gl_FUNC_LOGF.
40866         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
40867         * m4/log-ieee.m4: New file.
40868         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
40869         log works with a negative argument. Replace it if not.
40870         * lib/log.c (log): For negative arguments, return NaN.
40871         * modules/log-ieee (Files): Add m4/log-ieee.m4.
40872         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
40873         * doc/posix-functions/log.texi: Mention the log-ieee module.
40875         Tests for module 'logl-ieee'.
40876         * modules/logl-ieee-tests: New file.
40877         * tests/test-logl-ieee.c: New file.
40879         New module 'logl-ieee'.
40880         * modules/logl-ieee: New file.
40882         Tests for module 'log-ieee'.
40883         * modules/log-ieee-tests: New file.
40884         * tests/test-log-ieee.c: New file.
40886         New module 'log-ieee'.
40887         * modules/log-ieee: New file.
40889         Tests for module 'logf-ieee'.
40890         * modules/logf-ieee-tests: New file.
40891         * tests/test-logf-ieee.c: New file.
40892         * tests/test-log-ieee.h: New file.
40894         New module 'logf-ieee'.
40895         * modules/logf-ieee: New file.
40897 2012-03-10  Bruno Haible  <bruno@clisp.org>
40899         log: Fix bug introduced on 2012-03-09.
40900         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
40902 2012-03-10  Pádraig Brady  <P@draigBrady.com>
40904         timer-time: link explicitly with pthreads on glibc
40905         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
40906         to support static linking, when newer glibc is
40907         detected, as that contains pthread emulation of
40908         POSIX timer functions where required.
40909         * modules/timer-time: Depend on threadlib to
40910         pull in the appropriate library to link.
40912 2012-03-10  Bruno Haible  <bruno@clisp.org>
40914         log* tests: More tests.
40915         * tests/test-log.h: New file.
40916         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
40917         (main): Invoke test_function.
40918         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
40919         (main): Invoke test_function.
40920         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
40921         (main): Invoke test_function.
40922         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
40923         tests/randomd.c.
40924         (Makefile.am): Add randomd.c to test_log_SOURCES.
40925         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
40926         tests/randomf.c.
40927         (Makefile.am): Add randomf.c to test_logf_SOURCES.
40928         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
40929         tests/randoml.c.
40930         (Depends-on): Add 'float'.
40931         (Makefile.am): Add randoml.c to test_logl_SOURCES.
40933 2012-03-09  Bruno Haible  <bruno@clisp.org>
40935         logl: Work around OSF/1 5.1 bug.
40936         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
40937         * lib/logl.c (logl): If logl exists, use it and provide just the
40938         workaround.
40939         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
40940         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
40941         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
40942         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
40943         * modules/logl (configure.ac): Consider REPLACE_LOGL.
40944         (Depends-on): Update conditions.
40945         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
40947 2012-03-09  Bruno Haible  <bruno@clisp.org>
40949         logf: Work around OSF/1 5.1 bug.
40950         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
40951         * lib/logf.c (logf): If logf exists, use it and provide just the
40952         workaround.
40953         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
40954         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
40955         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
40956         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
40957         * modules/logf (configure.ac): Consider REPLACE_LOGF.
40958         (Depends-on): Update conditions.
40959         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
40961 2012-03-09  Bruno Haible  <bruno@clisp.org>
40963         log: Work around OSF/1 5.1 bug.
40964         * lib/math.in.h (log): New declaration.
40965         * lib/log.c: New file.
40966         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
40967         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
40968         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
40969         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
40970         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
40971         * modules/log (Files): Add lib/log.c.
40972         (Depends-on): Add math.
40973         (configure.ac): If REPLACE_LOG is 1, compile an override.
40974         * tests/test-math-c++.cc: Check the declaration of log.
40975         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
40977 2012-03-09  Jim Meyering  <meyering@redhat.com>
40979         readtokens.c: adjust wording in a comment
40980         * lib/readtokens.c: Insert omitted "that" in a comment.
40982 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
40984         modechange: add notations +40, 00440, etc.
40985         * lib/modechange.c (mode_compile): Support new notations
40986         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
40988 2012-03-08  Bruno Haible  <bruno@clisp.org>
40990         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
40991         * m4/exp2l-ieee.m4: New file.
40992         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
40993         test whether exp2l works with a NaN argument and with a negative
40994         infinity argument. Replace it if not.
40995         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
40996         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
40997         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
40998         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
40999         (Depends-on): Update conditions.
41000         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
41001         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
41002         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
41004         Tests for module 'exp2l-ieee'.
41005         * modules/exp2l-ieee-tests: New file.
41006         * tests/test-exp2l-ieee.c: New file.
41008         New module 'exp2l-ieee'.
41009         * modules/exp2l-ieee: New file.
41011         Tests for module 'exp2-ieee'.
41012         * modules/exp2-ieee-tests: New file.
41013         * tests/test-exp2-ieee.c: New file.
41015         New module 'exp2-ieee'.
41016         * modules/exp2-ieee: New file.
41018         Tests for module 'exp2f-ieee'.
41019         * modules/exp2f-ieee-tests: New file.
41020         * tests/test-exp2f-ieee.c: New file.
41021         * tests/test-exp2-ieee.h: New file.
41023         New module 'exp2f-ieee'.
41024         * modules/exp2f-ieee: New file.
41026 2012-03-08  Bruno Haible  <bruno@clisp.org>
41028         Tests for module 'exp2l'.
41029         * modules/exp2l-tests: New file.
41030         * tests/test-exp2l.c: New file.
41032         New module 'exp2l'.
41033         * lib/math.in.h (exp2l): New declaration.
41034         * lib/exp2l.c: New file.
41035         * lib/expl-table.c: New file, extracted from lib/expl.c.
41036         * lib/expl.c (gl_expl_table): New declaration.
41037         (expl): Remove expl_table. Update reference.
41038         * m4/exp2l.m4: New file.
41039         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
41040         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
41041         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
41042         * modules/exp2l: New file.
41043         * modules/expl (Files): Add lib/expl-table.c.
41044         (configure.ac): Compile also expl-table.c.
41045         * tests/test-math-c++.cc: Check the declaration of exp2l.
41046         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
41047         problem.
41049 2012-03-08  Bruno Haible  <bruno@clisp.org>
41051         Tests for module 'exp2f'.
41052         * modules/exp2f-tests: New file.
41053         * tests/test-exp2f.c: New file.
41055         New module 'exp2f'.
41056         * lib/math.in.h (exp2f): New declaration.
41057         * lib/exp2f.c: New file.
41058         * m4/exp2f.m4: New file.
41059         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
41060         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
41061         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
41062         * modules/exp2f: New file.
41063         * tests/test-math-c++.cc: Check the declaration of exp2f.
41064         * doc/posix-functions/exp2f.texi: Mention the new module and the
41065         IRIX problem.
41067 2012-03-08  Bruno Haible  <bruno@clisp.org>
41069         Tests for module 'exp2'.
41070         * modules/exp2-tests: New file.
41071         * tests/test-exp2.c: New file.
41072         * tests/test-exp2.h: New file.
41074         New module 'exp2'.
41075         * lib/math.in.h (exp2): New declaration.
41076         * lib/exp2.c: New file.
41077         * m4/exp2.m4: New file.
41078         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
41079         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
41080         REPLACE_EXP2.
41081         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
41082         REPLACE_EXP2.
41083         * modules/exp2: New file.
41084         * tests/test-math-c++.cc: Check the declaration of exp2.
41085         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
41086         and OpenBSD problems.
41088 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
41090         savedir: fix comment typo
41091         * lib/savedir.c (savedirstream): Fix typo in comment.
41093 2012-03-08  Bruno Haible  <bruno@clisp.org>
41095         test-readtokens.c: use const; remove unwarranted cast
41096         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
41098 2012-03-08  Bruno Haible  <bruno@clisp.org>
41100         fmal: Avoid compilation error on AIX.
41101         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
41102         AIX 5.2..7.1.
41104 2012-03-08  Bruno Haible  <bruno@clisp.org>
41106         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
41107         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
41108         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
41109         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
41110         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
41111         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
41112         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
41114 2012-03-08  Bruno Haible  <bruno@clisp.org>
41116         remainderf: Override buggy system function on IRIX 6.5.
41117         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
41118         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
41119         when it exists.
41120         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
41122 2012-03-08  Jim Meyering  <meyering@redhat.com>
41124         test-readtokens.c: avoid const-related compilation warnings
41125         * tests/test-readtokens.c: Avoid const-related compilation warnings.
41127 2012-03-07  Jim Meyering  <meyering@redhat.com>
41128             Bruno Haible  <bruno@clisp.org>
41130         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
41131         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
41132         tests/randomd.c.
41133         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
41134         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
41135         tests/randoml.c.
41136         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
41138 2012-03-07  Bruno Haible  <bruno@clisp.org>
41140         expm1l: Avoid compilation error on AIX.
41141         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
41142         AIX 5.2..7.1.
41144 2012-03-07  Bruno Haible  <bruno@clisp.org>
41146         expm1l: Don't override undeclared system function on IRIX 6.5.
41147         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
41148         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
41149         it exists. Set HAVE_DECL_EXPM1L.
41150         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
41151         HAVE_EXPM1L.
41152         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
41153         HAVE_EXPM1L.
41154         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
41156 2012-03-07  Bruno Haible  <bruno@clisp.org>
41158         remainderl: Don't override undeclared system function on IRIX 6.5.
41159         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
41160         HAVE_REMAINDERL.
41161         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
41162         declared when it exists. Set HAVE_DECL_REMAINDERL.
41163         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
41164         not HAVE_REMAINDERL.
41165         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
41166         HAVE_REMAINDERL.
41167         * doc/posix-functions/remainderl.texi: Mention missing declaration
41168         problem.
41170 2012-03-07  Bruno Haible  <bruno@clisp.org>
41172         rintf: Don't override undeclared system function on IRIX 6.5.
41173         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
41174         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
41175         exists. Set HAVE_DECL_RINTF.
41176         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
41177         HAVE_RINTF.
41178         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
41179         HAVE_RINTF.
41180         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
41182 2012-03-07  Bruno Haible  <bruno@clisp.org>
41184         roundl: Avoid compilation error on AIX.
41185         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
41186         AIX 5.2..7.1.
41188 2012-03-07  Bruno Haible  <bruno@clisp.org>
41190         roundl: Don't override undeclared system function on IRIX 6.5.
41191         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
41192         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
41193         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
41194         * modules/roundl (configure.ac): For replacement code, test
41195         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
41196         (Depends-on): Update conditions.
41197         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
41199 2012-03-07  Bruno Haible  <bruno@clisp.org>
41201         roundf: Don't override undeclared system function on IRIX 6.5.
41202         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
41203         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
41204         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
41205         * modules/roundf (configure.ac): For replacement code, test
41206         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
41207         (Depends-on): Update conditions.
41208         * modules/roundf-ieee (Depends-on): Update conditions.
41209         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
41211 2012-03-07  Bruno Haible  <bruno@clisp.org>
41213         round: Don't override undeclared system function on IRIX 6.5.
41214         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
41215         argument.
41216         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
41217         also when it is not declared. Set HAVE_ROUND. For replacement code,
41218         test HAVE_ROUND, not HAVE_DECL_ROUND.
41219         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
41220         not HAVE_DECL_ROUND.
41221         (Depends-on): Update conditions.
41222         * modules/round-ieee (Depends-on): Update conditions.
41223         * doc/posix-functions/round.texi: Mention the IRIX problem.
41225 2012-03-07  Bruno Haible  <bruno@clisp.org>
41227         copysignf: Don't override undeclared system function on IRIX 6.5.
41228         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
41229         HAVE_COPYSIGNF.
41230         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
41231         declared when it exists. Set HAVE_DECL_COPYSIGNF.
41232         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
41233         not HAVE_COPYSIGNF.
41234         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
41235         HAVE_COPYSIGNF.
41236         * doc/posix-functions/copysignf.texi: Mention missing declaration
41237         problem.
41239 2012-03-07  Jim Meyering  <meyering@redhat.com>
41241         readtokens: add tests
41242         * modules/readtokens-tests: New file.
41243         * tests/test-readtokens.c: New file.
41245 2012-03-07  Jim Meyering  <meyering@redhat.com>
41247         quotearg: the module must now include quote.h
41248         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
41249         So must the module.
41250         * modules/quotearg (Files): Add quote.h.
41252 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
41254         readtokens: avoid core dumps with unusual calling patterns
41255         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
41256         * lib/readtokens.c: Include limits.h.
41257         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
41258         (readtoken): Don't cache the delimiters; the cache code was buggy
41259         if !delim && saved_delim, or if the new n_delim differs from the old.
41260         Also, it wasn't thread-safe.
41262 2012-03-07  Bruno Haible  <bruno@clisp.org>
41264         quote: Adhere to common module description layout.
41265         * modules/quote (Makefile.am): Add back empty section.
41267 2012-03-06  Akim Demaille  <demaille@gostai.com>
41269         quote: fuse into quotearg
41270         This patch is made for the benefit of Bison.
41271         quote does not leave the choice of the quoting style to the user.
41272         quoting_style provides poor customizability, yet quoting_options,
41273         which is very rich, is hidden inside quotearg.c.  So in order to
41274         allow quote customization, move its implementation to quotearg.c.
41275         * lib/quote.c: Remove.
41276         * modules/quote: Adjust.
41277         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
41278         warning: provide all the members of literal structs.
41279         (quote_quoting_options): New.
41280         (quote, quote_n): Import implementation from quote.c.
41281         * lib/quote.h: Import the comments from quote.c.
41282         (quote_quoting_options): New.
41284 2012-03-06  Bruno Haible  <bruno@clisp.org>
41286         Tests for module 'expm1l-ieee'.
41287         * modules/expm1l-ieee-tests: New file.
41288         * tests/test-expm1l-ieee.c: New file.
41290         New module 'expm1l-ieee'.
41291         * modules/expm1l-ieee: New file.
41293         Tests for module 'expm1f-ieee'.
41294         * modules/expm1f-ieee-tests: New file.
41295         * tests/test-expm1f-ieee.c: New file.
41297         New module 'expm1f-ieee'.
41298         * modules/expm1f-ieee: New file.
41300         Tests for module 'expm1-ieee'.
41301         * modules/expm1-ieee-tests: New file.
41302         * tests/test-expm1-ieee.c: New file.
41303         * tests/test-expm1-ieee.h: New file.
41305         New module 'expm1-ieee'.
41306         * modules/expm1-ieee: New file.
41307         * m4/expm1-ieee.m4: New file.
41308         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
41309         whether expm1 works with a minus zero argument. Replace it if not.
41310         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
41311         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
41312         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
41313         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
41314         (Depends-on): Update conditions.
41315         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
41316         AIX problem.
41318 2012-03-06  Bruno Haible  <bruno@clisp.org>
41320         Work around expm1f bug on IRIX 6.5.
41321         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
41322         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
41323         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
41324         not work.
41325         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
41326         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
41327         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
41328         (Depends-on): Update conditions.
41329         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
41331 2012-03-06  Bruno Haible  <bruno@clisp.org>
41333         Tests for module 'expm1l'.
41334         * modules/expm1l-tests: New file.
41335         * tests/test-expm1l.c: New file.
41337         New module 'expm1l'.
41338         * lib/math.in.h (expm1l): New declaration.
41339         * lib/expm1l.c: New file.
41340         * m4/expm1l.m4: New file.
41341         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
41342         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
41343         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
41344         * modules/expm1l: New file.
41345         * tests/test-math-c++.cc: Check the declaration of expm1l.
41346         * doc/posix-functions/expm1l.texi: Mention the new module.
41348 2012-03-06  Bruno Haible  <bruno@clisp.org>
41350         Tests for module 'expm1f'.
41351         * modules/expm1f-tests: New file.
41352         * tests/test-expm1f.c: New file.
41354         New module 'expm1f'.
41355         * lib/math.in.h (expm1f): New declaration.
41356         * lib/expm1f.c: New file.
41357         * m4/expm1f.m4: New file.
41358         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
41359         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
41360         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
41361         * modules/expm1f: New file.
41362         * tests/test-math-c++.cc: Check the declaration of expm1f.
41363         * doc/posix-functions/expm1f.texi: Mention the new module.
41365 2012-03-06  Bruno Haible  <bruno@clisp.org>
41367         Tests for module 'expm1'.
41368         * modules/expm1-tests: New file.
41369         * tests/test-expm1.c: New file.
41370         * tests/test-expm1.h: New file.
41372         New module 'expm1'.
41373         * lib/math.in.h (expm1): New declaration.
41374         * lib/expm1.c: New file.
41375         * m4/expm1.m4: New file.
41376         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
41377         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
41378         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
41379         * modules/expm1: New file.
41380         * tests/test-math-c++.cc: Check the declaration of expm1.
41381         * doc/posix-functions/expm1.texi: Mention the new module.
41383 2012-03-06  Bruno Haible  <bruno@clisp.org>
41385         math: Ensure declarations of math functions.
41386         * modules/acosf (Depends-on): Add 'extensions'.
41387         * modules/asinf (Depends-on): Likewise.
41388         * modules/atan2f (Depends-on): Likewise.
41389         * modules/atanf (Depends-on): Likewise.
41390         * modules/cbrt (Depends-on): Likewise.
41391         * modules/cbrtf (Depends-on): Likewise.
41392         * modules/cbrtl (Depends-on): Likewise.
41393         * modules/copysignf (Depends-on): Likewise.
41394         * modules/copysignl (Depends-on): Likewise.
41395         * modules/cosf (Depends-on): Likewise.
41396         * modules/coshf (Depends-on): Likewise.
41397         * modules/expf (Depends-on): Likewise.
41398         * modules/fabsf (Depends-on): Likewise.
41399         * modules/fabsl (Depends-on): Likewise.
41400         * modules/fmaf (Depends-on): Likewise.
41401         * modules/fmal (Depends-on): Likewise.
41402         * modules/fmodf (Depends-on): Likewise.
41403         * modules/fmodl (Depends-on): Likewise.
41404         * modules/frexpf (Depends-on): Likewise.
41405         * modules/frexpl (Depends-on): Likewise.
41406         * modules/hypot (Depends-on): Likewise.
41407         * modules/hypotf (Depends-on): Likewise.
41408         * modules/hypotl (Depends-on): Likewise.
41409         * modules/ldexpf (Depends-on): Likewise.
41410         * modules/ldexpl (Depends-on): Likewise.
41411         * modules/log10f (Depends-on): Likewise.
41412         * modules/log10l (Depends-on): Likewise.
41413         * modules/log1p (Depends-on): Likewise.
41414         * modules/logb (Depends-on): Likewise.
41415         * modules/logf (Depends-on): Likewise.
41416         * modules/modff (Depends-on): Likewise.
41417         * modules/modfl (Depends-on): Likewise.
41418         * modules/powf (Depends-on): Likewise.
41419         * modules/remainderf (Depends-on): Likewise.
41420         * modules/remainderl (Depends-on): Likewise.
41421         * modules/rintf (Depends-on): Likewise.
41422         * modules/rintl (Depends-on): Likewise.
41423         * modules/sinf (Depends-on): Likewise.
41424         * modules/sinhf (Depends-on): Likewise.
41425         * modules/sqrtf (Depends-on): Likewise.
41426         * modules/tanf (Depends-on): Likewise.
41427         * modules/tanhf (Depends-on): Likewise.
41428         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
41429         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
41430         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
41431         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
41432         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
41433         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
41434         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
41435         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
41436         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
41437         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
41438         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
41439         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
41440         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
41441         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
41442         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
41443         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
41444         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
41445         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
41446         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
41447         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
41448         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
41449         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
41450         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
41451         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
41452         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
41453         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
41454         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
41455         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
41456         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
41457         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
41458         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
41459         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
41460         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
41461         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
41462         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
41463         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
41464         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
41465         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
41466         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
41467         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
41468         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
41470 2012-03-06  Bruno Haible  <bruno@clisp.org>
41472         math: Update module names in warnings.
41473         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
41474         tanl): Use specific module name in warn-on-use warning.
41476 2012-03-06  Bruno Haible  <bruno@clisp.org>
41478         expl: Simplify computation.
41479         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
41481 2012-03-05  Bruno Haible  <bruno@clisp.org>
41483         exp* tests: More tests.
41484         * tests/test-exp.h: New file.
41485         * tests/test-exp.c: Include <float.h> and test-exp.h.
41486         (main): Invoke test_function.
41487         * tests/test-expf.c: Include <float.h> and test-exp.h.
41488         (main): Invoke test_function.
41489         * tests/test-expl.c: Include <float.h> and test-exp.h.
41490         (main): Invoke test_function.
41491         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
41492         (Makefile.am): Add randomd.c to test_exp_SOURCES.
41493         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
41494         (Makefile.am): Add randomf.c to test_expf_SOURCES.
41495         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
41496         (Depends-on): Add 'float'.
41497         (Makefile.am): Add randoml.c to test_expl_SOURCES.
41499         expl: Fix precision of computed result.
41500         * lib/expl.c: Completely rewritten.
41501         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
41502         (Maintainer): Add me.
41503         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
41505 2012-03-05  Bruno Haible  <bruno@clisp.org>
41507         cbrt* tests: More tests.
41508         * tests/test-cbrt.h: New file.
41509         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
41510         (main): Invoke test_function.
41511         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
41512         (main): Invoke test_function.
41513         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
41514         (main): Invoke test_function.
41515         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
41516         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
41517         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
41518         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
41519         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
41520         (Depends-on): Add 'float'.
41521         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
41523 2012-03-05  Bruno Haible  <bruno@clisp.org>
41525         hypot* tests: More tests.
41526         * tests/test-hypot.h: New file, partially extracted from
41527         tests/test-hypotl.c.
41528         * tests/test-hypot.c: Include test-hypot.h.
41529         (main): Invoke test_function.
41530         * tests/test-hypotf.c: Include test-hypot.h.
41531         (main): Invoke test_function.
41532         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
41533         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
41534         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
41535         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
41536         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
41537         tests/randomf.c.
41538         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
41539         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
41540         tests/randoml.c.
41541         (Depends-on): Add 'fpucw', 'float'.
41542         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
41544 2012-03-05  Bruno Haible  <bruno@clisp.org>
41546         fpucw: Doc about FreeBSD.
41547         * lib/fpucw.h: Mention FreeBSD in comments.
41549 2012-03-04  Bruno Haible  <bruno@clisp.org>
41551         sqrt* tests: More tests.
41552         * tests/test-sqrt.h: New file.
41553         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
41554         (main): Invoke test_function.
41555         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
41556         (main): Invoke test_function.
41557         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
41558         (main): Invoke test_function.
41559         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
41560         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
41561         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
41562         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
41563         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
41564         (Depends-on): Add 'float'.
41565         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
41567 2012-03-04  Bruno Haible  <bruno@clisp.org>
41569         remainder* tests: More tests.
41570         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
41571         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
41572         (main): Invoke test_function.
41573         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
41574         (main): Invoke test_function.
41575         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
41576         (main): Invoke test_function.
41577         * modules/remainder-tests (Files): Add tests/test-remainder.h,
41578         tests/randomd.c.
41579         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
41580         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
41581         tests/randomf.c.
41582         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
41583         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
41584         tests/randoml.c.
41585         (Depends-on): Add 'float'.
41586         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
41588 2012-03-04  Bruno Haible  <bruno@clisp.org>
41590         remainder, remainderf, remainderl: Fix computation for large quotients.
41591         * lib/remainder.c: Completely rewritten.
41592         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
41593         USE_FLOAT.
41594         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
41595         USE_LONG_DOUBLE.
41596         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
41597         isnand, isinf. Remove round, fma.
41598         * modules/remainderf (Files): Add lib/remainder.c.
41599         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
41600         Remove roundf, fmaf.
41601         * modules/remainderl (Files): Add lib/remainder.c.
41602         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
41603         isinf. Remove roundl, fmal.
41604         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
41605         REMAINDER_LIBM.
41606         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
41607         REMAINDERF_LIBM.
41608         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
41609         REMAINDERL_LIBM.
41611 2012-03-04  Bruno Haible  <bruno@clisp.org>
41613         fmod* tests: More tests.
41614         * tests/test-fmod.h (my_ldexp): New function.
41615         (test_function): Reduce amount of random numbers to test. Add tests
41616         of very large quotients x / y.
41617         * tests/test-fmod.c (MAX_EXP): New macro.
41618         * tests/test-fmodf.c (MAX_EXP): Likewise.
41619         * tests/test-fmodl.c (MAX_EXP): Likewise.
41621 2012-03-04  Bruno Haible  <bruno@clisp.org>
41623         fmod, fmodl: Fix computation for large quotients x / y.
41624         * lib/fmod.c: Completely rewritten.
41625         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
41626         USE_LONG_DOUBLE.
41627         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
41628         isnand. Remove fma.
41629         * modules/fmodl (Files): Add lib/fmod.c.
41630         (Depends-on): Add float, isfinite, signbit, fabsl,
41631         frexpl, ldexpl, isnanl. Remove fma.
41632         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
41633         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
41635 2012-03-03  Bruno Haible  <bruno@clisp.org>
41637         fmod* tests: More tests.
41638         * tests/test-fmod.h: New file.
41639         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
41640         (main): Invoke test_function.
41641         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
41642         (main): Invoke test_function.
41643         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
41644         (main): Invoke test_function.
41645         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
41646         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
41647         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
41648         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
41649         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
41650         (Depends-on): Add 'float'.
41651         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
41653 2012-03-03  Bruno Haible  <bruno@clisp.org>
41655         rint* tests: More tests.
41656         * tests/test-rint.h: New file, partially extracted from
41657         tests/test-rintl.c.
41658         * tests/test-rint.c: Include test-rint.h.
41659         (main): Invoke test_function.
41660         * tests/test-rintf.c: Include test-rint.h.
41661         (main): Invoke test_function.
41662         * tests/test-rintl.c: Include test-rint.h.
41663         (main): Invoke test_function.
41664         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
41665         (Makefile.am): Add randomd.c to test_rint_SOURCES.
41666         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
41667         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
41668         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
41669         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
41671 2012-03-03  Bruno Haible  <bruno@clisp.org>
41673         modf* tests: More tests.
41674         * tests/test-modf.h: New file.
41675         * tests/test-modf.c: Include <float.h> and test-modf.h.
41676         (main): Invoke test_function.
41677         * tests/test-modff.c: Include <float.h> and test-modf.h.
41678         (main): Invoke test_function.
41679         * tests/test-modfl.c: Include <float.h> and test-modf.h.
41680         (main): Invoke test_function.
41681         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
41682         (Makefile.am): Add randomd.c to test_modf_SOURCES.
41683         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
41684         (Makefile.am): Add randomf.c to test_modff_SOURCES.
41685         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
41686         (Depends-on): Add 'float'.
41687         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
41689 2012-03-03  Bruno Haible  <bruno@clisp.org>
41691         fabs* tests: More tests.
41692         * tests/test-fabs.h: New file, partially extracted from
41693         tests/test-fabsl.c.
41694         * tests/test-fabs.c (RANDOM): New macro.
41695         * tests/test-fabsf.c (RANDOM): New macro.
41696         * tests/test-fabsl.c (RANDOM): New macro.
41697         * modules/fabs-tests (Files): Add tests/randomd.c.
41698         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
41699         * modules/fabsf-tests (Files): Add tests/randomf.c.
41700         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
41701         * modules/fabsl-tests (Files): Add tests/randoml.c.
41702         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
41704 2012-03-03  Bruno Haible  <bruno@clisp.org>
41706         ldexp* tests: More tests.
41707         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
41708         * tests/test-ldexp.c (RANDOM): New macro.
41709         * tests/test-ldexpf.c (RANDOM): New macro.
41710         * tests/test-ldexpl.c (RANDOM): New macro.
41711         * modules/ldexp-tests (Files): Add tests/randomd.c.
41712         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
41713         * modules/ldexpf-tests (Files): Add tests/randomf.c.
41714         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
41715         * modules/ldexpl-tests (Files): Add tests/randoml.c.
41716         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
41718 2012-03-03  Bruno Haible  <bruno@clisp.org>
41720         frexp* tests: More tests.
41721         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
41722         * tests/test-frexp.c (RANDOM): New macro.
41723         * tests/test-frexpf.c (RANDOM): New macro.
41724         * tests/test-frexpl.c (RANDOM): New macro.
41725         * modules/frexp-tests (Files): Add tests/randomd.c.
41726         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
41727         * modules/frexpf-tests (Files): Add tests/randomf.c.
41728         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
41729         * modules/frexpl-tests (Files): Add tests/randoml.c.
41730         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
41732 2012-03-03  Bruno Haible  <bruno@clisp.org>
41734         Support for pseudo-random numbers in tests.
41735         * tests/randomf.c: New file.
41736         * tests/randomd.c: New file.
41737         * tests/randoml.c: New file.
41738         * tests/macros.h (randomf, randomd, randoml): New declarations.
41740 2012-03-03  Bruno Haible  <bruno@clisp.org>
41742         frexp* tests: Refactor.
41743         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
41744         * tests/test-frexp.c: Include and use it.
41745         * tests/test-frexpf.c: Likewise.
41746         * tests/test-frexpl.c: Likewise.
41747         * modules/frexp-tests (Files): Add tests/test-frexp.h.
41748         * modules/frexpf-tests (Files): Likewise.
41749         * modules/frexpl-tests (Files): Likewise.
41751 2012-03-02  Jim Meyering  <meyering@redhat.com>
41753         maint: don't specify XZ_OPT=-9ev in dist-related rule
41754         Using xz's -9 option is warranted only if you have a very large
41755         tarball (see xz's documentation for the sizes vs. presets), and
41756         requires 64MiB of memory at decompression time.
41757         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
41758         Automake's default of just "-e" is fine.  Override on a
41759         per-package basis by setting XZ_OPT e.g., in cfg.mk.
41761 2012-03-01  Eric Blake  <eblake@redhat.com>
41763         maint.mk: allow announcement for non-gnulib project
41764         * maint.mk (announcement): Skip gnulib version if not used.
41766 2012-03-01  Jim Meyering  <meyering@redhat.com>
41768         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
41769         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
41770         envvar settings cannot interfere.  Otherwise, setting envvars like
41771         prohibit=foo require=bar, etc. would cause spurious test failures.
41773 2012-03-01  Eric Blake  <eblake@redhat.com>
41775         maint.mk: add per-line exclusions to prohibitions
41776         * maint.mk (_sc_search_regexp): Add $exclude parameter.
41777         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
41778         (sc_const_long_option): Use it.
41780 2012-03-01  Bruno Haible  <bruno@clisp.org>
41782         Tests for module 'expl-ieee'.
41783         * modules/expl-ieee-tests: New file.
41784         * tests/test-expl-ieee.c: New file.
41786         New module 'expl-ieee'.
41787         * modules/expl-ieee: New file.
41789         Tests for module 'exp-ieee'.
41790         * modules/exp-ieee-tests: New file.
41791         * tests/test-exp-ieee.c: New file.
41793         New module 'exp-ieee'.
41794         * modules/exp-ieee: New file.
41796         Tests for module 'expf-ieee'.
41797         * modules/expf-ieee-tests: New file.
41798         * tests/test-expf-ieee.c: New file.
41799         * tests/test-exp-ieee.h: New file.
41801         New module 'expf-ieee'.
41802         * modules/expf-ieee: New file.
41804 2012-02-29  Bruno Haible  <bruno@clisp.org>
41806         cbrtl-ieee: Work around test failure on IRIX 6.5.
41807         * m4/cbrtl-ieee.m4: New file.
41808         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
41809         test whether cbrtl works with a minus zero argument. Replace it if not.
41810         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
41811         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
41812         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
41813         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
41814         (Depends-on): Update conditions.
41815         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
41816         m4/signbit.m4.
41817         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
41818         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
41819         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
41821         Tests for module 'cbrtl-ieee'.
41822         * modules/cbrtl-ieee-tests: New file.
41823         * tests/test-cbrtl-ieee.c: New file.
41825         New module 'cbrtl-ieee'.
41826         * modules/cbrtl-ieee: New file.
41828         Tests for module 'cbrt-ieee'.
41829         * modules/cbrt-ieee-tests: New file.
41830         * tests/test-cbrt-ieee.c: New file.
41832         New module 'cbrt-ieee'.
41833         * modules/cbrt-ieee: New file.
41835         Tests for module 'cbrtf-ieee'.
41836         * modules/cbrtf-ieee-tests: New file.
41837         * tests/test-cbrtf-ieee.c: New file.
41838         * tests/test-cbrt-ieee.h: New file.
41840         New module 'cbrtf-ieee'.
41841         * modules/cbrtf-ieee: New file.
41843 2012-02-29  Bruno Haible  <bruno@clisp.org>
41845         cbrtf: Work around bug in IRIX 6.5 system function.
41846         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
41847         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
41848         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
41849         work.
41850         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
41851         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
41852         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
41853         (Depends-on): Update conditions.
41854         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
41856 2012-02-29  Bruno Haible  <bruno@clisp.org>
41858         Tests for module 'cbrtl'.
41859         * modules/cbrtl-tests: New file.
41860         * tests/test-cbrtl.c: New file.
41862         New module 'cbrtl'.
41863         * lib/math.in.h (cbrtl): New declaration.
41864         * lib/cbrtl.c: New file.
41865         * m4/cbrtl.m4: New file.
41866         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
41867         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
41868         HAVE_DECL_CBRTL.
41869         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
41870         HAVE_DECL_CBRTL.
41871         * modules/cbrtl: New file.
41872         * tests/test-math-c++.cc: Check the declaration of cbrtl.
41873         * doc/posix-functions/cbrtl.texi: Mention the new module.
41875 2012-02-29  Bruno Haible  <bruno@clisp.org>
41877         Tests for module 'cbrtf'.
41878         * modules/cbrtf-tests: New file.
41879         * tests/test-cbrtf.c: New file.
41881         New module 'cbrtf'.
41882         * lib/math.in.h (cbrtf): New declaration.
41883         * lib/cbrtf.c: New file.
41884         * m4/cbrtf.m4: New file.
41885         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
41886         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
41887         HAVE_DECL_CBRTF.
41888         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
41889         HAVE_DECL_CBRTF.
41890         * modules/cbrtf: New file.
41891         * tests/test-math-c++.cc: Check the declaration of cbrtf.
41892         * doc/posix-functions/cbrtf.texi: Mention the new module.
41894 2012-02-29  Bruno Haible  <bruno@clisp.org>
41896         cbrt: Provide replacement on MSVC and Minix.
41897         * lib/math.in.h (cbrt): New declaration.
41898         * lib/cbrt.c: New file.
41899         * m4/cbrt.m4: New file.
41900         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
41901         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
41902         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
41903         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
41904         (Depends-on): Add dependencies.
41905         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
41906         * tests/test-math-c++.cc: Check the declaration of cbrt.
41907         * doc/posix-functions/cbrt.texi: Mention that the module provides a
41908         replacement.
41910 2012-02-29  Bruno Haible  <bruno@clisp.org>
41912         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
41913         * m4/hypotl-ieee.m4: New file.
41914         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
41915         test whether hypotl works with mixed NaN and Infinity arguments.
41916         Replace it if not.
41917         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
41918         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
41919         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
41920         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
41921         (Depends-on): Update conditions.
41922         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
41923         (Depends-on): Add hypot-ieee.
41924         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
41925         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
41927         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
41928         * m4/hypotf-ieee.m4: New file.
41929         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
41930         test whether hypotf works with mixed NaN and Infinity arguments.
41931         Replace it if not.
41932         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
41933         (Depends-on): Add hypot-ieee.
41934         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
41935         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
41937         hypot-ieee: Work around test failure on OSF/1 and native Windows.
41938         * lib/math.in.h (hypot): New declaration.
41939         * lib/hypot.c: New file.
41940         * m4/hypot-ieee.m4: New file.
41941         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
41942         whether hypot works with mixed NaN and Infinity arguments. Replace it
41943         if not.
41944         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
41945         REPLACE_HYPOT.
41946         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
41947         * modules/hypot (Files): Add lib/hypot.c.
41948         (Depends-on): Add dependencies.
41949         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
41950         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
41951         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
41952         * tests/test-math-c++.cc: Check the declaration of hypot.
41953         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
41955         Tests for module 'hypotl-ieee'.
41956         * modules/hypotl-ieee-tests: New file.
41957         * tests/test-hypotl-ieee.c: New file.
41959         New module 'hypotl-ieee'.
41960         * modules/hypotl-ieee: New file.
41962         Tests for module 'hypot-ieee'.
41963         * modules/hypot-ieee-tests: New file.
41964         * tests/test-hypot-ieee.c: New file.
41966         New module 'hypot-ieee'.
41967         * modules/hypot-ieee: New file.
41969         Tests for module 'hypotf-ieee'.
41970         * modules/hypotf-ieee-tests: New file.
41971         * tests/test-hypotf-ieee.c: New file.
41972         * tests/test-hypot-ieee.h: New file.
41974         New module 'hypotf-ieee'.
41975         * modules/hypotf-ieee: New file.
41977 2012-02-29  Bruno Haible  <bruno@clisp.org>
41979         Remove unused variables.
41980         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
41981         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
41982         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
41983         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
41985 2012-02-29  Eric Blake  <eblake@redhat.com>
41987         termios: fix pid_t always, not just for tcgetsid
41988         * doc/posix-headers/termios.texi (termios.h): Mention problem.
41989         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
41990         just when building tcgetsid.
41992 2012-02-29  Bruno Haible  <bruno@clisp.org>
41994         Tests for module 'hypotl'.
41995         * modules/hypotl-tests: New file.
41996         * tests/test-hypotl.c: New file.
41998         New module 'hypotl'.
41999         * lib/math.in.h (hypotl): New declaration.
42000         * lib/hypotl.c: New file.
42001         * m4/hypotl.m4: New file.
42002         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
42003         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
42004         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
42005         * modules/hypotl: New file.
42006         * tests/test-math-c++.cc: Check the hypotl declaration.
42007         * doc/posix-functions/hypotl.texi: Mention the new module.
42009 2012-02-29  Eric Blake  <eblake@redhat.com>
42011         tcgetsid: fix cygwin header bug
42012         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
42014         docs: update cygwin progress
42015         * doc/posix-functions/llround.texi (llround): Added in cygwin
42016         1.7.8.
42017         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
42018         * doc/glibc-functions/program_invocation_name.texi
42019         (program_invocation_name): Likewise.
42020         * doc/glibc-functions/program_invocation_short_name.texi
42021         (program_invocation_short_name): Likewise.
42022         * doc/glibc-functions/madvise.texi (madvise): Likewise.
42023         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
42024         Likewise.
42025         * doc/posix-functions/pthread_spin_destroy.texi
42026         (pthread_spin_destroy): Added in cygwin 1.7.10.
42027         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
42028         Likewise.
42029         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
42030         Likewise.
42031         * doc/posix-functions/pthread_spin_trylock.texi
42032         (pthread_spin_trylock): Likewise.
42033         * doc/posix-functions/pthread_spin_unlock.texi
42034         (pthread_spin_unlock): Likewise.
42035         * doc/posix-functions/pthread_setschedprio.texi
42036         (pthread_setschedprio): Likewise.
42037         * doc/posix-functions/pthread_attr_getstack.texi
42038         (pthread_attr_getstack): Likewise.
42039         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
42040         (pthread_attr_getstackaddr): Likewise.
42041         * doc/glibc-functions/pthread_getattr_np.texi
42042         (pthread_getattr_np): Likewise.
42043         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
42044         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
42045         * doc/posix-functions/clock_settime.texi (clock_settime):
42046         Likewise.
42047         * doc/posix-functions/pthread_attr_getguardsize.texi
42048         (pthread_attr_getguardsize): Likewise.
42049         * doc/posix-functions/pthread_attr_setguardsize.texi
42050         (pthread_attr_setguardsize): Likewise.
42051         * doc/posix-functions/pthread_attr_setstack.texi
42052         (pthread_attr_setstack): Likewise.
42053         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
42054         (pthread_attr_setstackaddr): Likewise.
42055         * doc/posix-functions/clock_getcpuclockid.texi
42056         (clock_getcpuclockid): Likewise.
42057         * doc/posix-functions/pthread_getcpuclockid.texi
42058         (pthread_getcpuclockid): Likewise.
42059         * doc/glibc-functions/error.texi (error): Likewise.
42060         * doc/glibc-functions/error_at_line.texi (error_at_line):
42061         Likewise.
42062         * doc/glibc-functions/error_message_count.texi
42063         (error_message_count): Likewise.
42064         * doc/glibc-functions/error_one_per_line.texi
42065         (error_one_per_line): Likewise.
42066         * doc/glibc-functions/error_print_progname.texi
42067         (error_print_progname): Likewise.
42068         * doc/posix-functions/pthread_condattr_getclock.texi
42069         (pthread_condattr_getclock): Likewise.
42070         * doc/posix-functions/pthread_condattr_setclock.texi
42071         (pthread_condattr_setclock): Likewise.
42072         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
42073         Likewise.
42074         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
42075         * doc/glibc-functions/getpt.texi (getpt): Likewise.
42076         * doc/glibc-functions/get_current_dir_name.texi
42077         (get_current_dir_name): Likewise.
42078         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
42079         Likewise.
42080         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
42081         wrong return type.
42082         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
42083         1.7.11.
42085 2012-02-29  Bruno Haible  <bruno@clisp.org>
42087         Tests for module 'hypotf'.
42088         * modules/hypotf-tests: New file.
42089         * tests/test-hypotf.c: New file.
42091         New module 'hypotf'.
42092         * lib/math.in.h (hypotf): New declaration.
42093         * lib/hypotf.c: New file.
42094         * m4/hypotf.m4: New file.
42095         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
42096         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
42097         REPLACE_HYPOTF.
42098         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
42099         REPLACE_HYPOTF.
42100         * modules/hypotf: New file.
42101         * tests/test-math-c++.cc: Check the hypotf declaration.
42102         * doc/posix-functions/hypotf.texi: Mention the new module.
42104         hypot: Prepare for hypotf module.
42105         * m4/hypot.m4: New file.
42106         * modules/hypot (Files): Add m4/hypot.m4.
42107         (configure.ac): Invoke gl_FUNC_HYPOT.
42109 2012-02-29  Bruno Haible  <bruno@clisp.org>
42111         hypot tests: More tests.
42112         * tests/test-hypot.c: Include <float.h>.
42113         (main): Add tests about overflow and underflow.
42115 2012-02-29  Bruno Haible  <bruno@clisp.org>
42117         math code: Add comments.
42118         * lib/acosl.c: Add comment about related glibc source files.
42119         * lib/asinl.c: Likewise.
42120         * lib/atanl.c: Likewise.
42121         * lib/expl.c: Likewise.
42122         * lib/logl.c: Likewise.
42123         * lib/sincosl.c: Likewise.
42124         * lib/sinl.c: Likewise.
42125         * lib/tanl.c: Likewise.
42126         * lib/trigl.c: Likewise.
42127         * lib/cosl.c: Likewise. Fix comments.
42129 2012-02-28  Bruno Haible  <bruno@clisp.org>
42131         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
42132         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
42133         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
42134         HUGE_VALL are defined.
42135         (numeric_equald): Renamed from numeric_equal.
42136         (numeric_equalf, numeric_equall): New functions.
42137         (main): Check also HUGE_VALF, HUGE_VALL.
42138         * modules/math-tests (Files): Add tests/macros.h.
42139         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
42140         HUGE_VALL.
42142 2012-02-28  Bruno Haible  <bruno@clisp.org>
42144         doc: Move ISO C11 feature notes into POSIX chapters.
42145         * doc/posix-functions/aligned_alloc.texi: Renamed from
42146         doc/glibc-functions/aligned_alloc.texi.
42147         * doc/posix-functions/quick_exit.texi: Renamed from
42148         doc/glibc-functions/quick_exit.texi.
42149         * doc/posix-headers/uchar.texi: Renamed from
42150         doc/glibc-headers/uchar.texi.
42151         * doc/posix-functions/c16rtomb.texi: Renamed from
42152         doc/glibc-functions/c16rtomb.texi.
42153         * doc/posix-functions/c32rtomb.texi: Renamed from
42154         doc/glibc-functions/c32rtomb.texi.
42155         * doc/posix-functions/mbrtoc16.texi: Renamed from
42156         doc/glibc-functions/mbrtoc16.texi.
42157         * doc/posix-functions/mbrtoc32.texi: Renamed from
42158         doc/glibc-functions/mbrtoc32.texi.
42159         * doc/gnulib.texi: Update.
42160         (Glibc uchar.h): Remove section.
42161         Suggested by Eric Blake.
42163 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
42165         stdnoreturn: port to MSVC better
42166         MSVC standard headers use __declspec(noreturn), so #define noreturn
42167         to empty on that platform.  Reported by Bruno Haible in
42168         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
42169         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
42170         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
42172 2012-02-28  Bruno Haible  <bruno@clisp.org>
42174         doc: Mention new glibc headers and functions.
42175         * doc/glibc-headers/uchar.texi: New file.
42176         * doc/glibc-functions/aligned_alloc.texi: New file.
42177         * doc/glibc-functions/c16rtomb.texi: New file.
42178         * doc/glibc-functions/c32rtomb.texi: New file.
42179         * doc/glibc-functions/clock_adjtime.texi: New file.
42180         * doc/glibc-functions/fanotify_init.texi: New file.
42181         * doc/glibc-functions/fanotify_mark.texi: New file.
42182         * doc/glibc-functions/inet6_opt_append.texi: New file.
42183         * doc/glibc-functions/inet6_opt_find.texi: New file.
42184         * doc/glibc-functions/inet6_opt_finish.texi: New file.
42185         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
42186         * doc/glibc-functions/inet6_opt_init.texi: New file.
42187         * doc/glibc-functions/inet6_opt_next.texi: New file.
42188         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
42189         * doc/glibc-functions/inet6_rth_add.texi: New file.
42190         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
42191         * doc/glibc-functions/inet6_rth_init.texi: New file.
42192         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
42193         * doc/glibc-functions/inet6_rth_segments.texi: New file.
42194         * doc/glibc-functions/inet6_rth_space.texi: New file.
42195         * doc/glibc-functions/login.texi: New file.
42196         * doc/glibc-functions/mbrtoc16.texi: New file.
42197         * doc/glibc-functions/mbrtoc32.texi: New file.
42198         * doc/glibc-functions/name_to_handle_at.texi: New file.
42199         * doc/glibc-functions/ntp_gettimex.texi: New file.
42200         * doc/glibc-functions/open_by_handle_at.texi: New file.
42201         * doc/glibc-functions/prlimit.texi: New file.
42202         * doc/glibc-functions/process_vm_readv.texi: New file.
42203         * doc/glibc-functions/process_vm_writev.texi: New file.
42204         * doc/glibc-functions/recvmmsg.texi: New file.
42205         * doc/glibc-functions/scandirat.texi: New file.
42206         * doc/glibc-functions/sendmmsg.texi: New file.
42207         * doc/glibc-functions/setns.texi: New file.
42208         * doc/glibc-functions/timespec_get.texi: New file.
42209         * doc/gnulib.texi: Include them.
42210         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
42211         sections.
42212         Reported by Eric Blake.
42214 2012-02-28  Bruno Haible  <bruno@clisp.org>
42216         Avoid compilation errors with MSVC option -fp:strict.
42217         * lib/floor.c: Use MSVC specific pragma fenv_access.
42218         * lib/ceil.c: Likewise.
42219         * lib/trunc.c: Likewise.
42220         * lib/round.c: Likewise.
42221         * lib/rint.c: Likewise.
42222         * lib/fma.c: Likewise.
42223         * lib/integer_length.c: Likewise.
42224         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
42225         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
42226         * tests/test-floor2.c: Likewise.
42227         * tests/test-floorf2.c: Likewise.
42228         * tests/test-ceil2.c: Likewise.
42229         * tests/test-ceilf2.c: Likewise.
42230         * tests/test-trunc2.c: Likewise.
42231         * tests/test-truncf2.c: Likewise.
42232         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
42234 2012-02-27  Bruno Haible  <bruno@clisp.org>
42236         Tests for module 'sqrtl-ieee'.
42237         * modules/sqrtl-ieee-tests: New file.
42238         * tests/test-sqrtl-ieee.c: New file.
42240         New module 'sqrtl-ieee'.
42241         * modules/sqrtl-ieee: New file.
42243         Tests for module 'sqrt-ieee'.
42244         * modules/sqrt-ieee-tests: New file.
42245         * tests/test-sqrt-ieee.c: New file.
42247         New module 'sqrt-ieee'.
42248         * modules/sqrt-ieee: New file.
42250         Tests for module 'sqrtf-ieee'.
42251         * modules/sqrtf-ieee-tests: New file.
42252         * tests/test-sqrtf-ieee.c: New file.
42253         * tests/test-sqrt-ieee.h: New file.
42255         New module 'sqrtf-ieee'.
42256         * modules/sqrtf-ieee: New file.
42258 2012-02-27  Bruno Haible  <bruno@clisp.org>
42260         remainderl-ieee: Work around test failure on OSF/1.
42261         * m4/remainderl-ieee.m4: New file.
42262         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
42263         present, test whether remainderl works with a zero second argument.
42264         Replace it if not.
42265         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
42266         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
42267         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
42268         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
42269         (Depends-on): Update conditions.
42270         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
42271         (Depends-on): Add remainder-ieee.
42272         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
42273         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
42274         module.
42276         remainderf-ieee: Work around test failure on OSF/1.
42277         * m4/remainderf-ieee.m4: New file.
42278         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
42279         present, test whether remainderf works with a zero second argument.
42280         Replace it if not.
42281         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
42282         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
42283         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
42284         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
42285         (Depends-on): Update conditions.
42286         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
42287         (Depends-on): Add remainder-ieee.
42288         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
42289         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
42290         module.
42292         remainder-ieee: Work around test failure on OSF/1.
42293         * m4/remainder-ieee.m4: New file.
42294         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
42295         present, test whether remainder works with a zero second argument.
42296         Replace it if not.
42297         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
42298         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
42299         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
42300         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
42301         (Depends-on): Update dependencies.
42302         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
42303         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
42304         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
42306         Tests for module 'remainderl-ieee'.
42307         * modules/remainderl-ieee-tests: New file.
42308         * tests/test-remainderl-ieee.c: New file.
42310         New module 'remainderl-ieee'.
42311         * modules/remainderl-ieee: New file.
42313         Tests for module 'remainder-ieee'.
42314         * modules/remainder-ieee-tests: New file.
42315         * tests/test-remainder-ieee.c: New file.
42317         New module 'remainder-ieee'.
42318         * modules/remainder-ieee: New file.
42320         Tests for module 'remainderf-ieee'.
42321         * modules/remainderf-ieee-tests: New file.
42322         * tests/test-remainderf-ieee.c: New file.
42323         * tests/test-remainder-ieee.h: New file.
42325         New module 'remainderf-ieee'.
42326         * modules/remainderf-ieee: New file.
42328 2012-02-27  Bruno Haible  <bruno@clisp.org>
42330         modff, modfl: Fix configure syntax error.
42331         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
42332         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
42334 2012-02-27  Bruno Haible  <bruno@clisp.org>
42336         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
42337         * m4/fmodl-ieee.m4: New file.
42338         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
42339         whether fmodl works with zero arguments. Replace it if not.
42340         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
42341         (Depends-on): Add fmod-ieee.
42342         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
42343         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
42345         fmodf-ieee: Work around test failure on OSF/1.
42346         * m4/fmodf-ieee.m4: New file.
42347         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
42348         whether fmodf works with zero arguments. Replace it if not.
42349         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
42350         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
42351         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
42352         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
42353         (Depends-on): Update dependencies.
42354         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
42355         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
42356         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
42358         fmodf-ieee: Work around test failure on MSVC 9.
42359         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
42360         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
42362         fmod-ieee: Work around test failures on OSF/1, mingw.
42363         * m4/fmod-ieee.m4: New file.
42364         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
42365         whether fmod works with zero arguments. Replace it if not.
42366         * lib/math.in.h (fmod): New declaration.
42367         * lib/fmod.c: New file.
42368         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
42369         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
42370         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
42371         * modules/fmod (Files): Add lib/fmod.c.
42372         (Depends-on): Add math, isinf, trunc, fma.
42373         (configure.ac): Arrange to compile lib/fmod.c if needed.
42374         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
42375         m4/signbit.m4.
42376         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
42377         * tests/test-math-c++.cc: Check the declaration of fmod.
42378         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
42380         fmodl-ieee: Fix test failures.
42381         * lib/fmodl.c (fmodl): Treat Inf specially.
42382         * modules/fmodl (Depends-on): Add isinf.
42384         Tests for module 'fmodl-ieee'.
42385         * modules/fmodl-ieee-tests: New file.
42386         * tests/test-fmodl-ieee.c: New file.
42388         New module 'fmodl-ieee'.
42389         * modules/fmodl-ieee: New file.
42391         Tests for module 'fmod-ieee'.
42392         * modules/fmod-ieee-tests: New file.
42393         * tests/test-fmod-ieee.c: New file.
42395         New module 'fmod-ieee'.
42396         * modules/fmod-ieee: New file.
42398         Tests for module 'fmodf-ieee'.
42399         * modules/fmodf-ieee-tests: New file.
42400         * tests/test-fmodf-ieee.c: New file.
42401         * tests/test-fmod-ieee.h: New file.
42403         New module 'fmodf-ieee'.
42404         * modules/fmodf-ieee: New file.
42406 2012-02-27  Bruno Haible  <bruno@clisp.org>
42408         Tests for module 'rintl-ieee'.
42409         * modules/rintl-ieee-tests: New file.
42410         * tests/test-rintl-ieee.c: New file.
42412         New module 'rintl-ieee'.
42413         * modules/rintl-ieee: New file.
42415         Tests for module 'rint-ieee'.
42416         * modules/rint-ieee-tests: New file.
42417         * tests/test-rint-ieee.c: New file.
42419         New module 'rint-ieee'.
42420         * modules/rint-ieee: New file.
42422         Tests for module 'rintf-ieee'.
42423         * modules/rintf-ieee-tests: New file.
42424         * tests/test-rintf-ieee.c: New file.
42425         * tests/test-rint-ieee.h: New file.
42427         New module 'rintf-ieee'.
42428         * modules/rintf-ieee: New file.
42430 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
42432         regex: re_search etc. should return -2 when memory exhausted
42433         This bug was uncovered when testing 'grep'.  Without the fix,
42434         re_search and friends return -1 when memory is exhausted, but -1
42435         means no match, and this causes grep to falsely report no-match
42436         instead of memory-exhaustion.  See
42437         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
42438         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
42439         trouble; this can occur if re_search_internal ran out of memory.
42441 2012-02-26  Bruno Haible  <bruno@clisp.org>
42443         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
42444         * m4/modfl-ieee.m4: New file.
42445         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
42446         whether modfl works with Inf. Replace it if not.
42447         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
42448         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
42449         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
42450         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
42451         (Depends-on): Update dependencies.
42452         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
42453         m4/signbit.m4.
42454         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
42455         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
42457         modfl-ieee: Fix dependencies.
42458         * modules/modfl-ieee (Depends-on): Add modf-ieee.
42460         modfl-ieee: Fix test failures.
42461         * lib/modfl.c (modfl): Treat NaN and Inf specially.
42462         * modules/modfl (Depends-on): Add isfinite, isinf.
42464         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
42465         * m4/modff-ieee.m4: New file.
42466         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
42467         whether modff works with NaN and Inf. Replace it if not.
42468         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
42469         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
42470         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
42471         * modules/modff (configure.ac): Consider REPLACE_MODFF.
42472         (Depends-on): Update dependencies.
42473         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
42474         m4/signbit.m4.
42475         (Depends-on): Add modf-ieee.
42476         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
42477         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
42479         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
42480         * m4/modf-ieee.m4: New file.
42481         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
42482         whether modf works with NaN and Inf. Replace it if not.
42483         * lib/math.in.h (modf): New declaration.
42484         * lib/modf.c: New file.
42485         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
42486         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
42487         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
42488         * modules/modf (Files): Add lib/modf.c.
42489         (Depends-on): Add math, isfinite, trunc, isinf.
42490         (configure.ac): Addrange to compile lib/modf.c if needed.
42491         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
42492         m4/signbit.m4.
42493         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
42494         * tests/test-math-c++.cc: Check the declaration of modf.
42495         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
42497         Tests for module 'modfl-ieee'.
42498         * modules/modfl-ieee-tests: New file.
42499         * tests/test-modfl-ieee.c: New file.
42501         New module 'modfl-ieee'.
42502         * modules/modfl-ieee: New file.
42504         Tests for module 'modf-ieee'.
42505         * modules/modf-ieee-tests: New file.
42506         * tests/test-modf-ieee.c: New file.
42508         New module 'modf-ieee'.
42509         * modules/modf-ieee: New file.
42511         Tests for module 'modff-ieee'.
42512         * modules/modff-ieee-tests: New file.
42513         * tests/test-modff-ieee.c: New file.
42514         * tests/test-modf-ieee.h: New file.
42516         New module 'modff-ieee'.
42517         * modules/modff-ieee: New file.
42519 2012-02-26  Bruno Haible  <bruno@clisp.org>
42521         Tests for module 'fabsl-ieee'.
42522         * modules/fabsl-ieee-tests: New file.
42523         * tests/test-fabsl-ieee.c: New file.
42525         New module 'fabsl-ieee'.
42526         * modules/fabsl-ieee: New file.
42528         Tests for module 'fabs-ieee'.
42529         * modules/fabs-ieee-tests: New file.
42530         * tests/test-fabs-ieee.c: New file.
42532         New module 'fabs-ieee'.
42533         * modules/fabs-ieee: New file.
42535         Tests for module 'fabsf-ieee'.
42536         * modules/fabsf-ieee-tests: New file.
42537         * tests/test-fabsf-ieee.c: New file.
42538         * tests/test-fabs-ieee.h: New file.
42540         New module 'fabsf-ieee'.
42541         * modules/fabsf-ieee: New file.
42543 2012-02-26  Bruno Haible  <bruno@clisp.org>
42545         Tests for module 'fmal-ieee'.
42546         * modules/fmal-ieee-tests: New file.
42547         * tests/test-fmal-ieee.c: New file.
42549         New module 'fmal-ieee'.
42550         * modules/fmal-ieee: New file.
42552         Tests for module 'fma-ieee'.
42553         * modules/fma-ieee-tests: New file.
42554         * tests/test-fma-ieee.c: New file.
42556         New module 'fma-ieee'.
42557         * modules/fma-ieee: New file.
42559         Tests for module 'fmaf-ieee'.
42560         * modules/fmaf-ieee-tests: New file.
42561         * tests/test-fmaf-ieee.c: New file.
42562         * tests/test-fma-ieee.h: New file.
42564         New module 'fmaf-ieee'.
42565         * modules/fmaf-ieee: New file.
42567 2012-02-26  Bruno Haible  <bruno@clisp.org>
42569         Tests for module 'ldexpl-ieee'.
42570         * modules/ldexpl-ieee-tests: New file.
42571         * tests/test-ldexpl-ieee.c: New file.
42573         New module 'ldexpl-ieee'.
42574         * modules/ldexpl-ieee: New file.
42576         Tests for module 'ldexp-ieee'.
42577         * modules/ldexp-ieee-tests: New file.
42578         * tests/test-ldexp-ieee.c: New file.
42580         New module 'ldexp-ieee'.
42581         * modules/ldexp-ieee: New file.
42583         Tests for module 'ldexpf-ieee'.
42584         * modules/ldexpf-ieee-tests: New file.
42585         * tests/test-ldexpf-ieee.c: New file.
42586         * tests/test-ldexp-ieee.h: New file.
42588         New module 'ldexpf-ieee'.
42589         * modules/ldexpf-ieee: New file.
42591 2012-02-26  Bruno Haible  <bruno@clisp.org>
42593         Refactor frexp*-ieee tests.
42594         * tests/test-frexp-ieee.h: New file.
42595         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
42596         (main): Just call test_function.
42597         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
42598         (main): Just call test_function.
42599         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
42600         (main): Just call test_function.
42601         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
42602         * modules/frexp-ieee-tests (Files): Likewise.
42603         * modules/frexpl-ieee-tests (Files): Likewise.
42605         Tests for module 'frexpl-ieee'.
42606         * modules/frexpl-ieee-tests: New file.
42607         * tests/test-frexpl-ieee.c: New file.
42609         New module 'frexpl-ieee'.
42610         * modules/frexpl-ieee: New file.
42612         Tests for module 'frexp-ieee'.
42613         * modules/frexp-ieee-tests: New file.
42614         * tests/test-frexp-ieee.c: New file.
42616         New module 'frexp-ieee'.
42617         * modules/frexp-ieee: New file.
42619         Tests for module 'frexpf-ieee'.
42620         * modules/frexpf-ieee-tests: New file.
42621         * tests/test-frexpf-ieee.c: New file.
42623         New module 'frexpf-ieee'.
42624         * modules/frexpf-ieee: New file.
42626 2012-02-26  Bruno Haible  <bruno@clisp.org>
42628         roundl-ieee tests: More tests.
42629         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
42630         (main): Add tests for [MX] shaded specification in POSIX.
42631         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42632         (Depends-on): Add isnanl-nolibm.
42634         round-ieee tests: More tests.
42635         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42636         (main): Add tests for [MX] shaded specification in POSIX.
42637         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42638         (Depends-on): Add isnand-nolibm.
42640         roundf-ieee tests: More tests.
42641         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42642         (main): Add tests for [MX] shaded specification in POSIX.
42643         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42644         (Depends-on): Add isnanf-nolibm.
42646         truncl-ieee tests: More tests.
42647         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
42648         (main): Add tests for [MX] shaded specification in POSIX.
42649         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42650         (Depends-on): Add isnanl-nolibm.
42652         trunc-ieee tests: More tests.
42653         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42654         (main): Add tests for [MX] shaded specification in POSIX.
42655         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42656         (Depends-on): Add isnand-nolibm.
42658         truncf-ieee tests: More tests.
42659         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42660         (main): Add tests for [MX] shaded specification in POSIX.
42661         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42662         (Depends-on): Add isnanf-nolibm.
42664         ceill-ieee tests: More tests.
42665         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
42666         (main): Add tests for [MX] shaded specification in POSIX.
42667         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42668         (Depends-on): Add isnanl-nolibm.
42670         ceil-ieee tests: More tests.
42671         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42672         (main): Add tests for [MX] shaded specification in POSIX.
42673         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42674         (Depends-on): Add isnand-nolibm.
42676         ceilf-ieee tests: More tests.
42677         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42678         (main): Add tests for [MX] shaded specification in POSIX.
42679         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42680         (Depends-on): Add isnanf-nolibm.
42682         floorl-ieee tests: More tests.
42683         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
42684         (main): Add tests for [MX] shaded specification in POSIX.
42685         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42686         (Depends-on): Add isnanl-nolibm.
42688         floor-ieee tests: More tests.
42689         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42690         (main): Add tests for [MX] shaded specification in POSIX.
42691         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42692         (Depends-on): Add isnand-nolibm.
42694         floorf-ieee tests: More tests.
42695         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42696         (main): Add tests for [MX] shaded specification in POSIX.
42697         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42698         (Depends-on): Add isnanf-nolibm.
42700 2012-02-26  Bruno Haible  <bruno@clisp.org>
42702         fpieee: More comments.
42703         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
42705 2012-02-25  Bruno Haible  <bruno@clisp.org>
42707         Tests for module 'log10l'.
42708         * modules/log10l-tests: New file.
42709         * tests/test-log10l.c: New file.
42710         * tests/test-math-c++.cc: Check the declaration of log10l.
42712         New module 'log10l'.
42713         * lib/math.in.h (log10l): New declaration.
42714         * lib/log10l.c: New file.
42715         * m4/log10l.m4: New file.
42716         * modules/log10l: New file.
42717         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
42718         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
42719         HAVE_DECL_LOG10L.
42720         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
42721         HAVE_DECL_LOG10L.
42722         * doc/posix-functions/log10l.texi: Mention the new module.
42724 2012-02-25  Bruno Haible  <bruno@clisp.org>
42726         fmodl, remainder*: Avoid wrong results due to rounding errors.
42727         * lib/fmodl.c (fmodl): Correct the result if it is not within the
42728         expected bounds.
42729         * lib/remainderf.c (remainderf): Likewise.
42730         * lib/remainder.c (remainder): Likewise.
42731         * lib/remainderl.c (remainderl): Likewise.
42733 2012-02-25  Bruno Haible  <bruno@clisp.org>
42735         Tests for module 'remainderl'.
42736         * modules/remainderl-tests: New file.
42737         * tests/test-remainderl.c: New file.
42738         * tests/test-math-c++.cc: Check the declaration of remainderl.
42740         New module 'remainderl'.
42741         * lib/math.in.h (remainderl): New declaration.
42742         * lib/remainderl.c: New file.
42743         * m4/remainderl.m4: New file.
42744         * modules/remainderl: New file.
42745         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
42746         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
42747         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
42748         HAVE_REMAINDERL.
42749         * doc/posix-functions/remainderl.texi: Mention the new module.
42751 2012-02-25  Bruno Haible  <bruno@clisp.org>
42753         Tests for module 'remainderf'.
42754         * modules/remainderf-tests: New file.
42755         * tests/test-remainderf.c: New file.
42756         * tests/test-math-c++.cc: Check the declaration of remainderf.
42758         New module 'remainderf'.
42759         * lib/math.in.h (remainderf): New declaration.
42760         * lib/remainderf.c: New file.
42761         * m4/remainderf.m4: New file.
42762         * modules/remainderf: New file.
42763         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
42764         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
42765         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
42766         HAVE_REMAINDERF.
42767         * doc/posix-functions/remainderf.texi: Mention the new module.
42769 2012-02-25  Bruno Haible  <bruno@clisp.org>
42771         remainder: Support for MSVC.
42772         * lib/math.in.h (remainder): New declaration.
42773         * lib/remainder.c: New file.
42774         * m4/remainder.m4: New file.
42775         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
42776         (Depends-on): Add math, round, fma.
42777         (configure.ac): Use results of gl_FUNC_REMAINDER.
42778         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
42779         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
42780         HAVE_DECL_REMAINDER.
42781         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
42782         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
42783         * tests/test-math-c++.cc: Check the declaration of remainder.
42784         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
42785         problems are fixed.
42787 2012-02-25  Bruno Haible  <bruno@clisp.org>
42789         Tests for module 'fmodl'.
42790         * modules/fmodl-tests: New file.
42791         * tests/test-fmodl.c: New file.
42792         * tests/test-math-c++.cc: Check the declaration of fmodl.
42794         New module 'fmodl'.
42795         * lib/math.in.h (fmodl): New declaration.
42796         * lib/fmodl.c: New file.
42797         * m4/fmodl.m4: New file.
42798         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
42799         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
42800         REPLACE_FMODL.
42801         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
42802         REPLACE_FMODL.
42803         * modules/fmodl: New file.
42804         * doc/posix-functions/fmodl.texi: Mention the new module.
42806 2012-02-25  Bruno Haible  <bruno@clisp.org>
42808         Tests for module 'modfl'.
42809         * modules/modfl-tests: New file.
42810         * tests/test-modfl.c: New file.
42811         * tests/test-math-c++.cc: Check the declaration of modfl.
42813         New module 'modfl'.
42814         * lib/math.in.h (modfl): New declaration.
42815         * lib/modfl.c: New file.
42816         * m4/modfl.m4: New file.
42817         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
42818         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
42819         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
42820         * modules/modfl: New file.
42821         * doc/posix-functions/modfl.texi: Mention the new module.
42823 2012-02-25  Bruno Haible  <bruno@clisp.org>
42825         Tests for module 'fabsl'.
42826         * modules/fabsl-tests: New file.
42827         * tests/test-fabsl.c: New file.
42828         * tests/test-math-c++.cc: Check the declaration of fabsl.
42830         New module 'fabsl'.
42831         * lib/math.in.h (fabsl): New declaration.
42832         * lib/fabsl.c: New file.
42833         * m4/fabsl.m4: New file.
42834         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
42835         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
42836         REPLACE_FABSL.
42837         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
42838         REPLACE_FABSL.
42839         * modules/fabsl: New file.
42840         * doc/posix-functions/fabsl.texi: Mention the new module.
42842 2012-02-25  Bruno Haible  <bruno@clisp.org>
42844         fabs tests: More tests.
42845         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
42846         (zero): New variable.
42847         (main): Add tests for signed zero.
42848         * modules/fabs-tests (Files): Add tests/minus-zero.h.
42850         fabsf tests: More tests.
42851         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
42852         (zero): New variable.
42853         (main): Add tests for signed zero.
42854         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
42856 2012-02-24  Bruno Haible  <bruno@clisp.org>
42858         atanl: Provide function definition on MSVC.
42859         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
42860         function pointer.
42861         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
42863 2012-02-24  Bruno Haible  <bruno@clisp.org>
42865         acosl: Provide function definition on MSVC.
42866         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
42867         function pointer.
42868         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
42870 2012-02-24  Bruno Haible  <bruno@clisp.org>
42872         asinl: Provide function definition on MSVC.
42873         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
42874         function pointer.
42875         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
42877 2012-02-24  Bruno Haible  <bruno@clisp.org>
42879         tanl: Provide function definition on MSVC.
42880         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
42881         function pointer.
42882         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
42884 2012-02-24  Bruno Haible  <bruno@clisp.org>
42886         cosl: Provide function definition on MSVC.
42887         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
42888         function pointer.
42889         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
42891 2012-02-24  Bruno Haible  <bruno@clisp.org>
42893         sinl: Provide function definition on MSVC.
42894         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
42895         function pointer.
42896         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
42898 2012-02-24  Bruno Haible  <bruno@clisp.org>
42900         logl: Provide function definition on MSVC.
42901         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
42902         function pointer.
42903         * lib/math.in.h (logl): Undefine if it does not exist as a function.
42905 2012-02-24  Bruno Haible  <bruno@clisp.org>
42907         expl: Provide function definition on MSVC.
42908         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
42909         function pointer.
42910         * lib/math.in.h (expl): Undefine if it does not exist as a function.
42912 2012-02-24  Bruno Haible  <bruno@clisp.org>
42914         sqrtl: Provide function definition on MSVC.
42915         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
42916         a function pointer.
42917         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
42919 2012-02-24  Bruno Haible  <bruno@clisp.org>
42921         ceill: Provide function definition on MSVC.
42922         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
42923         used as a function pointer.
42924         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
42926 2012-02-24  Bruno Haible  <bruno@clisp.org>
42928         floorl: Provide function definition on MSVC.
42929         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
42930         used as a function pointer.
42931         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
42933 2012-02-24  Bruno Haible  <bruno@clisp.org>
42935         ceilf: Provide function definition on MSVC.
42936         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
42937         used as a function pointer.
42938         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
42940 2012-02-24  Bruno Haible  <bruno@clisp.org>
42942         floorf: Provide function definition on MSVC.
42943         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
42944         used as a function pointer.
42945         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
42947 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
42949         stdnoreturn: new module
42950         This implements a replacement for C11's <stdnoreturn.h>.
42951         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
42952         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
42953         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
42954         * tests/test-stdnoreturn.c: New files.
42956 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
42958         regex: fix false multibyte matches in some regular expressions
42959         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
42960         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
42961         * lib/regex_internal.c (re_string_skip_chars):
42962         Fix miscomputation of remain_len that may cause incomplete
42963         multi-byte character and false match.
42965 2012-02-24  Jim Meyering  <meyering@redhat.com>
42967         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
42968         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
42969         uses with "==" *before* the call, e.g., 0 == strcmp (...)
42970         Remove now-unnecessary str''cmp obfuscation.
42971         Suggested by Akim Demaille.
42973 2012-02-24  Bruno Haible  <bruno@clisp.org>
42975         streq: Rename macro.
42976         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
42977         * NEWS: Mention the change.
42978         * lib/mbrtowc.c (mbrtowc): Update.
42979         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
42980         * lib/wcwidth.c (wcwidth): Update.
42981         Suggested by Akim Demaille and Jim Meyering.
42983 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
42985         regex: fix typo in definition of MIN
42986         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
42987         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
42989 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
42990             Bruno Haible  <bruno@clisp.org>
42992         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
42993         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
42994         entries into a stack-allocated buffer directly.
42995         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
42997 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
42998             Bruno Haible  <bruno@clisp.org>
43000         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
43002          - There were several instances of this pattern:
43004              for (;;) {
43005                n = acl (f, GETACLCNT, 0, NULL);
43006                [ allocate an array A of size N ]
43007                if (acl (f, GETACL, n, a) == n)
43008                  break;
43009              }
43011            This loop might never terminate if some other process is constantly
43012            manipulating the file's ACL.  The loop should be rewritten to
43013            terminate.
43015          - The acl (... GETACLNT ...) call is merely an optimization; its value
43016            is merely a hint as to how big to make the array.  A better
43017            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
43018            and just guess a reasonably-big size, growing the size and trying
43019            again if it's not large enough.  This guarantees termination, and
43020            saves a system call.
43022         * lib/acl-internal.h: Include <limits.h>.
43023         (MIN, SIZE_MAX): New macros.
43024         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
43025         a stack-allocated buffer, and use malloc if it does not fit. Don't
43026         use GETACLCNT.
43027         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
43029 2012-02-19  Bruno Haible  <bruno@clisp.org>
43031         acl: Fix endless loop on Solaris with vxfs.
43032         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
43033         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
43034         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
43035         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
43036         * tests/test-sameacls.c (main)[Solaris]: Likewise.
43037         Reported by Bill Jones in
43038         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
43040 2012-02-19  Bruno Haible  <bruno@clisp.org>
43042         acl: Fix copy-acl test failure on Solaris 11.0.
43043         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
43044         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
43045         that this function returns 0 in some more cases.
43047 2012-02-19  Bruno Haible  <bruno@clisp.org>
43049         acl: Update doc references.
43050         * doc/acl-resources.txt: Update links to Solaris documentation.
43052 2012-02-19  Bruno Haible  <bruno@clisp.org>
43054         Fix test failure in many locales on Solaris 11.
43055         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
43056         'tr' arguments.
43057         * tests/test-pipe-filter-ii1.c (main): Likewise.
43058         * build-aux/bootstrap (check_versions): Run 'tr' command with range
43059         expressions in the C locale.
43060         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
43061         * m4/host-os.m4 (gl_HOST_OS): Likewise.
43063 2012-02-19  Bruno Haible  <bruno@clisp.org>
43065         gnulib-tool: Improve usage message.
43066         * gnulib-tool (func_usage): Move doc of --help and --version to the
43067         section "Operation modes".
43069 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
43071         README-release: make it easier to execute commands
43072         * top/README-release: break commands out on to separate lines.
43074 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
43076         GNUmakefile: simplify detection of unconfigured trees
43077         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
43078         whether the tree make is being run from is already configured or
43079         not.  Related simplifications.
43081 2012-02-13  Simon Josefsson  <simon@josefsson.org>
43083         * gnulib-tool (func_usage): Document --help and --version.
43085 2012-02-11  Jim Meyering  <meyering@redhat.com>
43087         bootstrap: don't exit 0 upon gnulib-tool failure
43088         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
43089         its exit status, not 0.
43091 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
43093         README-release: various improvements
43094         * top/README-release: Give a command to push changes for the
43095         release.  Add "distcheck" to list of other pre-release checks.
43096         Fix instance of "make stable" which should be "make TYPE".
43098 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
43100         maint: replace FSF snail-mail addresses with URLs
43101         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
43102         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
43103         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
43104         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
43105         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
43106         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
43107         * lib/check-version.c, lib/check-version.h, lib/config.charset:
43108         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
43109         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
43110         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
43111         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
43112         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
43113         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
43114         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
43115         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
43116         * lib/glthread/thread.c, lib/glthread/thread.h:
43117         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
43118         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
43119         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
43120         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
43121         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
43122         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
43123         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
43124         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
43125         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
43126         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
43127         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
43128         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
43129         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
43130         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
43131         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
43132         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
43133         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
43134         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
43135         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
43136         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
43137         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
43138         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
43139         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
43140         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
43141         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
43142         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
43143         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
43144         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
43145         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
43146         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
43147         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
43148         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
43149         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
43150         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
43151         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
43152         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
43153         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
43154         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
43155         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
43156         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
43157         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
43158         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
43159         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
43160         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
43161         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
43162         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
43163         * tests/test-poll.c, tests/test-quotearg-simple.c:
43164         * tests/test-quotearg.c, tests/test-quotearg.h:
43165         * tests/test-round-ieee.c, tests/test-round1.c:
43166         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
43167         * tests/test-roundl-ieee.c, tests/test-roundl.c:
43168         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
43169         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
43170         * tests/test-strerror.c, tests/test-strerror_r.c:
43171         * tests/test-strsignal.c, tests/test-strverscmp.c:
43172         * tests/test-xmemdup0.c:
43173         Replace FSF snail mail addresses with URLs, as per GNU coding
43174         standards.  See glibc bug
43175         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
43177 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
43179         README-release: capitalize a word and split a line
43180         * top/README-release: Fix punctuation and spacing.
43182 2012-02-08  Akim Demaille  <demaille@gostai.com>
43184         fatal-signal: use C prototypes (with explicit void).
43185         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
43186         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
43188 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
43190         regex: spelling fix
43191         * lib/regexec.c: spelling fix
43193         regex: rely on stdint.h for SIZE_MAX
43194         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
43196 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
43198         regex: merge glibc changes
43200         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
43201         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
43202         (init_word_char): Work even if bitset words are not exactly 32 or
43203         64 bits wide.  Don't assume there are no padding bits.
43204         * lib/regex.c [_LIBC]: Do not include <config.h>.
43205         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
43206         and -Wtype-limits.
43207         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
43208         needless disagreement with glibc.  All uses changed.  Define it to
43209         1 only if _GNU_SOURCE, to match glibc.
43210         (_REG_RM_NAME): Remove; no longer needed, since the names in
43211         question are now all protected by __USE_GNU.
43212         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
43213         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
43214         * lib/regex_internal.h (MIN): New macro.
43216         2012-01-03 Ulrich Drepper <drepper@gmail.com>
43217         * lib/regcomp.c (init_word_char): Optimize regex a bit.
43219         2011-12-30 Jakub Jelinek <jakub@redhat.com>
43220         * lib/regex_internal.c (re_string_fetch_byte_case):
43221         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
43222         is miscompiled, and it turns out it is because of an incorrect
43223         attribute on re_string_fetch_byte_case.  Unlike
43224         re_string_peek_byte_case, this one is really not pure, it modifies
43225         memory (increments pstr->cur_idx), and with the pure attribute GCC
43226         assumed it doesn't and it cached the presumed value of
43227         regexp->cur_idx in a variable across the
43228          for (;; ++i)
43229            {
43230              if (i >= BRACKET_NAME_BUF_SIZE)
43231                return REG_EBRACK;
43232              if (token->type == OP_OPEN_CHAR_CLASS)
43233                ch = re_string_fetch_byte_case (regexp);
43234              else
43235                ch = re_string_fetch_byte (regexp);
43236              if (re_string_eoi(regexp))
43237                return REG_EBRACK;
43238              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
43239                break;
43240              elem->opr.name[i] = ch;
43241            }
43243         2011-11-29 Andreas Schwab <schwab@redhat.com>
43244         * lib/regcomp.c (build_equiv_class):
43245         Fix access after end of search string in regex matcher.
43247         2011-11-12 Ulrich Drepper <drepper@redhat.com>
43248         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
43250         2011-10-12 Ulrich Drepper <drepper@redhat.com>
43251         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
43253         2011-10-11 Ulrich Drepper <drepper@redhat.com>
43254         * lib/regcomp.c (parse_branch, parse_sub_exp):
43255         More regex memory leak fixes and tests.
43256         (parse_sub_exp, parse_bracket_exp):
43257         Fix memory leak for some invalid regular expressions.
43259         2011-05-28 Ulrich Drepper <drepper@gmail.com>
43260         * lib/regex_internal.c, lib/regexec.c:
43261         Fix unnecessary overallocation due to incomplete character.  When
43262         incomplete characters are found at the end of a string the code
43263         ran amok and allocated lots of memory.  Stricter limits are now in
43264         place.
43266         2011-05-20 Reuben Thomas <rrt@sc3d.org>
43267         * lib/regex.h: Update documentation.
43269         2011-05-16 Aharon Robbins <arnold@skeeve.com>
43270         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
43272         2010-05-05 Andreas Schwab <schwab@redhat.com>
43273         * lib/regexec.c (find_collation_sequence_value):
43274         Fix lookup of collation sequence value during regexp matching.
43276         2010-01-22 Ulrich Drepper <drepper@redhat.com>
43277         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
43279         2008-01-16 Ulrich Drepper <drepper@redhat.com>
43280         * lib/regex.h: Cleanup namespace.
43282         2007-11-26 Ulrich Drepper <drepper@redhat.com>
43283         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
43285         2007-08-26 Ulrich Drepper <drepper@redhat.com>
43286         * lib/regex_internal.h: Prevent some declarations and definitions
43287         to be seen when used in tests.
43289         2005-05-06 Ulrich Drepper <drepper@redhat.com>
43290         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
43291         __libc_lock_* macros if not _LIBC.
43292         (struct re_dfa_t): Add lock.
43294 2012-02-07  Eric Blake  <eblake@redhat.com>
43296         maint.mk: also prohibit lower-case @var@
43297         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
43298         lower case, like @top_srcdir@.
43300 2012-02-04  Eric Blake  <eblake@redhat.com>
43302         canonicalize: avoid uninitialized memory use
43303         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
43304         random '/' left in dest.
43305         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
43307 2012-02-04  Bruno Haible  <bruno@clisp.org>
43309         isatty: Fix test failure of ptsname_r on native Windows.
43310         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
43311         and don't set errno.
43312         (isatty): Test first whether fd is valid. Set errno when returning 0.
43314 2012-02-04  Bruno Haible  <bruno@clisp.org>
43316         spawn-pipe tests: Fix a NULL program name in a diagnostic.
43317         * tests/test-spawn-pipe-main.c: Include progname.h.
43318         (main): Invoke set_program_name.
43319         * modules/spawn-pipe-tests (Depends-on): Add progname.
43321         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
43322         * tests/test-nonblocking-socket-main.c: Include progname.h.
43323         (main): Invoke set_program_name.
43324         * modules/nonblocking-socket-tests (Depends-on): Add progname.
43326         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
43327         * tests/test-nonblocking-pipe-main.c: Include progname.h.
43328         (main): Invoke set_program_name.
43329         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
43331 2012-02-04  Eric Blake  <eblake@redhat.com>
43333         canonicalize-lgpl: fix // handling
43334         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
43336         canonicalize: fix // handling
43337         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
43338         /// to //, since only // is special.
43340 2012-02-04  Bruno Haible  <bruno@clisp.org>
43342         ioctl: Fix test failure on native Windows.
43343         * lib/ioctl.c: Include msvc-nothrow.h.
43344         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
43346 2012-02-04  Bruno Haible  <bruno@clisp.org>
43348         fsync: Avoid test failure on native Windows.
43349         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
43350         read-only.
43352 2012-02-04  Bruno Haible  <bruno@clisp.org>
43354         sys_select: Avoid syntax error on OpenBSD 5.0.
43355         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
43356         currently being included, just include the system's <sys/select.h>.
43358 2012-02-04  Bruno Haible  <bruno@clisp.org>
43360         sys_select: Avoid syntax error on OpenBSD 5.0.
43361         * lib/sys_select.in.h: Include <signal.h> only after the include_next
43362         <sys/select.h>, not before.
43363         Reported by Jiri B <jirib@devio.us>.
43365 2012-02-04  Bruno Haible  <bruno@clisp.org>
43367         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
43368         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
43369         global variables.
43370         * tests/test-get-rusage-data.c (main): Likewise.
43371         Reported by Jim Meyering.
43373 2012-02-04  Bruno Haible  <bruno@clisp.org>
43375         stdioext: Fix last commit.
43376         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
43378 2012-02-03  Bruno Haible  <bruno@clisp.org>
43380         stdioext: Add tentative support for Plan9.
43381         * lib/stdio-impl.h: Include <errno.h>.
43382         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
43383         * lib/freadable.c (freadable): Likewise.
43384         * lib/fwritable.c (fwritable): Likewise.
43385         * lib/fbufmode.c (fbufmode): Likewise.
43386         * lib/freading.c (freading): Likewise.
43387         * lib/fwriting.c (fwriting): Likewise.
43388         * lib/freadptr.c (freadptr): Likewise.
43389         * lib/freadseek.c (freadptrinc): Likewise.
43390         * lib/freadahead.c (freadahead): Likewise.
43391         * lib/fpurge.c (fpurge): Likewise.
43392         * lib/fseeko.c (rpl_fseeko): Likewise.
43393         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
43394         Reported by Jens Staal <staal1978@gmail.com>.
43396 2012-02-02  Jim Meyering  <meyering@redhat.com>
43398         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
43399         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
43400         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
43401         not even to try to add the attribute.  Instead, add a pragma to suppress
43402         the suggestion/warning.
43404 2012-01-31  Karl Berry  <karl@gnu.org>
43406         setstate doc: typo.
43407         * doc/posix-functions/setstate.texi (setstate): { not (.
43409 2012-01-31  Bruno Haible  <bruno@clisp.org>
43411         popen: Make more robust on Windows.
43412         * lib/popen.c: On native Windows, use the _popen based code even if
43413         HAVE_POPEN is set.
43414         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
43415         environment variable on native Windows.
43417 2012-01-30  Bruno Haible  <bruno@clisp.org>
43419         pclose: Fix typo.
43420         * lib/stdio.in.h (pclose): Fix typo in warning message.
43422 2012-01-30  Bruno Haible  <bruno@clisp.org>
43424         doc about getlogin_r, setstate.
43425         * doc/posix-functions/getlogin_r.texi: List the incompatible
43426         declaration problem under "not fixed by gnulib".
43427         * doc/posix-functions/setstate.texi: Mention incompatible declaration
43428         problem on Solaris 11 and other platforms.
43430 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
43431             Bruno Haible  <bruno@clisp.org>
43433         poll tests: Make test more robust.
43434         * tests/test-poll.c: Include macros.h.
43435         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
43436         return value of various I/O operations.
43437         * modules/poll-tests (Files): Add tests/macros.h.
43439 2012-01-30  Bruno Haible  <bruno@clisp.org>
43441         sys_stat: Fix support for mingw64 and MSVC.
43442         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
43443         header files already do it.
43444         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
43445         stat itself.
43446         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
43448 2012-01-30  Bruno Haible  <bruno@clisp.org>
43450         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
43451         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
43452         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
43454 2012-01-29  Bruno Haible  <bruno@clisp.org>
43456         quotearg: Fix test failure on MacOS X 10.5.
43457         * tests/test-quotearg-simple.c: Include localcharset.h.
43458         (main): If the locale encoding is not ASCII, bypass the tests of
43459         locale_quoting_style and clocale_quoting_style.
43460         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
43462 2012-01-29  Jim Meyering  <meyering@redhat.com>
43464         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
43465         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
43466         detect uses of canonicalize_file_name.
43468 2012-01-28  Bruno Haible  <bruno@clisp.org>
43470         test-framework-sh: Fix test failure with AIX 7.1 diff.
43471         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
43472         in column 1, like 'diff -c' does.
43473         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
43474         whether 'diff -u' is used. Instead, test whether the output contains
43475         some '@' character.
43477 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
43479         strtoimax: eliminate need for stdint.h, inttypes.h checks
43480         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
43481         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
43482         the prerequisites for a recently-introduced strtoimax test.
43483         I guess this might cause strtoimax to be replaced when not
43484         strictly necessary on older hosts, but this shouldn't introduce
43485         any bugs and it should make Emacs 'configure' faster on typical
43486         modern hosts.  Problem discovered when importing the latest gnulib
43487         to an Emacs test version.
43488         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
43490 2012-01-28  Bruno Haible  <bruno@clisp.org>
43492         sys_time: Override 'struct timeval' on some native Windows platforms.
43493         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
43494         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
43495         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
43496         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
43497         needs to be overridden.
43498         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
43499         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
43500         * tests/test-sys_select.c: Check that the tv_sec member has the same
43501         size as a 'time_t'.
43502         * tests/test-sys_time.c: Likewise.
43503         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
43504         is set, set also REPLACE_GETTIMEOFDAY.
43505         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
43506         convert the resulting 'struct timeval' before returning.
43507         * lib/select.c: Include <sys/time.h>.
43508         (select, timeval): Undefine at the right place.
43509         * modules/select (Depends-on): Add sys_time.
43510         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
43511         some Windows platforms.
43512         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
43514 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
43516         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
43517         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
43518         an integer.
43519         * lib/fcntl.c (dupfd): Likewise.
43520         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
43522 2012-01-28  Bruno Haible  <bruno@clisp.org>
43524         fcntl: Avoid compilation error on native Windows.
43525         * modules/fcntl (Depends-on): Add 'close'.
43527 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
43529         select, poll, isatty: Avoid warnings on x86_64 mingw64.
43530         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
43531         pointer to an integer.
43532         * lib/poll.c (IsConsoleHandle): Likewise.
43533         * lib/isatty.c (IsConsoleHandle): Likewise.
43535 2012-01-28  Jim Meyering  <meyering@redhat.com>
43537         doc: clarify README-release
43538         * top/README-release: Clarify: you should make a point to have
43539         the latest stable versions of build tools in your PATH, and the
43540         reference to buildreq is solely for its list of tool names, not
43541         for its minimal-functional version numbers.
43542         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
43544         maint.mk: use more readable (yet functionally equivalent) quoting
43545         It is common to quote a single quote in a single quoted string like
43546         this:  '...'\''...'.  Unless you know the idiom, that looks like
43547         gibberish, so prefer to double-quote the string when possible.
43548         Then you can use a more readable, lone single quote: "...'..."
43549         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
43550         "don't" is more readable than the equivalent 'don'\''t'.
43551         (sc_cast_of_x_alloc_return_value): Likewise.
43552         (sc_cast_of_alloca_return_value): Likewise.
43553         (sc_makefile_path_separator_check): Similar: use ":" in '...',
43554         rather than '\'':'\''.
43556 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
43558         stdalign: relax _Alignof and tighten _Alignas test
43559         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
43560         as it was too strict: alignof must divide offsetof, but it need
43561         not equal offsetof.  Inspired by Joseph S. Myers's comment
43562         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
43563         Conversely, tighten the _Alignas test a bit, as the resulting
43564         alignment must be exactly 8.
43566 2012-01-27  Bruno Haible  <bruno@clisp.org>
43568         stdalign: Document the last change.
43569         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
43571 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
43573         stdalign: check that alignof and offsetof are consistent
43574         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
43575         Problem reported for gnulib by Richard W.M. Jones in
43576         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
43578 2012-01-27  Jim Meyering  <meyering@redhat.com>
43580         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
43581         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
43582         convert a sequence with gaps to the minimal containing range.
43583         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
43584         * tests/test-update-copyright.sh: Test for this.
43585         The FSF confirmed it is ok to do this, assuming there is at
43586         least one significant change per year in the affected range:
43587         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
43589 2012-01-26  Bruno Haible  <bruno@clisp.org>
43591         pipe2: refine doc about thread-safety
43592         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
43593         multithread-safety problem.
43594         * doc/glibc-functions/accept4.texi: Likewise.
43596 2012-01-26  Bruno Haible  <bruno@clisp.org>
43598         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
43599         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
43600         In the test program, include <fcntl.h>, for O_RDONLY.
43602 2012-01-26  Eric Blake  <eblake@redhat.com>
43604         pipe2: document lack of thread-safety in replacement
43605         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
43606         issue in replacement.
43607         * doc/glibc-functions/accept4.texi (accept4): Likewise.
43608         Based on a report by Eric Wong.
43610 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
43611             Bruno Haible  <bruno@clisp.org>
43613         malloca: Avoid warnings on x86_64 mingw64.
43614         * lib/malloca.c: Include <stdint.h>.
43615         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
43616         * modules/malloca (Depends-on): Add stdint.
43617         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
43619 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
43621         obstack: remove __STDC__ conditionals
43622         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
43623         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
43624         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
43625         m4/include_next.m4 as the only gnulib-maintained places that still
43626         refer to __STDC__.
43628 2012-01-24  Bruno Haible  <bruno@clisp.org>
43630         havelib: Modern quoting.
43631         * build-aux/config.rpath: Quote 'like this', not `like this', as per
43632         the recent change to the GNU coding standards.
43634 2012-01-24  Bruno Haible  <bruno@clisp.org>
43636         stdint: Improve support for Android.
43637         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
43638         Reported by Simon Josefsson <simon@josefsson.org>.
43640 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43642         doc: omit trailing empty lines from INSTALL etc.
43643         * doc/Makefile (INSTALL): Omit trailing empty lines.
43644         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
43645         omit trailing empty lines.  This simplifies the build procedure.
43647 2012-01-23  Jim Meyering  <meyering@redhat.com>
43649         tests: avoid spurious warnings about gl_sockets_startup
43650         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
43651         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
43652         reporting a "statement with no effect".
43653         * tests/test-accept.c (main): Mark as "(void)".
43654         * tests/test-accept4.c (main): Likewise.
43655         * tests/test-bind.c (main): Likewise.
43656         * tests/test-connect.c (main): Likewise.
43657         * tests/test-getpeername.c (main): Likewise.
43658         * tests/test-getsockname.c (main): Likewise.
43659         * tests/test-getsockopt.c (main): Likewise.
43660         * tests/test-listen.c (main): Likewise.
43661         * tests/test-recv.c (main): Likewise.
43662         * tests/test-recvfrom.c (main): Likewise.
43663         * tests/test-send.c (main): Likewise.
43664         * tests/test-sendto.c (main): Likewise.
43665         * tests/test-setsockopt.c (main): Likewise.
43666         * tests/test-shutdown.c (main): Likewise.
43668 2012-01-21  Bruno Haible  <bruno@clisp.org>
43670         locale-fr.m4: Fix for Android.
43671         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
43672         failure of the test program on Bionic libc.
43674 2012-01-21  Jim Meyering  <meyering@redhat.com>
43676         bootstrap: fail when bootstrap_post_import_hook fails
43677         Otherwise, it's far too easy to miss diagnostics emitted
43678         between gnulib-tool's output and that of running configure.
43679         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
43681 2012-01-17  Jim Meyering  <meyering@redhat.com>
43683         maint: enable sc_trailing_blank
43684         * build-aux/pmccabe.css: Remove trailing blanks.
43685         * doc/acl-cygwin.txt: Likewise.
43686         * doc/gnu-oids.texi: Likewise
43687         * cfg.mk: Enable sc_trailing_blank.
43688         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
43690 2012-01-17  Jim Meyering  <meyering@redhat.com>
43692         maint: enable sc_prohibit_openat_without_use
43693         * cfg.mk: Enable sc_prohibit_openat_without_use.
43694         Exempt lib/selinux-at.c.
43696 2012-01-17  Jim Meyering  <meyering@redhat.com>
43698         maint: enable sc_prohibit_cloexec_without_use
43699         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
43700         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
43702 2012-01-17  Jim Meyering  <meyering@redhat.com>
43704         maint: enable sc_prohibit_intprops_without_use
43705         * cfg.mk: Enable sc_prohibit_intprops_without_use
43706         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
43708 2012-01-17  Jim Meyering  <meyering@redhat.com>
43710         maint: enable sc_prohibit_hash_pjw_without_use
43711         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
43712         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
43713         to match any use of \<hash_pjw\>, i.e., not necessarily with a
43714         following " (".
43716 2012-01-17  Jim Meyering  <meyering@redhat.com>
43718         maint: enable double-word-prohibiting rule
43719         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
43720         Exempt three files.
43722 2012-01-17  Jim Meyering  <meyering@redhat.com>
43724         maint: remove empty lines at EOF, but excluding modules/*
43725         Apply syntax rules at home as well as abroad.  Most changes
43726         were induced by running this:
43727           make srcdir=. _build-aux=build-aux -f top/maint.mk \
43728             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
43729             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
43730         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
43731         Exempt modules/* and two binary files.
43732         Also exempt doc/INSTALL*, per request from Bruno Haible.
43733         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
43734         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
43735         * doc/Copyright/request-assign.future: Likewise.
43736         * doc/Copyright/request-disclaim.changes: Likewise.
43737         * doc/INSTALL: Likewise.
43738         * doc/INSTALL.ISO: Likewise.
43739         * doc/INSTALL.UTF-8: Likewise.
43740         * doc/acl-cygwin.txt: Likewise.
43741         * doc/acl-resources.txt: Likewise.
43742         * doc/fdl-1.2.texi: Likewise.
43743         * doc/fdl-1.3.texi: Likewise.
43744         * doc/fdl.texi: Likewise.
43745         * lib/argp-pin.c: Likewise.
43746         * lib/round.c: Likewise.
43747         * lib/unicase/u16-totitle.c: Likewise.
43748         * lib/unictype/block_test.c: Likewise.
43749         * lib/uninorm/canonical-decomposition.c: Likewise.
43750         * m4/README: Likewise.
43751         * m4/relocatable-lib.m4: Likewise.
43752         * tests/test-isnand-nolibm.c: Likewise.
43753         * tests/test-isnand.c: Likewise.
43754         * tests/uninorm/NormalizationTest.txt: Likewise.
43756 2012-01-17  Jim Meyering  <meyering@redhat.com>
43758         maint: add framework to run syntax-check rules against gnulib sources
43759         * cfg.mk: New file, to disable all currently-failing tests.
43760         We'll enable them one by one, as they are made to pass.
43761         * Makefile (sc_maint): New rule.
43763 2012-01-21  Bruno Haible  <bruno@clisp.org>
43765         stdint: Add support for Android.
43766         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
43767         include the system's <stdint.h>.
43768         Reported by Simon Josefsson <simon@josefsson.org>.
43770 2012-01-19  Jim Meyering  <meyering@redhat.com>
43772         bootstrap: add bootstrap_post_import_hook
43773         Bison does still need something like the gnulib_mk_hook whose
43774         invocation I had to remove along with slurp in commit 767ccd40.
43775         Technically, we could get along without it, but doing so would
43776         have required living with a warning and a mandatory post-bootstrap
43777         automake rerun.
43778         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
43779         (bootstrap_post_import_hook): New function.
43780         Invoke it after gnulib-tool --import and before autoreconf.
43782 2012-01-18  Jim Meyering  <meyering@redhat.com>
43784         gitlog-to-changelog: don't use "no_"-prefixed variable name
43785         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
43786         to enable both --cluster and --no-cluster.  Change variable name,
43787         s/\$no_cluster/$cluster/, and reverse usage to match.
43789         gitlog-to-changelog: use "||", not "or" in expressions
43790         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
43791         expressions.
43793 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
43795         gitlog-to-changelog: new option --no-cluster
43796         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
43797         clustering of adjacent commit messages.
43799 2012-01-17  Jim Meyering  <meyering@redhat.com>
43801         maint: spell file systems with two words, not one
43802         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
43803         two words, not one.
43805 2012-01-16  Jim Meyering  <meyering@redhat.com>
43807         bootstrap: add a FIXME comment to ensure we eventually remove the hack
43808         * build-aux/bootstrap (gnulib_tool_options): Add comment.
43810 2012-01-16  Eric Blake  <eblake@redhat.com>
43812         bootstrap: cater to autoconf 2.59
43813         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
43814         is not available.
43816         bootstrap: properly check for libtool
43817         * build-aux/bootstrap (libtoolize): Also run libtool when older
43818         usage is detected.
43820 2012-01-15  Bruno Haible  <bruno@clisp.org>
43822         Improve support for MSVC 9.
43823         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
43824         clashes on MSVC.
43825         * lib/fcntl.in.h: Likewise.
43826         * lib/stdlib.in.h: Likewise.
43827         * lib/sys_stat.in.h: Likewise.
43829 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
43831         gnupload: we hold the master copy of this script now
43832         For motivation and more information, see:
43833         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
43834         * build-aux/gnupload: Make it clear in the heading comments that the
43835         master copy of this file is maintained by gnulib.  Since we are at
43836         it, bump its copyright year and ...
43837         ($scriptversion): ... the date in its version.
43838         ($usage): Patches and bug reports should be sent to the gnulib list,
43839         not the automake one.
43840         * config/srclist.txt: Don't try to sync 'gnupload' from automake
43841         anymore.
43843 2012-01-15  Bruno Haible  <bruno@clisp.org>
43845         Fix module 'random'.
43846         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
43847         initstate, setstate are declared.
43849 2012-01-14  Bruno Haible  <bruno@clisp.org>
43851         Tests for module 'random'.
43852         * modules/random-tests: New file.
43853         * tests/test-random.c: New file, based on tests/test-random_r.c.
43855         New module 'random'.
43856         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
43857         declarations.
43858         * lib/random.c: New file, based on glibc/stdlib/random.c.
43859         * m4/random.m4: New file.
43860         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
43861         HAVE_RANDOM.
43862         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
43863         * modules/random: New file.
43864         * config/srclist.txt: Add an entry for random.c.
43865         * doc/posix-functions/random.texi: Mention the 'random' module.
43866         * doc/posix-functions/initstate.texi: Likewise.
43867         * doc/posix-functions/setstate.texi: Likewise.
43868         * doc/posix-functions/srandom.texi: Likewise.
43870 2012-01-12  Bruno Haible  <bruno@clisp.org>
43872         random_r: Use common idioms.
43873         * lib/random_r.c: Include <stdlib.h> first.
43875         random_r: Override incompatible API on AIX, OSF/1.
43876         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
43877         Override the system function if REPLACE_RANDOM_R is 1.
43878         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
43879         and OSF/1, set REPLACE_RANDOM_R.
43880         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
43881         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
43882         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
43883         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
43884         * doc/glibc-functions/random_r.texi: Likewise.
43885         * doc/glibc-functions/setstate_r.texi: Likewise.
43887         random_r: Support for MSVC 9.
43888         * lib/random_r.c: Include stdint.h, not inttypes.h.
43890 2012-01-12  Eric Blake  <eblake@redhat.com>
43892         inet_ntop: guard extra work by IF_LINT
43893         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
43894         better code generation when not checking for warnings.
43895         Suggested by Paul Eggert and Jim Meyering.
43897         strptime: fix regression on mingw
43898         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
43899         Fix regression.  Reported by Bruno Haible.
43901 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
43902             Bruno Haible  <bruno@clisp.org>
43904         copy-file: add error-code-returning variant.
43905         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
43906         (qcopy_file_preserving): New declaration.
43907         * lib/copy-file.c (qcopy_file_preserving): Renamed from
43908         copy_file_preserving. Change return type to 'int'. Don't emit an error
43909         message here.
43910         (copy_file_preserving): New function.
43911         * tests/test-copy-file.c: Include <stdlib.h>.
43912         (main): Test qcopy_file_preserving if the environment variable
43913         NO_STDERR_OUTPUT is set.
43914         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
43915         with NO_STDERR_OUTPUT
43916         * tests/test-copy-file-2.sh: Likewise.
43918 2012-01-10  Bruno Haible  <bruno@clisp.org>
43920         copy-file: Use 'quote' module consistently.
43921         * lib/copy-file.c (copy_file_preserving): Use quote().
43923         copy-file: Refactor.
43924         * lib/copy-file.c: Include quote.h.
43925         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
43926         message here.
43927         * modules/copy-file (Depends-on): Add quote.
43929         acl: Export qcopy_acl.
43930         * lib/acl.h (qcopy_acl): New declaration.
43931         * lib/copy-acl.c (qcopy_acl): Make non-static.
43933         acl: Rename a local variable.
43934         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
43936         acl: Align return values of copy_acl and qcopy_acl.
43937         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
43938         maybe < -1.
43940 2012-01-11  Eric Blake  <eblake@redhat.com>
43942         strptime: silence gcc warnings
43943         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
43944         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
43945         Reported by Daniel P. Berrange.
43947         inet_ntop: silence gcc warning
43948         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
43949         Reported by Daniel P. Berrange.
43951 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
43953         getloadavg test: skip the test on GNU/Linux without /proc mounted
43954         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
43955         file.  When /proc is not mounted, it always fails with ENOENT.
43956         * tests/test-getloadavg.c (main): Treat ENOENT return code from
43957         getloadavg(3) the same way as ENOSYS and ENOTSUP.
43959 2012-01-10  Bruno Haible  <bruno@clisp.org>
43961         regex: Avoid link error on MSVC 9.
43962         * modules/regex (Depends-on): Add wctype.
43964 2012-01-10  Bruno Haible  <bruno@clisp.org>
43966         doc: Mention --with-tests option.
43967         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
43968         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
43969         --with-tests.
43970         Reported by Reuben Thomas.
43972 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
43974         users.txt: order package names lexicographically.
43975         * users.txt: Order package names lexicographically.
43977 2012-01-10  Jim Meyering  <meyering@redhat.com>
43979         maint.mk: fix description in comment
43980         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
43982         ignore-value: remove deprecated ignore_ptr function
43983         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
43984         * NEWS: Note this.
43986 2012-01-09  Jim Meyering  <meyering@redhat.com>
43988         test-init.sh: avoid a subshell
43989         * tests/test-init.sh: Remove protective subshell.
43990         Suggested by Bernhard Voelker.  While a subshell is normally
43991         required to protect against older shells (Solaris, FreeBSD) that
43992         warn about a missing program before performing redirection, the
43993         shell-selection tests performed by init.sh probably exclude any
43994         offending shell.
43996 2012-01-08  Bruno Haible  <bruno@clisp.org>
43998         setlocale tests: Avoid test failure on Solaris 11.0.
43999         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
44000         variable.
44002 2012-01-08  Bruno Haible  <bruno@clisp.org>
44004         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
44005         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44006         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
44007         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
44008         macro.
44009         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
44010         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
44011         * lib/spawn_faction_addopen.c: Add workaround implementation if
44012         HAVE_WORKING_POSIX_SPAWN.
44013         * modules/spawn (Makefile): Substitute
44014         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
44015         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
44016         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
44017         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
44018         (Depends-on): Update conditions.
44019         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
44020         the Solaris 11 bug.
44022 2012-01-08  Bruno Haible  <bruno@clisp.org>
44024         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
44025         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44026         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
44027         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
44028         macro.
44029         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
44030         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
44031         * lib/spawn_faction_adddup2.c: Add workaround implementation if
44032         HAVE_WORKING_POSIX_SPAWN.
44033         * modules/spawn (Makefile): Substitute
44034         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
44035         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
44036         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
44037         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
44038         (Depends-on): Update conditions.
44039         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
44040         the Solaris 11 bug.
44042 2012-01-08  Bruno Haible  <bruno@clisp.org>
44044         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
44045         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44046         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
44047         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
44048         HAVE_WORKING_POSIX_SPAWN.
44049         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
44050         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
44051         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
44052         * lib/spawn_faction_addclose.c: Add workaround implementation if
44053         HAVE_WORKING_POSIX_SPAWN.
44054         * modules/spawn (Makefile): Substitute
44055         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
44056         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
44057         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
44058         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
44059         (Depends-on): Update conditions.
44060         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
44061         the Solaris 11 bug.
44063 2012-01-08  Bruno Haible  <bruno@clisp.org>
44065         doc: Update for Solaris 11.0.
44066         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
44067         * m4/printf.m4: Update comments.
44069 2012-01-08  Bruno Haible  <bruno@clisp.org>
44071         mktime: Avoid compilation error on Solaris 11.
44072         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
44074 2012-01-08  Bruno Haible  <bruno@clisp.org>
44076         doc: Small fix.
44077         * doc/posix-headers/nl_types.texi: Correct platforms list.
44079 2012-01-08  Simon Josefsson  <simon@josefsson.org>
44081         Add lgpl-3.0 module.
44082         * MODULES.html.sh (Support for building documentation): Add
44083         lgpl-3.0.
44084         * modules/lgpl-3.0: New file.
44086 2012-01-08  Jim Meyering  <meyering@redhat.com>
44088         select.c: indent with spaces, not TABs
44089         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
44091 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44093         quotearg: do not use grave accent for left quote
44094         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
44095         locale_quoting_style.
44096         (quotearg_buffer_restyled): Fix example.
44097         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
44099 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44101         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
44102         Most programs do not have translation catalogs for English and much
44103         less separate catalogs for British and American English.  Drop the
44104         suggestion to translators about these two, and provide it
44105         automatically for Unicode locales.  Like most programs, even those
44106         using American English, we use single quotation marks.  This conflicts
44107         with the American typographic convention, but works better when you
44108         cite the entire error message within double quotes.  It also tries not
44109         to clash with established practice and with what non-gnulib programs
44110         will usually do.
44111         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
44112         using an UTF-8 or GB-18030 locale.  The list of other locales with
44113         quotes was provided by Bruno Haible.
44114         (quotearg_buffer_restyled): Adjust instructions to translators.
44115         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
44116         text, since this would be wrong when using Unicode.
44117         * modules/quotearg: Depend on c-strcaseeq.
44119 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44121         quotearg: fix Wikipedia link
44122         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
44124 2012-01-07  Simon Josefsson  <simon@josefsson.org>
44126         Fix for mingw with MSVC9.
44127         * m4/ld-version-script.m4: Check that compiler rejects version
44128         scripts with syntax errors.  Reported by Bruno Haible
44129         <bruno@clisp.org>.
44131 2012-01-06  Bruno Haible  <bruno@clisp.org>
44133         Talk about "native Windows API", not "Woe32".
44134         * lib/accept4.c: Update comments to mention native Windows.
44135         * lib/execute.c: Likewise.
44136         * lib/fatal-signal.c: Likewise.
44137         * lib/localcharset.c: Likewise.
44138         * lib/nanosleep.c: Likewise.
44139         * lib/nl_langinfo.c: Likewise.
44140         * lib/pclose.c: Likewise.
44141         * lib/pipe-filter-gi.c: Likewise.
44142         * lib/pipe-filter-ii.c: Likewise.
44143         * lib/pipe.c: Likewise.
44144         * lib/pipe2.c: Likewise.
44145         * lib/popen.c: Likewise.
44146         * lib/progreloc.c: Likewise.
44147         * lib/relocatable.c: Likewise.
44148         * lib/sigaction.c: Likewise.
44149         * lib/sigprocmask.c: Likewise.
44150         * lib/spawn-pipe.h: Likewise.
44151         * lib/spawn-pipe.c: Likewise.
44152         * lib/spawni.c: Likewise.
44153         * lib/stat-time.h: Likewise.
44154         * lib/w32spawn.h: Likewise.
44155         * tests/test-isatty.c: Likewise.
44156         * lib/config.charset: More comments.
44157         * doc/gnulib-intro.texi: Mention native Windows.
44158         * doc/posix-functions/_Exit_C99.texi: Likewise.
44159         * doc/posix-headers/fcntl.texi: Likewise.
44161 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
44163         argp: Avoid crash if translator uses % characters in a translation.
44164         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
44165         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
44167 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
44169         doc: C11 and C++11 are now official
44170         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
44171         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
44172         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
44173         * modules/stdalign:
44174         Replace references to draft C1X to C11, and to draft C++0X to C++11.
44176 2012-01-06  Bruno Haible  <bruno@clisp.org>
44178         uc-is-grapheme-break tests: Tweak.
44179         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
44180         message.
44182 2012-01-06  Bruno Haible  <bruno@clisp.org>
44184         test-init.sh: correct the test for diff -u
44185         * tests/test-init.sh: Also redirect stdout to /dev/null.
44187 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
44189         Use ', not `, for quoting output.
44190         * build-aux/announce-gen (usage, sizes, print_news_deltas)
44191         (print_changelog_deltas, get_tool_versions, main program):
44192         * build-aux/git-version-gen:
44193         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
44194         * build-aux/move-if-change (help):
44195         * build-aux/useless-if-before-free (usage, main program):
44196         * check-module (parse_module_file, usage)
44197         (find_included_lib_files, check_module):
44198         * lib/argmatch.c (main) [TEST]:
44199         * lib/argp-help.c (_help):
44200         * lib/getopt1.c (main) [TEST]:
44201         * lib/git-merge-changelog.c (usage):
44202         * lib/xstrtol-error.c (xstrtol_error):
44203         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
44204         * m4/argz.m4 (gl_FUNC_ARGZ):
44205         * m4/bison.m4 (gl_BISON):
44206         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
44207         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
44208         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
44209         * m4/fpending.m4 (gl_PREREQ_FPENDING):
44210         * m4/gc-random.m4 (gl_GC_RANDOM):
44211         * m4/intl.m4 (gt_CHECK_DECL):
44212         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
44213         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
44214         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
44215         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
44216         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
44217         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
44218         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
44219         * tests/test-dirname.c (main):
44220         * tests/test-getpass.c (main):
44221         * tests/test-iconvme.c (main):
44222         * tests/test-parse-datetime.c (LOG):
44223         * tests/test-xstrtoimax.sh:
44224         * tests/test-xstrtol.sh:
44225         * tests/test-xstrtoll.sh:
44226         * tests/test-xstrtoumax.sh:
44227         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
44228         * top/GNUmakefile (abort-due-to-no-makefile):
44229         Quote 'like this', not `like this', as per the recent change to
44230         the GNU coding standards.
44232 2012-01-05  Bruno Haible  <bruno@clisp.org>
44234         strtoimax: Don't force a replacement on systems where intmax_t is int.
44235         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
44236         'intmax_t' is not larger than 'int'.
44237         Reported by Pádraig Brady <P@draigBrady.com>.
44239 2012-01-05  Bruno Haible  <bruno@clisp.org>
44241         doc: Mention NetBSD bugs.
44242         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
44243         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
44245 2012-01-05  Bruno Haible  <bruno@clisp.org>
44247         strtoumax tests: Enhance tests.
44248         * tests/test-strtoumax.c (main): Add tests for large values.
44250 2012-01-05  Bruno Haible  <bruno@clisp.org>
44252         strtoimax: Work around AIX 5.1 bug.
44253         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
44254         definition.
44255         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
44256         Set HAVE_STRTOIMAX.
44257         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
44258         REPLACE_STRTOIMAX.
44259         * modules/inttypes-incomplete (Makefile.am): Substitute
44260         REPLACE_STRTOIMAX.
44261         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
44262         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
44263         (Depends-on): Update conditions.
44264         * tests/test-strtoimax.c (main): Add tests for large values.
44265         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
44267 2012-01-05  Bruno Haible  <bruno@clisp.org>
44269         inttypes: Modernize.
44270         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
44271         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
44272         (Makefile.am): Update inttypes.h rule.
44274 2012-01-05  Jim Meyering  <meyering@redhat.com>
44276         init.sh: don't waste a subshell just to redirect stderr
44277         * tests/init.sh: In testing for diff -u and diff -c, use a
44278         stderr-redirecting exec inside `...` rather than a subshell.
44280         test-init.sh: avoid failure on HP-UX 11.00
44281         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
44282         resolves to diff -c or cmp.  Reported by Bruno Haible.
44284 2012-01-05  Bruno Haible  <bruno@clisp.org>
44286         Tests for module 'strtoull'.
44287         * modules/strtoull-tests: New file.
44288         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
44290 2012-01-05  Bruno Haible  <bruno@clisp.org>
44292         Tests for module 'strtoll'.
44293         * modules/strtoll-tests: New file.
44294         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
44296 2012-01-05  Bruno Haible  <bruno@clisp.org>
44298         Tests for module 'strtoul'.
44299         * modules/strtoul-tests: New file.
44300         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
44302 2012-01-05  Bruno Haible  <bruno@clisp.org>
44304         Tests for module 'strtol'.
44305         * modules/strtol-tests: New file.
44306         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
44308 2012-01-04  Jim Meyering  <meyering@redhat.com>
44310         test-init.sh: accommodate Solaris 5.10's different diff -u output
44311         * tests/test-init.sh: Also exempt @@ lines from the comparison
44312         of diff output, since Solaris 5.10 and GNU diff formats differ.
44313         Reported by Stefano Lattarini.
44315 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
44317         test-posixtm: don't assume signed integer wraparound
44318         * tests/test-posixtm.c (main): Don't assume wraparound semantics
44319         after signed integer overflow.  Inspired by (though it may not
44320         fix) Bruno Haible's bug report in
44321         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
44323         Spell out "Windows 9x" and "Windows XP".
44324         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
44325         "Windows 9x" and "WinXP" with "Windows XP".
44327 2012-01-04  Jim Meyering  <meyering@redhat.com>
44329         test-vc-list-files-cvs.sh: remove obsolete comment
44330         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
44331         double exit.  Now that's all encapsulated via skip_ and Exit.
44333 2012-01-04  Bruno Haible  <bruno@clisp.org>
44335         Talk about "native Windows API", not "Win32".
44336         * lib/classpath.c: Update comments to mention native Windows.
44337         * lib/csharpexec.c: Likewise.
44338         * lib/dup2.c: Likewise.
44339         * lib/error.c: Likewise.
44340         * lib/fcntl.c: Likewise.
44341         * lib/filename.h: Likewise.
44342         * lib/findprog.c: Likewise.
44343         * lib/get-rusage-as.c: Likewise.
44344         * lib/get-rusage-data.c: Likewise.
44345         * lib/getpagesize.c: Likewise.
44346         * lib/javaexec.c: Likewise.
44347         * lib/msvc-inval.c: Likewise.
44348         * lib/msvc-nothrow.c: Likewise.
44349         * lib/nanosleep.c: Likewise.
44350         * lib/nonblocking.c: Likewise.
44351         * lib/printf-parse.c: Likewise.
44352         * lib/setlocale.c: Likewise.
44353         * lib/sigaction.c: Likewise.
44354         * lib/strerror_r.c: Likewise.
44355         * lib/tmpdir.c: Likewise.
44356         * lib/vasnprintf.c: Likewise.
44357         * lib/w32spawn.h: Likewise.
44358         * lib/waitpid.c: Likewise.
44359         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
44360         * m4/locale-ar.m4: Likewise.
44361         * m4/locale-fr.m4: Likewise.
44362         * m4/locale-ja.m4: Likewise.
44363         * m4/locale-tr.m4: Likewise.
44364         * m4/locale-zh.m4: Likewise.
44365         * m4/printf.m4: Likewise.
44366         * tests/test-cloexec.c: Likewise.
44367         * tests/test-copy-acl.sh: Likewise.
44368         * tests/test-copy-file.sh: Likewise.
44369         * tests/test-file-has-acl.sh: Likewise.
44370         * tests/test-set-mode-acl.sh: Likewise.
44371         * tests/test-dup-safer.c: Likewise.
44372         * tests/test-dup2.c: Likewise.
44373         * tests/test-dup3.c: Likewise.
44374         * tests/test-fcntl.c: Likewise.
44375         * tests/test-nonblocking-pipe.h: Likewise.
44376         * tests/test-nonblocking-socket.h: Likewise.
44377         * tests/test-pipe.c: Likewise.
44378         * tests/test-pipe2.c: Likewise.
44379         * tests/test-spawn-pipe-child.c: Likewise.
44380         * doc/acl-resources.txt: Likewise.
44381         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
44382         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
44383         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
44384         * lib/localcharset.c: Update comments to mention native Windows.
44385         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
44386         * lib/localename.c: Likewise.
44387         * lib/progreloc.c: Likewise.
44388         * lib/relocatable.c: Likewise.
44389         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
44390         (windows_compute_revents): Renamed from win32_compute_revents.
44391         (windows_compute_revents_socket): Renamed from
44392         win32_compute_revents_socket.
44393         * lib/select.c: Update comments to mention native Windows.
44394         (windows_poll_handle): Renamed from win32_poll_handle.
44395         * m4/threadlib.m4: Update comments to mention native Windows.
44396         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
44397         --enable-threads=windows instead of --enable-threads=win32. Set
44398         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
44399         * lib/glthread/lock.h: Update comments to mention native Windows.
44400         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
44401         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
44402         USE_WIN32_THREADS.
44403         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
44404         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
44405         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
44406         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
44407         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
44408         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
44409         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
44410         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
44411         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
44412         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
44413         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
44414         * tests/test-tls.c: Likewise.
44415         Rationale:
44416         Microsoft renamed the "Win32 API" to "Windows API", as it is available
44417         on both 32-bit and 64-bit Windows systems.
44418         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
44419         line of distinction is between "native Windows" on one side and Unix/
44420         POSIX systems on the other side. More details in
44421         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
44422         Suggested by Paul Eggert.
44424 2012-01-03  Bruno Haible  <bruno@clisp.org>
44426         isatty: Support for MSVC 9.
44427         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
44428         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
44429         (_isatty_nothrow): New function.
44430         (isatty): Use it instead of _isatty.
44431         (IsConsoleHandle): Add comment, from Paolo Bonzini.
44432         * lib/poll.c (IsConsoleHandle): Likewise.
44433         * lib/select.c (IsConsoleHandle): Likewise.
44434         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
44435         (gl_PREREQ_ISATTY): New macro.
44436         * modules/isatty (Depends-on): Add msvc-inval.
44437         (configure.ac): Invoke gl_PREREQ_ISATTY.
44439 2012-01-03  Jim Meyering  <meyering@redhat.com>
44441         maint.mk: remove temporary transition aid from over 1.5 years ago
44442         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
44443         purpose was to aid in the transition (avoiding silent malfunction)
44444         from that old name to the new _sc_search_regexp.  This shim was
44445         added by commit 219c504b.
44447         init.sh: do not try to accommodate compare arguments starting with "-"
44448         * tests/init.sh (compare_dev_null_): Do not try to accommodate
44449         compare arguments that start with "-".  Besides, we do not worry
44450         about this when invoking diff or cmp; why start now with sed?
44451         Using "--" to separate options from argument would trigger sed
44452         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
44453         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
44455 2012-01-02  Bruno Haible  <bruno@clisp.org>
44457         Enhance tests for module 'isatty'.
44458         * modules/isatty-tests (Depends-on): Add pipe-posix.
44459         * tests/test-isatty.c: Include <fcntl.h>.
44460         (DEV_NULL): New macro.
44461         (main): Test the resut of isatty() also on regular files, pipes, and
44462         /dev/null.
44464         New module 'isatty'.
44465         * lib/unistd.in.h (isatty): New declaration.
44466         * lib/isatty.c: New file, based on an idea of
44467         Bastien Roucariès <roucaries.bastien@gmail.com>.
44468         * m4/isatty.m4: New file.
44469         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
44470         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
44471         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
44472         REPLACE_ISATTY.
44473         * modules/isatty: New file.
44474         * doc/posix-functions/isatty.texi: Mention the new module.
44475         Suggested by Paolo Bonzini.
44477 2012-01-02  Bruno Haible  <bruno@clisp.org>
44479         canonicalize: Tweak 2011-12-29 commit.
44480         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
44481         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
44483 2012-01-02  Jim Meyering  <meyering@redhat.com>
44485         gitlog-to-changelog: describe input syntax in --help output
44486         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
44488         gitlog-to-changelog: fix typo in --help: show backslash before email @
44489         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
44490         in sources, but not in actual output.
44492 2011-12-30  Jim Meyering  <meyering@redhat.com>
44494         gitlog-to-changelog: don't malfunction when name contains %-directive
44495         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
44496         in a name string cause trouble.  E.g., with a user name of "%s",
44497         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
44499 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
44501         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
44502         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
44503         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
44504         the "  (tiny change)" notation that is appended to the standard
44505         ChangeLog "date  name  email" header line.
44507 2012-01-01  Jim Meyering  <meyering@redhat.com>
44509         test-framework-sh: init.sh: fix "make dist" failure
44510         When using gnulib-tool's --with-tests option and any module that
44511         depends on test-framework-sh, "make dist" would fail due to the
44512         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
44513         in the gltests directory, and not in the gllib/ directory.
44514         One way to work around that is to move the EXTRA_DIST += init.sh
44515         from the primary module to the -tests one:
44516         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
44517         * modules/test-framework-sh (Makefile.am): ...not here.
44518         Reported by Tom G. Christensen in
44519         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
44521         version-etc: update copyright year reported by --version
44522         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
44524 2011-12-31  Pádraig Brady  <P@draigBrady.com>
44526         canonicalize: only stat() if required
44527         * lib/canonicalize.c (canonicalize_filename_mode):
44528         Avoid calling l?stat() when both CAN_MISSING,
44529         and CAN_NOLINKS are set, as we neither need
44530         to resolve symlinks or test component existence.
44532 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
44534         doc: cover st_ino issues once; add OpenVMS etc.
44535         * doc/posix-functions/stat.texi (stat):
44536         * doc/posix-functions/lstat.texi (lstat):
44537         * doc/posix-functions/fstatat.texi (fstatat):
44538         * doc/posix-functions/fstat.texi (fstat):
44539         Move general 'struct stat' stuff to sys_stat.texi,
44540         leaving behind a pointer.
44541         * doc/posix-headers/sys_stat.texi (sys/stat.h):
44542         Merge duplicate info about 'struct stat' problems into here.
44543         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
44544         and suggest partial workarounds.
44546         same-inode: port to OpenVMS
44547         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
44548         three st_ino values.
44550 2011-12-30  Pádraig Brady  <P@draigBrady.com>
44552         canonicalize: fix references to stat() and lstat()
44553         * lib/canonicalize.c (canonicalize_filename_mode):
44554         Ensure references always resolve to a replacement
44555         function if required (even via a macro).
44557 2011-12-30  Jim Meyering  <meyering@redhat.com>
44559         gitlog-to-changelog: remove a little duplication
44560         * build-aux/gitlog-to-changelog (main): Grep @lines once,
44561         rather than twice.
44563 2011-12-29  Pádraig Brady  <P@draigBrady.com>
44565         canonicalize: add support for not resolving symlinks
44566         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
44567         indicate we don't want to follow symlinks.  Also
44568         provide CAN_MODE_MASK to aid setting these existing
44569         mutually exclusive values.
44570         * lib/canonicalize.c (canonicalize_filename_mode):
44571         Extract the flags from can_mode parameter, which
44572         are currently just used to select between stat()
44573         and lstat().  Also ensure that mutually exclusive
44574         values are flagged immediately as invalid.
44575         * tests/test-canonicalize.c: Verify symlinks are
44576         not followed, and that invalid flag combinations
44577         are diagnosed.
44579 2011-12-25  Jim Meyering  <meyering@redhat.com>
44581         gitlog-to-changelog: do not clump multi-paragraph entries
44582         Identical header lines (date,name,email+coauthors) are suppressed,
44583         thus putting all entries with those same characteristics under
44584         a single header.  However, when a log entry consists of two or
44585         more paragraphs, it may not be clear where it starts and ends.
44586         This change makes it so that such an entry is always separated
44587         from others by a header line, even when that header would
44588         otherwise be suppressed.
44589         * build-aux/gitlog-to-changelog: Implement the above.
44590         Inspired by a related request from Stefano Lattarini in
44591         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
44593 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
44595         announce-gen: fix `cmd' typo in diagnostic
44596         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
44597         diagnostic: a missing '$' meant that the command was not output.
44599 2011-12-23  Jim Meyering  <meyering@redhat.com>
44601         test-framework-sh: distribute init.sh
44602         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
44603         Otherwise, "make -C gnulib-tests check" (at least in grep) would
44604         fail due to the lack of init.sh.
44606         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
44607         * modules/atexit-tests: Rather than listing tests/init.sh,
44608         now that there's a module for it, simply depend on that new module.
44609         * modules/closein-tests: Likewise.
44610         * modules/exclude-tests: Likewise.
44611         * modules/getcwd-tests: Likewise.
44612         * modules/perror-tests: Likewise.
44613         * modules/pread-tests: Likewise.
44614         * modules/pwrite-tests: Likewise.
44615         * modules/vc-list-files-tests: Likewise.
44616         * modules/verify-tests: Likewise.
44617         * modules/xalloc-die-tests: Likewise.
44618         * modules/xstrtoimax-tests: Likewise.
44619         * modules/xstrtol-tests: Likewise.
44620         * modules/xstrtoll-tests: Likewise.
44621         * modules/xstrtoumax-tests: Likewise.
44622         * modules/yesno-tests: Likewise.
44624 2011-12-22  Jim Meyering  <meyering@redhat.com>
44626         test-framework-sh: add minimal tests of init.sh's compare function
44627         * modules/test-framework-sh-tests: New file.
44628         * tests/test-init.sh: New file.
44630         test-framework-sh: new module
44631         * modules/test-framework-sh: New file.
44632         * MODULES.html.sh (Support for maintaining and releasing projects):
44633         List it.
44635         init.sh: do not emit simulated diff output to stderr
44636         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
44638 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
44640         .gitignore: ignore gnulib.dvi and regex.info
44641         * doc/.gitignore:add gnulib.dvi and regex.info
44643 2011-12-22  Jim Meyering  <meyering@redhat.com>
44645         init.sh: correct previous change
44646         * tests/init.sh (compare): My previous change was wrong.
44647         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
44649         init.sh: avoid unwarranted test failure when using "set -e"
44650         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
44651         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
44652         a use like "compare exp out" would get evoke an unconditional failure.
44654 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
44656         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
44657         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
44658         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
44659         autoreconf that did not.
44660         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
44661         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
44663 2011-12-17  Jim Meyering  <meyering@redhat.com>
44665         bootstrap: remove some now-unneeded code
44666         This script arose back when gnulib-tool was young.
44667         Since then, it has seen improvements that render much of this
44668         script unnecessary.  In particular, it can now make symlinks
44669         to the files it uses.  Also, I no longer see as much value in
44670         marking files as read-only via comments.
44671         If you relied on the symlink-creation feature of the preceding
44672         version of this script, you can get most of that functionality
44673         by adding the --symlink option to the definition of
44674         gnulib_tool_option_extras in your bootstrap.conf file.
44675         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
44676         Run autopoint and libtoolize *before* gnulib-tool.
44677         After it, run an abbreviated autoreconf, rather than a loop around
44678         all tools.
44679         (slirp, bt_mark_as_generated): Remove functions.
44681 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44683         ftoastr: fix typo
44684         * lib/ftoastr.h: Fix misspelling in comment.
44686 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
44688         * top/README-release: fix punctuation.
44690 2011-12-17  Jim Meyering  <meyering@redhat.com>
44692         bootstrap: correct the recent buildreq change
44693         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
44694         had no effect.
44695         * build-aux/bootstrap (buildreq): Bracket each search term with
44696         "*...*", so that the shell "case" statement works as intended.
44697         Add comments.
44699 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
44701         build: let bootstrap resort to wget when downloading .po files
44702         * build-aux/bootstrap (download_po_files): Fallback to wget when
44703         downloading the .po files via rsync fails.  This is necessary to
44704         bootstrap from behind a strict firewall.
44706 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
44708         stdint: don't assume C++11 when compiling with g++
44709         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
44710         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
44711         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
44712         work also in C++ before C++11, as that improperly inhibits
44713         generating a substitute stdint.h for that case.
44715 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
44717         alloca: protect comment from gnulib-tool
44718         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
44719         that gnulib-tool doesn't think it's a license, and munge it to
44720         say "GCC version 3".
44722 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
44724         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
44725         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
44726         $(abs_top_builddir) instead of $(top_builddir).
44728 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
44730         strftime-tests: also test nanoseconds
44731         * tests/test-strftime.c (T): Add a test of %N.
44733 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
44735         inttypes, stdint: add C++11 support
44736         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
44737         when including inttypes.h and stdint.h.  Support this change to
44738         the standard.
44739         * doc/posix-headers/inttypes.texi (inttypes.h):
44740         * doc/posix-headers/stdint.texi (stdint.h): Document this.
44741         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
44742         Define if not defined already, for the benefit of pre-C++11 hosts.
44743         Define the standard format macros (e.g., PRId8) always.
44744         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
44745         Likewise, if __cpluspus.  Define the standard constant and limit
44746         macros (e.g., INT8_C, INT8_MAX) always.
44747         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
44748         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
44749         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
44750         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
44751         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
44752         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
44753         Likewise.
44755 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
44757         nonblocking tests: Fix test failure on Linux/PPC.
44758         Suggested by Prerna Saxena in
44759         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
44760         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
44761         Set to 1100000.
44763 2011-12-12  Jim Meyering  <meyering@redhat.com>
44765         argmatch: don't hard-code `' when listing valid option arguments
44766         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
44767         use the quote function to add quotes.  Use fputs rather than
44768         fprintf for the format string with no format directive.
44770 2011-12-07  Eric Blake  <eblake@redhat.com>
44772         bootstrap: detect tools required by gnulib-tool
44773         * build-aux/bootstrap (buildreq): Provide minimum implicit
44774         dependencies.
44775         * DEPENDENCIES: Mention patch as a prereq.
44777 2011-12-04  Bruno Haible  <bruno@clisp.org>
44779         sethostname: Port to Windows platforms.
44780         * lib/sethostname.c: Provide an alternate implementation for Windows
44781         platforms.
44782         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
44783         (main): Skip the test if sethostname() fails with EPERM. On Windows
44784         platforms, don't check the result of gethostname().
44786 2011-12-04  Bruno Haible  <bruno@clisp.org>
44787             Jim Meyering  <meyering@redhat.com>
44789         tests: Avoid spurious error message on platforms without mktemp program.
44790         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
44792 2011-12-04  Bruno Haible  <bruno@clisp.org>
44794         sethostname: Fix documentation.
44795         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
44796         "not fixed" section.
44798 2011-12-03  Bruno Haible  <bruno@clisp.org>
44800         gnulib-tool: Verify that the License field is present and non-empty.
44801         * gnulib-tool (func_get_license_raw): New function, extracted from
44802         func_get_license.
44803         (func_get_license): Use it. Warn if the module is not a test module and
44804         has no license.
44805         Suggested by Jim Meyering.
44807 2011-12-03  Bruno Haible  <bruno@clisp.org>
44809         sethostname tests: Fix link error on mingw.
44810         * tests/test-sethostname1.c: New file, extracted from
44811         tests/test-sethostname.c.
44812         * tests/test-sethostname2.c: New file, extracted from
44813         tests/test-sethostname.c.
44814         * tests/test-sethostname.c: Remove file.
44815         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
44816         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
44817         (Depends-on): Add gethostname.
44818         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
44819         Link the latter with $(GETHOSTNAME_LIB).
44821         sethostname tests: Fix compilation error on mingw.
44822         * tests/test-sethostname.c: Don't include <sys/types.h>.
44823         (geteuid): Use a dummy value without uid_t.
44824         * modules/sethostname-tests (Depends-on): Remove sys_types.
44826         sethostname tests: Avoid a gcc warning.
44827         * tests/test-sethostname.c (main): Remove an unused variable.
44829         Tweak last commit.
44830         * modules/sethostname-tests (Files): Sort by decreasing importance.
44831         (configure.ac): Check for geteuid.
44832         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
44833         the test when there's nothing to test. Drop an unnecessary cast.
44834         Improve an error message. Verify that the final sethostname() call
44835         succeeds.
44837 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44839         Add a test suite for the sethostname module.
44840         * modules/sethostname-tests: New file.  A test program
44841         for the sethostname module.
44842         * tests/test-sethostname.c: Likewise.
44844 2011-12-03  Bruno Haible  <bruno@clisp.org>
44846         Tweak last commit.
44847         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
44848         Fix preprocessor directives indentation. Fix typos.
44849         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
44850         * modules/unistd (Makefile): Likewise.
44852 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44854         Integrate the sethostname module into unistd.
44855         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
44856         into the unistd.h header.
44857         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
44858         preprocessor directives.
44859         * modules/unistd: Setup the Makefile substitutions of the
44860         SETHOSTNAME preprocessor directives.
44862 2011-12-03  Bruno Haible  <bruno@clisp.org>
44864         Tweak last commit.
44865         * lib/sethostname.c: Don't include <string.h>.
44866         (sethostname): No need to copy the argument string to the stack. Don't
44867         call clearerr. Preserve errno when fprintf failed.
44868         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
44869         Don't invoke AC_REPLACE_FUNCS.
44870         * modules/sethostname (Link): Remove empty section.
44871         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
44872         failure problem.
44874 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44876         New module 'sethostname'.
44877         * lib/sethostname.c (sethostname): New file.  Provide sethostname
44878         for systems that lack it.
44879         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
44880         sethostname declaration and function.
44881         * modules/sethostname: New file.  Define the sethostname module.
44883 2011-12-03  Bruno Haible  <bruno@clisp.org>
44885         Tweak last commit.
44886         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
44888 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44890         Split the HOST_NAME_MAX detection into a separate m4 macro.
44891         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
44892         macro so it can be used by the pending sethostname module.
44894 2011-12-03  Bruno Haible  <bruno@clisp.org>
44896         Fix module descriptions syntax.
44897         * modules/argv-iter (License): Fix syntax.
44898         * modules/di-set (License): Likewise.
44899         * modules/ino-map (License): Likewise.
44900         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
44902 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
44904         stdalign: port to Clang 3.0
44905         Problem reported by Simon Josefsson in
44906         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
44907         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
44908         which has <stdalign.h> but which does not define alignof.
44909         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
44911 2011-12-01  Eric Blake  <eblake@redhat.com>
44913         mktempd: silence dd usage
44914         * build-aux/mktempd (rand_bytes): Silence dd.
44916 2011-11-30  Simon Josefsson  <simon@josefsson.org>
44918         manywarnings: Don't mention gcc version in docstring.
44919         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
44920         Jim Meyering <meyering@redhat.com>.
44922 2011-11-30  Jim Meyering  <meyering@redhat.com>
44924         hash: mark a few floating point constants with "f" suffix
44925         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
44926         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
44927         floating point constants with "f", since they're destined to be
44928         saved/used as "float"s.
44930 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
44932         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
44933         * tests/test-float.c (test_long_double): Correct and re-enable the
44934         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
44936 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
44938         Avoid subtracting two pointers that don't point into the same block.
44939         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
44940         only pointers into the same memory block are subtracted. We cannot
44941         assume that sizeof (ptrdiff_t) == sizeof (void *).
44943 2011-11-29  Eric Blake  <eblake@redhat.com>
44945         maint.mk: add syntax check for use of compare from init.sh
44946         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
44947         moved here from coreutils.
44949         manywarnings: drop -Wunsuffixed-float-constants
44950         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
44951         '1.0D', which is the only way to silence this warning for 'double'.
44953 2011-11-29  Jim Meyering  <meyering@redhat.com>
44955         hash: mark compute_bucket_size with the pure attribute
44956         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
44958         quotearg, propername: correct pragma guard expression
44959         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
44960         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
44962 2011-11-28  Jim Meyering  <meyering@redhat.com>
44964         propername: do not mark proper_name with the const attribute
44965         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
44966         since it examines data pointed to by its parameter.
44967         * lib/propername.c (proper_name): Instead, add a pragma to suppress
44968         the suggestion from -Wsuggest-attribute=const.
44970         propername: mark one more function as const
44971         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
44973 2011-11-27  Jim Meyering  <meyering@redhat.com>
44975         mark functions with const and pure attributes
44977         Mark functions per suggestions from gcc-4.6 when using these options:
44978         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
44979         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
44980         Follow these guidelines: when possible, apply the attribute to
44981         an extern declaration, not to its definition.  Apply it to the
44982         definition only when the definition is static.
44983         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
44984         * lib/argv-iter.h (argv_iter_n_args): Likewise.
44985         * lib/base64.h (isbase64): Likewise.
44986         * lib/basename-lgpl.c (last_component, base_len): Likewise.
44987         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
44988         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
44989         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
44990         (c_tolower, c_toupper): Likewise.
44991         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
44992         * lib/chdir-long.c (find_non_slash): Likewise.
44993         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
44994         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
44995         * lib/file-type.h (file_type): Likewise.
44996         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
44997         * lib/filevercmp.c (verrevcmp): Likewise.
44998         * lib/freadahead.h (freadahead): Likewise.
44999         * lib/fts.c (fts_maxarglen): Likewise.
45000         * lib/hash-pjw.h (hash_pjw): Likewise.
45001         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
45002         * lib/hash.c (is_prime, next_prime): Likewise.
45003         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
45004         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
45005         (hash_table_ok, hash_get_first, hash_string): Likewise.
45006         (compute_bucket_size): Likewise.
45007         * lib/i-ring.h (i_ring_empty): Likewise.
45008         * lib/isnan.c (isnanl): Likewise.
45009         * lib/math.h (isnanl, rpl_isnanl): Likewise.
45010         * lib/memcasecmp.h (memcasecmp): Likewise.
45011         * lib/memchr2.h (memchr2): Likewise.
45012         * lib/memcmp2.h (memcmp2): Likewise.
45013         * lib/parse-datetime.y (lookup_zone): Likewise.
45014         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
45015         [!WINDOWS_SOCKETS]: Likewise.
45016         * lib/strnlen1.h (strnlen1): Likewise.
45017         * lib/uniwidth.in.h (uc_width): Likewise.
45018         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
45019         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
45020         (quoting_options_from_style): Add a comment.
45021         * lib/propername.h (proper_name): Add a comment.
45023 2011-11-27  Bruno Haible  <bruno@clisp.org>
45025         Remove unused macros from !_LIBC code in glibc-borrowed files.
45026         * lib/fnmatch.c (STRCOLL): Remove macro.
45027         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
45028         * lib/glob.c (__stat, __readdir64): Remove macros.
45029         * lib/tempname.c (__open64, __xstat64): Remove macros.
45030         Suggested by Paul Eggert.
45032 2011-11-27  Bruno Haible  <bruno@clisp.org>
45034         getcwd: Fix link error on MSVC 9.
45035         * modules/getcwd (Depends-on): Add readdir, rewinddir.
45037 2011-11-27  Bruno Haible  <bruno@clisp.org>
45039         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
45040         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
45041         HAVE_OPENDIR is 0.
45042         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
45043         HAVE_CLOSEDIR is 0.
45044         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
45045         is 0.
45046         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
45048 2011-11-27  Bruno Haible  <bruno@clisp.org>
45050         getcwd: Fix bug from 2011-08-17.
45051         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
45052         platforms that need it.
45053         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
45054         code of 4 to be a failure, not a success. This ensures that
45055         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
45057 2011-11-27  Bruno Haible  <bruno@clisp.org>
45059         binary-io tests: Avoid test failure on mingw when libtool is used.
45060         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
45061         Don't verify the size of t-bin-out1.tmp here.
45062         * tests/test-binary-io.sh: Verify it here.
45063         Reported by Simon Josefsson.
45065 2011-11-26  Bruno Haible  <bruno@clisp.org>
45067         Fix conflict between two instantiations of module 'unistd'.
45068         * gnulib-tool (func_emit_autoconf_snippet): Substitute
45069         ${include_guard_prefix} also in the autoconf snippet.
45070         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
45071         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
45072         GNULIB_UNISTD_H_GETOPT.
45073         * modules/getopt-posix (configure.ac): Set the
45074         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
45075         * modules/getopt-gnu (configure.ac): Likewise.
45076         * modules/unistd (Makefile.am): Change the substitution value of
45077         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
45078         Reported by Simon Josefsson.
45080 2011-11-25  Bruno Haible  <bruno@clisp.org>
45082         pagealign_alloc: Doc and comments.
45083         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
45084         module.
45085         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
45087 2011-11-25  Jim Meyering  <meyering@redhat.com>
45089         test-update-copyright.sh: avoid false-positive failure
45090         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
45091         around false positive failure on Cygwin/Windows.  The latter was
45092         matching erroneously-created files with names like
45093         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
45095 2011-11-25  Simon Josefsson  <simon@josefsson.org>
45097         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
45098         * m4/valgrind-tests.m4: Check that the parameters that will be
45099         used works, not just a subset of them.  Reported by Bruno Haible
45100         <bruno@clisp.org>.
45102 2011-11-24  Jim Meyering  <meyering@redhat.com>
45104         test-stdalign.c: comment out long double tests
45105         * tests/test-stdalign.c: Don't try to reduce alignment of long double
45106         variables.  That provokes errors like this from gcc-4.7.0 20111124:
45107         error: '_Alignas' specifiers cannot reduce alignment of \
45108         'static_longdouble_alignas'.
45110 2011-11-22  Jim Meyering  <meyering@redhat.com>
45112         init.sh: make "compare /dev/null FILE" output more readable
45113         * tests/init.sh (compare_): Document the preferred order of arguments.
45114         (emit_diff_u_header_): New function.
45115         (compare_dev_null_): Emit a simulated diff, rather than just the
45116         contents of the unexpected file.  Suggestion from Bruno Haible.
45118 2011-11-21  Jim Meyering  <meyering@redhat.com>
45119             Eric Blake  <eblake@redhat.com>
45121         init.sh: work around OSF/1 5.1's mishandling of /dev/null
45122         * tests/init.sh: Make our compare function slightly more portable.
45123         Reported by Bruno Haible in
45124         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
45126 2011-11-21  Simon Josefsson  <simon@josefsson.org>
45128         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
45129         before using it, in code that ends up in config.h.
45131 2011-11-20  Bruno Haible  <bruno@clisp.org>
45133         getcwd: Work around getcwd bug on AIX 5..7.
45134         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
45135         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
45136         Use a different value for gl_cv_func_getcwd_path_max. Move the
45137         definition of HAVE_PARTLY_WORKING_GETCWD from here...
45138         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
45139         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
45140         Define HAVE_MINIMALLY_WORKING_GETCWD.
45141         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
45142         where it is not even minimally working, that is, on AIX.
45143         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
45144         m4/getcwd-path-max.m4.
45145         (main): Update exit code computation.
45146         * doc/posix-functions/getcwd.texi: Mention list of platforms where
45147         getcwd does not handle long file names.
45149 2011-11-20  Bruno Haible  <bruno@clisp.org>
45151         getcwd: Fix bug from 2009-09-10.
45152         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
45153         like "no".
45155 2011-11-20  Simon Josefsson  <simon@josefsson.org>
45157         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
45159 2011-11-20  Bruno Haible  <bruno@clisp.org>
45161         fma tests: Avoid shadowing local variables.
45162         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
45163         expected.
45165 2011-11-20  Bruno Haible  <bruno@clisp.org>
45167         copysignf tests: Fix.
45168         * tests/test-copysignf.c: Fix signature check.
45170 2011-11-20  Bruno Haible  <bruno@clisp.org>
45172         fma: Remove unused code.
45173         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
45174         unused macros.
45176 2011-11-20  Bruno Haible  <bruno@clisp.org>
45178         sethostname: Fix doc about AIX.
45179         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
45180         sethostname; it has it.
45182         sethostname: Mention more portability problems.
45183         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
45184         problem.
45185         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
45187 2011-11-19  Bruno Haible  <bruno@clisp.org>
45189         Depend on module fcntl-h when AT_FDCWD is used.
45190         * modules/utimens (Depends-on): Add fcntl-h.
45191         * modules/areadlinkat (Depends-on): Likewise.
45192         * modules/areadlinkat-with-size (Depends-on): Likewise.
45193         * modules/faccessat (Depends-on): Likewise.
45194         * modules/fchmodat (Depends-on): Likewise.
45195         * modules/fchownat (Depends-on): Likewise.
45196         * modules/getcwd (Depends-on): Likewise.
45197         * modules/mkdirat (Depends-on): Likewise.
45198         * modules/mkfifoat (Depends-on): Likewise.
45199         * modules/readlinkat (Depends-on): Likewise.
45200         * modules/symlinkat (Depends-on): Likewise.
45201         * modules/dup2-tests (Depends-on): Likewise.
45202         * modules/fdutimensat-tests (Depends-on): Likewise.
45203         * modules/futimens-tests (Depends-on): Likewise.
45205 2011-11-19  Bruno Haible  <bruno@clisp.org>
45207         euidaccess: Update a comment.
45208         * lib/euidaccess.c: Update comment about platforms with faccessat.
45210 2011-11-19  Bruno Haible  <bruno@clisp.org>
45212         openat: Fix file list.
45213         * modules/openat (Files): Remove lib/at-func.c.
45215 2011-11-19  Bruno Haible  <bruno@clisp.org>
45217         fstatat: Simplify.
45218         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
45219         gnulib should define rpl_fstatat, there is a
45220         "#define fstatat rpl_fstatat" in <sys/stat.h>.
45222 2011-11-19  Bruno Haible  <bruno@clisp.org>
45224         Ensure 'inline' can be used in tests/test-utimens-common.h.
45225         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
45226         * modules/futimens-tests (configure.ac): Likewise.
45227         * modules/utimens-tests (configure.ac): Likewise.
45228         * modules/utimensat-tests (configure.ac): Likewise.
45230 2011-11-19  Simon Josefsson  <simon@josefsson.org>
45232         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
45233         not hash_insert0.
45234         (hash_insert_if_absent): Doc fix.
45236 2011-11-19  Simon Josefsson  <simon@josefsson.org>
45238         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
45240 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
45242         test-getcwd: disambiguate exit status
45243         * tests/test-getcwd.c (test_long_name): Return 0..7.
45244         (main): Exit with an unambiguous exit status.  The old
45245         code yielded a mysterious mixture of two failure codes.
45247         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
45248         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
45249         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
45250         rpl_fstatat or fstatat.  This should fix the other problem
45251         reported by Kai Habel in
45252         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
45253         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
45254         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
45255         and I reproduced it on a Solaris 8 host we still have in production.
45257 2011-11-18  Jim Meyering  <meyering@redhat.com>
45259         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
45260         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
45261         Add a sentence to the comment.
45262         (hash_insert0): New function that simply calls hash_insert_if_absent.
45263         * lib/hash.h (hash_insert_if_absent): Declare it.
45264         (hash_insert0): Add deprecation attribute.
45265         (_GL_ATTRIBUTE_DEPRECATED): Define.
45266         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
45267         not hash_insert0.
45268         * NEWS: Mention it, even though it's not really an incompatible change.
45270 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
45272         openat: avoid compilation failure due to lack of <errno.h> inclusion
45273         * lib/openat.c: Include <errno.h>.
45275 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
45277         * modules/getcwd (Depends-on): Add fdopendir.
45278         This fixes one of the two problems reported by Kai Habel in
45279         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
45281         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
45282         stdalign problem reported by Ian Beckwith in
45283         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
45284         * modules/crypto/gc-arcfour (Depends-on):
45285         Depend conditionally on crypto/arcfour.
45286         * modules/crypto/gc-arctwo (Depends-on):
45287         Depend conditionally on crypto/arctwo.
45288         * modules/crypto/gc-des (Depends-on):
45289         Depend conditionally on crypto/des.
45290         * modules/crypto/gc-hmac-md5 (Depends-on):
45291         Depend conditionally on crypto/hmac-md5.
45292         * modules/crypto/gc-hmac-sha1 (Depends-on):
45293         Depend conditionally on crypto/hmac-sha1.
45294         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
45295         * modules/crypto/gc-md4 (Depends-on):
45296         Depend conditionally on crypto/md4.
45297         * modules/crypto/gc-md5 (Depends-on):
45298         Depend conditionally on crypto/md5.
45299         * modules/crypto/gc-rijndael (Depends-on):
45300         Depend conditionally on crypto/rijndael.
45301         * modules/crypto/gc-sha1 (Depends-on):
45302         Depend conditionally on crypto/sha1.
45303         * modules/crypto/gc-arcfour:
45304         * modules/crypto/gc-arctwo:
45305         * modules/crypto/gc-des:
45306         * modules/crypto/gc-hmac-md5:
45307         * modules/crypto/gc-hmac-sha1:
45308         * modules/crypto/gc-md2:
45309         * modules/crypto/gc-md4:
45310         * modules/crypto/gc-md5:
45311         * modules/crypto/gc-rijndael:
45312         * modules/crypto/gc-sha1:
45313         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
45314         now that the conditional dependencies do the work for us.
45316 2011-11-17  Jim Meyering  <meyering@redhat.com>
45318         tests: factor st_ctime-comparison out of two headers
45319         * tests/test-utimens-common.h (ctime_compare): Define.
45320         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
45321         * tests/test-lutimens.h (test_lutimens): Likewise.
45322         * tests/test-utimens.h (test_utimens): Likewise.
45324         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
45325         Invoke the test program via an init.sh-using wrapper.
45326         * tests/test-getcwd.sh: New file.
45327         * modules/getcwd-tests (Files): Add it.
45328         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
45330 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
45332         gitlog-to-changelog: support multi-author commits.
45333         The FSF cares about keeping track of all authors of patches to its
45334         projects, but Git doesn't provide obvious support for multi-author
45335         changesets. Consensus seems to be forming around the use of extra
45336         Signed-off-by inspired lines in the log message formatted as
45337         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
45338         multi-author commits between version control systems.
45339         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
45340         log message and output in standard ChangeLog multi-author format.
45341         Reported by Peter Rosin <peda@lysator.liu.se>
45343 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
45344             Bruno Haible  <bruno@clisp.org>
45346         Fix some modules' file list.
45347         * modules/fstatat (Files): Add m4/lstat.m4.
45348         * modules/openat (Files): Likewise.
45349         * modules/unlinkat (Files): Likewise.
45351 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
45353         maint.mk: fix tight-scope.mk generation in VPATH builds.
45354         * top/maint.mk (tight-scope.mk): Make sure to prefix file
45355         reference with $(srcdir) so that the file is found correctly even
45356         when running `make syntax-check' in a VPATH build.
45358 2011-11-13  Bruno Haible  <bruno@clisp.org>
45359             Jim Meyering  <meyering@redhat.com>
45361         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
45362         * tests/init.sh (compare): Remove "No differences encountered" or
45363         synonymous output from the 'diff' program.
45365 2011-11-13  Bruno Haible  <bruno@clisp.org>
45367         Makefile: Tweak indentation.
45368         * Makefile: Use tab as first character in every line that contains rule
45369         commands.
45371 2011-11-13  Bruno Haible  <bruno@clisp.org>
45373         Syntax check for copyright statements.
45374         * check-copyright: New file.
45375         * Makefile (sc_check_copyright): New rule.
45377 2011-11-13  Simon Josefsson  <simon@josefsson.org>
45379         * build-aux/git-version-gen: Add --prefix to configure the tag
45380         match string.
45382 2011-11-13  Simon Josefsson  <simon@josefsson.org>
45384         * build-aux/git-version-gen: Add --help and --version.
45386 2011-11-12  Jim Meyering  <meyering@redhat.com>
45388         revamp the other test-exclude?.sh scripts to use init.sh, too
45389         * tests/test-exclude1.sh: Use init.sh.
45390         * tests/test-exclude2.sh: Likewise.
45391         * tests/test-exclude3.sh: Likewise.
45392         * tests/test-exclude4.sh: Likewise.
45393         * tests/test-exclude5.sh: Likewise.
45394         * tests/test-exclude6.sh: Likewise.
45395         * tests/test-exclude7.sh: Likewise.
45396         * tests/test-exclude8.sh: Likewise.
45397         * modules/exclude-tests (Files): List init.sh.
45399         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
45400         These shell scripts ignored failure of the binary test-exclude,
45401         so making the latter return 77 didn't cause them to be skipped.
45402         * tests/test-exclude5.sh: Exit with test-exclude's error status
45403         when that program fails.  Revamp to use init.sh.
45404         * tests/test-exclude2.sh: Likewise.
45406         test-exclude: fix a typo
45407         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
45409 2011-11-11  Bruno Haible  <bruno@clisp.org>
45411         obstack: Fix compilation error on MSVC 9.
45412         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
45414 2011-11-11  Jim Meyering  <meyering@redhat.com>
45416         test-exclude: skip tests rather than failing on deficient systems
45417         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
45418         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
45419         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
45420         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
45422 2011-11-10  Bruno Haible  <bruno@clisp.org>
45424         ptsname_r test: Avoid gcc warning on glibc systems.
45425         * tests/test-ptsname_r.c (null_ptr): New function.
45426         (test_errors): Use it.
45428 2011-11-10  Bruno Haible  <bruno@clisp.org>
45430         ptsname_r: Avoid compilation error on OSF/1 5.1.
45431         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
45432         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
45433         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
45434         function is not declared or incompatibly declared.
45435         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
45436         * modules/ptsname_r (Depends-on, configure.ac): Update.
45437         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
45439 2011-11-10  Bruno Haible  <bruno@clisp.org>
45441         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
45442         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
45443         When cross-compiling, guess yes on all platforms except AIX.
45444         Reported by Ludovic Courtès <ludo@gnu.org>.
45446 2011-11-09  Bruno Haible  <bruno@clisp.org>
45448         ptsname_r tests: Fix bugs.
45449         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
45450         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
45452 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
45454         fstatat: work with cross-compilation
45455         Problem reported by Ludovic Courtès in
45456         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
45457         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
45458         "cross-compiling" and assume the bug is present.  Replace
45459         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
45460         an inverted sense, to be more conservative about our assumptions.
45461         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
45463 2011-11-09  Bruno Haible  <bruno@clisp.org>
45465         Improve MODULES.html output.
45466         * modules/mkfifoat (Description): Use the word "function".
45467         * modules/readlinkat (Description): Likewise.
45468         * modules/symlinkat (Description): Likewise.
45470 2011-11-09  Eric Blake  <eblake@redhat.com>
45472         ptsname_r-tests: new test module
45473         * modules/ptsname_r-tests: New module.
45474         * tests/test-ptsname_r.c: New file.
45476         ptsname_r: new module
45477         * modules/ptsname_r: New module.
45478         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
45479         * lib/ptsname.c (__ptsname_r): Split...
45480         * lib/ptsname_r.c: ...into new file.
45481         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
45482         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
45483         * modules/stdlib (Makefile.am): Substitute witnesses.
45484         * lib/stdlib.in.h (ptsname_r): Declare it.
45485         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
45486         * MODULES.html.sh (Misc): Likewise.
45487         * modules/ptsname (Depends-on): Alter dependency.
45488         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
45490 2011-11-09  Jim Meyering  <meyering@redhat.com>
45492         announce-gen: be more concise when there's only one URL+tarball
45493         * build-aux/announce-gen (get_tool_versions): When you distribute
45494         only one type of tarball, combine the first two "Here are..."
45495         sections and make the key-checking grammar independent of
45496         how many tarballs there are.
45498 2011-11-09  Eric Blake  <eblake@redhat.com>
45500         openpty: provide a stub on mingw
45501         * lib/pty.in.h (includes): Provide forward declarations.
45502         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
45504         raise: fix mingw handling of SIGPIPE
45505         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
45507 2011-11-08  Bruno Haible  <bruno@clisp.org>
45509         More conditional dependencies.
45510         * modules/faccessat (Depends-on): Add conditions.
45511         * modules/fchmodat (Depends-on): Likewise.
45512         * modules/fchownat (Depends-on): Likewise.
45513         * modules/fstatat (Depends-on): Likewise.
45514         * modules/mkfifoat (Depends-on): Likewise.
45515         * modules/readlinkat (Depends-on): Likewise.
45516         * modules/symlinkat (Depends-on): Likewise.
45517         * modules/unlinkat (Depends-on): Likewise.
45518         * modules/utimensat (Depends-on): Likewise.
45519         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
45520         * modules/linkat (Depends-on): Refine the conditions.
45521         * modules/renameat (Depends-on): Likewise.
45523 2011-11-08  Bruno Haible  <bruno@clisp.org>
45525         faccessat: Move AC_LIBOBJ invocation to module description.
45526         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
45527         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
45528         invocation from here...
45529         * modules/faccessat (configure.ac): ... to here. Invoke
45530         gl_PREREQ_FACCESSAT.
45532 2011-11-08  Bruno Haible  <bruno@clisp.org>
45534         faccessat: Simplify autoconf macro.
45535         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
45536         gl_FUNC_EUIDACCESS.
45538 2011-11-08  Bruno Haible  <bruno@clisp.org>
45540         renameat: Fix dependencies.
45541         * modules/renameat (Depends-on): Add stdbool.
45543 2011-11-08  Bruno Haible  <bruno@clisp.org>
45545         mkfifoat: Fix module description.
45546         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
45547         not gl_UNISTD_MODULE_INDICATOR.
45549 2011-11-08  Bruno Haible  <bruno@clisp.org>
45551         fstatat: Remove unused dependency.
45552         * modules/fstatat (Depends-on): Remove fstat.
45554 2011-11-08  Simon Josefsson  <simon@josefsson.org>
45556         GNUmakefile: behave when Makefile is missing.
45557         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
45559 2011-11-08  Bruno Haible  <bruno@clisp.org>
45561         openat: Conditionalize dependencies.
45562         * lib/openat.c: Reduce the scope of some #includes.
45563         * modules/openat (Depends-on): Add conditions.
45565 2011-11-07  Jim Meyering  <meyering@redhat.com>
45567         maint.mk: extract GPG key ID without using a temporary file
45568         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
45569         without using a temporary file.  Based on a suggestion from Werner Koch
45570         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
45572 2011-11-07  Eric Blake  <eblake@redhat.com>
45574         grantpt: fix typo
45575         * lib/stdlib.in.h (grantpt): Check correct function.
45577         maint.mk: silence new syntax check
45578         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
45580 2011-11-06  Bruno Haible  <bruno@clisp.org>
45582         Doc about floating-point and math API.
45583         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
45584         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
45586 2011-11-06  Bruno Haible  <bruno@clisp.org>
45588         stdalign tests: Skip the test when compiled by Sun C.
45589         * tests/test-stdalign.c (main): Skip the test on Sun C.
45591 2011-11-06  Bruno Haible  <bruno@clisp.org>
45593         ansi-c++-opt: Complete the 2011-06-05 change.
45594         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
45595         does not support namespaces, set the variable to "no", not to ":".
45597 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
45599         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
45601 2011-11-06  Bruno Haible  <bruno@clisp.org>
45603         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
45604         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
45605         (minus_zerol) [HP-UX]: New macro.
45606         (unary_minus) [HP-UX]: New function.
45607         (copysignl) [HP-UX]: Use unary_minus function.
45609 2011-11-06  Bruno Haible  <bruno@clisp.org>
45611         ldexp, ldexpf, ldexpl: Enhance tests.
45612         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
45613         and tests/test-ldexpl.c.
45614         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
45615         LDEXP, MIN_EXP, MAX_EXP): New macros.
45616         Include test-ldexp.h.
45617         (main): Just call test_function.
45618         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
45619         infinity.h, nan.h.
45620         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
45621         MAX_EXP): New macros.
45622         Include test-ldexp.h.
45623         (x, y): Remove variables.
45624         (main): Just call test_function.
45625         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
45626         infinity.h, nan.h.
45627         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
45628         MAX_EXP): New macros.
45629         Include test-ldexp.h.
45630         (x, y): Remove variables.
45631         (main): Just call test_function.
45632         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
45633         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
45634         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
45635         (Depends-on): Add isnand-nolibm, signbit, float.
45636         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
45637         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
45638         (Depends-on): Add isnanf-nolibm, signbit, float.
45640 2011-11-06  Bruno Haible  <bruno@clisp.org>
45642         math tests: Cosmetics.
45643         * tests/test-math-c++.cc: Reorder declarations.
45645 2011-11-05  Bruno Haible  <bruno@clisp.org>
45647         fma*: Simplify test.
45648         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
45649         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
45651         Tests for module 'fmal'.
45652         * modules/fmal-tests: New file.
45653         * tests/test-fmal1.c: New file.
45654         * tests/test-fmal2.c: New file.
45656         New module 'fmal'.
45657         * lib/math.in.h (fmal): New declaration.
45658         * lib/fmal.c: New file.
45659         * m4/fmal.m4: New file.
45660         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
45661         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
45662         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
45663         REPLACE_FMAL.
45664         * modules/fmal: New file.
45665         * doc/posix-functions/fmal.texi: Mention the new module and the various
45666         bugs.
45668         Tests for module 'fmaf'.
45669         * modules/fmaf-tests: New file.
45670         * tests/test-fmaf1.c: New file.
45671         * tests/test-fmaf2.c: New file.
45673         New module 'fmaf'.
45674         * lib/math.in.h (fmaf): New declaration.
45675         * lib/fmaf.c: New file.
45676         * m4/fmaf.m4: New file.
45677         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
45678         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
45679         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
45680         REPLACE_FMAF.
45681         * modules/fmaf: New file.
45682         * doc/posix-functions/fmaf.texi: Mention the new module and the various
45683         bugs.
45685         Tests for module 'fma'.
45686         * modules/fma-tests: New file.
45687         * tests/test-fma1.c: New file.
45688         * tests/test-fma1.h: New file.
45689         * tests/test-fma2.c: New file.
45690         * tests/test-fma2.h: New file.
45692         New module 'fma'.
45693         * lib/math.in.h (fma): New declaration.
45694         * lib/fma.c: New file.
45695         * m4/fma.m4: New file.
45696         * m4/fegetround.m4: New file.
45697         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
45698         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
45699         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
45700         REPLACE_FMA.
45701         * modules/fma: New file.
45702         * doc/posix-functions/fma.texi: Mention the new module and the various
45703         bugs.
45705         Extend gl_MATHFUNC.
45706         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
45707         Support 'void' as argument type.
45708         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
45710 2011-11-05  Jim Meyering  <meyering@redhat.com>
45712         maint.mk: also prohibit inclusion of dirent.h without use
45713         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
45715 2011-11-05  Bruno Haible  <bruno@clisp.org>
45717         ldexpl tests: Avoid test failure on MSVC 9.
45718         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
45719         value. Needed in order to enforce the conversion from a value greater
45720         than LDBL_MAX to Infinity.
45722 2011-11-05  Bruno Haible  <bruno@clisp.org>
45724         New modules 'at-internal', 'openat-h', split off from module 'openat'.
45725         * modules/at-internal: New file, extracted from modules/openat.
45726         * modules/openat-h: New file.
45727         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
45728         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
45729         * modules/openat (Description): Add reference to POSIX function.
45730         (Files): Remove lib/openat.h, lib/openat-proc.c.
45731         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
45732         intprops, unistd.
45733         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
45734         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
45735         gl_FCNTL_MODULE_INDICATOR.
45736         (Include): Remove unistd.h, openat.h.
45737         * modules/areadlinkat (Files): Add lib/at-func.c.
45738         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
45739         openat-die, openat-h, save-cwd.
45740         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
45741         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
45742         openat-die, openat-h, save-cwd, unistd.
45743         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
45744         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45745         openat-h, save-cwd. Remove fcntl-h, openat.
45746         * modules/fchmodat (Files): Remove lib/openat.h.
45747         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
45748         openat, stdbool, unistd.
45749         * modules/fchownat (Files): Remove lib/openat.h.
45750         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
45751         openat, stdbool, sys_stat.
45752         * modules/fdopendir (Files): Remove lib/openat-priv.h,
45753         lib/openat-proc.c.
45754         (Depends-on): Add at-internal.
45755         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
45756         * modules/fstatat (Files): Remove lib/openat.h.
45757         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
45758         stdbool, unistd.
45759         * modules/fts (Depends-on): Add openat-h.
45760         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
45761         openat.
45762         * modules/mkdirat (Files): Remove lib/openat.h.
45763         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
45764         openat, stdbool, sys_stat.
45765         * modules/mkfifoat (Files): Add lib/at-func.c.
45766         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45767         openat-h, save-cwd. Remove fcntl-h, openat.
45768         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
45769         * modules/readlinkat (Files): Add lib/at-func.c.
45770         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45771         openat-h, save-cwd. Remove fcntl-h, openat.
45772         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
45773         openat.
45774         * modules/selinux-at (Files): Add lib/at-func.c.
45775         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
45776         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
45777         * modules/symlinkat (Files): Add lib/at-func.c.
45778         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45779         openat-h, save-cwd. Remove fcntl-h, openat.
45780         * modules/unlinkat (Files): Remove lib/openat.h.
45781         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
45782         stdbool.
45783         * modules/utimensat (Files): Add lib/at-func.c.
45784         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
45785         openat-die, openat-h, save-cwd.
45786         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
45787         * modules/fdutimensat-tests (Depends-on): Add openat.
45788         * modules/fstatat-tests (Depends-on): Add openat-h.
45789         * modules/readlinkat-tests (Depends-on): Add openat.
45790         * modules/symlinkat-tests (Depends-on): Add openat.
45792 2011-11-05  Bruno Haible  <bruno@clisp.org>
45794         openat: Include <stdbool.h>.
45795         * lib/openat.c: Include <stdbool.h>.
45797 2011-11-04  Bruno Haible  <bruno@clisp.org>
45799         fchownat, renameat, unlinkat: Fix dependencies.
45800         * modules/fchownat (Depends-on): Add fstatat.
45801         * modules/renameat (Depends-on): Likewise.
45802         * modules/unlinkat (Depends-on): Likewise.
45804 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
45806         openat: remove direct dependency on dirent
45807         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
45808         and hasn't been needed ever since fdopendir was split into its own
45809         module on 2009-08-31.
45810         * modules/openat (Depends-on): Remove dirent.
45812 2011-11-04  Bruno Haible  <bruno@clisp.org>
45814         renameat: Optimize code size.
45815         * modules/renameat (configure.ac): Don't compile at-func2.c if
45816         REPLACE_RENAMEAT is 1.
45818 2011-11-04  Bruno Haible  <bruno@clisp.org>
45820         openat tests: Fix file list.
45821         * modules/openat-tests (Files): Add tests/test-open.h.
45823 2011-11-04  Bruno Haible  <bruno@clisp.org>
45825         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
45826         * modules/fchmodat (Depends-on): Add openat-die.
45827         * modules/fchownat (Depends-on): Likewise.
45828         * modules/linkat (Depends-on): Likewise.
45829         * modules/renameat (Depends-on): Likewise.
45830         * modules/openat (Depends-on): Add dirent.
45832 2011-11-04  Jim Meyering  <meyering@redhat.com>
45834         at-func*.c: fix comments
45835         * lib/at-func2.c: Correct/improve first-line comment.
45836         * lib/at-func.c: Correct grammar in first-line comment.
45838 2011-11-04  Bruno Haible  <bruno@clisp.org>
45840         New module 'mkdirat', split off from module 'openat'.
45841         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
45842         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
45843         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
45844         * modules/mkdirat: New file, extracted from modules/openat.
45845         * modules/openat (Files): Remove lib/mkdirat.c.
45846         (Depends-on): Remove mkdir.
45847         (configure.ac): Remove AC_LIBOBJ of mkdirat.
45848         (Include): Remove <sys/stat.h>.
45849         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
45850         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
45851         tests/test-mkdir.h.
45852         (Depends-on): Remove ignore-value.
45853         (Makefile.am): Remove rules for test-mkdirat.
45854         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
45855         of module 'openat'.
45856         * NEWS: Mention the change.
45858 2011-11-04  Bruno Haible  <bruno@clisp.org>
45860         closedir: Avoid warning on mingw.
45861         * lib/closedir.c: Include <unistd.h>.
45863 2011-11-04  Bruno Haible  <bruno@clisp.org>
45865         New module 'fstatat', split off from module 'openat'.
45866         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
45867         defined.
45868         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
45869         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
45870         gl_FUNC_FSTATAT.
45871         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
45872         * modules/fstatat: New file, extracted from modules/openat.
45873         * modules/openat (Files): Remove lib/fstatat.c.
45874         (Depends-on): Remove lstat.
45875         (configure.ac): Remove AC_LIBOBJ of fstatat.
45876         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
45877         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
45878         tests/test-lstat.h, tests/test-stat.h.
45879         (Depends-on): Remove getcwd-lgpl.
45880         (Makefile.am): Remove rules for test-fstatat.
45881         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
45882         of module 'openat'.
45883         * NEWS: Mention the change.
45884         * modules/getcwd (Depends-on): Add fstatat.
45885         * modules/linkat (Depends-on): Likewise.
45886         * modules/mkfifoat-tests (Depends-on): Likewise.
45887         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
45889 2011-11-03  Bruno Haible  <bruno@clisp.org>
45891         New module 'unlinkat', split off from module 'openat'.
45892         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
45893         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
45894         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
45895         * modules/unlinkat: New file, extracted from modules/openat. Correct
45896         the dependency conditions.
45897         * modules/openat (Files): Remove lib/unlinkat.c.
45898         (Depends-on): Remove rmdir, unlink.
45899         (configure.ac): Remove AC_LIBOBJ of unlinkat.
45900         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
45901         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
45902         tests/test-rmdir.h, tests/test-unlink.h.
45903         (Depends-on): Remove unlinkdir.
45904         (Makefile.am): Remove rules for test-unlinkat.
45905         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
45906         of module 'openat'.
45907         * NEWS: Mention the change.
45908         * modules/linkat-tests (Depends-on): Add unlinkat.
45909         * modules/mkfifoat-tests (Depends-on): Likewise.
45910         * modules/readlinkat-tests (Depends-on): Likewise.
45912 2011-11-02  Bruno Haible  <bruno@clisp.org>
45914         New module 'fchmodat', split off from module 'openat'.
45915         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
45916         defined.
45917         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
45918         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
45919         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
45920         * modules/fchmodat: New file, extracted from modules/openat.
45921         * modules/openat (Files): Remove lib/fchmodat.c.
45922         (configure.ac): Remove AC_LIBOBJ of fchmodat.
45923         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
45924         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
45925         (Makefile.am): Remove rules for test-fchmodat.
45926         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
45927         of module 'openat'.
45928         * NEWS: Mention the change.
45930 2011-11-02  Jim Meyering  <meyering@redhat.com>
45932         putenv: indent #definition of "environ" to placate cppi
45933         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
45935         gitlog-to-changelog: provide a ChangeLog-repair mechanism
45936         Git logs are often treated as immutable, because editing them
45937         changes the SHA1 checksums of all descendants.  Thus, errors in
45938         git logs tend to stay there forever.  However, when we generate
45939         a ChangeLog file -- typically for distribution -- from that git log,
45940         we can actually make corrections in the generated file.  The key
45941         lies in recording in machine-readable/applicable form the desired
45942         corrections.  See --help for description and an example.
45943         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
45944         (usage): Describe it; alphabetize option descriptions.
45945         (main): Honor the new option, carefully.
45947 2011-11-01  Jim Meyering  <meyering@redhat.com>
45949         gitlog-to-changelog: avoid an infloop
45950         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
45951         that ends up being empty.
45953 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
45955         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
45956         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
45957         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
45958         contains (possibly-quoted) backslashes.  This should avoid
45959         all-too-common shell bugs if COMPLICATED contains backslashes in
45960         the "wrong" places.  Reported by David Evans in
45961         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
45962         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
45963         because we want ASCII ranges.  Is there some reason we don't use
45964         the C locale everywhere in this script?
45965         (func_module, top level): Avoid unwanted pathname expansion when
45966         $repo_url_prefix or $repo_url_suffix_repl contain shell
45967         metacharacters like '?' and '*'.
45969 2011-11-01  Bruno Haible  <bruno@clisp.org>
45971         fchownat: Improve description.
45972         * modules/fchownat (Description): Add link to function.
45974 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
45976         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
45977         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
45978         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
45979         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
45981 2011-11-01  Bruno Haible  <bruno@clisp.org>
45983         alignof: Avoid collision with stdalign module.
45984         * lib/alignof.h (alignof): Remove macro.
45985         * NEWS: Mention the change.
45986         Reported by Paul Eggert.
45988 2011-11-01  Bruno Haible  <bruno@clisp.org>
45990         New module 'fchownat', split off from module 'openat'.
45991         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
45992         defined.
45993         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
45994         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
45995         invoke gl_FUNC_FCHOWNAT.
45996         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
45997         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
45998         * modules/fchownat: New file, extracted from modules/openat.
45999         * modules/openat (Files): Remove lib/fchownat.c.
46000         (Depends-on): Remove lchown.
46001         (configure.ac): Remove AC_LIBOBJ of fchownat.
46002         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
46003         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
46004         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
46005         (Depends-on): Remove mgetgroups, usleep, stat-time.
46006         (configure.ac): Remove test for getegid.
46007         (Makefile.am): Remove rules for test-fchownat.
46008         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
46009         of module 'openat'.
46010         * NEWS: Mention the change.
46012 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
46014         stdalign: port better to MSVC and to Sun C 5.11
46015         This fixes some of the problems reported by Bruno Haible in
46016         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
46017         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
46018         shortcomings of MSVC and of Sun C 5.11.
46019         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
46020         around __declspec arg.
46021         * modules/stdalign-tests (Files): Add tests/macros.h.
46022         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
46023         Include macros.h, for ASSERT.
46024         (DECLARE_ALIGNED): Remove.
46025         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
46026         to catch bug), and to 1 if not (simplifies the rest of the code).
46027         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
46028         (CHECK_AUTO): Remove.
46029         (CHECK_ALIGNED): Check only the alignment of the static vars,
46030         since auto var alignment isn't supported by Sun C 5.11.
46031         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
46032         ASSERT failures are easier to diagnose.
46034 2011-10-31  Bruno Haible  <bruno@clisp.org>
46036         doc about some IRIX 5.3 problems.
46037         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
46038         on IRIX 5.3.
46039         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
46040         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
46041         5.3.
46042         * doc/posix-functions/grantpt.texi: Likewise.
46043         * doc/posix-functions/unlockpt.texi: Likewise.
46044         * doc/posix-functions/lgamma.texi: Likewise.
46045         * doc/posix-functions/nextafter.texi: Likewise.
46046         * doc/posix-functions/remainder.texi: Likewise.
46047         * doc/posix-functions/select.texi: Mention misplaced declaration on
46048         IRIX 5.3.
46049         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46051 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
46053         gitlog-to-changelog: fix git-log invocation.
46054         git-log mishandles date strings before 1970-01-01 UTC, and there is
46055         no use to specify --since=1970-01-01 by default anyway.
46056         * build-aux/gitlog-to-changelog: By default, when no --since option
46057         was given, do not specify explicit --since option to git-log.
46059 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
46061         gitlog-to-changelog: new option --append-dot.
46062         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
46063         first non-blank line of each commit message terminated with a dot.
46065 2011-10-30  Bruno Haible  <bruno@clisp.org>
46067         ffsl, ffsll: Avoid compilation error due to 'restrict'.
46068         * lib/ffsl.h: Include <config.h>.
46069         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
46071 2011-10-30  Jim Meyering  <meyering@redhat.com>
46073         GNUmakefile: reenable "make syntax-check" for most projects
46074         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
46075         build-aux variable", "syntax-check" would do nothing but succeed with
46076         the "No version control files detected..." diagnostic (unless you
46077         happened to override _build-aux via cfg.mk).
46078         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
46079         to precede inclusion of maint.mk.  Otherwise, these variables would
46080         be used undefined in any project that does not override the default.
46082 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
46084         gitlog-to-changelog: treat a message with only blank lines as empty.
46085         * build-aux/gitlog-to-changelog: Move the code that removes leading and
46086         trailing blank lines before the code that issues a warning about an
46087         empty commit message.
46089 2011-10-30  Jim Meyering  <meyering@redhat.com>
46091         test-parse-datetime.c: avoid new DST-related false positive test failure
46092         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
46093         based on the time/date we'll convert, not the current time.
46094         Otherwise, the moment we cross a DST boundary like today's in
46095         Europe, (CEST to CET), that offset ends up being one hour off.
46097 2011-10-27  Bruno Haible  <bruno@clisp.org>
46099         fstat: Tweak documentation.
46100         * modules/fstat (Description): More precise description.
46102 2011-10-27  Bruno Haible  <bruno@clisp.org>
46104         Update documentation regarding 'largefile' module.
46105         * doc/posix-functions/fstat.texi: Tweak wording.
46106         * doc/posix-functions/opendir.texi: Mention that the module fixes the
46107         problems with huge directories and/or small ino_t types.
46108         * doc/posix-functions/readdir.texi: Likewise.
46109         * doc/posix-functions/rewinddir.texi: Likewise.
46111 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
46113         maint.mk: don't maintain a second build-aux variable.
46114         * maint.mk (build_aux): Removed.  The maintainer-makefile module
46115         depends on GNUmakefile, which already maintains a cfg.mk
46116         overridable $(_build-aux) for projects with a non-standard
46117         build-aux directory location, although without the $(srcdir)
46118         prefix.  Use that variable consistently instead of introducing a
46119         second one.  Adjust all call sites.
46121 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
46123         Add stdalign module and use it in other modules.
46124         This is based on a previous proposal by Bruno Haible
46125         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
46127         stdalign: new module
46128         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
46129         * modules/stdalign: New files.
46130         * MODULES.html.sh (c1x_core_properties): Add stdalign.
46131         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
46133         stdalign-tests: new module
46134         * modules/stdalign-tests, tests/test-stdalign.c: New files.
46136         argp: use stdalign
46137         * lib/argp-parse.c: Include <stdalign.h>.
46138         (alignof): Remove.
46139         * modules/argp (Depends-on): Add stdalign.
46141         crypto libraries: use stdalign
46142         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
46143         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
46144         Do not include <stdlib.h> twice, in md4.c.
46145         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
46146         because we are accessing a pointer's bit-pattern, not a size.
46147         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
46148         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
46149         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
46150         * modules/crypto/sha512: Likewise.
46152         sys_socket: use stdalign, not alignof
46153         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
46154         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
46156 2011-10-27  Bruno Haible  <bruno@clisp.org>
46158         raise test: Avoid a test failure on Linux/MIPS.
46159         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
46160         because 99 is a valid signal on Linux/MIPS.
46162 2011-10-27  Bruno Haible  <bruno@clisp.org>
46164         nonblocking tests: Fix test failure on Linux/MIPS.
46165         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
46166         Set to 270000.
46168 2011-10-27  Bruno Haible  <bruno@clisp.org>
46170         utimensat: Work around problem on Linux/hppa.
46171         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
46172         values.
46173         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
46175 2011-10-25  Jim Meyering  <meyering@redhat.com>
46177         maint.mk: fix a bug in sc_prohibit_stddef_without_use
46178         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
46179         after symbols like NULL, size_t, etc.
46180         Reported by Alfred M. Szmidt.
46182         maint.mk: exempt ENODATA from a syntax-check rule
46183         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
46184         from the sc_prohibit_always-defined_macros syntax-check rule.
46185         Add a comment.  See this for more details:
46186         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
46188 2011-10-23  Jim Meyering  <meyering@redhat.com>
46190         fts: close parent dir FD before returning from post-traversal fts_read
46191         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
46192         unlink A, even though an FD open on A remained.  This is suboptimal
46193         (holding a file descriptor open longer than needed), but otherwise not
46194         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
46195         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
46196         that represents a real problem: it causes the removal of A to fail
46197         with e.g., "rm: cannot remove `A': Device or resource busy"
46199         fts visits each directory twice and keeps a cache (fts_fd_ring) of
46200         directory file descriptors.  After completing the final, FTS_DP,
46201         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
46202         cache, but then proceeded to add a new FD to it via the subsequent
46203         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
46204         final file descriptor would be closed only via fts_close's call to
46205         fd_ring_clear.  Now, it is usually closed earlier, via the final
46206         FTS_DP-returning fts_read call.
46207         * lib/fts.c (restore_initial_cwd): New function, converted from
46208         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
46209         Update callers.
46210         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
46211         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
46213 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
46214             Bruno Haible  <bruno@clisp.org>
46215             Jim Meyering  <jim@meyering.net>
46217         readme-release: improve safety of release prep instructions.
46218         * README-release: Don't git pull all branches when only master
46219         is needed for the release process.
46220         Run make maintainer-clean before changing trees and merging.
46221         Don't try to run ./configure right after git pull in case files
46222         that influence the bootstrap process have changed, move the
46223         ./configure step to after running ./bootstrap.
46224         Don't bootstrap "one last time"... it's the first time!
46226 2011-10-22  Bruno Haible  <bruno@clisp.org>
46228         errno, strerror-override: Support for MSVC 10.
46229         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
46230         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
46231         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
46232         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
46233         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
46234         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
46235         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
46236         Assign values compatible with MSVC 10.
46237         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
46238         New macros.
46239         (GNULIB_defined_EWINSOCK): New macro.
46240         * lib/strerror-override.c (strerror_override): Update accordingly.
46241         * lib/strerror-override.h: Likewise.
46242         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
46243         longer equal to the corresponding errno value.
46244         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
46246 2011-10-22  Bruno Haible  <bruno@clisp.org>
46248         perror: Recognize when test program crashes.
46249         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
46250         strerror, set gl_cv_func_perror_works to no.
46251         Reported by Daniel Richard G. <skunk@iskunk.org>.
46253         perror: Fix indentation.
46254         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
46256 2011-10-22  Bruno Haible  <bruno@clisp.org>
46258         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
46259         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
46260         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
46261         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
46262         functions, not as a macro.
46263         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
46264         macros.
46265         (isfinite, isinf, isnan, signbit): Check overloaded functions and
46266         absence of macro.
46267         Suggested by Eric Blake.
46268         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
46270 2011-10-21  Bruno Haible  <bruno@clisp.org>
46272         relocatable-prog-wrapper: Don't leave object files behind.
46273         * build-aux/install-reloc: Re-synchronize list of .o files to be
46274         removed with list of compilation units.
46276 2011-10-20  Bruno Haible  <bruno@clisp.org>
46278         openpty, posix_openpt: Remove code duplication.
46279         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
46280         * lib/openpty.c: Include <stdlib.h>.
46281         (openpty): Use posix_openpt on all platforms except IRIX.
46282         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
46284 2011-10-20  Bruno Haible  <bruno@clisp.org>
46286         unlockpt: Detect invalid argument.
46287         * lib/unlockpt.c: Include <fcntl.h>.
46288         (unlockpt): Check whether fd is valid, using fcntl().
46289         * modules/unlockpt (Depends-on): Add fcntl-h.
46291 2011-10-20  Bruno Haible  <bruno@clisp.org>
46293         openpty: Avoid compilation error on AIX 6.1.
46294         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
46296 2011-10-20  Bruno Haible  <bruno@clisp.org>
46298         posix_openpt: Support for OpenBSD.
46299         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
46300         (posix_openpt) [OpenBSD]: New code.
46301         * lib/grantpt.c: Include <fcntl.h>.
46302         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
46303         * modules/grantpt (Depends-on): Add fcntl-h.
46305 2011-10-20  Bruno Haible  <bruno@clisp.org>
46307         posix_openpt test: Coding style.
46308         * tests/test-posix_openpt.c: Use GNU coding style.
46310 2011-10-20  Bruno Haible  <bruno@clisp.org>
46312         grantpt: Support --avoid=pt_chown.
46313         * modules/grantpt (Files): Add lib/pty-private.h.
46315 2011-10-20  Bruno Haible  <bruno@clisp.org>
46317         posix_openpt: Fix autoconf macro.
46318         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
46319         unneeded check for _getpty.
46321 2011-10-20  Bruno Haible  <bruno@clisp.org>
46323         openpty: Update comments.
46324         * lib/openpty.c: Add comments about Minix.
46326 2011-10-19  Eric Blake  <eblake@redhat.com>
46328         openpty: relax license
46329         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
46331         pt_chown: use configmake to simplify build
46332         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
46334         ptsname and others: relax license
46335         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
46336         * modules/unlockpt (License): Likewise.
46337         * modules/pt_chown (License): Likewise.
46338         * modules/ptsname (License): Likewise.
46339         * modules/ttyname_r (License): Likewise.
46341 2011-10-19  Jim Meyering  <meyering@redhat.com>
46343         posix_openpt: remove spurious #endif
46344         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
46346 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
46348         maint.mk: Respect $(build_aux) in web-manual rule.
46349         * top/maint.mk (web-manual): Find gen-announce script in user's
46350         $(build_aux) directory instead of hard-coding 'build-aux'.
46352 2011-10-19  Bruno Haible  <bruno@clisp.org>
46354         posix_openpt: Fix compilation error.
46355         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
46356         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
46357         Mention the openpty module as an alternative.
46359 2011-10-19  Bruno Haible  <bruno@clisp.org>
46361         Support for old NeXTstep 3.3 frexp().
46362         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
46363         execution time of the test to 5 seconds.
46364         Reported by Daniel Richard G. <skunk@iskunk.org>.
46366 2011-10-19  Bruno Haible  <bruno@clisp.org>
46368         Support for old NeXTstep 3.3 sed.
46369         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
46370         part, use /.../, not \|...|. Escape periods in the header file name.
46371         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
46372         Reported by Daniel Richard G. <skunk@iskunk.org>.
46374 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
46376         Support for old NeXTstep 3.3 gcc.
46377         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
46378         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
46379         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
46380         * lib/spawn.in.h (_Restrict_arr_): Likewise.
46381         * lib/regex.h (_Restrict_arr_): Likewise.
46382         * lib/regex_internal.h (re_token_t): Likewise.
46383         * lib/regexec.c (check_node_accept_bytes): Likewise.
46384         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
46386 2011-10-18  Eric Blake  <eblake@redhat.com>
46388         posix_openpt: new module
46389         * modules/posix_openpt: New module.
46390         * m4/posix_openpt.m4: New file.
46391         * lib/posix_openpt.c: Likewise.
46392         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
46393         (gl_STDLIB_H_DEFAULTS): Set defaults.
46394         * modules/stdlib (Makefile.am): Substitute macros.
46395         * lib/stdlib.in.h (posix_openpt): Declare.
46396         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
46397         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
46398         * modules/posix_openpt-tests: New test module.
46399         * tests/test-posix_openpt.c: New test.
46401 2011-10-15  Bruno Haible  <bruno@clisp.org>
46403         xstrtoll: Fix compilation failure.
46404         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
46405         from lib/strtol.c.
46406         * doc/posix-headers/limits.texi: Mention missing numerical limits on
46407         some platforms.
46408         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46410 2011-10-15  Bruno Haible  <bruno@clisp.org>
46412         vasnprintf: Optimize bit search operation.
46413         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
46414         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
46415         gl_DOUBLE_EXPONENT_LOCATION.
46416         * modules/vasnprintf (Files): Add m4/exponentd.m4.
46417         * modules/unistdio/u8-vasnprintf (Files): Likewise.
46418         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
46419         * modules/unistdio/u16-vasnprintf (Files): Likewise.
46420         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
46421         * modules/unistdio/u32-vasnprintf (Files): Likewise.
46422         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
46423         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
46424         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
46426 2011-10-15  Bruno Haible  <bruno@clisp.org>
46428         vasnprintf: Fix comments.
46429         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
46431 2011-10-14  Bruno Haible  <bruno@clisp.org>
46433         Tests for module 'integer_length_ll'.
46434         * modules/integer_length_ll-tests: New file.
46435         * tests/test-integer_length_ll.c: New file.
46437         New module 'integer_length_ll'.
46438         * lib/integer_length_ll.c: New file.
46439         * modules/integer_length_ll: New file.
46441 2011-10-14  Bruno Haible  <bruno@clisp.org>
46443         Tests for module 'integer_length_l'.
46444         * modules/integer_length_l-tests: New file.
46445         * tests/test-integer_length_l.c: New file.
46447         New module 'integer_length_l'.
46448         * lib/integer_length_l.c: New file.
46449         * modules/integer_length_l: New file.
46451 2011-10-14  Bruno Haible  <bruno@clisp.org>
46453         Tests for module 'integer_length'.
46454         * modules/integer_length-tests: New file.
46455         * tests/test-integer_length.c: New file.
46457         New module 'integer_length'.
46458         * lib/integer_length.h: New file.
46459         * lib/integer_length.c: New file.
46460         * modules/integer_length: New file.
46462 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
46464         popen: Fix dependency conditions.
46465         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
46467 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
46469         perror: Fix autoconf test.
46470         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
46471         <stdlib.h> and <string.h>.
46473 2011-10-14  Bruno Haible  <bruno@clisp.org>
46475         ffsl: Optimize on 64-bit platforms.
46476         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
46477         unrolling.
46479 2011-10-13  Bruno Haible  <bruno@clisp.org>
46481         ffsl: Optimize on 32-bit platforms.
46482         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
46483         use ffs() without a loop.
46485         ffsl, ffsll: Optimize for GCC.
46486         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
46487         * lib/ffsl.c (GCC_BUILTIN): New macro.
46488         * lib/ffsll.c (GCC_BUILTIN): Likewise.
46490 2011-10-13  Bruno Haible  <bruno@clisp.org>
46492         ffs, bcopy, memset: Support symbol renaming via config.h.
46493         * lib/ffs.c: Include <config.h>.
46494         * lib/bcopy.c: Likewise.
46495         * lib/memset.c: Likewise.
46497 2011-10-10  Bruno Haible  <bruno@clisp.org>
46499         atanl: Simplify for platforms where 'long double' == 'double'.
46500         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46501         alternative implementation.
46502         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46503         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46504         * modules/atanl (Depends-on): Add atan. Update conditions.
46506 2011-10-10  Bruno Haible  <bruno@clisp.org>
46508         acosl: Simplify for platforms where 'long double' == 'double'.
46509         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46510         alternative implementation.
46511         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46512         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46513         * modules/acosl (Depends-on): Add acos. Update conditions.
46515 2011-10-10  Bruno Haible  <bruno@clisp.org>
46517         asinl: Simplify for platforms where 'long double' == 'double'.
46518         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46519         alternative implementation.
46520         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46521         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46522         * modules/asinl (Depends-on): Add asin. Update conditions.
46524 2011-10-10  Bruno Haible  <bruno@clisp.org>
46526         tanl: Simplify for platforms where 'long double' == 'double'.
46527         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46528         implementation.
46529         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46530         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46531         * modules/tanl (Depends-on): Add tan. Update conditions.
46532         (configure.ac): Don't compile trigl.c if
46533         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46535 2011-10-10  Bruno Haible  <bruno@clisp.org>
46537         cosl: Simplify for platforms where 'long double' == 'double'.
46538         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46539         implementation.
46540         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46541         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46542         * modules/cosl (Depends-on): Add cos. Update conditions.
46543         (configure.ac): Don't compile sincosl.c and trigl.c if
46544         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46546 2011-10-10  Bruno Haible  <bruno@clisp.org>
46548         sinl: Simplify for platforms where 'long double' == 'double'.
46549         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46550         implementation.
46551         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46552         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46553         * modules/sinl (Depends-on): Add sin. Update conditions.
46554         (configure.ac): Don't compile sincosl.c and trigl.c if
46555         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46557 2011-10-10  Bruno Haible  <bruno@clisp.org>
46559         logl: Simplify for platforms where 'long double' == 'double'.
46560         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46561         implementation.
46562         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46563         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46564         * modules/logl (Depends-on): Add log. Update conditions.
46566 2011-10-10  Bruno Haible  <bruno@clisp.org>
46568         expl: Simplify for platforms where 'long double' == 'double'.
46569         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46570         implementation.
46571         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46572         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46573         * modules/expl (Depends-on): Add exp. Update conditions.
46575 2011-10-10  Bruno Haible  <bruno@clisp.org>
46577         sqrtl: Simplify for platforms where 'long double' == 'double'.
46578         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46579         alternative implementation.
46580         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46581         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46582         * modules/sqrtl (Depends-on): Update conditions.
46584 2011-10-10  Bruno Haible  <bruno@clisp.org>
46586         ldexpl: Simplify for platforms where 'long double' == 'double'.
46587         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46588         alternative implementation.
46589         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46590         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46591         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
46593 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
46595         ffsll: set correct witness
46596         * modules/ffsll (configure.ac): Fix typo.
46598 2011-10-10  Bruno Haible  <bruno@clisp.org>
46600         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
46601         * lib/printf-frexpl.c: Include <config.h>.
46602         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46603         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
46604         second time.
46605         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
46606         gl_LONG_DOUBLE_VS_DOUBLE.
46607         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
46608         conditions.
46610 2011-10-10  Bruno Haible  <bruno@clisp.org>
46612         frexpl: Simplify for platforms where 'long double' == 'double'.
46613         * lib/frexpl.c: Include <config.h>.
46614         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46615         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46616         time.
46617         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46618         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46619         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
46620         * modules/frexpl (Depends-on): Add frexp. Update conditions.
46621         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
46622         conditions.
46624 2011-10-10  Jim Meyering  <meyering@redhat.com>
46626         test-renameat: don't leave behind a temporary file
46627         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
46628           ERROR: files left in build directory after distclean:
46629           ./gltests/test-renameat.too
46630           make[1]: *** [distcleancheck] Error 1
46631         Reported by Tom G. Christensen.
46633 2011-10-09  Bruno Haible  <bruno@clisp.org>
46635         rint: Determine RINT_LIBM correctly on AIX 7.
46636         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
46637         directly, not only through a function pointer. Also accept an optional
46638         4th argument with extra code.
46639         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
46640         rintf() call by gcc when optimizing.
46642         mathfunc.m4: Refactor.
46643         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
46644         m4 variable.
46646 2011-10-09  Bruno Haible  <bruno@clisp.org>
46648         rintl: Simplify for platforms where 'long double' == 'double'.
46649         * lib/rintl.c: Include <config.h>.
46650         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46651         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46652         time.
46653         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46654         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46655         * modules/rintl (Depends-on): Add rint. Update conditions.
46657 2011-10-09  Bruno Haible  <bruno@clisp.org>
46659         roundl: Simplify for platforms where 'long double' == 'double'.
46660         * lib/roundl.c: Include <config.h>.
46661         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46662         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46663         time.
46664         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46665         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46666         * modules/roundl (Depends-on): Add round. Update conditions.
46668 2011-10-09  Bruno Haible  <bruno@clisp.org>
46670         truncl: Simplify for platforms where 'long double' == 'double'.
46671         * lib/truncl.c: Include <config.h>.
46672         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46673         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46674         time.
46675         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46676         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46677         * modules/truncl (Depends-on): Add trunc. Update conditions.
46679 2011-10-09  Bruno Haible  <bruno@clisp.org>
46681         ceill: Simplify for platforms where 'long double' == 'double'.
46682         * lib/ceill.c: Include <config.h>.
46683         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46684         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46685         time.
46686         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46687         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46688         * modules/ceill (Depends-on): Add ceil. Update conditions.
46690 2011-10-09  Bruno Haible  <bruno@clisp.org>
46692         floorl: Simplify for platforms where 'long double' == 'double'.
46693         * lib/floorl.c: Include <config.h>.
46694         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46695         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46696         time.
46697         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46698         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46699         * modules/floorl (Depends-on): Add floor. Update conditions.
46701 2011-10-09  Bruno Haible  <bruno@clisp.org>
46703         rint: Fix ordering constraints.
46704         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
46705         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
46706         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
46708 2011-10-09  Bruno Haible  <bruno@clisp.org>
46710         copysignl: Simplify for platforms where 'long double' == 'double'.
46711         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46712         alternative.
46713         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46714         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46715         * modules/copysignl (Depends-on): Add copysign. Update conditions.
46717 2011-10-09  Bruno Haible  <bruno@clisp.org>
46719         Tests for module 'rintl'.
46720         * modules/rintl-tests: New file.
46721         * tests/test-rintl.c: New file.
46723         New module 'rintl'.
46724         * lib/math.in.h (rintl): New declaration.
46725         * lib/rintl.c: New file.
46726         * m4/rintl.m4: New file.
46727         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
46728         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
46729         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
46730         * modules/rintl: New file.
46731         * tests/test-math-c++.cc: Check the declaration of rintl.
46732         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
46733         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
46734         * doc/posix-functions/rintl.texi: Mention the new module.
46736 2011-10-09  Bruno Haible  <bruno@clisp.org>
46738         Tests for module 'rintf'.
46739         * modules/rintf-tests: New file.
46740         * tests/test-rintf.c: New file.
46742         New module 'rintf'.
46743         * lib/math.in.h (rintf): New declaration.
46744         * lib/rintf.c: New file.
46745         * m4/rintf.m4: New file.
46746         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
46747         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
46748         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
46749         * modules/rintf: New file.
46750         * tests/test-math-c++.cc: Check the declaration of rintf.
46751         * doc/posix-functions/rintf.texi: Mention the new module.
46753 2011-10-09  Bruno Haible  <bruno@clisp.org>
46755         rint: Support for MSVC.
46756         * lib/math.in.h (rint): New declaration.
46757         * lib/rint.c: New file.
46758         * m4/rint.m4: New file.
46759         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
46760         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
46761         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
46762         * modules/rint (Description): Fix.
46763         (Files): Add lib/rint.c, m4/rint.m4.
46764         (Depends-on): Add math.
46765         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
46766         gl_MATH_MODULE_INDICATOR.
46767         * tests/test-math-c++.cc: Check the declaration of rint.
46768         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
46769         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
46770         * doc/posix-functions/rint.texi: Mention the replacement provided by
46771         the module.
46773         rint tests: More tests.
46774         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
46775         minus-zero.h, infinity.h, nan.h.
46776         (main): Skip the test if the current rounding mode is not standard. Add
46777         tests for negative numbers, minus zero, infinity, NaN.
46778         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
46779         tests/nan.h.
46780         (Depends-on): Add isnand-nolibm.
46782 2011-10-09  Bruno Haible  <bruno@clisp.org>
46784         Tests for module 'copysignl'.
46785         * modules/copysignl-tests: New file.
46786         * tests/test-copysignl.c: New file.
46788         New module 'copysignl'.
46789         * lib/math.in.h (copysignl): New declaration.
46790         * lib/copysignl.c: New file.
46791         * m4/copysignl.m4: New file.
46792         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
46793         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
46794         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
46795         HAVE_COPYSIGNL.
46796         * modules/copysignl: New file.
46797         * tests/test-math-c++.cc: Check the declaration of copysignl.
46798         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
46799         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
46800         * doc/posix-functions/copysignl.texi: Mention the new module.
46802 2011-10-09  Bruno Haible  <bruno@clisp.org>
46804         Tests for module 'copysignf'.
46805         * modules/copysignf-tests: New file.
46806         * tests/test-copysignf.c: New file.
46808         New module 'copysignf'.
46809         * lib/math.in.h (copysignf): New declaration.
46810         * lib/copysignf.c: New file.
46811         * m4/copysignf.m4: New file.
46812         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
46813         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
46814         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
46815         HAVE_COPYSIGNF.
46816         * modules/copysignf: New file.
46817         * tests/test-math-c++.cc: Check the declaration of copysignf.
46818         * doc/posix-functions/copysignf.texi: Mention the new module.
46820 2011-10-09  Bruno Haible  <bruno@clisp.org>
46822         Ensure that HAVE_* variables are set to 1 before they are set to 0.
46823         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
46824         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
46825         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
46826         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
46827         gl_SIGNAL_H_DEFAULTS.
46829 2011-10-09  Bruno Haible  <bruno@clisp.org>
46831         poll: Make macro safer.
46832         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
46833         ac_cv_header_poll_h is not set.
46835 2011-10-09  Bruno Haible  <bruno@clisp.org>
46837         copysign: Provide replacement.
46838         * lib/math.in.h (copysign): New declaration.
46839         * lib/copysign.c: New file.
46840         * m4/copysign.m4: New file.
46841         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
46842         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
46843         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
46844         HAVE_COPYSIGN.
46845         * modules/copysign (Description): Clarify.
46846         (Files): Add lib/copysign.c, m4/copysign.m4.
46847         (Depends-on): Add math, signbit.
46848         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
46849         gl_MATH_MODULE_INDICATOR.
46850         * tests/test-math-c++.cc: Check the declaration of copysign.
46851         * doc/posix-functions/copysign.texi: Mention the effects of the module
46852         on Minix and MSVC.
46854 2011-10-09  Bruno Haible  <bruno@clisp.org>
46856         isinf: Ensure macro on AIX 5.1.
46857         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
46858         macro.
46859         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
46861 2011-10-09  Bruno Haible  <bruno@clisp.org>
46863         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
46864         * modules/snprintf-posix-tests (configure.ac): Require
46865         gl_LONG_DOUBLE_VS_DOUBLE.
46866         * modules/sprintf-posix-tests (configure.ac): Likewise.
46867         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
46868         * modules/vasprintf-posix-tests (configure.ac): Likewise.
46869         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
46870         * modules/vsprintf-posix-tests (configure.ac): Likewise.
46871         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
46872         tests on platforms where 'long double' is the same as 'double'.
46873         * tests/test-sprintf-posix.h (test_function): Likewise.
46874         * tests/test-vasnprintf-posix.c (test_function): Likewise.
46875         * tests/test-vasprintf-posix.c (test_function): Likewise.
46877         *printf: Fix for platforms where 'long double' == 'double'.
46878         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
46879         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
46880         * modules/dprintf-posix (Files): Add m4/math_h.m4.
46881         * modules/fprintf-posix (Files): Likewise.
46882         * modules/obstack-printf-posix (Files): Likewise.
46883         * modules/snprintf-posix (Files): Likewise.
46884         * modules/sprintf-posix (Files): Likewise.
46885         * modules/vasnprintf (Files): Likewise.
46886         * modules/vasnprintf-posix (Files): Likewise.
46887         * modules/vasprintf-posix (Files): Likewise.
46888         * modules/vdprintf-posix (Files): Likewise.
46889         * modules/vfprintf-posix (Files): Likewise.
46890         * modules/vsnprintf-posix (Files): Likewise.
46891         * modules/vsprintf-posix (Files): Likewise.
46892         * modules/unistdio/u8-vasnprintf (Files): Likewise.
46893         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
46894         * modules/unistdio/u16-vasnprintf (Files): Likewise.
46895         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
46896         * modules/unistdio/u32-vasnprintf (Files): Likewise.
46897         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
46898         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
46900         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
46901         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
46902         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46903         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
46904         'long double'.
46905         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
46907         isinf: Fix for platforms where 'long double' == 'double'.
46908         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
46909         Don't blindly assume 80-bit 'long double'.
46911         isfinite: Fix for platforms where 'long double' == 'double'.
46912         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
46913         Don't blindly assume 80-bit 'long double'.
46915         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
46916         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
46917         * modules/isfinite-tests (configure.ac): Require
46918         gl_LONG_DOUBLE_VS_DOUBLE.
46919         * modules/isinf-tests (configure.ac): Likewise.
46920         * modules/isnan-tests (configure.ac): Likewise.
46921         * modules/isnanl-tests (configure.ac): Likewise.
46922         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
46923         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
46924         tests on platforms where 'long double' is the same as 'double'.
46925         * tests/test-isinf.c (test_isinfl): Likewise.
46926         * tests/test-isnan.c (test_long_double): Likewise.
46927         * tests/test-isnanl.h (main): Likewise.
46929 2011-10-08  Bruno Haible  <bruno@clisp.org>
46931         Tests for module 'tanhf'.
46932         * modules/tanhf-tests: New file.
46933         * tests/test-tanhf.c: New file.
46935         New module 'tanhf'.
46936         * lib/math.in.h (tanhf): New declaration.
46937         * lib/tanhf.c: New file.
46938         * m4/tanhf.m4: New file.
46939         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
46940         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
46941         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
46942         * modules/tanhf: New file.
46943         * tests/test-math-c++.cc: Check the declaration of tanhf.
46944         * doc/posix-functions/tanhf.texi: Mention the new module.
46946         tanh: Use a .m4 file.
46947         * m4/tanh.m4: New file.
46948         * modules/tanh (Files): Add it.
46949         (configure.ac): Just invoke gl_FUNC_TANH.
46951 2011-10-08  Bruno Haible  <bruno@clisp.org>
46953         Tests for module 'coshf'.
46954         * modules/coshf-tests: New file.
46955         * tests/test-coshf.c: New file.
46957         New module 'coshf'.
46958         * lib/math.in.h (coshf): New declaration.
46959         * lib/coshf.c: New file.
46960         * m4/coshf.m4: New file.
46961         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
46962         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
46963         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
46964         * modules/coshf: New file.
46965         * tests/test-math-c++.cc: Check the declaration of coshf.
46966         * doc/posix-functions/coshf.texi: Mention the new module.
46968         cosh: Use a .m4 file.
46969         * m4/cosh.m4: New file.
46970         * modules/cosh (Files): Add it.
46971         (configure.ac): Just invoke gl_FUNC_COSH.
46973 2011-10-08  Bruno Haible  <bruno@clisp.org>
46975         Tests for module 'sinhf'.
46976         * modules/sinhf-tests: New file.
46977         * tests/test-sinhf.c: New file.
46979         New module 'sinhf'.
46980         * lib/math.in.h (sinhf): New declaration.
46981         * lib/sinhf.c: New file.
46982         * m4/sinhf.m4: New file.
46983         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
46984         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
46985         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
46986         * modules/sinhf: New file.
46987         * tests/test-math-c++.cc: Check the declaration of sinhf.
46988         * doc/posix-functions/sinhf.texi: Mention the new module.
46990         sinh: Use a .m4 file.
46991         * m4/sinh.m4: New file.
46992         * modules/sinh (Files): Add it.
46993         (configure.ac): Just invoke gl_FUNC_SINH.
46995 2011-10-08  Bruno Haible  <bruno@clisp.org>
46997         Tests for module 'atan2f'.
46998         * modules/atan2f-tests: New file.
46999         * tests/test-atan2f.c: New file.
47001         New module 'atan2f'.
47002         * lib/math.in.h (atan2f): New declaration.
47003         * lib/atan2f.c: New file.
47004         * m4/atan2f.m4: New file.
47005         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
47006         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
47007         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
47008         * modules/atan2f: New file.
47009         * tests/test-math-c++.cc: Check the declaration of atan2f.
47010         * doc/posix-functions/atan2f.texi: Mention the new module.
47012         atan2: Use a .m4 file.
47013         * m4/atan2.m4: New file.
47014         * modules/atan2 (Files): Add it.
47015         (configure.ac): Just invoke gl_FUNC_ATAN2.
47017 2011-10-08  Bruno Haible  <bruno@clisp.org>
47019         Tests for module 'atanf'.
47020         * modules/atanf-tests: New file.
47021         * tests/test-atanf.c: New file.
47023         New module 'atanf'.
47024         * lib/math.in.h (atanf): New declaration.
47025         * lib/atanf.c: New file.
47026         * m4/atanf.m4: New file.
47027         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
47028         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
47029         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
47030         * modules/atanf: New file.
47031         * tests/test-math-c++.cc: Check the declaration of atanf.
47032         * doc/posix-functions/atanf.texi: Mention the new module.
47034         atan: Use a .m4 file.
47035         * m4/atan.m4: New file.
47036         * modules/atan (Files): Add it.
47037         (configure.ac): Just invoke gl_FUNC_ATAN.
47039 2011-10-08  Bruno Haible  <bruno@clisp.org>
47041         Tests for module 'acosf'.
47042         * modules/acosf-tests: New file.
47043         * tests/test-acosf.c: New file.
47045         New module 'acosf'.
47046         * lib/math.in.h (acosf): New declaration.
47047         * lib/acosf.c: New file.
47048         * m4/acosf.m4: New file.
47049         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
47050         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
47051         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
47052         * modules/acosf: New file.
47053         * tests/test-math-c++.cc: Check the declaration of acosf.
47054         * doc/posix-functions/acosf.texi: Mention the new module.
47056         acos: Use a .m4 file.
47057         * m4/acos.m4: New file.
47058         * modules/acos (Files): Add it.
47059         (configure.ac): Just invoke gl_FUNC_ACOS.
47061 2011-10-08  Bruno Haible  <bruno@clisp.org>
47063         Tests for module 'asinf'.
47064         * modules/asinf-tests: New file.
47065         * tests/test-asinf.c: New file.
47067         New module 'asinf'.
47068         * lib/math.in.h (asinf): New declaration.
47069         * lib/asinf.c: New file.
47070         * m4/asinf.m4: New file.
47071         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
47072         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
47073         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
47074         * modules/asinf: New file.
47075         * tests/test-math-c++.cc: Check the declaration of asinf.
47076         * doc/posix-functions/asinf.texi: Mention the new module.
47078         asin: Use a .m4 file.
47079         * m4/asin.m4: New file.
47080         * modules/asin (Files): Add it.
47081         (configure.ac): Just invoke gl_FUNC_ASIN.
47083 2011-10-08  Bruno Haible  <bruno@clisp.org>
47085         Tests for module 'tanf'.
47086         * modules/tanf-tests: New file.
47087         * tests/test-tanf.c: New file.
47089         New module 'tanf'.
47090         * lib/math.in.h (tanf): New declaration.
47091         * lib/tanf.c: New file.
47092         * m4/tanf.m4: New file.
47093         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
47094         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
47095         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
47096         * modules/tanf: New file.
47097         * tests/test-math-c++.cc: Check the declaration of tanf.
47098         * doc/posix-functions/tanf.texi: Mention the new module.
47100         tan: Use a .m4 file.
47101         * m4/tan.m4: New file.
47102         * modules/tan (Files): Add it.
47103         (configure.ac): Just invoke gl_FUNC_TAN.
47105 2011-10-08  Bruno Haible  <bruno@clisp.org>
47107         Tests for module 'cosf'.
47108         * modules/cosf-tests: New file.
47109         * tests/test-cosf.c: New file.
47111         New module 'cosf'.
47112         * lib/math.in.h (cosf): New declaration.
47113         * lib/cosf.c: New file.
47114         * m4/cosf.m4: New file.
47115         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
47116         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
47117         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
47118         * modules/cosf: New file.
47119         * tests/test-math-c++.cc: Check the declaration of cosf.
47120         * doc/posix-functions/cosf.texi: Mention the new module.
47122         cos: Use a .m4 file.
47123         * m4/cos.m4: New file.
47124         * modules/cos (Files): Add it.
47125         (configure.ac): Just invoke gl_FUNC_COS.
47127 2011-10-08  Bruno Haible  <bruno@clisp.org>
47129         Tests for module 'sinf'.
47130         * modules/sinf-tests: New file.
47131         * tests/test-sinf.c: New file.
47133         New module 'sinf'.
47134         * lib/math.in.h (sinf): New declaration.
47135         * lib/sinf.c: New file.
47136         * m4/sinf.m4: New file.
47137         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
47138         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
47139         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
47140         * modules/sinf: New file.
47141         * tests/test-math-c++.cc: Check the declaration of sinf.
47142         * doc/posix-functions/sinf.texi: Mention the new module.
47144         sin: Use a .m4 file.
47145         * m4/sin.m4: New file.
47146         * modules/sin (Files): Add it.
47147         (configure.ac): Just invoke gl_FUNC_SIN.
47149 2011-10-08  Bruno Haible  <bruno@clisp.org>
47151         Tests for module 'powf'.
47152         * modules/powf-tests: New file.
47153         * tests/test-powf.c: New file.
47155         New module 'powf'.
47156         * lib/math.in.h (powf): New declaration.
47157         * lib/powf.c: New file.
47158         * m4/powf.m4: New file.
47159         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
47160         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
47161         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
47162         * modules/powf: New file.
47163         * tests/test-math-c++.cc: Check the declaration of powf.
47164         * doc/posix-functions/powf.texi: Mention the new module.
47166         pow: Use a .m4 file.
47167         * m4/pow.m4: New file.
47168         * modules/pow (Files): Add it.
47169         (configure.ac): Just invoke gl_FUNC_POW.
47171 2011-10-08  Bruno Haible  <bruno@clisp.org>
47173         Tests for module 'log10f'.
47174         * modules/log10f-tests: New file.
47175         * tests/test-log10f.c: New file.
47177         New module 'log10f'.
47178         * lib/math.in.h (log10f): New declaration.
47179         * lib/log10f.c: New file.
47180         * m4/log10f.m4: New file.
47181         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
47182         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
47183         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
47184         * modules/log10f: New file.
47185         * tests/test-math-c++.cc: Check the declaration of log10f.
47186         * doc/posix-functions/log10f.texi: Mention the new module.
47188         log10: Use a .m4 file.
47189         * m4/log10.m4: New file.
47190         * modules/log10 (Files): Add it.
47191         (configure.ac): Just invoke gl_FUNC_LOG10.
47193 2011-10-08  Bruno Haible  <bruno@clisp.org>
47195         Tests for module 'logf'.
47196         * modules/logf-tests: New file.
47197         * tests/test-logf.c: New file.
47199         New module 'logf'.
47200         * lib/math.in.h (logf): New declaration.
47201         * lib/logf.c: New file.
47202         * m4/logf.m4: New file.
47203         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
47204         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
47205         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
47206         * modules/logf: New file.
47207         * tests/test-math-c++.cc: Check the declaration of logf.
47208         * doc/posix-functions/logf.texi: Mention the new module.
47210         log: Use a .m4 file.
47211         * m4/log.m4: New file.
47212         * modules/log (Files): Add it.
47213         (configure.ac): Just invoke gl_FUNC_LOG.
47215 2011-10-08  Bruno Haible  <bruno@clisp.org>
47217         Tests for module 'expf'.
47218         * modules/expf-tests: New file.
47219         * tests/test-expf.c: New file.
47221         New module 'expf'.
47222         * lib/math.in.h (expf): New declaration.
47223         * lib/expf.c: New file.
47224         * m4/expf.m4: New file.
47225         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
47226         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
47227         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
47228         * modules/expf: New file.
47229         * tests/test-math-c++.cc: Check the declaration of expf.
47230         * doc/posix-functions/expf.texi: Mention the new module.
47232         exp: Use a .m4 file.
47233         * m4/exp.m4: New file.
47234         * modules/exp (Files): Add it.
47235         (configure.ac): Just invoke gl_FUNC_EXP.
47237 2011-10-08  Bruno Haible  <bruno@clisp.org>
47239         Tests for module 'sqrtf'.
47240         * modules/sqrtf-tests: New file.
47241         * tests/test-sqrtf.c: New file.
47243         New module 'sqrtf'.
47244         * lib/math.in.h (sqrtf): New declaration.
47245         * lib/sqrtf.c: New file.
47246         * m4/sqrtf.m4: New file.
47247         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
47248         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
47249         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
47250         * modules/sqrtf: New file.
47251         * tests/test-math-c++.cc: Check the declaration of sqrtf.
47252         * doc/posix-functions/sqrtf.texi: Mention the new module.
47254 2011-10-08  Bruno Haible  <bruno@clisp.org>
47256         Tests: Avoid link failures w.r.t. libintl.
47257         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
47258         $(LIBINTL).
47259         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
47260         $(LIBINTL).
47261         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
47262         against $(LIBINTL).
47263         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
47264         $(LIBINTL).
47265         * modules/openat-tests (Makefile.am): Link test-fchmodat against
47266         $(LIBINTL).
47267         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
47269 2011-10-08  Bruno Haible  <bruno@clisp.org>
47271         pow tests: Defeat compiler optimizations.
47272         * tests/test-pow.c (main): Assign arguments to x and y before use.
47274 2011-10-08  Bruno Haible  <bruno@clisp.org>
47276         gnulib-tool: Improve last commit.
47277         * gnulib-tool (func_modules_transitive_closure): Simplify code.
47278         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
47279         ignore dependencies that are not among the modules list.
47281 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
47283         gnulib-tool: don't follow dependencies to avoided modules
47284         This fixes a bug that is related to the previous one.
47285         * gnulib-tool (func_modules_transitive_closure)
47286         (func_emit_autoconf_snippets):
47287         Check whether a dependency is acceptable before using it.
47288         (--extract-dependencies): Report an error if --avoid is also used,
47289         since this combination of options is not yet supported.
47291         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
47292         Problem reported by Peter Dyballa in
47293         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
47294         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
47295         when echoing "$condition".
47297 2011-10-07  Bruno Haible  <bruno@clisp.org>
47299         Fix documentation about math functions on MacOS X.
47300         * doc/posix-functions/exp2.texi: Don't say the function is missing on
47301         MacOS X 10.5.
47302         * doc/posix-functions/fdim.texi: Likewise.
47303         * doc/posix-functions/feclearexcept.texi: Likewise.
47304         * doc/posix-functions/fegetenv.texi: Likewise.
47305         * doc/posix-functions/fegetround.texi: Likewise.
47306         * doc/posix-functions/feholdexcept.texi: Likewise.
47307         * doc/posix-functions/feraiseexcept.texi: Likewise.
47308         * doc/posix-functions/fesetenv.texi: Likewise.
47309         * doc/posix-functions/fesetround.texi: Likewise.
47310         * doc/posix-functions/fetestexcept.texi: Likewise.
47311         * doc/posix-functions/feupdateenv.texi: Likewise.
47312         * doc/posix-functions/fmax.texi: Likewise.
47313         * doc/posix-functions/fmin.texi: Likewise.
47314         * doc/posix-functions/log2.texi: Likewise.
47315         * doc/posix-functions/modff.texi: Likewise.
47316         * doc/posix-functions/nan.texi: Likewise.
47317         * doc/posix-functions/nanf.texi: Likewise.
47318         * doc/posix-functions/nextafterf.texi: Likewise.
47319         * doc/posix-functions/remquo.texi: Likewise.
47321 2011-10-07  Bruno Haible  <bruno@clisp.org>
47323         modff: Drop assumption about library that defines modff.
47324         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
47325         AC_CHECK_FUNCS.
47326         * modules/modff (Files): Add m4/mathfunc.m4.
47328 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
47330         raise tests: Avoid a GCC warning.
47331         * tests/test-raise.c (handler): Use _Noreturn.
47333 2011-10-07  Bruno Haible  <bruno@clisp.org>
47335         Tests for module 'ldexpf'.
47336         * modules/ldexpf-tests: New file.
47337         * tests/test-ldexpf.c: New file.
47339         New module 'ldexpf'.
47340         * lib/math.in.h (ldexpf): New declaration.
47341         * lib/ldexpf.c: New file.
47342         * m4/ldexpf.m4: New file.
47343         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
47344         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
47345         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
47346         * modules/ldexpf: New file.
47347         * tests/test-math-c++.cc: Check the declaration of ldexpf.
47348         * doc/posix-functions/ldexpf.texi: Mention the new module.
47350 2011-10-06  Bruno Haible  <bruno@clisp.org>
47352         frexpf: Work around problems on IRIX and mingw.
47353         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
47354         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
47355         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
47356         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
47357         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
47358         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
47359         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
47361 2011-10-06  Bruno Haible  <bruno@clisp.org>
47363         fabsf: Drop assumption about library that defines fabsf.
47364         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
47365         AC_CHECK_FUNCS.
47366         * modules/fabsf (Files): Add m4/mathfunc.m4.
47368 2011-10-06  Bruno Haible  <bruno@clisp.org>
47370         frexpf: Drop assumption about library that defines frexpf.
47371         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
47372         'int *', 'float *', 'long double *', 'float', 'long double'.
47373         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
47374         AC_CHECK_FUNCS.
47375         * modules/frexpf (Files): Add m4/mathfunc.m4.
47377         Tests for module 'frexpf'.
47378         * modules/frexpf-tests: New file.
47379         * tests/test-frexpf.c: New file.
47381         New module 'frexpf'.
47382         * lib/math.in.h (frexpf): New declaration.
47383         * lib/frexpf.c: New file.
47384         * m4/frexpf.m4: New file.
47385         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
47386         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
47387         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
47388         * modules/frexpf: New file.
47389         * tests/test-math-c++.cc: Check the declaration of frexpf.
47390         * doc/posix-functions/frexpf.texi: Mention the new module.
47392 2011-10-06  Bruno Haible  <bruno@clisp.org>
47394         math: Sort function declarations of math.in.h.
47395         * lib/math.in.h (frexp, logb): Move declarations.
47397 2011-10-05  Bruno Haible  <bruno@clisp.org>
47399         Tests for module 'modff'.
47400         * modules/modff-tests: New file.
47401         * tests/test-modff.c: New file.
47403         New module 'modff'.
47404         * lib/math.in.h (modff): New declaration.
47405         * lib/modff.c: New file.
47406         * m4/modff.m4: New file.
47407         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
47408         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
47409         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
47410         * modules/modff: New file.
47411         * tests/test-math-c++.cc: Check the declaration of modff.
47412         * doc/posix-functions/modff.texi: Mention the new module.
47414         modf tests: Make test sharper.
47415         * tests/test-modf.c (main): Strengthen upper bound.
47417         modf: Use a .m4 file.
47418         * m4/modf.m4: New file.
47419         * modules/modf (Files): Add it.
47420         (configure.ac): Just invoke gl_FUNC_MODF.
47422 2011-10-05  Bruno Haible  <bruno@clisp.org>
47424         Tests for module 'fmodf'.
47425         * modules/fmodf-tests: New file.
47426         * tests/test-fmodf.c: New file.
47428         New module 'fmodf'.
47429         * lib/math.in.h (fmodf): New declaration.
47430         * lib/fmodf.c: New file.
47431         * m4/fmodf.m4: New file.
47432         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
47433         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
47434         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
47435         * modules/fmodf: New file.
47436         * tests/test-math-c++.cc: Check the declaration of fmodf.
47437         * doc/posix-functions/fmodf.texi: Mention the new module.
47439         fmod: Use a .m4 file.
47440         * m4/fmod.m4: New file.
47441         * modules/fmod (Files): Add it.
47442         (configure.ac): Just invoke gl_FUNC_FMOD.
47444 2011-10-05  Bruno Haible  <bruno@clisp.org>
47446         Tests for module 'fabsf'.
47447         * modules/fabsf-tests: New file.
47448         * tests/test-fabsf.c: New file.
47450         New module 'fabsf'.
47451         * lib/math.in.h (fabsf): New declaration.
47452         * lib/fabsf.c: New file.
47453         * m4/fabsf.m4: New file.
47454         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
47455         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
47456         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
47457         * modules/fabsf: New file.
47458         * tests/test-math-c++.cc: Check the declaration of fabsf.
47459         * doc/posix-functions/fabsf.texi: Mention the new module.
47461         fabs: Use a .m4 file.
47462         * m4/fabs.m4: New file.
47463         * modules/fabs (Files): Add it.
47464         (configure.ac): Just invoke gl_FUNC_FABS.
47466 2011-10-05  Jim Meyering  <meyering@redhat.com>
47468         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
47469         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
47470         ls -lL regression introduced in coreutils-8.12, it does so at the
47471         cost of an additional stat call in the common case.  Besides, now
47472         that the kernel change that prompted commit 95f7c57f has been reverted
47473         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
47474         we have no use for commit 95f7c57f, "file-has-acl: use
47475         acl_extended_file_nofollow if available".
47477 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
47479         file-has-acl: revert unintended change in behavior of ls -L
47480         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
47481         derived from...
47482         (file_has_acl): ...code here.  Call it.
47483         This problem was introduced with 2011-07-22 commit 95f7c57f,
47484         "file-has-acl: use acl_extended_file_nofollow if available".
47485         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
47487 2011-10-03  Bruno Haible  <bruno@clisp.org>
47489         poll: Avoid link errors on MSVC.
47490         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
47491         * modules/poll (Depends-on): Add sockets.
47492         (Link): New section.
47493         * NEWS: Mention the change.
47494         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
47495         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
47496         $(LIB_POLL) instead of $(LIBSOCKET).
47498 2011-10-03  Bruno Haible  <bruno@clisp.org>
47500         sys_select tests: Fix link error on MSVC 9.
47501         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
47502         with $(LIB_SELECT) instead of $(LIBSOCKET).
47504 2011-10-03  Bruno Haible  <bruno@clisp.org>
47506         sys_select: Fix compilation error on mingw.
47507         * lib/sys_select.in.h: On native Windows, include <io.h>.
47509 2011-10-03  Bruno Haible  <bruno@clisp.org>
47511         wmemset: Support for MSVC.
47512         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
47513         whether wmemset() exists.
47515 2011-10-03  Bruno Haible  <bruno@clisp.org>
47517         wmemmove: Support for MSVC.
47518         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
47519         whether wmemmove() exists.
47521 2011-10-03  Bruno Haible  <bruno@clisp.org>
47523         wmemcpy: Support for MSVC.
47524         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
47525         whether wmemcpy() exists.
47527 2011-10-03  Bruno Haible  <bruno@clisp.org>
47529         wmemcmp: Support for MSVC.
47530         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
47531         whether wmemcmp() exists.
47533 2011-10-03  Bruno Haible  <bruno@clisp.org>
47535         wmemchr: Support for MSVC.
47536         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
47537         whether wmemchr() exists.
47539 2011-10-03  Bruno Haible  <bruno@clisp.org>
47541         glthread/*, strsignal: Support for MSVC.
47542         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
47543         including <winsock.h> on MSVC 9.
47544         * lib/glthread/lock.h: Likewise.
47545         * lib/glthread/thread.h: Likewise.
47546         * lib/glthread/tls.h: Likewise.
47547         * lib/glthread/yield.h: Likewise.
47548         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
47549         if HAVE_UNISTD_H is false.
47550         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
47552 2011-10-03  Bruno Haible  <bruno@clisp.org>
47554         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
47555         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
47556         Set to 100000.
47558 2011-10-03  Bruno Haible  <bruno@clisp.org>
47560         acl: Fix specification.
47561         * lib/file-has-acl.c (file_has_acl): Fix specification.
47563 2011-10-03  Bruno Haible  <bruno@clisp.org>
47565         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
47566         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
47567         (compute_curr_prefix, shared_library_fullname,
47568         find_shared_library_fullname, get_shared_library_fullname, relocate):
47569         Use it together with PIC && INSTALLDIR.
47570         Reported by <jojelino@gmail.com>
47571         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
47573 2011-10-01  Jim Meyering  <meyering@redhat.com>
47575         maint.mk: adjust a release-related rule not to require use of gzip
47576         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
47577         Instead, check each file in $(DIST_ARCHIVES).  This is better for
47578         projects that build only .tar.xz files.  Also fix an erroneous test.
47580         test-linkat: don't leave behind a temporary file
47581         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
47582         Otherwise, coreutils' "make distcheck" would fail with this:
47583           Only in /c/cu/tests/torture/coreutils/test/\
47584             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
47585           make[2]: *** [my-distcheck] Error 1
47587         float, math: add omitted file
47588         * lib/itold.c: Add file, required for yesterday's float change.
47590 2011-10-01  Bruno Haible  <bruno@clisp.org>
47592         isinf: Fix for OpenBSD/x86.
47593         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
47594         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
47595         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
47597 2011-10-01  Bruno Haible  <bruno@clisp.org>
47599         isfinite: Fix syntax error in configure test.
47600         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
47602         isfinite: Fix typo.
47603         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
47604         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
47606 2011-10-01  Bruno Haible  <bruno@clisp.org>
47608         nonblocking tests: Fix test failure on Linux/IA-64.
47609         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
47610         Set to 270000.
47612 2011-10-01  Bruno Haible  <bruno@clisp.org>
47614         mkfifoat tests: Fix a test failure on mingw.
47615         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
47616         with error ENOSYS.
47618 2011-09-30  Bruno Haible  <bruno@clisp.org>
47620         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
47621         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
47622         'long double'. Set REPLACE_ITOLD.
47623         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
47624         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
47625         * lib/itold.c: New file.
47626         * modules/float (Files): Add lib/itold.c.
47627         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
47628         (Makefile.am): Substitute REPLACE_ITOLD.
47629         * modules/math (Depends-on): Add float.
47630         (Makefile.am): Substitute REPLACE_ITOLD.
47631         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
47632         * doc/posix-headers/math.texi: Likewise.
47633         * doc/posix-functions/logl.texi: Likewise.
47635 2011-09-30  Bruno Haible  <bruno@clisp.org>
47637         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
47638         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
47639         Set to 140000.
47641 2011-09-30  Bruno Haible  <bruno@clisp.org>
47643         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
47644         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
47645         invocation, say "right after AC_PROG_CC_STDC", not "right after
47646         AC_PROG_CC".
47647         Reported by Gary V. Vaughan <gary@gnu.org>.
47649 2011-09-30  Bruno Haible  <bruno@clisp.org>
47651         Centralize C99 requirement.
47652         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
47653         * modules/stdarg (configure.ac-early): Invoke it instead of
47654         AC_PROG_CC_STDC.
47655         Reported by Gary V. Vaughan and Paul Eggert.
47657 2011-09-29  Bruno Haible  <bruno@clisp.org>
47659         float: Fix LDBL_MAX value on Linux/PowerPC.
47660         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
47661         on Linux/PowerPC.
47662         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
47663         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
47664         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
47665         platform.
47666         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
47668 2011-09-29  Bruno Haible  <bruno@clisp.org>
47670         doc: Improve doc about gl_EARLY.
47671         * doc/gnulib-tool.texi (Initial import): Mention where to place an
47672         AC_PROG_CC_STDC invocation.
47673         Reported by Gary V. Vaughan <gary@gnu.org>.
47675 2011-09-28  Bruno Haible  <bruno@clisp.org>
47677         fgetc, fputc, fread, fwrite tests: Fix link error.
47678         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
47679         on non-MSVC platforms.
47680         * tests/test-fputc.c (main): Likewise.
47681         * tests/test-fread.c (main): Likewise.
47682         * tests/test-fwrite.c (main): Likewise.
47683         Reported by Jim Meyering.
47685 2011-09-27  Bruno Haible  <bruno@clisp.org>
47687         fputc, fwrite tests: Avoid test failure on MSVC.
47688         * tests/test-fgetc.c: Include msvc-inval.h.
47689         (main): Invoke gl_msvc_inval_ensure_handler.
47690         * tests/test-fputc.c: Include msvc-inval.h.
47691         (main): Invoke gl_msvc_inval_ensure_handler.
47692         * tests/test-fread.c: Include msvc-inval.h.
47693         (main): Invoke gl_msvc_inval_ensure_handler.
47694         * tests/test-fwrite.c: Include msvc-inval.h.
47695         (main): Invoke gl_msvc_inval_ensure_handler.
47696         * modules/fgetc-tests (Depends-on): Add msvc-inval.
47697         * modules/fputc-tests (Depends-on): Likewise.
47698         * modules/fread-tests (Depends-on): Likewise.
47699         * modules/fwrite-tests (Depends-on): Likewise.
47701 2011-09-27  Bruno Haible  <bruno@clisp.org>
47703         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
47704         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
47705         (raise): Remove older, duplicated declaration.
47706         (_gl_raise_SIGPIPE): New declaration.
47707         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
47708         (rpl_raise): Remove function.
47709         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
47710         a gnulib-defined SIGPIPE here.
47711         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
47712         'sigprocmask' has detected missing signal-blocking and the module
47713         'sigpipe' is enabled.
47714         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47716 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
47718         base64-tests: avoid memory leak
47719         * tests/test-base64.c (main): Plug memory leak.
47721         base32: new module
47722         * modules/base32: New module.
47723         * lib/base32.c: New file.
47724         * lib/base32.h: Likewise.
47725         * m4/base32.m4: Likewise.
47726         * modules/base32-tests: New test.
47727         * tests/test-base32.c: Likewise.
47728         * MODULES.html.sh (Misc): Mention it.
47730 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
47732         gnulib: use more-standard license notice wording
47733         * gnulib-tool (func_emit_copyright_notice): When emitting a
47734         license notice into a file, use the standard wording as suggested
47735         by the current information for GNU maintainers, except say "file"
47736         rather than "program".  The new wording gives a license version
47737         number, which addresses an issue raised by Glenn Morris in
47738         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
47739         * m4/onceonly.m4: Use that same wording here, too.
47741         dup2: minor simplification
47742         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
47743         as lib/dup2.c no longer uses 'inline'.
47745 2011-09-25  Bruno Haible  <bruno@clisp.org>
47747         strings: Fix compilation error on MSVC.
47748         * lib/strings.in.h: Include <stddef.h> for size_t.
47750 2011-09-25  Bruno Haible  <bruno@clisp.org>
47752         fflush et al.: Document limitation on MSVC.
47753         * doc/posix-functions/fflush.texi: Document possible crash in handling
47754         mode other than DEFAULT_HANDLING.
47755         * doc/posix-functions/fgetc.texi: Likewise.
47756         * doc/posix-functions/fputc.texi: Likewise.
47757         * doc/posix-functions/fread.texi: Likewise.
47758         * doc/posix-functions/fwrite.texi: Likewise.
47760 2011-09-25  Bruno Haible  <bruno@clisp.org>
47762         msvc-inval: Allow three invalid parameter handling modes.
47763         * lib/msvc-inval.h: Don't include <stdlib.h> here.
47764         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
47765         macros.
47766         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
47767         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
47768         SANE_LIBRARY_HANDLING as a no-op.
47769         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
47770         <stdlib.h>.
47771         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
47773 2011-09-25  Bruno Haible  <bruno@clisp.org>
47775         msvc-inval: Make handler multithread-safe.
47776         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
47777         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
47778         declarations.
47779         (gl_msvc_inval_current): New declaration.
47780         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
47781         Operate on the structure returned by gl_msvc_inval_current().
47782         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
47783         Remove varaiables.
47784         (tls_index, tls_initialized): New variables.
47785         (not_per_thread): New variable.
47786         (gl_msvc_inval_current): New function.
47787         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
47788         returned by gl_msvc_inval_current().
47790 2011-09-25  Bruno Haible  <bruno@clisp.org>
47792         msvc-inval: Install handler globally.
47793         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
47794         !_MSC_VER.
47795         (gl_msvc_invalid_parameter_handler): Remove declaration.
47796         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
47797         declarations.
47798         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
47799         Install the handler globally, don't uninstall it.
47800         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
47801         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
47802         currently valid, call RaiseException instead.
47803         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
47804         for !_MSC_VER.
47806 2011-09-25  Bruno Haible  <bruno@clisp.org>
47808         strerror_r-posix: Fix for MSVC 9.
47809         * lib/strerror_r.c (local_snprintf): New function.
47810         (snprintf): Define to local_snprintf, not to _snprintf.
47812 2011-09-25  Bruno Haible  <bruno@clisp.org>
47814         ftruncate: Support for MSVC 9.
47815         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
47816         (chsize_nothrow): New function.
47817         (chsize): Redefine as a macro.
47818         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
47819         * modules/ftruncate (Depends-on): Add msvc-inval.
47821 2011-09-25  Bruno Haible  <bruno@clisp.org>
47823         New module 'fstat'.
47824         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
47825         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
47826         * lib/fchdir.c (rpl_fstat): Remove function.
47827         * m4/fstat.m4: New file.
47828         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
47829         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
47830         declared.
47831         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
47832         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
47833         * modules/fstat: New file.
47834         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
47835         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
47836         is set.
47837         * doc/posix-functions/fstat.texi: Mention the new module and the
47838         problem on MSVC.
47839         * NEWS: Mention the change.
47840         * modules/acl (Depends-on): Add fstat.
47841         * modules/chdir-safer (Depends-on): Likewise.
47842         * modules/chown (Depends-on): Likewise.
47843         * modules/copy-file (Depends-on): Likewise.
47844         * modules/fchdir (Depends-on): Likewise.
47845         * modules/fdopendir (Depends-on): Likewise.
47846         * modules/fopen (Depends-on): Likewise.
47847         * modules/fts (Depends-on): Likewise.
47848         * modules/getcwd (Depends-on): Likewise.
47849         * modules/isapipe (Depends-on): Likewise.
47850         * modules/linkat (Depends-on): Likewise.
47851         * modules/lseek (Depends-on): Likewise.
47852         * modules/mkdir-p (Depends-on): Likewise.
47853         * modules/open (Depends-on): Likewise.
47854         * modules/openat (Depends-on): Likewise.
47855         * modules/read-file (Depends-on): Likewise.
47856         * modules/renameat (Depends-on): Likewise.
47857         * modules/utimens (Depends-on): Likewise.
47859 2011-09-25  Bruno Haible  <bruno@clisp.org>
47861         linkat: Fix compilation on MSVC 9.
47862         * lib/linkat.c: Don't include <stdint.h>.
47864 2011-09-25  Bruno Haible  <bruno@clisp.org>
47866         fclose: Support for MSVC 9.
47867         * lib/fclose.c: Include msvc-inval.h.
47868         (fclose_nothrow): New function.
47869         (rpl_fclose): Use it.
47870         * modules/fclose (Depends-on): Add msvc-inval.
47871         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
47873 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
47875         dup2: minor simplifications
47876         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
47877         that it's a performance win.
47878         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
47879         ! defined __CYGWIN__)" to "ifdef F_GETFL".
47881 2011-09-24  Jim Meyering  <meyering@redhat.com>
47883         test-futimens: avoid a warning from gcc -Wshadow
47884         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
47885         to avoid a shadowing warning.
47887 2011-09-24  Bruno Haible  <bruno@clisp.org>
47889         fdopen: Support for MSVC 9.
47890         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
47891         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
47892         * lib/fdopen.c: Include msvc-inval.h.
47893         (fdopen_nothrow): New function.
47894         (rpl_fdopen): Use it.
47895         * modules/fdopen (Depends-on): Add msvc-inval.
47896         * modules/fclose-tests (Depends-on): Add fdopen.
47897         * modules/fflush-tests (Depends-on): Likewise.
47898         * modules/fgetc-tests (Depends-on): Likewise.
47899         * modules/fputc-tests (Depends-on): Likewise.
47900         * modules/fread-tests (Depends-on): Likewise.
47901         * modules/freopen-tests (Depends-on): Likewise.
47902         * modules/fseeko-tests (Depends-on): Likewise.
47903         * modules/ftello-tests (Depends-on): Likewise.
47904         * modules/fwrite-tests  (Depends-on): Likewise.
47905         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
47907 2011-09-24  Bruno Haible  <bruno@clisp.org>
47909         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
47910         * modules/fgetc-tests (Depends-on): Add unistd.
47911         * modules/fputc-tests (Depends-on): Likewise.
47912         * modules/fread-tests (Depends-on): Likewise.
47913         * modules/fwrite-tests (Depends-on): Likewise.
47915 2011-09-24  Bruno Haible  <bruno@clisp.org>
47917         dup: Simplify autoconf test.
47918         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
47919         on gl_MSVC_INVAL's result.
47921 2011-09-24  Bruno Haible  <bruno@clisp.org>
47923         Tests for function fwrite().
47924         * modules/fwrite-tests: New file.
47925         * tests/test-fwrite.c: New file.
47926         * modules/stdio-tests (Depends-on): Add fwrite-tests.
47928         Tests for function fread().
47929         * modules/fread-tests: New file.
47930         * tests/test-fread.c: New file.
47931         * modules/stdio-tests (Depends-on): Add fread-tests.
47933         Activate fputc tests.
47934         * modules/stdio-tests (Depends-on): Add fputc-tests.
47936         Enhance fgetc, fputc tests.
47937         * tests/test-fgetc.c (main): Also test the stream's error indicator.
47938         * tests/test-fputc.c (main): Likewise.
47940 2011-09-24  Bruno Haible  <bruno@clisp.org>
47942         write: Support for MSVC 9.
47943         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
47944         is not 1.
47945         * lib/write.c (write_nothrow): New function.
47946         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
47947         not 1. Use write_nothrow.
47948         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
47949         invalid parameter handler.
47950         (gl_PREREQ_WRITE): New macro.
47951         * modules/write (Depends-on): Add msvc-inval.
47952         (configure.ac): Invoke gl_PREREQ_WRITE.
47953         * doc/posix-functions/write.texi: Mention the problem on MSVC.
47955 2011-09-24  Bruno Haible  <bruno@clisp.org>
47957         read: Fix last commit.
47958         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
47960 2011-09-24  Bruno Haible  <bruno@clisp.org>
47962         dup2: Fix last commit.
47963         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
47964         (rpl_dup2): Disable fcntl workaround on native Windows.
47966         sigprocmask: Make code safer.
47967         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
47968         section that changes macro definitions for this compilation unit.
47970 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
47972         dup2: clarify by coalescing Windows-specific material
47973         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
47974         "msvc-nothrow.h"' to the Windows-specific section, so that the
47975         Emacs source need not contain these include files.
47976         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
47977         Windows-specific fixes into this function rather than just the
47978         nothrow fix, as this shortens and clarifies the code.  Always
47979         define as a function, as that's a bit cleaner than having it be
47980         sometimes a function and sometimes a macro.
47981         (rpl_dup2): Move the Windows-specific stuff out of here and into
47982         ms_windows_dup2.  Don't protect the Haiku-related fix with
47983         "#if !defined __linux__", as the same code also works around
47984         a Linux kernel bug, and it doesn't add any system calls on any
47985         platform.  Add comment about FreeBSD 6.1.
47987         sigprocmask: move #include directive
47988         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
47989         Windows-specific section, so that the Emacs source need not
47990         contain msvc-inval.h.
47992 2011-09-23  Bruno Haible  <bruno@clisp.org>
47994         read: Support for MSVC 9.
47995         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
47996         is not 1.
47997         * lib/read.c (read_nothrow): New function.
47998         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
47999         read_nothrow.
48000         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
48001         invalid parameter handler.
48002         (gl_PREREQ_READ): New macro.
48003         * modules/read (Depends-on): Add msvc-inval.
48004         (configure.ac): Invoke gl_PREREQ_READ.
48005         * doc/posix-functions/read.texi: Mention the problem on MSVC.
48007 2011-09-23  Bruno Haible  <bruno@clisp.org>
48009         close: Support for MSVC 9.
48010         * lib/close.c: Include <errno.h>, msvc-inval.h.
48011         (close_nothrow): New function.
48012         (rpl_close): Use it.
48013         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
48014         invalid parameter handler.
48015         * modules/close (Depends-on): Add msvc-inval.
48016         * modules/dup2-tests (Depends-on): Add close.
48017         * modules/dup3-tests (Depends-on): Likewise.
48018         * modules/fcntl-tests (Depends-on): Likewise.
48019         * modules/spawn-pipe-tests (Depends-on): Likewise.
48020         * modules/unistd-safer-tests (Depends-on): Likewise.
48021         * doc/posix-functions/close.texi: Mention the problem on MSVC.
48023 2011-09-23  Bruno Haible  <bruno@clisp.org>
48025         New module 'dup'.
48026         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
48027         Allow replacement.
48028         * lib/dup.c: New file.
48029         * lib/fchdir.c (rpl_dup): Remove function.
48030         * m4/dup.m4: New file.
48031         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
48032         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
48033         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
48034         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
48035         * modules/dup: New file.
48036         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
48037         'dup' module is in use.
48038         * modules/fdopendir (Depends-on): Add dup.
48039         * modules/fdutimensat-tests (Depends-on): Likewise.
48040         * modules/fts (Depends-on): Likewise.
48041         * modules/futimens-tests (Depends-on): Likewise.
48042         * modules/posix_spawnp-tests (Depends-on): Likewise.
48043         * modules/unistd-safer-tests (Depends-on): Likewise.
48044         * modules/utimens-tests (Depends-on): Likewise.
48045         * doc/posix-functions/dup.texi: Mention the new module and the problem
48046         on MSVC.
48048 2011-09-23  Bruno Haible  <bruno@clisp.org>
48050         getdtablesize: Support for MSVC 9.
48051         * lib/getdtablesize.c: Include msvc-inval.h.
48052         (_setmaxstdio_nothrow): New function.
48053         (_setmaxstdio): Redefine it.
48054         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
48055         * modules/getdtablesize (Depends-on): Add msvc-inval.
48056         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
48058 2011-09-23  Bruno Haible  <bruno@clisp.org>
48060         signal-h: Rename from signal.
48061         * modules/signal-h: Renamed from modules/signal.
48062         * modules/pthread_sigmask (Depends-on): Update.
48063         * modules/raise (Depends-on): Likewise.
48064         * modules/sigaction (Depends-on): Likewise.
48065         * modules/sigpipe (Depends-on): Likewise.
48066         * modules/sigprocmask (Depends-on): Likewise.
48067         * modules/sys_select (Depends-on): Likewise.
48068         * modules/signal-h-tests: Renamed from modules/signal-tests.
48069         (Files, Depends-on, Makefile.am): Update.
48070         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
48071         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
48072         (Files, Makefile.am): Update.
48073         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
48074         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
48075         * modules/signal: New placeholder file.
48076         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
48077         * doc/posix-headers/signal.texi: Update.
48078         * NEWS: Mention the change.
48080 2011-09-23  Bruno Haible  <bruno@clisp.org>
48082         sigprocmask: Avoid crashes through signal() on MSVC 9.
48083         * lib/sigprocmask.c: Include msvc-inval.h.
48084         (signal_nothrow): New function.
48085         (signal): Redefine it.
48086         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
48087         * modules/sigprocmask (Depends-on): Add msvc-inval.
48088         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
48090 2011-09-23  Bruno Haible  <bruno@clisp.org>
48092         Tests for module 'raise'.
48093         * modules/raise-tests: New file.
48094         * tests/test-raise.c: New file.
48096         raise: Support for MSVC.
48097         * lib/signal.in.h (raise): New declaration.
48098         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
48099         for native Windows platforms.
48100         * m4/raise.m4: New file.
48101         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
48102         HAVE_RAISE, REPLACE_RAISE.
48103         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
48104         REPLACE_RAISE.
48105         * modules/raise (Status, Notice): Remove fields.
48106         (Files): Add m4/raise.m4.
48107         (Depends-on): Add signal, msvc-inval.
48108         (configure.ac): Use the common idioms.
48109         (Maintainer): Add me.
48110         * tests/test-signal-c++.cc: Check the signature of raise.
48111         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
48113 2011-09-23  Bruno Haible  <bruno@clisp.org>
48115         pipe2: Fix compilation on pre-C99 compilers.
48116         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
48118 2011-09-23  Bruno Haible  <bruno@clisp.org>
48120         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
48121         * lib/msvc-nothrow.h: New file.
48122         * lib/msvc-nothrow.c: New file.
48123         * m4/msvc-nothrow.m4: New file.
48124         * modules/msvc-nothrow: New file.
48125         * lib/dup2.c: Include msvc-nothrow.h.
48126         (rpl_dup2): No need to protect _get_osfhandle call here.
48127         * lib/accept4.c: Include msvc-nothrow.h.
48128         * lib/error.c: Likewise.
48129         * lib/fcntl.c: Likewise.
48130         * lib/lseek.c: Likewise.
48131         * lib/nonblocking.c: Likewise.
48132         * lib/poll.c: Likewise.
48133         * lib/read.c: Likewise.
48134         * lib/select.c: Likewise.
48135         * lib/sockets.h: Likewise.
48136         * lib/sockets.c: Likewise.
48137         * lib/stdio-read.c: Likewise.
48138         * lib/stdio-write.c: Likewise.
48139         * lib/write.c: Likewise.
48140         * lib/w32sock.h: Likewise.
48141         * lib/w32spawn.h: Likewise.
48142         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
48143         * lib/fsync.c: Likewise.
48144         * lib/isapipe.c: Likewise.
48145         * modules/dup2 (Depends-on): Add msvc-nothrow.
48146         * modules/accept4 (Depends-on): Likewise.
48147         * modules/error (Depends-on): Likewise.
48148         * modules/fcntl (Depends-on): Likewise.
48149         * modules/lseek (Depends-on): Likewise.
48150         * modules/nonblocking (Depends-on): Likewise.
48151         * modules/poll (Depends-on): Likewise.
48152         * modules/read (Depends-on): Likewise.
48153         * modules/select (Depends-on): Likewise.
48154         * modules/sockets (Depends-on): Likewise.
48155         * modules/sigpipe (Depends-on): Likewise.
48156         * modules/write (Depends-on): Likewise.
48157         * modules/accept (Depends-on): Likewise.
48158         * modules/bind (Depends-on): Likewise.
48159         * modules/connect (Depends-on): Likewise.
48160         * modules/gethostname (Depends-on): Likewise.
48161         * modules/getpeername (Depends-on): Likewise.
48162         * modules/getsockname (Depends-on): Likewise.
48163         * modules/getsockopt (Depends-on): Likewise.
48164         * modules/ioctl (Depends-on): Likewise.
48165         * modules/listen (Depends-on): Likewise.
48166         * modules/recv (Depends-on): Likewise.
48167         * modules/recvfrom (Depends-on): Likewise.
48168         * modules/send (Depends-on): Likewise.
48169         * modules/sendto (Depends-on): Likewise.
48170         * modules/setsockopt (Depends-on): Likewise.
48171         * modules/shutdown (Depends-on): Likewise.
48172         * modules/socket (Depends-on): Likewise.
48173         * modules/execute (Depends-on): Likewise.
48174         * modules/spawn-pipe (Depends-on): Likewise.
48175         * modules/flock (Depends-on): Likewise.
48176         * modules/fsync (Depends-on): Likewise.
48177         * modules/isapipe (Depends-on): Likewise.
48178         * tests/test-cloexec.c: Include msvc-nothrow.h.
48179         * tests/test-dup-safer.c: Likewise.
48180         * tests/test-dup2.c: Likewise.
48181         * tests/test-dup3.c: Likewise.
48182         * tests/test-fcntl.c: Likewise.
48183         * tests/test-pipe.c: Likewise.
48184         * tests/test-pipe2.c: Likewise.
48185         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
48186         * modules/unistd-safer-tests (Depends-on): Likewise.
48187         * modules/dup2-tests (Depends-on): Likewise.
48188         * modules/dup3-tests (Depends-on): Likewise.
48189         * modules/fcntl-tests (Depends-on): Likewise.
48190         * modules/pipe-posix-tests (Depends-on): Likewise.
48191         * modules/pipe2-tests (Depends-on): Likewise.
48193 2011-09-23  Bruno Haible  <bruno@clisp.org>
48195         dup2: Make code more maintainable.
48196         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
48197         (rpl_dup2): Use it.
48198         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
48199         * modules/dup2 (configure.ac): Invoke it.
48200         Reported by Paul Eggert.
48202 2011-09-23  Bruno Haible  <bruno@clisp.org>
48204         msvc-inval: Fix compilation error.
48205         * lib/msvc-inval.h: Include <excpt.h>.
48207 2011-09-23  Bruno Haible  <bruno@clisp.org>
48209         mkdir: Tweak for MSVC 9.
48210         * lib/sys_stat.in.h: Update comments.
48211         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
48213         Tests for module 'chdir'.
48214         * modules/chdir-tests: New file.
48215         * tests/test-chdir.c: New file.
48217         New module 'chdir'.
48218         * modules/chdir: New file.
48219         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
48220         (chdir): New declaration.
48221         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
48222         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
48223         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
48224         * tests/test-unistd-c++.cc: Check signature of chdir.
48225         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
48226         * modules/chdir-long (Depends-on): Add chdir.
48227         * modules/fchdir (Depends-on): Likewise.
48228         * modules/rename (Depends-on): Likewise.
48229         * modules/savewd (Depends-on): Likewise.
48231         rmdir: Support for mingw, MSVC 9.
48232         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
48233         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
48235         getcwd: Tweak for MSVC 9.
48236         * lib/unistd.in.h: Update comments.
48237         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
48239 2011-09-22  Bruno Haible  <bruno@clisp.org>
48241         strerror_r-posix: Avoid a link error on MSVC.
48242         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
48243         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
48245 2011-09-22  Bruno Haible  <bruno@clisp.org>
48247         select: Avoid link errors on MSVC.
48248         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
48249         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
48250         * modules/pselect (Link): Likewise.
48251         * NEWS: Mention the change.
48252         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
48253         test-select-stdin against $(LIB_SELECT).
48254         * modules/pselect-tests (Makefile.am): Link test-pselect against
48255         $(LIB_SELECT).
48257 2011-09-22  Bruno Haible  <bruno@clisp.org>
48259         select: Avoid compilation error on MSVC.
48260         * lib/select.c: Don't include <stdbool.h>.
48262 2011-09-21  Bruno Haible  <bruno@clisp.org>
48264         Consolidate all uses of PATH_MAX in *.m4 files.
48265         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
48266         macros.
48267         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
48268         and gl_PATHMAX_SNIPPET.
48269         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
48270         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
48271         * modules/chdir-long (Files): Add m4/pathmax.m4.
48272         * modules/getcwd (Files): Likewise.
48274 2011-09-21  Bruno Haible  <bruno@clisp.org>
48276         ftruncate: Un-deprecate, concentrate on Win32 support.
48277         * modules/ftruncate (Status, Notice): Remove sections.
48278         (Depends-on): Add largefile.
48279         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
48280         non-mingw platforms.
48281         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
48282         include <io.h>.
48283         * modules/perror-tests (Depends-on): Add ftruncate.
48284         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
48285         'ftruncate' module.
48287 2011-09-21  Bruno Haible  <bruno@clisp.org>
48289         Add dependencies to new dirent related modules.
48290         * modules/opendir (Depends-on): Add closedir.
48291         * modules/getcwd (Depends-on): Add opendir, closedir.
48292         * modules/dirent-safer-tests (Depends-on): Likewise.
48293         * modules/fdopendir-tests (Depends-on): Likewise.
48294         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
48295         * modules/renameat-tests (Depends-on): Likewise.
48297 2011-09-21  Bruno Haible  <bruno@clisp.org>
48299         opendir: Avoid compilation error on mingw.
48300         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
48301         * modules/opendir (Depends-on): Add unistd.
48303 2011-09-21  Bruno Haible  <bruno@clisp.org>
48305         ftruncate tests: Avoid a test failure on mingw.
48306         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
48308 2011-09-21  Bruno Haible  <bruno@clisp.org>
48310         select tests: Avoid test failures on OSF/1 5.1 and mingw.
48311         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
48312         native Windows.
48314 2011-09-21  Bruno Haible  <bruno@clisp.org>
48316         New module 'fdopen'.
48317         * lib/stdio.in.h (fdopen): New declaration.
48318         * lib/fdopen.c: New file.
48319         * m4/fdopen.m4: New file.
48320         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
48321         REPLACE_FDOPEN.
48322         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
48323         REPLACE_FDOPEN.
48324         * modules/fdopen: New file.
48325         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
48326         * tests/test-stdio-c++.cc: Check signature of fdopen.
48327         * doc/posix-functions/fdopen.texi: Mention the new module.
48329 2011-09-21  Bruno Haible  <bruno@clisp.org>
48331         unlockpt tests: Avoid test failure on NetBSD 5.1.
48332         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
48333         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
48335 2011-09-21  Bruno Haible  <bruno@clisp.org>
48337         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
48338         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
48339         * tests/test-getlogin_r.c (main): Likewise.
48341 2011-09-20  Bruno Haible  <bruno@clisp.org>
48343         time tests: Don't require pid_t.
48344         * doc/posix-headers/time.texi: Revert last change.
48345         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
48346         * tests/test-time.c: Comment out the check for pid_t.
48348 2011-09-20  Bruno Haible  <bruno@clisp.org>
48350         fsync tests: Avoid a test failure on mingw.
48351         * tests/test-fsync.c (main): Allow a failure with EIO.
48353 2011-09-20  Bruno Haible  <bruno@clisp.org>
48355         euidaccess: Update comments.
48356         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
48358 2011-09-20  Bruno Haible  <bruno@clisp.org>
48360         Ensure EBADF returns for socket functions on mingw.
48361         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
48362         descriptor is invalid.
48363         * lib/bind.c (rpl_bind): Likewise.
48364         * lib/connect.c (rpl_connect): Likewise.
48365         * lib/getpeername.c (rpl_getpeername): Likewise.
48366         * lib/getsockname.c (rpl_getsockname): Likewise.
48367         * lib/getsockopt.c (rpl_getsockopt): Likewise.
48368         * lib/listen.c (rpl_listen): Likewise.
48369         * lib/recv.c (rpl_recv): Likewise.
48370         * lib/recvfrom.c (rpl_recvfrom): Likewise.
48371         * lib/send.c (rpl_send): Likewise.
48372         * lib/sendto.c (rpl_sendto): Likewise.
48373         * lib/setsockopt.c (rpl_setsockopt): Likewise.
48374         * lib/shutdown.c (rpl_shutdown): Likewise.
48376 2011-09-20  Bruno Haible  <bruno@clisp.org>
48378         select tests: EBADF tests.
48379         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
48380         test_bad_fd): New functions.
48381         (test_function): Invoke also test_bad_fd.
48383 2011-09-20  Bruno Haible  <bruno@clisp.org>
48385         Tests for module 'posix_spawn_file_actions_addopen.
48386         * modules/posix_spawn_file_actions_addopen-tests: New file.
48387         * tests/test-posix_spawn_file_actions_addopen.c: New file.
48389         Tests for module 'posix_spawn_file_actions_adddup2'.
48390         * modules/posix_spawn_file_actions_adddup2-tests: New file.
48391         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
48393         Tests for module 'posix_spawn_file_actions_addclose'.
48394         * modules/posix_spawn_file_actions_addclose-tests: New file.
48395         * tests/test-posix_spawn_file_actions_addclose.c: New file.
48397 2011-09-20  Bruno Haible  <bruno@clisp.org>
48399         Tests for module 'unlockpt'.
48400         * modules/unlockpt-tests: New file.
48401         * tests/test-unlockpt.c: New file.
48402         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
48404         Tests for module 'grantpt'.
48405         * modules/grantpt-tests: New file.
48406         * tests/test-grantpt.c: New file.
48407         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
48409 2011-09-20  Bruno Haible  <bruno@clisp.org>
48411         freopen tests: EBADF tests.
48412         * tests/test-freopen.c: Include errno.h, unistd.h.
48413         (main): Add tests for EBADF, commented out for the moment.
48415         fclose tests: EBADF tests.
48416         * tests/test-fclose.c (main): Add tests for EBADF.
48418         fflush tests: EBADF tests.
48419         * tests/test-fflush.c: Include errno.h, macros.h.
48420         (main): Add tests for EBADF.
48422         ftello tests: EBADF tests.
48423         * tests/test-ftello4.sh: New file.
48424         * tests/test-ftello4.c: New file.
48425         * modules/ftello-tests (Files): Add them.
48426         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
48428         fseeko tests: EBADF tests.
48429         * tests/test-fseeko4.sh: New file.
48430         * tests/test-fseeko4.c: New file.
48431         * modules/fseeko-tests (Files): Add them.
48432         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
48434         Tests for function fputc().
48435         * modules/fputc-tests: New file.
48436         * tests/test-fputc.c: New file.
48437         * modules/stdio-tests (Depends-on): Add fputc-tests.
48439         Tests for function fgetc().
48440         * modules/fgetc-tests: New file.
48441         * tests/test-fgetc.c: New file.
48442         * modules/stdio-tests (Depends-on): Add fgetc-tests.
48444         Tests for function fdopen().
48445         * modules/fdopen-tests: New file.
48446         * tests/test-fdopen.c: New file.
48447         * modules/stdio-tests (Depends-on): Add fdopen-tests.
48449         Tests for module 'vdprintf'.
48450         * modules/vdprintf-tests: New file.
48451         * tests/test-vdprintf.c: New file.
48453         Tests for module 'dprintf'.
48454         * modules/dprintf-tests: New file.
48455         * tests/test-dprintf.c: New file.
48457 2011-09-20  Bruno Haible  <bruno@clisp.org>
48459         Tests for module 'ioctl'.
48460         * modules/ioctl-tests: New file.
48461         * tests/test-ioctl.c: New file.
48463 2011-09-20  Bruno Haible  <bruno@clisp.org>
48465         fcntl tests: EBADF tests.
48466         * tests/test-fcntl.c (main): Add more tests for EBADF.
48468 2011-09-20  Bruno Haible  <bruno@clisp.org>
48470         utimensat tests: EBADF tests.
48471         * tests/test-utimensat.c (main): Add tests for EBADF.
48473         renameat tests: EBADF tests.
48474         * tests/test-renameat.c (main): Add tests for EBADF.
48476         mkfifoat tests: EBADF tests.
48477         * tests/test-mkfifoat.c (main): Add tests for EBADF.
48479         readlinkat tests: EBADF tests.
48480         * tests/test-readlinkat.c (main): Add tests for EBADF.
48482         symlinkat tests: EBADF tests.
48483         * tests/test-symlinkat.c (main): Add tests for EBADF.
48485         linkat tests: EBADF tests.
48486         * tests/test-linkat.c (main): Add tests for EBADF.
48488         Tests for module 'faccessat'.
48489         * modules/faccessat-tests: New file.
48490         * tests/test-faccessat.c: New file.
48492         fdopendir tests: EBADF tests.
48493         * tests/test-fdopendir.c (main): Add more tests for EBADF.
48495         openat tests: EBADF tests.
48496         * tests/test-fchownat.c (main): Add tests for EBADF.
48497         * tests/test-fstatat.c (main): Likewise.
48498         * tests/test-mkdirat.c (main): Likewise.
48499         * tests/test-openat.c (main): Likewise.
48500         * tests/test-unlinkat.c (main): Likewise.
48501         * tests/test-fchmodat.c: New file.
48502         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
48503         (Makefile.am): Also run 'test-fchmodat'.
48505 2011-09-20  Bruno Haible  <bruno@clisp.org>
48507         utimens, futimens, fdutimensat tests: EBADF tests.
48508         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
48510         Tests for function fstat().
48511         * modules/fstat-tests: New file.
48512         * tests/test-fstat.c: New file.
48513         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
48515 2011-09-20  Bruno Haible  <bruno@clisp.org>
48517         test-ttyname_r tests: EBADF tests.
48518         * tests/test-ttyname_r.c (main): Add tests for EBADF.
48520         Tests for module 'isatty'.
48521         * modules/isatty-tests: New file.
48522         * tests/test-isatty.c: New file.
48524         Tests for module 'write'.
48525         * modules/write-tests: New file.
48526         * tests/test-write.c: New file.
48528         Tests for module 'read'.
48529         * modules/read-tests: New file.
48530         * tests/test-read.c: New file.
48532         pwrite tests: EBADF tests.
48533         * tests/test-pwrite.c (main): Add tests for EBADF.
48535         pread tests: EBADF tests.
48536         * tests/test-pread.c (main): Add tests for EBADF.
48538         lseek tests: EBADF tests.
48539         * tests/test-lseek.c (main): Add more tests for EBADF.
48541         Tests for module 'ftruncate'.
48542         * modules/ftruncate-tests: New file.
48543         * tests/test-ftruncate.sh: New file.
48544         * tests/test-ftruncate.c: New file.
48546         fsync tests: EBADF tests.
48547         * tests/test-fsync.c (main): Add more tests for EBADF.
48549         fdatasync tests: EBADF tests.
48550         * tests/test-fdatasync.c (main): Add more tests for EBADF.
48552         Tests for module 'fchown'.
48553         * modules/fchown-tests: New file.
48554         * tests/test-fchown.c: New file.
48556         Tests for module 'fchmod'.
48557         * modules/fchmod-tests: New file.
48558         * tests/test-fchmod.c: New file.
48560         fchdir tests: EBADF tests.
48561         * tests/test-fchdir.c (main): Add more tests for EBADF.
48563         dup2 tests: EBADF tests.
48564         * tests/test-dup2.c (main): Add more tests for EBADF.
48566         Tests for module 'dup'.
48567         * modules/dup-tests: New file.
48568         * tests/test-dup.c: New file.
48570         Tests for module 'close'.
48571         * modules/close-tests: New file.
48572         * tests/test-close.c: New file.
48574 2011-09-20  Bruno Haible  <bruno@clisp.org>
48576         Tests for module 'shutdown'.
48577         * modules/shutdown-tests: New file.
48578         * tests/test-shutdown.c: New file.
48580         Tests for module 'setsockopt'.
48581         * modules/setsockopt-tests: New file.
48582         * tests/test-setsockopt.c: New file.
48584         Tests for module 'sendto'.
48585         * modules/sendto-tests: New file.
48586         * tests/test-sendto.c: New file.
48588         Tests for module 'send'.
48589         * modules/send-tests: New file.
48590         * tests/test-send.c: New file.
48592         Tests for module 'recvfrom'.
48593         * modules/recvfrom-tests: New file.
48594         * tests/test-recvfrom.c: New file.
48596         Tests for module 'recv'.
48597         * modules/recv-tests: New file.
48598         * tests/test-recv.c: New file.
48600         Tests for module 'listen'.
48601         * modules/listen-tests: New file.
48602         * tests/test-listen.c: New file.
48604         Tests for module 'getsockopt'.
48605         * modules/getsockopt-tests: New file.
48606         * tests/test-getsockopt.c: New file.
48608         Tests for module 'getsockname'.
48609         * modules/getsockname-tests: New file.
48610         * tests/test-getsockname.c: New file.
48612         Tests for module 'getpeername'.
48613         * modules/getpeername-tests: New file.
48614         * tests/test-getpeername.c: New file.
48616         Tests for module 'connect'.
48617         * modules/connect-tests: New file.
48618         * tests/test-connect.c: New file.
48620         Tests for module 'bind'.
48621         * modules/bind-tests: New file.
48622         * tests/test-bind.c: New file.
48624         accept4 tests: Fix for native Windows.
48625         * tests/test-accept4.c: Include sockets.h.
48626         (main): Invoke gl_sockets_startup.
48627         * modules/accept4-tests (Depends-on): Add sockets.
48629         accept tests: Fix for native Windows.
48630         * tests/test-accept.c: Include sockets.h.
48631         (main): Invoke gl_sockets_startup.
48632         * modules/accept-tests (Depends-on): Add sockets.
48634 2011-09-19  Bruno Haible  <bruno@clisp.org>
48636         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
48637         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
48638         do...while(0).
48639         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
48640         Suggested by Paul Eggert.
48642 2011-09-19  Bruno Haible  <bruno@clisp.org>
48644         sched: Ensure pid_t is defined.
48645         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
48646         not define pid_t.
48647         * lib/sched.in.h: Include <sys/types.h>.
48648         * doc/posix-headers/sched.texi: Mention the pid_t problem.
48649         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48651 2011-09-19  Bruno Haible  <bruno@clisp.org>
48653         msvc-inval: Ensure the entire expansion is a single statement.
48654         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
48655         of braces.
48657 2011-09-19  Jim Meyering  <meyering@redhat.com>
48659         tests: use printf, not echo in init.sh's warn_ function
48660         * tests/init.sh (warn_): Use printf, not echo.  The latter would
48661         misbehave when given strings containing a backslash or starting
48662         with e.g., -n.  James Youngman suggested setting IFS.
48664 2011-09-19  Eric Blake  <eblake@redhat.com>
48666         futimens: enhance test
48667         * tests/test-futimens.h (test_futimens): Also check for EBADF on
48668         closed non-negative fd.
48670         date: accept 'hence' as opposite of 'ago'
48671         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
48672         * tests/test-parse-datetime.c (main): Enhance test.
48673         Suggested by Jesse Wilson.
48675 2011-09-19  Jim Meyering  <meyering@redhat.com>
48677         getcwd: don't fail in a deep directory on a system without openat
48678         Before this change, getcwd would fail when called from a directory
48679         of depth PATH_MAX / 3 or greater.  That was due to the fact that
48680         the non-openat implementation used "..", "../..", "../../..", etc.
48681         to access ancestor directories.  With too many, that string would
48682         be longer than PATH_MAX.
48683         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
48684         using gnulib's openat replacement.
48685         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
48686         we're using the replacement function.
48688 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
48690         maint.mk: avoid warnings from perl about missing files
48691         * top/maint.mk (def_sym_regex): Ignore files listed in
48692         $(gl_other_headers_) that do not exist, say because a project
48693         does not use a corresponding module.
48695 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
48697         stat: use pathmax.h only if needed
48698         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
48699         This is better for Emacs, which does not have a mingw port and
48700         therefore can avoid the pathmax module.
48702         utimens: remove dependency on dup2
48703         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
48704         to work around the Linux kernel bug.
48705         * modules/utimens (Depends-on): Remove dup2.
48707 2011-09-18  Bruno Haible  <bruno@clisp.org>
48709         inet_ntop, inet_pton: Look for it also in libresolv.
48710         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
48711         libnsl, search for it in libresolv.
48712         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
48713         Needed on Solaris 7.
48715 2011-09-18  Bruno Haible  <bruno@clisp.org>
48717         accept, accept4 tests: Avoid link error on Solaris.
48718         * modules/accept-tests (Makefile.am): Link test-accept against
48719         $(LIBSOCKET).
48720         * modules/accept4-tests (Makefile.am): Link test-accept4 against
48721         $(LIBSOCKET).
48723         accept4: Avoid link error on Solaris.
48724         * modules/accept4 (Link): New section.
48726         socket functions: Avoid link errors on Solaris.
48727         * modules/accept (Depends-on): Add socketlib.
48728         (Link): New section.
48729         * modules/bind (Depends-on): Add socketlib.
48730         (Link): New section.
48731         * modules/connect (Depends-on): Add socketlib.
48732         (Link): New section.
48733         * modules/getpeername (Depends-on): Add socketlib.
48734         (Link): New section.
48735         * modules/getsockname (Depends-on): Add socketlib.
48736         (Link): New section.
48737         * modules/getsockopt (Depends-on): Add socketlib.
48738         (Link): New section.
48739         * modules/listen (Depends-on): Add socketlib.
48740         (Link): New section.
48741         * modules/recv (Depends-on): Add socketlib.
48742         (Link): New section.
48743         * modules/recvfrom (Depends-on): Add socketlib.
48744         (Link): New section.
48745         * modules/send (Depends-on): Add socketlib.
48746         (Link): New section.
48747         * modules/sendto (Depends-on): Add socketlib.
48748         (Link): New section.
48749         * modules/setsockopt (Depends-on): Add socketlib.
48750         (Link): New section.
48751         * modules/shutdown (Depends-on): Add socketlib.
48752         (Link): New section.
48753         * modules/socket (Depends-on): Add socketlib.
48754         (Link): New section.
48756 2011-09-18  Bruno Haible  <bruno@clisp.org>
48758         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
48759         * tests/test-ptsname.c (main): Terminate the test if it takes longer
48760         than 5 seconds.
48761         * modules/ptsname-tests (configure.ac): Test for alarm.
48763 2011-09-18  Bruno Haible  <bruno@clisp.org>
48765         posix_spawn_file_actions_add*: Fix module dependencies.
48766         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
48767         posix_spawn_file_actions_init.
48768         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
48769         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
48771 2011-09-18  Bruno Haible  <bruno@clisp.org>
48773         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
48774         * tests/test-rename.h (test_rename): Allow error code EEXIST.
48775         * tests/test-renameat.c (main): Likewise.
48777 2011-09-18  Bruno Haible  <bruno@clisp.org>
48779         Tests for module 'accept4'.
48780         * modules/accept4-tests: New file.
48781         * tests/test-accept4.c: New file.
48783 2011-09-18  Bruno Haible  <bruno@clisp.org>
48785         Tests for module 'accept'.
48786         * modules/accept-tests: New file.
48787         * tests/test-accept.c: New file.
48789 2011-09-18  Bruno Haible  <bruno@clisp.org>
48791         dup2: Support for MSVC.
48792         * lib/dup2.c: Include msvc-inval.h.
48793         (rpl_dup2): Handle invalid parameter notifications during dup2 and
48794         _get_osfhandle calls.
48795         * modules/dup2 (Depends-on): Add msvc-inval.
48796         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
48798         New module 'msvc-inval'.
48799         * lib/msvc-inval.h: New file.
48800         * lib/msvc-inval.c: New file.
48801         * m4/msvc-inval.m4: New file.
48802         * modules/msvc-inval: New file.
48804 2011-09-17  Bruno Haible  <bruno@clisp.org>
48806         Tests for module 'pclose'.
48807         * modules/pclose-tests: New file.
48809         New module 'pclose'.
48810         * lib/stdio.in.h (pclose): New declaration.
48811         * lib/pclose.c: New file.
48812         * m4/pclose.m4: New file.
48813         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
48814         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
48815         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
48816         * modules/pclose: New file.
48817         * modules/popen-tests (Depends-on): Add pclose.
48818         * modules/popen-safer-tests (Depends-on): Likewise.
48819         * doc/posix-functions/pclose.texi: Mention the new module.
48821 2011-09-17  Bruno Haible  <bruno@clisp.org>
48823         popen: Support for MSVC.
48824         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
48825         * lib/popen.c (popen): Provide alternate definition for native Windows.
48826         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
48827         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
48828         * modules/popen (Depends-on, configure.ac): Update condition.
48829         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
48830         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
48831         fixed.
48833 2011-09-17  Bruno Haible  <bruno@clisp.org>
48835         isnanl, isnand, isnanf: Work around MSVC bug.
48836         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
48838 2011-09-17  Bruno Haible  <bruno@clisp.org>
48840         sys_socket tests: Fix recent mistake.
48841         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
48843 2011-09-17  Bruno Haible  <bruno@clisp.org>
48845         putenv: Support for MSVC.
48846         * modules/putenv (Depends-on): Add environ.
48847         * lib/putenv.c (environ): Disable declaration.
48848         * lib/unistd.in.h: Update comment.
48850 2011-09-17  Bruno Haible  <bruno@clisp.org>
48852         math: Avoid macro redefinition warnings on MSVC.
48853         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
48854         Undefine before redefining.
48856 2011-09-17  Bruno Haible  <bruno@clisp.org>
48858         doc: Mention functions which are declared as macros.
48859         * doc/posix-functions/*[fl].texi: Mention that some functions are
48860         defined as macros with arguments only.
48862 2011-09-17  Bruno Haible  <bruno@clisp.org>
48864         Add dependencies to new dirent related modules.
48865         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
48866         * modules/fts (Depends-on): Likewise.
48867         * modules/glob (Depends-on): Likewise.
48868         * modules/savedir (Depends-on): Likewise.
48869         * modules/scandir (Depends-on): Likewise.
48870         * modules/dirent-safer (Depends-on): Add opendir, closedir.
48871         * modules/fdopendir (Depends-on): Add opendir.
48873 2011-09-17  Bruno Haible  <bruno@clisp.org>
48875         inet_pton: Support for MSVC on Windows Vista or newer.
48876         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
48877         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
48878         HAVE_DECL_INET_PTON is defined.
48879         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
48880         On platforms with <winsock2.h>, test whether inet_pton is declared in
48881         <ws2tcpip.h>. If so, arrange to replace it.
48882         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
48883         REPLACE_INET_PTON.
48884         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
48885         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
48886         (Depends-on, configure.ac): Update condition.
48887         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
48889 2011-09-17  Bruno Haible  <bruno@clisp.org>
48891         inet_ntop: Support for MSVC on Windows Vista or newer.
48892         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
48893         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
48894         HAVE_DECL_INET_NTOP is defined.
48895         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
48896         On platforms with <winsock2.h>, test whether inet_ntop is declared in
48897         <ws2tcpip.h>. If so, arrange to replace it.
48898         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
48899         REPLACE_INET_NTOP.
48900         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
48901         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
48902         (Depends-on, configure.ac): Update condition.
48903         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
48905 2011-09-16  Eric Blake  <eblake@redhat.com>
48907         test-fsync: yet another enhancement
48908         * tests/test-fsync.c (main): Also test behavior on read-only text
48909         file.
48911 2011-09-16  Bruno Haible  <bruno@clisp.org>
48913         Enhance fsync, fdatasync tests.
48914         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
48915         * tests/test-fdatasync.c (main): Likewise.
48917 2011-09-16  Bruno Haible  <bruno@clisp.org>
48919         Support for MSVC compiler: Ensure mode_t gets defined.
48920         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
48921         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
48922         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
48923         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
48924         * tests/test-fcntl-h.c: Check that mode_t is defined.
48925         * tests/test-sys_stat.c: Likewise.
48926         * tests/test-sys_types.c: Likewise.
48927         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
48928         * doc/posix-headers/sys_stat.texi: Likewise.
48929         * doc/posix-headers/sys_types.texi: Likewise.
48931 2011-09-16  Bruno Haible  <bruno@clisp.org>
48933         sys_stat: Support for MSVC.
48934         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
48935         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
48936         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
48937         MSVC.
48939 2011-09-16  Bruno Haible  <bruno@clisp.org>
48941         Support for MSVC compiler: Ensure off_t gets defined.
48942         * lib/unistd.in.h: Include <sys/types.h>.
48943         * tests/test-fcntl-h.c: Check that off_t is defined.
48944         * tests/test-sys_stat.c: Likewise.
48945         * tests/test-sys_types.c: Likewise.
48947 2011-09-16  Eric Blake  <eblake@redhat.com>
48949         fdatasync: port to Solaris
48950         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
48951         * modules/fdatasync (Link): Document it.
48952         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
48954         fdatasync: port to MacOS X 10.7
48955         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
48956         declared.
48957         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
48958         * modules/unistd (Makefile.am): Substitute it.
48959         * lib/unistd.in.h (fdatasync): Declare on MacOS.
48960         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
48962         fdatasync: minor improvements
48963         * modules/fdatasync (Depends-on): Add condition for fsync.
48964         * lib/fdatasync.c (fdatasync): Add comment.
48965         * tests/test-unistd-c++.cc: Test fdatasync.
48967         unistd: update refs to newer POSIX
48968         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
48969         Suggested by Bruno Haible.
48971         fdatasync: new module
48972         * modules/fsync (Description): Document difference to fdatasync.
48973         * modules/fdatasync: New module.
48974         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
48975         * lib/fdatasync.c (fdatasync): Likewise.
48976         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
48977         defaults.
48978         * modules/unistd (Makefile.am): Set witnesses.
48979         * lib/unistd.in.h (fdatasync): Declare.
48980         * MODULES.html.sh: Document it.
48981         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
48982         * modules/fdatasync-tests: New test.
48983         * tests/test-fdatasync.c: Likewise.
48985 2011-09-16  Eric Blake  <eblake@redhat.com>
48987         test-fsync: enhance tests
48988         * modules/fsync-tests (Depends-on): Add errno, for mingw.
48989         * tests/test-fsync.c (main): Enhance test.
48991 2011-09-15  Bruno Haible  <bruno@clisp.org>
48993         Support for MSVC compiler: Ensure ssize_t gets defined.
48994         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
48995         * doc/posix-headers/stdio.texi: Likewise.
48996         * modules/stdio (Depends-on): Add ssize_t.
48997         * modules/sys_socket (Depends-on): Likewise.
48998         * modules/sys_types (Depends-on): Likewise.
48999         * modules/sys_uio (Depends-on): Likewise.
49000         * modules/unistd (Depends-on): Likewise.
49001         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
49002         * tests/test-sys_types.c: Check that ssize_t is defined.
49004 2011-09-14  Bruno Haible  <bruno@clisp.org>
49006         Avoid using #, the m4 comment starter character, near brackets.
49007         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
49008         delimiter character in sed expressions.
49009         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
49010         Suggested by Eric Blake.
49012         Properly quote AC_CHECK_DECLS' 4th argument.
49013         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
49014         argument.
49015         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
49016         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
49017         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
49018         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
49019         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
49020         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
49021         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
49022         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
49023         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
49024         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
49025         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
49026         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
49027         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
49028         * m4/isinf.m4 (gl_ISINF): Likewise.
49029         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
49030         * m4/readutmp.m4 (gl_READUTMP): Likewise.
49031         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
49032         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
49033         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
49034         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
49035         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
49036         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
49037         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
49038         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
49039         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
49040         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
49041         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
49042         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49043         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
49044         Reported by Eric Blake.
49046         Properly quote AC_CHECK_DECL's 4th argument.
49047         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
49048         argument.
49049         * m4/argp.m4 (gl_ARGP): Likewise.
49050         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
49051         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
49052         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
49053         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
49054         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
49055         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
49056         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
49057         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
49058         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49059         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
49060         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
49061         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
49062         Reported by Eric Blake.
49064 2011-09-14  Eric Blake  <eblake@redhat.com>
49066         opendir: avoid compile warning
49067         * lib/opendir.c (includes): Always include errno.h.
49068         Reported by Tatsuro MATSUOKA.
49070 2011-09-14  Jim Meyering  <meyering@redhat.com>
49072         maint.mk: sc_tight_scope: propagate failure from sub-make
49073         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
49074         Reported by Martin von Gagern.
49076 2011-09-13  Bruno Haible  <bruno@clisp.org>
49078         tempname: Support for MSVC.
49079         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
49080         MSVC.
49081         * modules/tempname (Depends-on): Add fcntl-h.
49083 2011-09-13  Bruno Haible  <bruno@clisp.org>
49085         sys_time: Support for MSVC.
49086         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
49087         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
49088         include <winsock2.h>.
49089         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
49090         function declarations that collide with POSIX.
49091         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
49092         (Makefile.am): Substitute HAVE_WINSOCK2_H.
49094 2011-09-13  Bruno Haible  <bruno@clisp.org>
49096         stat: Support for MSVC.
49097         * lib/stat.c: Include pathmax.h.
49098         * modules/stat (Depends-on): Add pathmax.
49100         pathmax: Support for native Windows.
49101         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
49103 2011-09-12  Bruno Haible  <bruno@clisp.org>
49105         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
49106         * lib/dirent.in.h (struct dirent): New type.
49107         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
49108         DT_WHT): New macros.
49109         (DIR): New type.
49110         (opendir, closedir): Declare only if the module 'opendir' is enabled.
49111         (readdir, rewinddir): New declarations.
49112         * lib/dirent-private.h: New file.
49113         * lib/opendir.c: New file.
49114         * lib/readdir.c: New file.
49115         * lib/rewinddir.c: New file.
49116         * lib/closedir.c: New file.
49117         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
49118         * m4/opendir.m4: New file.
49119         * m4/readdir.m4: New file.
49120         * m4/rewinddir.m4: New file.
49121         * m4/closedir.m4: New file.
49122         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
49123         REPLACE_CLOSEDIR here.
49124         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
49125         readdir, rewinddir are declared.
49126         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
49127         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
49128         HAVE_REWINDDIR, HAVE_CLOSEDIR.
49129         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
49130         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
49131         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
49132         * modules/opendir: New file.
49133         * modules/readdir: New file.
49134         * modules/rewinddir: New file.
49135         * modules/closedir: New file.
49136         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
49137         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
49138         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
49139         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
49140         * NEWS: Mention the 'fchdir' change.
49142 2011-09-11  Bruno Haible  <bruno@clisp.org>
49144         asm-underscore.m4: Support for MSVC.
49145         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
49146         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
49148 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
49150         Doc about crypt functions.
49151         * doc/posix-functions/crypt.texi: Expand range of glibc versions
49152         needing for _GNU_SOURCE to get crypt.
49153         * doc/posix-functions/encrypt.texi: Likewise.
49154         * doc/posix-functions/setkey.texi: Likewise.
49156 2011-09-11  Bruno Haible  <bruno@clisp.org>
49158         doc: Update regarding MSVC 9.
49159         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
49160         tested".
49161         * doc/posix-functions/*.texi: Update with info about MSVC 9.
49162         * doc/posix-headers/*.texi: Likewise.
49163         * doc/pastposix-functions/*.texi: Likewise.
49164         * doc/glibc-functions/*.texi: Likewise.
49165         * doc/glibc-headers/*.texi: Likewise.
49167 2011-09-11  Bruno Haible  <bruno@clisp.org>
49169         unistd et al.: Don't assume <unistd.h> exists.
49170         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
49171         does not exist.
49172         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
49173         exist. But include <stdlib.h>.
49174         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
49175         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
49176         symlink() does not exist.
49177         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
49178         include <io.h> instead.
49179         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
49180         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
49181         include <direct.h> instead.
49182         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
49183         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
49184         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
49185         <io.h> instead.
49186         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
49187         correctly if the system does not have hard links.
49188         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
49189         <direct.h> instead.
49190         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
49191         it when looking for function declarations.
49192         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
49193         <direct.h> and <io.h> instead.
49194         * doc/posix-headers/unistd.texi: More details about MSVC problem.
49196 2011-09-11  Bruno Haible  <bruno@clisp.org>
49198         strcase: Support for MSVC.
49199         * modules/strcase (Status, Notice): Remove obsoletion mark.
49200         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
49201         * doc/posix-functions/strncasecmp.texi: Likewise.
49203         strings: Don't assume <strings.h> exists.
49204         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
49205         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
49206         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
49207         * doc/posix-headers/strings.texi: Mention the MSVC problem.
49209 2011-09-11  Bruno Haible  <bruno@clisp.org>
49211         dirent: Don't assume <dirent.h> exists.
49212         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
49213         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
49214         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
49215         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
49217 2011-09-11  Bruno Haible  <bruno@clisp.org>
49219         Fix wint_t on MSVC.
49220         * lib/wchar.in.h (wint_t): On MSVC, override it.
49221         * lib/wctype.in.h (wint_t): Likewise.
49222         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
49223         MSVC.
49224         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
49225         * doc/posix-headers/wctype.texi: Likewise.
49227 2011-09-11  Bruno Haible  <bruno@clisp.org>
49229         sys_types: Fix typo.
49230         * lib/sys_types.in.h: Fix typo in comment.
49231         Reported by Paul Eggert.
49233         Support for MSVC compiler: Ensure size_t gets defined.
49234         * modules/strings (Depends-on): Add 'sys_types'.
49235         * modules/sys_uio (Depends-on): Likewise.
49236         * lib/sys_uio.in.h: Update comment.
49238         C++ tests for module 'sys_types'.
49239         * modules/sys_types-c++-tests: New file.
49240         * tests/test-sys_types-c++.cc: New file.
49242         Tests for module 'sys_types'.
49243         * modules/sys_types-tests: New file.
49244         * tests/test-sys_types.c: New file.
49246         New module 'sys_types'.
49247         * lib/sys_types.in.h: New file.
49248         * m4/sys_types_h.m4: New file.
49249         * modules/sys_types: New file.
49250         * doc/posix-headers/sys_types.texi: Mention the new module and the
49251         size_t problem on MSVC 9.
49253 2011-09-11  Bruno Haible  <bruno@clisp.org>
49255         Support for MSVC compiler: Avoid division by a literal 0.
49256         * lib/math.in.h (NAN): Define through a function call also on MSVC.
49257         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
49258         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
49259         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
49260         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
49261         * tests/infinity.h: New file.
49262         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
49263         on MSVC.
49264         * tests/test-ceilf1.c: Include infinity.h.
49265         (main): Use Infinityf.
49266         * tests/test-ceil1.c: Include infinity.h.
49267         (main): Use Infinityd.
49268         * tests/test-ceill.c: Include infinity.h.
49269         (main): Use Infinityl.
49270         * tests/test-dprintf-posix.c: Include infinity.h.
49271         (test_function): Use Infinityd.
49272         * tests/test-floorf1.c: Include infinity.h.
49273         (main): Use Infinityf.
49274         * tests/test-floor1.c: Include infinity.h.
49275         (main): Use Infinityd.
49276         * tests/test-floorl.c: Include infinity.h.
49277         (main): Use Infinityl.
49278         * tests/test-fprintf-posix.c: Include infinity.h.
49279         (test_function): Use Infinityd.
49280         * tests/test-frexp.c: Include infinity.h.
49281         (main): Use Infinityd.
49282         * tests/test-frexpl.c: Include infinity.h.
49283         (main): Use Infinityl.
49284         * tests/test-isfinite.c: Include infinity.h.
49285         (test_isfinitef): Use Infinityf.
49286         (test_isfinited): Use Infinityd.
49287         (test_isfinitel): Use Infinityl.
49288         * tests/test-isinf.c: Include infinity.h.
49289         (test_isinff): Use Infinityf.
49290         (test_isinfd): Use Infinityd.
49291         (test_isinfl): Use Infinityl.
49292         * tests/test-isnan.c: Include infinity.h.
49293         (test_float): Use Infinityf.
49294         (test_double): Use Infinityd.
49295         (test_long_double): Use Infinityl.
49296         * tests/test-isnanf.h: Include infinity.h.
49297         (main): Use Infinityf.
49298         * tests/test-isnand.h: Include infinity.h.
49299         (main): Use Infinityd.
49300         * tests/test-isnanl.h: Include infinity.h.
49301         (main): Use Infinityl.
49302         * tests/test-ldexpl.c: Include infinity.h.
49303         (main): Use Infinityl.
49304         * tests/test-printf-posix.h: Include infinity.h.
49305         (test_function): Use Infinityd.
49306         * tests/test-roundf1.c: Include infinity.h.
49307         (main): Use Infinityf.
49308         * tests/test-round1.c: Include infinity.h.
49309         (main): Use Infinityd.
49310         * tests/test-roundl.c: Include infinity.h.
49311         (main): Use Infinityl.
49312         * tests/test-signbit.c: Include infinity.h.
49313         (test_signbitf): Use Infinityf.
49314         (test_signbitd): Use Infinityd.
49315         (test_signbitl): Use Infinityl.
49316         * tests/test-snprintf-posix.h: Include infinity.h.
49317         (test_function): Use Infinityd, Infinityl.
49318         * tests/test-sprintf-posix.h: Include infinity.h.
49319         (test_function): Use Infinityd, Infinityl.
49320         * tests/test-truncf1.c: Include infinity.h.
49321         (main): Use Infinityf.
49322         * tests/test-trunc1.c: Include infinity.h.
49323         (main): Use Infinityd.
49324         * tests/test-truncl.c: Include infinity.h.
49325         (main): Use Infinityl.
49326         * tests/test-vasnprintf-posix.c: Include infinity.h.
49327         (test_function): Use Infinityd, Infinityl.
49328         * tests/test-vasprintf-posix.c: Include infinity.h.
49329         (test_function): Use Infinityd, Infinityl.
49330         * modules/ceilf-tests (Files): Add tests/infinity.h.
49331         * modules/ceil-tests (Files): Likewise.
49332         * modules/ceill-tests (Files): Likewise.
49333         * modules/dprintf-posix-tests (Files): Likewise.
49334         * modules/floorf-tests (Files): Likewise.
49335         * modules/floor-tests (Files): Likewise.
49336         * modules/floorl-tests (Files): Likewise.
49337         * modules/fprintf-posix-tests (Files): Likewise.
49338         * modules/frexp-tests (Files): Likewise.
49339         * modules/frexp-nolibm-tests (Files): Likewise.
49340         * modules/frexpl-tests (Files): Likewise.
49341         * modules/frexpl-nolibm-tests (Files): Likewise.
49342         * modules/isfinite-tests (Files): Likewise.
49343         * modules/isinf-tests (Files): Likewise.
49344         * modules/isnan-tests (Files): Likewise.
49345         * modules/isnanf-tests (Files): Likewise.
49346         * modules/isnanf-nolibm-tests (Files): Likewise.
49347         * modules/isnand-tests (Files): Likewise.
49348         * modules/isnand-nolibm-tests (Files): Likewise.
49349         * modules/isnanl-tests (Files): Likewise.
49350         * modules/isnanl-nolibm-tests (Files): Likewise.
49351         * modules/ldexpl-tests (Files): Likewise.
49352         * modules/printf-posix-tests (Files): Likewise.
49353         * modules/roundf-tests (Files): Likewise.
49354         * modules/round-tests (Files): Likewise.
49355         * modules/roundl-tests (Files): Likewise.
49356         * modules/signbit-tests (Files): Likewise.
49357         * modules/snprintf-posix-tests (Files): Likewise.
49358         * modules/sprintf-posix-tests (Files): Likewise.
49359         * modules/truncf-tests (Files): Likewise.
49360         * modules/trunc-tests (Files): Likewise.
49361         * modules/truncl-tests (Files): Likewise.
49362         * modules/vasnprintf-posix-tests (Files): Likewise.
49363         * modules/vasprintf-posix-tests (Files): Likewise.
49364         * modules/vdprintf-posix-tests (Files): Likewise.
49365         * modules/vfprintf-posix-tests (Files): Likewise.
49366         * modules/vprintf-posix-tests (Files): Likewise.
49367         * modules/vsnprintf-posix-tests (Files): Likewise.
49368         * modules/vsprintf-posix-tests (Files): Likewise.
49369         * modules/xprintf-posix-tests (Files): Likewise.
49371 2011-09-11  Bruno Haible  <bruno@clisp.org>
49373         Ensure pid_t gets defined.
49374         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
49375         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
49376         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
49377         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
49378         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
49379         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
49380         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
49381         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
49382         * tests/test-fcntl-h.c: Check that pid_t is defined.
49383         * tests/test-sched.c: Likewise.
49384         * tests/test-termios.c: Likewise.
49385         * tests/test-time.c: Likewise.
49386         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
49387         * doc/posix-headers/signal.texi: Likewise.
49388         * doc/posix-headers/sys_types.texi: Likewise.
49389         * doc/posix-headers/time.texi: Likewise.
49391 2011-09-11  Bruno Haible  <bruno@clisp.org>
49393         acl: Fix compilation on Solaris 10 (older version).
49394         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
49395         of ACE_EVERYONE.
49396         * lib/set-mode-acl.c (qset_acl): Likewise.
49397         Reported by Christian Jullien <eligis@orange.fr>.
49399 2011-09-10  Bruno Haible  <bruno@clisp.org>
49401         iconv, unsetenv: Add support for MSVC compiler.
49402         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
49403         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
49405 2011-09-10  Bruno Haible  <bruno@clisp.org>
49407         *printf: Add support for MSVC compiler.
49408         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
49409         handles the exception caused by the %n directive. When cross-compiling,
49410         guess no on native Windows.
49411         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
49412         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
49413         emulate it through vsnprintf.
49414         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
49415         * doc/posix-functions/dprintf.texi: Update documentation regarding
49416         MSVC 9.
49417         * doc/posix-functions/fprintf.texi: Likewise.
49418         * doc/posix-functions/printf.texi: Likewise.
49419         * doc/posix-functions/snprintf.texi: Likewise.
49420         * doc/posix-functions/sprintf.texi: Likewise.
49421         * doc/posix-functions/swprintf.texi: Likewise.
49422         * doc/posix-functions/vdprintf.texi: Likewise.
49423         * doc/posix-functions/vfprintf.texi: Likewise.
49424         * doc/posix-functions/vprintf.texi: Likewise.
49425         * doc/posix-functions/vsnprintf.texi: Likewise.
49426         * doc/posix-functions/vsprintf.texi: Likewise.
49427         * doc/glibc-functions/asprintf.texi: Likewise.
49428         * doc/glibc-functions/obstack_printf.texi: Likewise.
49429         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
49430         * doc/glibc-functions/vasprintf.texi: Likewise.
49432 2011-09-10  Bruno Haible  <bruno@clisp.org>
49434         nocrash: Add support for native Windows.
49435         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
49437 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
49438             Bruno Haible  <bruno@clisp.org>
49440         absolute-header, include-next: Add support for MSVC compiler.
49441         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
49442         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
49443         directory separator in #line directives.
49444         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
49445         recognize also backslash as directory separator in #line directives.
49447 2011-09-08  Jim Meyering  <meyering@redhat.com>
49449         maint.mk: mark the post-release commit log with "maint: " prefix
49450         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
49451         one-line commit-log summary.
49453 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
49454             Bruno Haible  <bruno@clisp.org>
49456         Doc about crypt functions.
49457         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
49458         systems.
49459         * doc/posix-functions/encrypt.texi: Likewise.
49460         * doc/posix-functions/setkey.texi: Likewise.
49462 2011-09-08  Simon Josefsson  <simon@josefsson.org>
49464         * lib/gc.h: Fix copyright header.
49466 2011-09-07  Bruno Haible  <bruno@clisp.org>
49468         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
49469         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
49470         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
49472 2011-09-07  Bruno Haible  <bruno@clisp.org>
49474         openat: Work around compilation error with OSF/1 5.1 DTK cc.
49475         * lib/fopen.c: Use different syntax for include of <stdio.h>.
49476         * lib/freopen.c: Likewise.
49477         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
49478         * lib/lstat.c: Likewise.
49479         * lib/stat.c: Likewise.
49480         * lib/open.c: Use different syntax for include of <fcntl.h>.
49481         * lib/openat.c: Include fcntl.h again, explicitly.
49483 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
49485         parse-datetime: document the newly accepted format
49486         * doc/parse-datetime.texi (Combined date and time of day items):
49487         New section.
49489 2011-09-06  Bruno Haible  <bruno@clisp.org>
49491         acl: Fix a test failure on newer Solaris 10 with ZFS.
49492         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
49493         ENOSYS as no ACL.
49494         Reported by Jim Meyering.
49496 2011-09-06  Bruno Haible  <bruno@clisp.org>
49498         acl: Update for AIX >= 5.3 with NFS.
49499         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
49500         ENOSYS as no ACL.
49502         acl: Fix a test failure on AIX >= 5.3 with NFS.
49503         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
49504         as no ACL.
49506 2011-09-06  Bruno Haible  <bruno@clisp.org>
49508         acl: Fix a test failure on IRIX 6.5 with NFS.
49509         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
49510         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
49511         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
49512         * lib/copy-acl.c (qcopy_acl): Likewise.
49514 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
49516         openat: port to AIX 7.1 with large files
49517         AIX 7.1 does a "#define openat open64at" if large files are in use,
49518         so we can't simply #undef openat.  Use the orig_openat trick (similar
49519         to orig_open in lib/open.c) to work around the problem.  Problem
49520         reported by Kevin Brott for GNU tar, in the thread containing
49521         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
49522         * lib/openat.c (__need_system_fcntl_h): Define first.
49523         Include <fcntl.h> and <sys/types.h> before undefining.
49524         (orig_openat) [HAVE_OPENAT]: New inline function.
49525         (openat) [HAVE_OPENAT]: Do not undef.
49526         (rpl_openat): Use orig_openat, not openat.
49528 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
49529             Bruno Haible  <bruno@clisp.org>
49531         acl: Avoid errors on NonStop Kernel.
49532         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
49533         ENOTSUP errors.
49535 2011-09-05  Bruno Haible  <bruno@clisp.org>
49537         acl: Clean up Solaris code.
49538         * lib/acl-internal.h: Remove no-op #if.
49539         * lib/file-has-acl.c: Likewise.
49540         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
49541         * lib/copy-acl.c (qcopy_acl): Likewise.
49543 2011-09-05  Bruno Haible  <bruno@clisp.org>
49545         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
49546         binaries built on the original Solaris 10.
49547         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
49548         trivial.
49550 2011-09-05  Bruno Haible  <bruno@clisp.org>
49552         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
49553         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
49554         10.
49555         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
49556         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
49557         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
49558         instead of acl_get, facl_get, acl_set, facl_set.
49560 2011-09-05  Bruno Haible  <bruno@clisp.org>
49562         copy-file: Try unit tests on more file systems.
49563         * tests/test-copy-file-1.sh: New file.
49564         * tests/test-copy-file-2.sh: New file.
49565         * modules/copy-file-tests (Files): Add them.
49566         (Makefile.am): Add them to TESTS.
49568         acl: Try unit tests on more file systems.
49569         * tests/test-file-has-acl-1.sh: New file.
49570         * tests/test-file-has-acl-2.sh: New file.
49571         * tests/test-set-mode-acl-1.sh: New file.
49572         * tests/test-set-mode-acl-2.sh: New file.
49573         * tests/test-copy-acl-1.sh: New file.
49574         * tests/test-copy-acl-2.sh: New file.
49575         * modules/acl-tests (Files): Add them.
49576         (Makefile.am): Add them to TESTS.
49578 2011-09-04  Bruno Haible  <bruno@clisp.org>
49580         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
49581         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
49582         10.
49583         (OLD_ALLOW, OLD_DENY): New macros.
49584         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
49585         ACE_ACCESS_ALLOWED_ACE_TYPE.
49586         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
49587         ACE_ACCESS_DENIED_ACE_TYPE.
49588         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
49589         (NEW_ACE_EXECUTE): Fix value.
49590         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
49591         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
49592         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
49593         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
49594         NEW_ACE_SYNCHRONIZE): New macros.
49595         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
49596         instead of acl_fromtext, acl_set, facl_set.
49597         Fixes a coreutils/tests/cp/perm failure.
49599 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
49601         openat: test for fstatat (..., 0) bug
49602         Further testing with tar suggests that fstatat (..., 0)
49603         does not work in general, on AIX 7.1; see
49604         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
49605         So, give up entirely on AIX 7.1's fstatat, and fall back on our
49606         replacement fstatat (which is what older AIX releases were using
49607         anyway).
49608         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
49609         use is now changed to orig_fstatat.  This was probably the right
49610         thing to do anyway.
49611         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
49612         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
49613         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
49614         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
49615         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
49616         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
49617         if the bug is found.
49619         openat: test for fstatat (AT_FDCWD, ..., 0) bug
49620         This tests for another fstatat bug on AIX 7.1:
49621         fstatat (AT_FDCWD, ..., 0) does not work.  See
49622         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
49623         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
49624         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
49625         (rpl_fstatat): Adjust so that it works around either (or both)
49626         bugs if present.
49627         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
49629 2011-09-03  Karl Berry  <karl@gnu.org>
49631         * doc/regex.texi (Character Class Operators): Avoid literal ":"
49632         in index entries.
49634 2011-09-02  Bruno Haible  <bruno@clisp.org>
49636         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
49637         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
49638         values of AR, ARFLAGS, RANLIB.
49639         Reported by John W. Eaton <jwe@gnu.org> for Octave.
49641 2011-09-02  Bruno Haible  <bruno@clisp.org>
49643         Find 'ar' program that fits with --host argument.
49644         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
49646 2011-09-02  Bruno Haible  <bruno@clisp.org>
49648         tests: init.sh: Support any non-GNU diff.
49649         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
49650         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
49651         Solaris 8.
49653 2011-09-02  Bruno Haible  <bruno@clisp.org>
49655         tests: init.sh: work also with any non-GNU diff that supports -u
49656         * tests/init.sh: Relax check for diff -u support.
49657         Rather than checking for GNU diff via --version, simply check
49658         for support for -u itself.  Useful at least on OpenBSD 4.9,
49659         AIX 7.1, IRIX 6.5, and Solaris 10.
49661 2011-09-01  Bruno Haible  <bruno@clisp.org>
49663         strtoimax, strtoumax: Document problem on HP-UX 11.
49664         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
49665         * doc/posix-functions/strtoumax.texi: Likewise.
49667 2011-09-01  Bruno Haible  <bruno@clisp.org>
49669         strtoumax: Avoid link error on OSF/1 with DTK cc.
49670         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
49671         defined as a function.
49672         * modules/strtoumax (Depends-on, configure.ac): Test only whether
49673         strtoumax is defined, not whether it is declared.
49675 2011-09-01  Bruno Haible  <bruno@clisp.org>
49677         strtoimax: Avoid link error on OSF/1 with DTK cc.
49678         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
49679         defined as a function.
49680         * modules/strtoimax (Depends-on, configure.ac): Test only whether
49681         strtoimax is defined, not whether it is declared.
49683 2011-09-01  Bruno Haible  <bruno@clisp.org>
49685         imaxdiv: Avoid link error on OSF/1 with DTK cc.
49686         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
49687         as a function.
49688         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
49689         whether it is declared.
49691 2011-09-01  Bruno Haible  <bruno@clisp.org>
49693         imaxabs: Avoid link error on OSF/1 with DTK cc.
49694         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
49695         as a function.
49696         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
49697         whether it is declared.
49699 2011-09-01  Bruno Haible  <bruno@clisp.org>
49701         Tests for module 'strtoumax'.
49702         * modules/strtoumax-tests: New file.
49703         * tests/test-strtoumax.c: New file.
49705         Tests for module 'strtoimax'.
49706         * modules/strtoimax-tests: New file.
49707         * tests/test-strtoimax.c: New file.
49709         Tests for module 'imaxdiv'.
49710         * modules/imaxdiv-tests: New file.
49711         * tests/test-imaxdiv.c: New file.
49713         Tests for module 'imaxabs'.
49714         * modules/imaxabs-tests: New file.
49715         * tests/test-imaxabs.c: New file.
49717 2011-09-01  Bruno Haible  <bruno@clisp.org>
49719         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
49720         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
49721         pthread_create.
49723 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
49725         openat: work around AIX 7.1 fstatat issue
49726         This should fix the problem that was not properly fixed
49727         in the previous change, dated 2011-08-30.
49728         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
49729         __need_system_stat_h defined.
49730         (orig_fstatat) [HAVE_FSTATAT]: New function.
49731         (rpl_fstatat): Go back to the old way of doing things,
49732         except call orig_fstatat instead of fstatat.
49733         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
49734         Remove unnecessary check whether fstatat fills in st_size etc.
49736 2011-09-01  Bruno Haible  <bruno@clisp.org>
49738         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
49739         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
49740         just include the system's header.
49742 2011-08-31  Jim Meyering  <meyering@redhat.com>
49744         tests: avoid spurious assertion failure in test-float.c on ppc64
49745         * tests/test-float.c (test_long_double): Comment out an assertion,
49746         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
49747         with gcc-4.4.4.
49749         maint: indent with spaces, not TABs
49750         I need to get in the habit of running gnulib's "make check".
49751         Both of these would have been caught.
49752         * m4/largefile.m4: Indent with spaces, not TABs.
49753         * lib/parse-datetime.y (iso_8601_time): Likewise.
49754         Spotted by Pádraig Brady.
49756         test-parse-datetime.c: accommodate a relatively strict gcc warning
49757         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
49758         to avoid a warning from gcc's -Werror=missing-declarations.
49759         Insert a few spaces-before-funcall-parenthesis.
49761 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
49763         parse-datetime: accept ISO 8601 date and time rep with "T" separator
49764         The parser now accepts ISO 8601 date-time strings with "T" as the
49765         separator.  It has long parsed dates like "2004-02-29 16:21:42"
49766         with a space between the date and time strings.  Now it also parses
49767         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
49768         variants like "2004-02-29T16:21:42.333-07:00"
49769         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
49770         of day representation using the 'T' separator character.
49771         * doc/parse-datetime.texi (General date syntax): replace use of
49772         deprecated --iso-8601 option with --rfc-3339 in example of date
49773         command output formats that can be parsed.
49774         * tests/test-parse-datetime.c (tm_diff): New function, taken from
49775         lib/parse-datetime.y.
49776         (gmt_offset): New function.
49777         (main): Add additional test cases to validate ISO8601 extended
49778         date and time of day parsing.
49780 2011-08-31  Bruno Haible  <bruno@clisp.org>
49782         freopen: Documentation.
49783         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
49784         name.
49785         Reported by Claudio Bley <claudio.bley@gmail.com>.
49787 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
49789         freopen: Don't crash if the filename argument is NULL.
49790         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
49791         NULL.
49793 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
49795         openat: work around AIX 7.1 fstatat bug
49796         Problem reported by Kevin Brott for GNU tar, in the thread containing
49797         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
49798         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
49799         FSTATAT_ST_SIZE_ETC_BROKEN.
49800         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
49801         rpl_fstatat.
49802         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
49803         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
49804         AC_CHECK_FUNCS_ONCE for fstatat.
49805         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
49806         fchmodat, mkdirat, openat and unlinkat.
49808 2011-08-30  Bruno Haible  <bruno@clisp.org>
49810         Avoid endless recursions if config.h includes some header files.
49811         * lib/fopen.c (__need_FILE): Define already before including config.h.
49812         * lib/freopen.c (__need_FILE): Likewise.
49813         * lib/open.c (__need_system_fcntl_h): Likewise.
49814         * lib/stat.c (__need_system_sys_stat_h): Likewise.
49815         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
49816         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
49818 2011-08-25  Karl Berry  <karl@gnu.org>
49820         * config/srclist.txt (ylwrap): new try.
49821         * build-aux/ylwrap: new file.
49823 2011-08-23  Bruno Haible  <bruno@clisp.org>
49825         tmpdir: Use a good default directory on native Windows.
49826         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
49827         (P_tmpdir): Default to _P_tmpdir on native Windows.
49828         (path_search): On native Windows, try the value returned by GetTempPath
49829         before trying P_tmpdir.
49830         * modules/tmpdir (Depends-on): Add pathmax.
49831         Suggested by John Darrington <john@darrington.wattle.id.au>.
49833 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
49835         doc: fix typo in README-release
49836         * top/README-release: Capitalize first word of a sentence.
49838 2011-08-19  Jim Meyering  <meyering@redhat.com>
49840         fts: do not exhaust memory when processing million-entry directories
49841         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
49842         directory would require about 256*N bytes of memory.  Thus, it was
49843         easy to construct a directory too large to be processed by any of
49844         those tools.  With this change, fts' maximum memory utilization is
49845         now limited to around 30MB.
49846         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
49847         (fts_read): When we've processed the final entry (i.e., when
49848         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
49849         using the parent entry to read any remaining entries.  Dispatch
49850         depending on what fts_build returns:
49851         - NULL+stop, aka failure: stop
49852         - NULL otherwise: move up in the dir hierarchy
49853         - non-NULL: handle this new entry
49854         (fts_build): Declare and use new local, continue_readdir.
49855         Prepare to be called from fts_read, when the entries
49856         from a partially-read directory have just been exhausted.
49857         In that case, we'll skip the opendir and instead use the parent's
49858         fts_dirp and derive dir_fd from that.
49859         Finally, in the readdir loop, if we read max_entries entries,
49860         exit the loop ensuring *not* to call closedir.  This is required
49861         so that fts_dirp can be reused on a subsequent call.
49862         Prompted by Ben England's report of memory exhaustion in find
49863         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
49865         maint: fts: move decl of `dp' down into while loop; split a long line
49866         * lib/fts.c (fts_build): No semantic change.
49868         fts: add/use new struct member, fts_dirp
49869         We are about to use this to manage any directory with
49870         too many entries to read all of them into memory at once.
49871         To do that, we'll need to save the DIR* pointer in each
49872         affected FTSENT struct.
49873         * lib/fts_.h: Include <dirent.h>.
49874         (struct FTSENT) [fts_dirp]: New member.
49875         * lib/fts.c (closedir_and_clear): Define.
49876         Use it in place of closedir so that we are sure to
49877         clear the new fts_dirp member when done with it.
49878         (fts_alloc): Initialize the new member.
49879         (fts_lfree): Free, if needed.
49881         maint: fts: give __opendir2 a new parameter and rename
49882         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
49883         than surreptitiously using sole caller's "dir_fd".
49884         (fts_opendir): Rename from __opendir2.
49886         maint: fts.c: remove __opendir2's now-unused parameter, oflag
49887         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
49889         maint: fts.c: correct off-by-one indentation
49890         * lib/fts.c (fts_build): Correct indentation, change style
49891         of a couple of block comments, and bracing style.
49893         maint: fts.c: move __opendir2 #define "up" out of function body
49894         * lib/fts.c (__opendir2): Move "up".  No semantic change.
49896         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
49897         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
49898         out for a long time and besides was useful only on BSD systems.
49900 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
49902         regex: port to Stratus OpenVOS
49903         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
49904         define to empty, rather than attempting nonportable optimizations.
49905         Problem reported by Paul Green in:
49906         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
49907         and fix suggested by Eric Blake in:
49908         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
49910 2011-08-17  Eric Blake  <eblake@redhat.com>
49912         getcwd: fix test failures on mingw
49913         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
49914         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
49915         test if long directory cannot be created, and allow mingw errno.
49917         getcwd-lgpl: fix m4 to match relaxed test for BSD
49918         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
49919         (gl_FUNC_GETCWD_SIGNATURE): New macro.
49920         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
49921         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
49922         signature problem.
49924         getcwd: fix compilation on mingw64
49925         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
49926         getcwd.
49927         Reported by Marc-André Lureau.
49929         pipe2: silence compiler warning
49930         * lib/pipe2.c (pipe2): Hide label if it is not used.
49932 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
49934         relocatable-prog: fix link error
49935         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
49936         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
49937         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
49938         into modules/relocatable-lib without noticing that
49939         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
49940         also needs to build relocatable.c.
49942 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
49944         getaddrinfo: fix sh typo in gai_strerrorA decl checking
49945         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
49946         shell code: it contained a 'break' that was not in a loop.
49947         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
49948         via a shell-language loop; this may have been true in old Autoconf
49949         versions, but it's not true in Autoconf 2.68.  I found this bug
49950         when testing coreutils git on Solaris 8, whose shell complains
49951         about the syntax error.
49953 2011-08-12  Simon Josefsson  <simon@josefsson.org>
49955         * lib/base64.c: Fix comment to reference RFC 4648.
49956         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
49957         <gvtulder@gmail.com>.
49959 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
49961         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
49963         po/Makefile.in.in: fix make -q problem
49964         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
49965         rule, since there's no file named 'check-macro-version' and its
49966         use as a file breaks make -q.
49967         (all): Don't depend on check-macro-version.
49968         (CHECK_MACRO_VERSION): New macro.
49969         (stamp-po): Use it.
49971         configmake: fix make -q problem
49972         * modules/configmake (configmake.h): Update configmake.h's time stamp
49973         even if the file does not change.  Otherwise, 'make -q' fails.
49974         Problem reported by Simon Josefsson in
49975         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
49977 2011-08-11  Jim Meyering  <meyering@redhat.com>
49979         git-version-gen: correct the advice in a comment
49980         * build-aux/git-version-gen: Correct comment.
49981         Don't recommend to list .tarball-version in .gitignore.
49983 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
49985         base64: fix off-by-one buffer size bug
49986         Problem and (trivial) fix reported by Gijs van Tulder in
49987         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
49988         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
49989         * tests/test-base64.c (main): Catch the bug.
49991 2011-08-10  Eric Blake  <eblake@redhat.com>
49993         closein: correct comments
49994         * lib/closein.c (close_stdin): Improve comments.
49996 2011-08-09  Bruno Haible  <bruno@clisp.org>
49998         More tests for 'fseeko'.
49999         * tests/test-fseeko3.c: New file, from Eric Blake.
50000         * tests/test-fseeko3.sh: New file.
50001         * modules/fseeko-tests (Files): Add them.
50002         (TESTS): Add test-fseeko3.sh.
50003         (check_PROGRAMS): Add test-fseeko3.
50005 2011-08-09  Eric Blake  <eblake@redhat.com>
50007         fseeko: remove unneeded hack
50008         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
50010         fseeko: fix bug on glibc
50011         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
50012         Reported by John W. Eaton.
50014 2011-08-08  Bruno Haible  <bruno@clisp.org>
50016         unictype/base: Fix interoperability with preinstalled libunistring.
50017         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
50018         Reported by Simon Josefsson.
50020 2011-08-08  Bruno Haible  <bruno@clisp.org>
50022         iswblank: Detect declaration correctly.
50023         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
50024         AC_CHECK_DECLS invocation.
50026 2011-08-08  Bruno Haible  <bruno@clisp.org>
50028         tcgetsid: Detect declaration correctly.
50029         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
50030         AC_CHECK_DECLS invocation.
50031         Reported by Simon Josefsson.
50033 2011-08-08  Eric Blake  <eblake@redhat.com>
50035         largefile: fix typo that regressed large file support
50036         * modules/largefile (configure.ac-early): Fix section name.
50038 2011-08-06  Karl Berry  <karl@gnu.org>
50040         * MODULES.html.sh (func_all_files): _Noreturn is no longer
50041         a separate module.
50043 2011-08-05  Simon Josefsson  <simon@josefsson.org>
50045         openat: Fix warnings and commens when building unlinkat.c on Hurd.
50046         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
50047         get prototype for free.
50049 2011-08-04  Bruno Haible  <bruno@clisp.org>
50051         Tests for module 'pathmax'.
50052         * modules/pathmax-tests: New file.
50053         * tests/test-pathmax.c: New file.
50055         canonicalize-lgpl: Support larger filenames on the Hurd.
50056         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
50057         Reported by Paul Eggert.
50059         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
50060         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
50061         * lib/chdir-long.h: Include pathmax.h.
50062         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
50063         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
50064         (PATH_MAX): Remove code that is done by pathmax.h.
50065         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
50066         * lib/tmpfile.c: Add a comment.
50067         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
50068         * modules/chdir-long (Depends-on): Add pathmax.
50069         * modules/getcwd (Depends-on): Add pathmax.
50070         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
50071         is not defined.
50072         * doc/posix-headers/limits.texi: Mention the pathmax module.
50073         * NEWS: Mention the change.
50075 2011-08-02  Bruno Haible  <bruno@clisp.org>
50077         pthread_sigmask: Actually use results of gl_THREADLIB.
50078         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
50079         gl_THREADLIB, not gl_[]THREADLIB.
50080         Reported by Eric Blake.
50082 2011-08-02  Jim Meyering  <meyering@redhat.com>
50084         maint.mk: relax the default _gl_TS_function_match regexp
50085         * top/maint.mk (_gl_TS_function_match): Don't require at least one
50086         space between function name and "(" in an "extern" declaration.
50087         That would fail to match a decl with no space there: extern void foo();
50089 2011-07-31  Iain Nicol  <iain@thenicols.net>
50091         git-version-gen: document that EXTRA_DIST must include .version
50092         * build-aux/git-version-gen: In the how-to-use comment, document
50093         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
50094         will fail when run from an unpacked distribution tarball.
50096 2011-08-01  Bruno Haible  <bruno@clisp.org>
50098         wctype-h: Fix last change.
50099         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
50100         REPLACE_TOWLOWER to 0.
50101         Reported by Sam Steingold <sds@gnu.org>.
50103 2011-07-31  Bruno Haible  <bruno@clisp.org>
50105         frexpl: Update autoconf test.
50106         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
50107         according to changes of 2011-06-20.
50109 2011-07-31  Bruno Haible  <bruno@clisp.org>
50111         sys_utsname: Add support for Minix.
50112         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
50113         <sys/utsname.h>.
50114         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
50115         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
50117 2011-07-31  Bruno Haible  <bruno@clisp.org>
50119         strings: Add support for Minix.
50120         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
50121         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
50122         * doc/posix-headers/strings.texi: Document the Minix problem.
50124 2011-07-31  Bruno Haible  <bruno@clisp.org>
50126         wctype-h: Add support for Minix.
50127         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
50128         REPLACE_TOWLOWER.
50129         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
50130         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
50131         REPLACE_ISWCNTRL.
50133 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
50135         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
50136         This is a performance improvement for 64-bit hosts: it causes the
50137         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
50139 2011-07-31  Bruno Haible  <bruno@clisp.org>
50141         stdioext: Add support for Minix.
50142         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
50143         * lib/fpurge.c (fpurge): Likewise.
50144         * lib/freadahead.c (freadahead): Likewise.
50145         * lib/freadable.c (freadable): Likewise.
50146         * lib/freading.c (freading): Likewise.
50147         * lib/freadptr.c (freadptr): Likewise.
50148         * lib/freadseek.c (freadptrinc): Likewise.
50149         * lib/fseeko.c (rpl_fseeko): Likewise.
50150         * lib/fseterr.c (fseterr): Likewise.
50151         * lib/fwritable.c (fwritable): Likewise.
50152         * lib/fwriting.c (fwriting): Likewise.
50153         * lib/fflush.c (clear_ungetc_buffer): Update comment.
50154         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
50156 2011-07-31  Bruno Haible  <bruno@clisp.org>
50158         errno: Port to Minix.
50159         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
50160         ECONNABORTED are defined.
50161         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
50162         GNULIB_defined_ECONNABORTED): New macros.
50163         * lib/strerror-override.h (strerror_override): Test also
50164         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
50165         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
50166         ECONNABORTED.
50167         * doc/posix-headers/errno.texi: Mention the Minix problem.
50169 2011-07-31  Bruno Haible  <bruno@clisp.org>
50171         Work around declaration collisions on Minix.
50172         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
50173         defined, set REPLACE_MBSINIT.
50174         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
50175         defined, set REPLACE_MBRTOWC.
50176         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
50177         set REPLACE_MBRLEN.
50178         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
50179         defined, set REPLACE_MBSRTOWCS.
50180         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
50181         defined, set REPLACE_WCRTOMB.
50182         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
50183         defined, set REPLACE_WCSRTOMBS.
50185 2011-07-31  Bruno Haible  <bruno@clisp.org>
50187         Add support for Minix with ACK compiler.
50188         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
50189         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
50190         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
50192 2011-07-31  Bruno Haible  <bruno@clisp.org>
50194         Documentation about Minix.
50195         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
50196         * doc/glibc-headers/*.texi: Likewise.
50197         * doc/posix-functions/*.texi: Likewise.
50198         * doc/glibc-functions/*.texi: Likewise.
50200 2011-07-31  Bruno Haible  <bruno@clisp.org>
50202         snippet/warn-on-use: Fix indentation.
50203         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
50205 2011-07-25  Jim Meyering  <meyering@redhat.com>
50207         tests: test-update-copyright.sh: remove unnecessary "rm" commands
50208         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
50209         commands.
50211 2011-07-27  Jim Meyering  <meyering@redhat.com>
50213         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
50214         * top/maint.mk (gl_extract_significant_defines_): Now that
50215         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
50216         gnulib/lib/signal.in.h, and now that we recommend to
50217         define-if-undefined those two symbols in application code,
50218         we must filter them out of the "significant" list.
50219         This avoids a "make syntax-check" failure in coreutils.
50221 2011-07-26  Eric Blake  <eblake@redhat.com>
50223         warnings: add comments about previous patch
50224         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
50225         * m4/include_next.m4: Likewise.
50226         * m4/warn-on-use.m4: Likewise.
50227         * m4/warnings.m4: Likewise, and simplify use.
50228         Suggested by Stefano Lattarini.
50230         include-next, warnings: support older autoconf
50231         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
50232         AS_VAR_PUSHDEF in a way that works with older autoconf.
50233         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
50234         Reported by Daniel P. Berrange.
50236 2011-07-25  Bruno Haible  <bruno@clisp.org>
50238         fseek, ftell: Fix doc.
50239         * doc/posix-functions/fseek.texi: Reword statement about
50240         AC_SYS_LARGEFILE.
50241         * doc/posix-functions/ftell.texi: Likewise.
50243 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
50244             Bruno Haible  <bruno@clisp.org>
50246         Add dependencies to the 'largefile' module.
50247         * modules/fopen (Depends-on): Add 'largefile'.
50248         * modules/freopen (Depends-on): Likewise.
50249         * modules/fseeko (Depends-on): Likewise.
50250         * modules/ftello (Depends-on): Likewise.
50251         * modules/glob (Depends-on): Likewise.
50252         * modules/lseek (Depends-on): Likewise.
50253         * modules/lstat (Depends-on): Likewise.
50254         * modules/mkostemp (Depends-on): Likewise.
50255         * modules/mkostemps (Depends-on): Likewise.
50256         * modules/mkstemp (Depends-on): Likewise.
50257         * modules/mkstemps (Depends-on): Likewise.
50258         * modules/open (Depends-on): Likewise.
50259         * modules/openat (Depends-on): Likewise.
50260         * modules/pread (Depends-on): Likewise.
50261         * modules/pwrite (Depends-on): Likewise.
50262         * modules/scandir (Depends-on): Likewise.
50263         * modules/stat (Depends-on): Likewise.
50264         * modules/tmpfile (Depends-on): Likewise.
50265         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
50266         since the containing module now depends on the largefile module.
50267         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
50268         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
50269         off_t is fixed by gnulib.
50270         * doc/posix-functions/freopen.texi: Likewise.
50271         * doc/posix-functions/fseeko.texi: Likewise.
50272         * doc/posix-functions/fstatat.texi: Likewise.
50273         * doc/posix-functions/ftello.texi: Likewise.
50274         * doc/posix-functions/glob.texi: Likewise.
50275         * doc/posix-functions/lseek.texi: Likewise.
50276         * doc/posix-functions/lstat.texi: Likewise.
50277         * doc/posix-functions/mkstemp.texi: Likewise.
50278         * doc/posix-functions/open.texi: Likewise.
50279         * doc/posix-functions/openat.texi: Likewise.
50280         * doc/posix-functions/pread.texi: Likewise.
50281         * doc/posix-functions/pwrite.texi: Likewise.
50282         * doc/posix-functions/scandir.texi: Likewise.
50283         * doc/posix-functions/stat.texi: Likewise.
50284         * doc/posix-functions/tmpfile.texi: Likewise.
50285         * doc/glibc-functions/mkostemp.texi: Likewise.
50286         * doc/glibc-functions/mkostemps.texi: Likewise.
50287         * doc/glibc-functions/mkstemps.texi: Likewise.
50289 2011-07-25  Bruno Haible  <bruno@clisp.org>
50291         fcntl: Move AC_LIBOBJ invocation to module description.
50292         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
50293         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
50295         fcntl: Remove call-in from fchdir.m4.
50296         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
50297         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
50299         dup3: Remove potential call-in from fchdir.m4.
50300         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
50301         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
50303         dup2: Move AC_LIBOBJ invocation to module description.
50304         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
50305         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
50306         Don't invoke AC_LIBOBJ.
50307         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
50309         dup2: Remove call-in from fchdir.m4.
50310         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
50311         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
50313         fclose: Move AC_LIBOBJ invocation to module description.
50314         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
50315         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
50316         to 1.
50317         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
50319         fclose: Remove call-in from close.m4.
50320         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
50321         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
50323         close: Move AC_LIBOBJ invocation to module description.
50324         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
50325         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
50326         1.
50327         * modules/close (configure.ac): Invoke AC_LIBOBJ.
50329         close: Remove call-in from fchdir.m4.
50330         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
50331         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
50333         open: Move AC_LIBOBJ invocation to module description.
50334         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
50335         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
50336         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
50338         open: Remove call-in from fchdir.m4.
50339         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
50340         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
50342         fchdir: Start to remove gl_REPLACE_* idiom.
50343         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
50344         (gl_FUNC_FCHDIR): Invoke it.
50346 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
50348         * lib/ftell.c (ftell): Comment out cast.
50350         close: use gl_REPLACE_FCLOSE only if defined
50351         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
50352         is defined.  The close module doesn't depend on the fclose module
50353         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
50354         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
50355         I reproduced the problem with "./gnulib-tool --test close sys_socket".
50357 2011-07-24  Jim Meyering  <meyering@redhat.com>
50359         test-select.h: avoid warning when using gcc's -Wmissing-declarations
50360         * tests/test-select.h (test_function): Declare as "static".
50362 2011-07-24  Bruno Haible  <bruno@clisp.org>
50364         doc: Mention the effects of AC_SYS_LARGEFILE.
50365         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
50366         on this function.
50367         * doc/posix-functions/aio_error.texi: Likewise.
50368         * doc/posix-functions/aio_fsync.texi: Likewise.
50369         * doc/posix-functions/aio_read.texi: Likewise.
50370         * doc/posix-functions/aio_return.texi: Likewise.
50371         * doc/posix-functions/aio_suspend.texi: Likewise.
50372         * doc/posix-functions/aio_write.texi: Likewise.
50373         * doc/posix-functions/fgetpos.texi: Likewise.
50374         * doc/posix-functions/fopen.texi: Likewise.
50375         * doc/posix-functions/freopen.texi: Likewise.
50376         * doc/posix-functions/fsetpos.texi: Likewise.
50377         * doc/posix-functions/fstatvfs.texi: Likewise.
50378         * doc/posix-functions/ftruncate.texi: Likewise.
50379         * doc/posix-functions/ftw.texi: Likewise.
50380         * doc/posix-functions/getrlimit.texi: Likewise.
50381         * doc/posix-functions/glob.texi: Likewise.
50382         * doc/posix-functions/lio_listio.texi: Likewise.
50383         * doc/posix-functions/lockf.texi: Likewise.
50384         * doc/posix-functions/mkstemp.texi: Likewise.
50385         * doc/posix-functions/mmap.texi: Likewise.
50386         * doc/posix-functions/nftw.texi: Likewise.
50387         * doc/posix-functions/openat.texi: Likewise.
50388         * doc/posix-functions/opendir.texi: Likewise.
50389         * doc/posix-functions/posix_fadvise.texi: Likewise.
50390         * doc/posix-functions/posix_fallocate.texi: Likewise.
50391         * doc/posix-functions/pread.texi: Likewise.
50392         * doc/posix-functions/pwrite.texi: Likewise.
50393         * doc/posix-functions/readdir.texi: Likewise.
50394         * doc/posix-functions/readdir_r.texi: Likewise.
50395         * doc/posix-functions/rewinddir.texi: Likewise.
50396         * doc/posix-functions/scandir.texi: Likewise.
50397         * doc/posix-functions/seekdir.texi: Likewise.
50398         * doc/posix-functions/setrlimit.texi: Likewise.
50399         * doc/posix-functions/statvfs.texi: Likewise.
50400         * doc/posix-functions/telldir.texi: Likewise.
50401         * doc/posix-functions/tmpfile.texi: Likewise.
50402         * doc/posix-functions/truncate.texi: Likewise.
50403         * doc/glibc-functions/fallocate.texi: Likewise.
50404         * doc/glibc-functions/fstatfs.texi: Likewise.
50405         * doc/glibc-functions/fts_children.texi: Likewise.
50406         * doc/glibc-functions/fts_read.texi: Likewise.
50407         * doc/glibc-functions/getdirentries.texi: Likewise.
50408         * doc/glibc-functions/mkostemp.texi: Likewise.
50409         * doc/glibc-functions/mkostemps.texi: Likewise.
50410         * doc/glibc-functions/mkstemps.texi: Likewise.
50411         * doc/glibc-functions/preadv.texi: Likewise.
50412         * doc/glibc-functions/pwritev.texi: Likewise.
50413         * doc/glibc-functions/sendfile.texi: Likewise.
50414         * doc/glibc-functions/statfs.texi: Likewise.
50416 2011-07-24  Bruno Haible  <bruno@clisp.org>
50418         doc: Fix typo.
50419         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
50421 2011-07-24  Bruno Haible  <bruno@clisp.org>
50423         doc: Mention fsusage.
50424         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
50426 2011-07-24  Bruno Haible  <bruno@clisp.org>
50428         doc: Mention new glibc headers and functions.
50429         * doc/glibc-headers/gshadow.texi: New file.
50430         * doc/glibc-functions/endsgent.texi: New file.
50431         * doc/glibc-functions/fgetsgent.texi: New file.
50432         * doc/glibc-functions/fgetsgent_r.texi: New file.
50433         * doc/glibc-functions/getsgent.texi: New file.
50434         * doc/glibc-functions/getsgent_r.texi: New file.
50435         * doc/glibc-functions/getsgnam.texi: New file.
50436         * doc/glibc-functions/getsgnam_r.texi: New file.
50437         * doc/glibc-functions/putsgent.texi: New file.
50438         * doc/glibc-functions/setsgent.texi: New file.
50439         * doc/glibc-functions/sgetsgent.texi: New file.
50440         * doc/glibc-functions/sgetsgent_r.texi: New file.
50441         * doc/glibc-functions/malloc_info.texi: New file.
50442         * doc/glibc-functions/preadv.texi: New file.
50443         * doc/glibc-functions/pwritev.texi: New file.
50444         * doc/glibc-functions/register_printf_modifier.texi: New file.
50445         * doc/glibc-functions/register_printf_specifier.texi: New file.
50446         * doc/glibc-functions/register_printf_type.texi: New file.
50447         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
50448         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
50449         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
50450         * doc/glibc-functions/pthread_getname_np.texi: New file.
50451         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
50452         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
50453         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
50454         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
50455         * doc/glibc-functions/pthread_setname_np.texi: New file.
50456         * doc/glibc-functions/pthread_sigqueue.texi: New file.
50457         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
50458         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
50459         * doc/glibc-functions/qsort_r.texi: New file.
50460         * doc/glibc-functions/quick_exit.texi: New file.
50461         * doc/glibc-functions/syncfs.texi: New file.
50462         * doc/gnulib.texi: Include them.
50463         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
50464         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
50465         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
50466         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
50467         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
50468         * doc/glibc-functions/execvpe.texi: Likewise.
50470 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
50472         ftell: don't include <unistd.h>
50473         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
50474         guaranteed to define off_t, and the ftell module depends on the
50475         stdio module.
50477         ftell: do not assume wraparound signed arithmetic
50478         * lib/ftell.c: Include <limits.h>.
50479         (ftell): Don't assume wraparound signed arithmetic.
50481 2011-07-24  Bruno Haible  <bruno@clisp.org>
50483         close: No longer depend on module 'fclose'.
50484         * modules/close (Depends-on): Remove fclose.
50485         * NEWS: Mention the change.
50486         Suggested by Sam Steingold <sds@gnu.org>.
50488 2011-07-24  Bruno Haible  <bruno@clisp.org>
50490         fsusage: Enable large volume support on AIX >= 5.2.
50491         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
50492         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
50493         instead of STAT_STATVFS.
50494         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
50496         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
50497         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
50498         f_blocks field only on MacOS X.
50500         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
50501         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
50502         * modules/fsusage (Depends-on): Add largefile.
50504 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
50506         * README: Modernize discussion of signed integers.
50507         Assuming overflow wraparound is no longer safe.
50508         Mention ones' complement and signed magnitude.
50510 2011-07-22  Bruno Haible  <bruno@clisp.org>
50512         select tests, pselect tests: Refactor.
50513         * tests/test-select.h: New file, extracted from tests/test-select.c.
50514         (select_fn): New type.
50515         (test, do_select, do_select_nowait, do_select_wait, test_tty,
50516         test_connect_first, test_accept_first, test_pair, test_socket_pair,
50517         test_pipe): Add my_select argument.
50518         (test_function): Renamed from main. Add my_select argument.
50519         * tests/test-select.c: Move most code to tests/test-select.h. Include
50520         test-select.h.
50521         * modules/select-tests (Files): Add tests/test-select.h.
50522         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
50523         (my_select, main): New functions.
50524         * modules/pselect-tests (Files): Add tests/test-select.h,
50525         tests/macros.h, tests/signature.h.
50526         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
50527         (configure.ac): Check for <sys/wait.h>.
50529 2011-07-22  Bruno Haible  <bruno@clisp.org>
50531         sys_select tests: Check the signature of FD_*.
50532         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
50533         signature tests from here...
50534         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
50535         here.
50536         * modules/sys_select-tests (Files): Add tests/signature.h.
50538 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
50540         largefile: new module, replacing large-inode
50541         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
50542         * MODULES.html.sh: Add largefile, remove large-inode.
50543         * modules/largefile, m4/largefile.m4: New files.
50544         * modules/large-inode, m4/large-inode.m4: Remove.
50546         fsusage: port to MacOS X 10.7 with 4 TiB file systems
50547         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
50548         implementations that use only 32 bits to count blocks.
50549         On typical hosts with 1024-byte blocks, this fails with file
50550         systems as small as 4 TiB.  Problem reported by Herb Wartens
50551         <http://debbugs.gnu.org/9140> and this should also fix a similar
50552         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
50554         large-inode: New module
50555         * MODULES.html.sh: Add it.
50556         * modules/large-inode, m4/large-inode.m4: New files.
50558         extensions: Enable extensions on MacOS X 10.5 and later.
50559         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
50561 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
50563         file-has-acl: use acl_extended_file_nofollow if available
50564         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
50565         (acl_extended_file): New macro.
50566         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
50567         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
50569 2011-07-21  Bruno Haible  <bruno@clisp.org>
50571         Declare system functions in a way that works with C++.
50572         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
50573         declare fdopendir as extern "C".
50574         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
50575         declare frexpl as extern "C".
50576         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
50577         declare gai_strerror as extern "C".
50578         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
50579         programs, declare gai_strerror as extern "C".
50580         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
50581         declare getlogin_r as extern "C".
50582         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
50583         as extern "C".
50584         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
50585         declare ldexpl as extern "C".
50586         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
50587         as extern "C".
50588         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
50589         program, declare getmntinfo as extern "C".
50590         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
50591         stpncpy as extern "C".
50592         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
50593         program, declare __xpg_strerror_r as extern "C".
50594         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
50595         strndup as extern "C".
50596         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
50597         declare memset and bzero as extern "C".
50598         Reported by Sam Steingold <sds@gnu.org>.
50600 2011-07-12  Jim Meyering  <meyering@redhat.com>
50602         maint.mk: prohibit inclusion of "verify.h" without use
50603         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
50605 2011-07-19  Pádraig Brady  <P@draigBrady.com>
50607         timer-time: A new module to check for timer_settime()
50608         * m4/timer_time.m4: Check for the posix function.
50609         * modules/timer-time: Add the new module.
50610         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
50611         Mention it.
50613 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
50614             Bruno Haible  <bruno@clisp.org>
50616         pthread_sigmask: assume POSIX threads if --avoid=threadlib
50617         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
50618         not defined, assume POSIX threads and look for pthread_sigmask in
50619         $LIBS, without changing $CPPFLAGS.
50621 2011-07-19  Bruno Haible  <bruno@clisp.org>
50623         strstr: Update cross-compilation guess.
50624         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
50625         CPUs, guess no, in view of glibc
50626         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
50627         Suggested by Eric Blake. Reported by Reuben Thomas.
50629 2011-07-19  Pádraig Brady  <P@draigBrady.com>
50631         getopt-gnu: suppress core dumps from detection code
50632         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
50633         to suppress core dumps that may well occur on glibc systems.
50634         * modules/getopt-gnu: Depend on nocrash.
50636 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
50638         pthread_sigmask: ensure usleep is declared
50639         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
50640         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
50642 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
50644         doc: Document NonStop portability issues.
50645         * doc/posix-functions/sigaction.texi (sigaction):
50646         * doc/posix-headers/signal.texi (signal.h):
50647         Document NonStop.  See Joachim Schmitz in
50648         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
50650 2011-07-15  Bruno Haible  <bruno@clisp.org>
50652         ffsl, ffsll: Avoid unportable behaviour.
50653         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
50655 2011-07-15  Bruno Haible  <bruno@clisp.org>
50657         ffs: More tests.
50658         * tests/test-ffs.c (NBITS): New macro.
50659         (main): Add more tests.
50660         * tests/test-ffsl.c (NBITS): New macro.
50661         (main): Add more tests.
50662         * tests/test-ffsll.c (NBITS): New macro.
50663         (main): Add more tests.
50665 2011-07-15  Eric Blake  <eblake@redhat.com>
50667         ffsl, ffsll: new modules
50668         * modules/ffsl: New file.
50669         * modules/ffsll: Likewise.
50670         * m4/ffsl.m4: Likewise.
50671         * m4/ffsll.m4: Likewise.
50672         * lib/ffsl.c: Likewise.
50673         * lib/ffsl.h: Likewise.
50674         * lib/ffsll.c: Likewise.
50675         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
50676         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
50677         * modules/string (Makefile.am): Substitute witnesses.
50678         * lib/strings.in.h (ffsl, ffsll): Declare.
50679         * modules/ffsl-tests: New test file.
50680         * modules/ffsll-tests: Likewise.
50681         * tests/test-ffsl.c: Likewise.
50682         * tests/test-ffsll.c: Likewise.
50683         * MODULES.html.sh (Integer arithmetic functions): Mention it.
50684         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
50685         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
50687         ffs: fix m4 prerequisite
50688         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
50690         ffs: avoid undefined behavior
50691         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
50692         * tests/test-ffs.c (naive, main): Avoid signed shifts.
50693         Reported by Bruno Haible.
50695 2011-07-12  Bruno Haible  <bruno@clisp.org>
50697         pthread_sigmask: Rely on module 'threadlib'.
50698         * modules/pthread_sigmask (Depends-on): Add threadlib.
50699         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
50700         is defined.
50702 2011-07-12  Bruno Haible  <bruno@clisp.org>
50704         regex: Depend on module 'strcase'.
50705         * modules/regex (Depends-on): Add strcase, for strcasecmp().
50707 2011-07-12  Jim Meyering  <meyering@redhat.com>
50709         warn-on-use: fix typo in file name
50710         * modules/snippet/warn-on-use (Files): Correct file name:
50711         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
50713 2011-07-12  Bruno Haible  <bruno@clisp.org>
50715         strings: Document module.
50716         * doc/posix-headers/strings.texi: Mention module 'strings'.
50718 2011-07-12  Bruno Haible  <bruno@clisp.org>
50720         Rename module '_Noreturn' to 'snippet/_Noreturn'.
50721         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
50722         (Files, Makefile.am): Update.
50723         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
50724         * modules/stdlib (Depends-on): Update.
50726 2011-07-12  Bruno Haible  <bruno@clisp.org>
50728         * NEWS: Mention the changes.
50730         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
50731         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
50732         (Files, Makefile.am): Update.
50733         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
50734         * modules/arpa_inet (Depends-on): Update.
50735         * modules/ctype (Depends-on): Update.
50736         * modules/dirent (Depends-on): Update.
50737         * modules/fcntl-h (Depends-on): Update.
50738         * modules/glob (Depends-on): Update.
50739         * modules/iconv-h (Depends-on): Update.
50740         * modules/inttypes-incomplete (Depends-on): Update.
50741         * modules/langinfo (Depends-on): Update.
50742         * modules/locale (Depends-on): Update.
50743         * modules/math (Depends-on): Update.
50744         * modules/netdb (Depends-on): Update.
50745         * modules/poll-h (Depends-on): Update.
50746         * modules/pty (Depends-on): Update.
50747         * modules/search (Depends-on): Update.
50748         * modules/signal (Depends-on): Update.
50749         * modules/spawn (Depends-on): Update.
50750         * modules/stdio (Depends-on): Update.
50751         * modules/stdlib (Depends-on): Update.
50752         * modules/string (Depends-on): Update.
50753         * modules/strings (Depends-on): Update.
50754         * modules/sys_file (Depends-on): Update.
50755         * modules/sys_ioctl (Depends-on): Update.
50756         * modules/sys_select (Depends-on): Update.
50757         * modules/sys_socket (Depends-on): Update.
50758         * modules/sys_stat (Depends-on): Update.
50759         * modules/sys_time (Depends-on): Update.
50760         * modules/sys_times (Depends-on): Update.
50761         * modules/sys_utsname (Depends-on): Update.
50762         * modules/sys_wait (Depends-on): Update.
50763         * modules/termios (Depends-on): Update.
50764         * modules/time (Depends-on): Update.
50765         * modules/unistd (Depends-on): Update.
50766         * modules/wchar (Depends-on): Update.
50767         * modules/wctype-h (Depends-on): Update.
50768         * MODULES.html.sh (Support for building libraries and executables):
50769         Update.
50771         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
50772         * modules/snippet/unused-parameter: Renamed from
50773         modules/unused-parameter.
50774         (Files, Makefile.am): Update.
50775         * build-aux/snippet/unused-parameter.h: Renamed from
50776         build-aux/unused-parameter.h.
50777         * modules/selinux-h (Depends-on): Update.
50778         * modules/unistr/base (Depends-on): Update.
50779         * MODULES.html.sh (Core language properties): Update.
50781         Rename module 'link-warning' to 'snippet/link-warning'.
50782         * modules/snippet/link-warning: Renamed from modules/link-warning.
50783         (Files, Makefile.am): Update.
50784         * build-aux/snippet/link-warning.h: Renamed from
50785         build-aux/link-warning.h.
50786         * MODULES.html.sh (Support for building libraries and executables):
50787         Update.
50789         Rename module 'c++defs' to 'snippet/c++defs'.
50790         * modules/snippet/c++defs: Renamed from modules/c++defs.
50791         (Files, Makefile.am): Update.
50792         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
50793         * modules/arpa_inet (Depends-on): Update.
50794         * modules/ctype (Depends-on): Update.
50795         * modules/dirent (Depends-on): Update.
50796         * modules/fcntl-h (Depends-on): Update.
50797         * modules/glob (Depends-on): Update.
50798         * modules/iconv-h (Depends-on): Update.
50799         * modules/langinfo (Depends-on): Update.
50800         * modules/locale (Depends-on): Update.
50801         * modules/math (Depends-on): Update.
50802         * modules/netdb (Depends-on): Update.
50803         * modules/poll-h (Depends-on): Update.
50804         * modules/pty (Depends-on): Update.
50805         * modules/search (Depends-on): Update.
50806         * modules/signal (Depends-on): Update.
50807         * modules/spawn (Depends-on): Update.
50808         * modules/stdio (Depends-on): Update.
50809         * modules/stdlib (Depends-on): Update.
50810         * modules/string (Depends-on): Update.
50811         * modules/strings (Depends-on): Update.
50812         * modules/sys_ioctl (Depends-on): Update.
50813         * modules/sys_select (Depends-on): Update.
50814         * modules/sys_socket (Depends-on): Update.
50815         * modules/sys_stat (Depends-on): Update.
50816         * modules/sys_time (Depends-on): Update.
50817         * modules/sys_wait (Depends-on): Update.
50818         * modules/termios (Depends-on): Update.
50819         * modules/time (Depends-on): Update.
50820         * modules/unistd (Depends-on): Update.
50821         * modules/wchar (Depends-on): Update.
50822         * modules/wctype-h (Depends-on): Update.
50824         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
50825         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
50826         (Files, Makefile.am): Update.
50827         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
50828         * modules/argv-iter (Depends-on): Update.
50829         * modules/arpa_inet (Depends-on): Update.
50830         * modules/dirent (Depends-on): Update.
50831         * modules/fcntl-h (Depends-on): Update.
50832         * modules/fnmatch (Depends-on): Update.
50833         * modules/getopt-posix (Depends-on): Update.
50834         * modules/glob (Depends-on): Update.
50835         * modules/iconv-h (Depends-on): Update.
50836         * modules/inttypes-incomplete (Depends-on): Update.
50837         * modules/locale (Depends-on): Update.
50838         * modules/math (Depends-on): Update.
50839         * modules/netdb (Depends-on): Update.
50840         * modules/search (Depends-on): Update.
50841         * modules/signal (Depends-on): Update.
50842         * modules/spawn (Depends-on): Update.
50843         * modules/stdio (Depends-on): Update.
50844         * modules/stdlib (Depends-on): Update.
50845         * modules/string (Depends-on): Update.
50846         * modules/strings (Depends-on): Update.
50847         * modules/sys_socket (Depends-on): Update.
50848         * modules/sys_stat (Depends-on): Update.
50849         * modules/sys_time (Depends-on): Update.
50850         * modules/sys_times (Depends-on): Update.
50851         * modules/sys_utsname (Depends-on): Update.
50852         * modules/time (Depends-on): Update.
50853         * modules/unistd (Depends-on): Update.
50854         * modules/wchar (Depends-on): Update.
50855         * MODULES.html.sh (Support for building libraries and executables):
50856         Update.
50858 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
50860         Improvements on _Noreturn and related modules.
50862         modules/_Exit-tests: test _Noreturn too
50863         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
50864         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
50865         (main): Use them.
50867         stdnoreturn, stdnoreturn-tests: remove modules
50868         They're not needed here and a bit premature for use elsewhere.  See
50869         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
50870         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
50871         * tests/test-stdnoreturn.c: Remove files.
50872         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
50873         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
50874         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
50875         and using noreturn.
50876         * modules/openat, modules/sigpipe-die, modules/xalloc:
50877         * modules/xmemdup0, modules/xstrtol:
50878         Remove dependency on stdnoreturn.
50880         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
50881         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
50882         Reparenthesize to avoid GCC warning.
50883         Support Microsoft's syntax.
50884         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
50886         _Noreturn-tests: remove module
50887         * modules/_Noreturn-tests: Remove.
50888         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
50889         * tests/test-_Noreturn.c: Remove.
50890         * tests/test-stdnoreturn.c: Merge from the old
50891         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
50893 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
50895         _Noreturn, stdnoreturn, and related modules.
50897         * top/maint.mk: Adjust to new noreturn support.
50898         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
50899         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
50901         xalloc: use stdnoreturn.h
50902         * lib/xalloc.h: Include <stdnoreturn.h>.
50903         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50904         * modules/xalloc (Depends-on): Add stdnoreturn.
50906         xstrtol: use stdnoreturn.h
50907         * lib/xstrtol.h: Include <stdnoreturn.h>.
50908         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50909         * modules/xstrtol (Depends-on): Add stdnoreturn.
50911         xmemdup0: use stdnoreturn.h
50912         * lib/xmemdup0.h: Include <stdnoreturn.h>.
50913         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50914         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
50916         sigpipe-die: use stdnoreturn.h
50917         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
50918         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50919         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
50921         openat: use stdnoreturn.h
50922         * lib/openat.h: Include <stdnoreturn.h>.
50923         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50924         * modules/openat (Depends-on): Add stdnoreturn.
50926         * lib/openat-die.c (openat_save_fail): Modernize comment.
50928         * lib/xalloc-die.c (xalloc_die): Modernize comment.
50930         * lib/glthread/thread.h: Modernize comment.
50932         obstack: use _Noreturn
50933         * lib/obstack.c (__attribute__): Remove macro.
50934         (print_and_abort): Use _Noreturn.
50936         c-stack: use _Noreturn
50937         * lib/c-stack.c (die, overflow_handler, segv_handler):
50938         Use _Noreturn rather than __attribute__((noreturn)).
50940         argmatch-tests, exclude_tests: use _Noreturn
50941         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
50942         Remove.
50943         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
50945         stdlib: use _Noreturn
50946         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
50947         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
50948         * modules/stdlib (Depends-on): Add _Noreturn.
50949         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
50951         stdnoreturn-tests: new module
50952         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
50954         stdnoreturn: new module
50955         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
50956         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
50958         _Noreturn-tests: new module
50959         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
50961         _Noreturn: new module
50962         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
50963         New section, mentioning it.
50964         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
50966         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
50968 2011-07-11  Eric Blake  <eblake@redhat.com>
50970         ffs: new module
50971         * modules/ffs: New file.
50972         * m4/ffs.m4: Likewise.
50973         * lib/ffs.c: Likewise.
50974         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
50975         * modules/strings (Makefile.am): Substitute witness.
50976         (Depends-on): Add c++defs.
50977         * lib/strings.in.h (ffs): Declare.
50978         * modules/ffs-tests: New test file.
50979         * tests/test-ffs.c: Test new module.
50980         * MODULES.html.sh (Integer arithmetic functions): Mention it.
50981         * doc/posix-functions/ffs.texi (ffs): Likewise.
50983         regex: avoid compiler warning
50984         * lib/regex.c (includes): Include <strings.h>, for use of
50985         strcasecmp in regcomp.c.
50986         Reported by Joachim Schmitz.
50988 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
50990         stdint: respect system's intmax_t if INTMAX_MAX
50991         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
50992         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
50993         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
50994         long but int64_t is long long, and where we will clash with the
50995         system intmax_t if we override it.  See
50996         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
50997         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
50998         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
50999         similarly for UINTMAX_C.
51001 2011-07-08  Bruno Haible  <bruno@clisp.org>
51003         pthread_sigmask tests: Avoid a compiler warning.
51004         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
51005         non-zero.
51007         sigprocmask tests: A better way to avoid a compiler warning.
51008         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
51009         (main): Complain if system() returns non-zero.
51010         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
51012 2011-07-08  Bruno Haible  <bruno@clisp.org>
51014         pthread_sigmask: Work around IRIX bug.
51015         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
51016         bug.
51017         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
51018         there may be unblocked pending signals.
51019         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
51021 2011-07-08  Bruno Haible  <bruno@clisp.org>
51023         pthread_sigmask: Work around Cygwin bug.
51024         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
51025         bug.
51026         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
51027         the system's pthread_sigmask function.
51028         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
51030 2011-07-08  Bruno Haible  <bruno@clisp.org>
51032         pthread_sigmask: Work around bug in single-threaded implementation.
51033         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
51034         FreeBSD, HP-UX, Solaris bug.
51035         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
51036         * lib/pthread_sigmask.c: Include <stddef.h>.
51037         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
51038         the system's pthread_sigmask function.
51039         * modules/pthread_sigmask (configure.ac): Invoke
51040         gl_PREREQ_PTHREAD_SIGMASK.
51041         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
51042         HP-UX, Solaris.
51044 2011-07-08  Eric Blake  <eblake@redhat.com>
51046         test-sigprocmask: avoid compiler warning
51047         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
51048         * tests/test-sigprocmask.c (main): Use it to silence warning.
51049         Reported by Jim Meyering.
51051         test-snprintf: avoid compiler warning
51052         * tests/test-snprintf.c (main): Avoid shadowed declaration.
51053         * tests/test-vsnprintf.c (main): Likewise.
51054         Reported by Jim Meyering.
51056 2011-07-08  Bruno Haible  <bruno@clisp.org>
51058         Tests for module 'pthread_sigmask'.
51059         * modules/pthread_sigmask-tests: New file.
51060         * tests/test-pthread_sigmask1.c: New file, based on
51061         tests/test-sigprocmask.c.
51062         * tests/test-pthread_sigmask2.c: New file.
51064 2011-07-08  Jim Meyering  <meyering@redhat.com>
51066         test-getopt.h: avoid warning about an unused variable
51067         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
51069 2011-07-07  Jim Meyering  <meyering@redhat.com>
51071         maint: reduce list of files exempt from sc_prohibit_leading_TABs
51072         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
51073         now that it no longer contains leading TABs.
51074         Remove unused "url=FIXME" statement.
51076 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
51078         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
51079         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
51080         When gl_THREADLIB is not in use, assume that the POSIX sematics
51081         are desired.  This is better for Emacs, which uses POSIX semantics
51082         on GNUish and/or POSIXish platforms, and does not use threads at
51083         all otherwise.
51085         pthread_sigmask: fix typo when testing for libraries
51086         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
51087         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
51089 2011-07-08  Eric Blake  <eblake@redhat.com>
51091         fts: introduce FTS_NOATIME
51092         * lib/fts_.h (FTS_NOATIME): New bit flag.
51093         (FTS_OPTIONMASK): Adjust.
51094         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
51095         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
51097 2011-07-08  Bruno Haible  <bruno@clisp.org>
51099         Tests for module 'thread'.
51100         * modules/thread-tests: New file.
51101         * tests/test-thread_self.c: New file.
51102         * tests/test-thread_create.cc: New file.
51104 2011-07-08  Bruno Haible  <bruno@clisp.org>
51106         thread: Avoid gcc warnings when using gl_thread_self().
51107         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
51108         'void *'.
51109         (gl_thread_self_pointer): Update.
51111 2011-07-07  Bruno Haible  <bruno@clisp.org>
51113         signal-c++-tests: Check declaration of pthread_sigmask.
51114         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
51115         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
51116         $(LIB_PTHREAD_SIGMASK).
51118 2011-07-07  Bruno Haible  <bruno@clisp.org>
51120         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
51121         * lib/signal.in.h (pthread_sigmask): Override if
51122         REPLACE_PTHREAD_SIGMASK is 1.
51123         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51124         REPLACE_PTHREAD_SIGMASK.
51125         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
51126         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
51127         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
51128         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
51129         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
51131 2011-07-07  Bruno Haible  <bruno@clisp.org>
51133         pthread_sigmask: Ensure declaration in <signal.h>.
51134         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
51135         include <pthread.h>.
51136         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
51137         problem.
51139 2011-07-07  Bruno Haible  <bruno@clisp.org>
51141         pthread_sigmask: Document the module.
51142         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
51144 2011-07-07  Bruno Haible  <bruno@clisp.org>
51146         pthread_sigmask: Follow gnulib conventions.
51147         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
51148         gl_PTHREAD_SIGMASK.
51149         * modules/pthread_sigmask (configure.ac): Update.
51151 2011-07-07  Bruno Haible  <bruno@clisp.org>
51153         pthread_sigmask: Make declaration C++ safe.
51154         * lib/signal.in.h: In two special conditions, just do an #include_next.
51155         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
51156         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
51157         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51158         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
51159         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
51160         not REPLACE_PTHREAD_MASK.
51161         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
51162         not REPLACE_PTHREAD_MASK.
51163         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
51165 2011-07-07  Bruno Haible  <bruno@clisp.org>
51167         pthread_sigmask: Fix return value.
51168         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
51169         * lib/pthread_sigmask.c: New file.
51170         * modules/pthread_sigmask (Files): Add it.
51171         (configure.ac): Invoke AC_LIBOBJ.
51173 2011-07-07  Eric Blake  <eblake@redhat.com>
51175         getopt: more portable argv creation
51176         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
51177         const, use char arrays rather than strings.
51178         Suggested by Paul Eggert.
51180 2011-07-07  Bruno Haible  <bruno@clisp.org>
51182         Tests for module 'sigprocmask'.
51183         * modules/sigprocmask-tests: New file.
51184         * tests/test-sigprocmask.c: New file.
51186 2011-07-07  Bruno Haible  <bruno@clisp.org>
51188         float tests: Tweak.
51189         * tests/test-float.c (main): Tweak skip message.
51191 2011-07-07  Eric Blake  <eblake@redhat.com>
51193         getopt: avoid compiler warning during configure
51194         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
51195         assigning string literals to non-const pointer.
51197         getopt-gnu: avoid crash in glibc getopt
51198         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
51199         * tests/test-getopt.h (test_getopt): Enhance test.
51200         * tests/test-getopt_long.h (test_getopt_long): Likewise.
51201         * doc/posix-functions/getopt.texi (getopt): Document it.
51202         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
51203         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
51204         Likewise.
51206 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
51208         getopt: handle W; without long options in getopt [BZ #12922]
51209         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
51210         but no long options are defined, just return 'W'.
51212 2011-07-07  Bruno Haible  <bruno@clisp.org>
51214         Avoid literal tabs.
51215         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
51216         variable containing a tab instead of a literal tab.
51217         Reported by Jim Meyering.
51219 2011-07-07  Bruno Haible  <bruno@clisp.org>
51221         Comments.
51222         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
51224 2011-07-06  Bruno Haible  <bruno@clisp.org>
51226         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
51227         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
51228         <winsock2.h>.
51229         (rpl_fd_isset, FD_ISSET): New definitions, copied from
51230         lib/sys_socket.in.h.
51231         (close, gethostname): Hide declarations from <winsock2.h>.
51232         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
51233         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
51234         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
51235         (select): Don't override if gnulib's <sys/select.h> was already
51236         included.
51237         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
51238         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
51239         setsockopt, shutdown, select): Tweak indentation.
51241 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51243         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
51244         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
51245         in an application that does not use the sys_select module.
51247 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
51249         poll: do not return 0 on timeout=-1
51250         * lib/poll.c: Loop with yield if no events occurred.
51252 2011-07-06  Eric Blake  <eblake@redhat.com>
51254         pthread_sigmask: always replace when not using pthread
51255         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
51256         replacement when using some threading other than pthread.  Fix
51257         logic bug.
51259 2011-07-06  Bruno Haible  <bruno@clisp.org>
51261         Comments.
51262         * m4/printf.m4: Update comments about mingw.
51264 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51266         sys_select: define sigset_t more portably
51267         * lib/sys_select.in.h: Always include <sys/types.h>, since
51268         we now need sigset_t and mingw defines it there.
51269         Include <signal.h> before split inclusion guard, to avoid
51270         mishaps on Solaris, whose <signal.h> eventually includes us.
51271         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
51272         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
51273         which come from ...
51274         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
51275         gl_CHECK_TYPE_SIGSET_T.
51276         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
51277         does the real work.
51278         * modules/sys_select (Depends-on): Add 'signal'.
51280         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
51281         Suggested by Bruno Haible.
51283         pselect: Use pthread_sigmask, not sigprocmask.
51284         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
51285         multithreaded apps better than sigprocmask does.
51286         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
51287         sigprocmask directly.
51289 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
51291         * lib/pselect.c (pselect): Use plain name, without "rpl_".
51292         Don't #undef,  since we don't need any underlying pselect.
51293         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
51294         (Depends-on): Add select.
51295         (Link): Add $(LIBSOCKET).
51296         These changes suggested by Bruno Haible.
51298         pselect: document better
51299         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
51300         * doc/posix-functions/pselect.texi (pselect): Document new module.
51302         pthread_sigmask: new module
51303         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
51304         * doc/posix-functions/pthread_sigmask.texi: Document new module.
51305         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
51306         This is done only as a macro; I don't know how well that'll
51307         work for C++.  Move <sys/types.h> include before the include_next,
51308         to avoid mishap on Solaris.
51309         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
51310         * modules/signal (Makefile.am): Substitute the check's results.
51311         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
51313         test-pselect: new module
51314         * modules/pselect-tests, tests/test-pselect.c: New files.
51315         * tests/test-select.c, tests/test-sys_select-c++.cc:
51316         If TEST_PSELECT is defined, test pselect instead of testing select.
51318         * tests/test-sys_select.c (sigset_t): Test for it, too.
51319         Suggested by Bruno Haible.
51321 2011-07-05  Eric Blake  <eblake@redhat.com>
51323         snprintf: guarantee %1$d, for libintl
51324         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
51325         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
51326         * doc/posix-functions/snprintf.texi (snprintf): Update.
51327         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
51328         * tests/test-snprintf.c (main): Enhance test.
51329         * tests/test-vsnprintf.c (main): Likewise.
51331 2011-07-05  Jim Meyering  <meyering@redhat.com>
51333         maint: exempt stdio-read.c and stdio-write.c from the cppi check
51334         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
51335         per Bruno's request, to accommodate this idiom (no space after "#")
51336         even when the function is inside an #if block:
51337         char *
51338         gets (char *s)
51339         #undef gets
51340         {
51341           ...
51342         }
51344 2011-07-04  Jim Meyering  <meyering@redhat.com>
51346         maint: indent with spaces, not TABs, and add a rule to check this
51347         * tests/test-userspec.c: Indent with spaces, not TABs.
51348         * tests/test-argp.c: Likewise.
51349         * tests/test-c-stack2.sh: Likewise.
51350         * tests/test-parse-duration.sh: Likewise
51351         * m4/strtod.m4: Likewise.
51352         * m4/alloca.m4: Likewise.
51353         * m4/pselect.m4: Likewise.
51354         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
51356 2011-07-03  Jim Meyering  <meyering@redhat.com>
51358         maint.mk: correct omissions in prohibit_argmatch_without_use check
51359         This rule would mistakenly report that argmatch.h is included without
51360         use even when both the argmatch and invalid_arg macro were used.
51361         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
51362         of argmatch and invalid_arg.
51364 2011-07-03  Bruno Haible  <bruno@clisp.org>
51366         Comments about EINTR.
51367         * lib/safe-read.h: Explain the purpose of this module.
51368         * lib/safe-write.h: Likewise.
51369         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
51370         module.
51371         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
51372         module.
51373         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51375 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
51377         xnanosleep: Rewrite to use new dtotimespec module.
51378         It has the conversion code that used to be in xnanosleep.
51379         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
51380         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
51381         (TIME_T_MAX): Remove.
51382         (xnanosleep): Rewrite in terms of dtotimespec.
51383         * modules/xnanosleep (Depends-on): Add dtotimespec.
51384         Remove intprops, stdbool.
51386         timespec-add, timespec-sub: new modules
51387         * lib/timespec.h (timespec_add, timespec_sub): New decls.
51388         * lib/timespec-add.c, lib/timespec-sub.c:
51389         * modules/timespec-add, modules/timespec-sub: New files.
51391         dtotimespec: new module
51392         * lib/timespec.h (dtotimespec): New decl.
51393         * lib/dtotimespec.c, modules/dtotimespec: New files.
51395         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
51397         pselect: new module
51398         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
51399         (pselect): New decls.
51400         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
51401         since the standard pselect decl uses 'restrict'.
51402         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
51403         HAVE_PSELECT, REPLACE_PSELECT.
51404         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
51405         HAVE_PSELECT, REPLACE_PSELECT.
51406         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
51408         sys_select: don't depend on sys_socket
51409         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
51410         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
51411         This fix works on GNU and GNU-like platforms, but has not been tested
51412         on native Windows.
51413         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
51414         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
51415         gl_HEADER_SYS_SOCKET.
51416         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
51417         gl_PREREQ_SYS_H_WINSOCK2.
51419 2011-06-29  Eric Blake  <eblake@redhat.com>
51421         pipe2: fix C89 compile problem
51422         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
51423         Reported by Bruno Haible.
51425         pipe, pipe2: don't corrupt fd on error
51426         * lib/pipe.c (pipe): Leave fd unchanged on error.
51427         * lib/pipe2.c (pipe2): Likewise.
51428         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
51429         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
51431 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
51433         mmap-anon: do not use regular expressions inadvertently
51434         * m4/mmap-anon.m4: Remove trailing period from strings sought
51435         in the output.
51437 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
51439         nanosleep: fix integer overflow problem
51440         * lib/nanosleep.c (my_usleep): Don't assume signed integer
51441         arithmetic wraps around on overflow.
51443         nanosleep: simplify carrying
51444         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
51445         first call to the underyling nanosleep, not for the last one.
51446         This doesn't fix any bugs, but it simplifies the computation of
51447         the remaining delay.  Found while auditing integer overflow issues.
51449         dup2: remove test for existence of fcntl
51450         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
51451         "#if HAVE_FCNTL", in the configure-time test program.
51452         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
51453         and therefore speeds up "configure" a bit.  Found while
51454         adding the dup2 module to Emacs.
51456 2011-06-24  Eric Blake  <eblake@redhat.com>
51458         maint.mk: enhance useless header checks
51459         * top/maint.mk (_sc_header_without_use): Check both include
51460         styles.
51461         (sc_prohibit_assert_without_use)
51462         (sc_prohibit_close_stream_without_use)
51463         (sc_prohibit_getopt_without_use)
51464         (sc_prohibit_quotearg_without_use)
51465         (sc_prohibit_quote_without_use)
51466         (sc_prohibit_long_options_without_use)
51467         (sc_prohibit_inttostr_without_use)
51468         (sc_prohibit_ignore_value_without_use)
51469         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
51470         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
51471         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
51472         (sc_prohibit_hash_pjw_without_use)
51473         (sc_prohibit_safe_read_without_use)
51474         (sc_prohibit_argmatch_without_use)
51475         (sc_prohibit_canonicalize_without_use)
51476         (sc_prohibit_root_dev_ino_without_use)
51477         (sc_prohibit_openat_without_use)
51478         (sc_prohibit_c_ctype_without_use)
51479         (sc_prohibit_signal_without_use)
51480         (sc_prohibit_stdio--_without_use)
51481         (sc_prohibit_stdio-safer_without_use)
51482         (sc_prohibit_strings_without_use)
51483         (sc_prohibit_intprops_without_use)
51484         (sc_prohibit_stddef_without_use)
51485         (sc_prohibit_xfreopen_without_use): Update clients.
51487 2011-06-24  Jim Meyering  <meyering@redhat.com>
51489         syntax-check: keep one maint.mk rule in sync with its header
51490         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
51491         of the bug Eric has just fixed, with today's commit 25e4c2ec.
51492         I prefer to avoid temporary files here, so use <(...), but that
51493         is not supported by /bin/sh, so...
51494         (SHELL): Define to /bin/bash.
51496 2011-06-24  Eric Blake  <eblake@redhat.com>
51498         maint.mk: update sc_prohibit_intprops_without_use
51499         * top/maint.mk (_intprops_names): Match recent changes.
51501 2011-06-24  Bruno Haible  <bruno@clisp.org>
51503         strerror-override: No-op tweak.
51504         * lib/strerror-override.h (strerror_override): Reorder conditions,
51505         for consistency with lib/strerror-override.c.
51507 2011-06-23  Eric Blake  <eblake@redhat.com>
51509         maint.mk: test further PATH_MAX issues
51510         * top/maint.mk (sc_prohibit_path_max_array): Rename...
51511         (sc_prohibit_path_max_allocation): ...and also test alloca.
51512         Suggested by Jim Meyering.
51514 2011-06-22  Eric Blake  <eblake@redhat.com>
51516         maint.mk: add syntax-check to avoid char[PATH_MAX]
51517         * top/maint.mk (sc_prohibit_path_max_array): New rule.
51519         stat: be robust to PATH_MAX definition
51520         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
51521         * modules/stat (Depends-on): Add verify.
51523         link: work around IRIX bug
51524         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
51525         * lib/link.c (rpl_link): Work around it.
51526         * tests/test-link.h (test_link): Enhance test.
51527         * doc/posix-functions/link.texi (link): Document the bug.
51529         getopt: silence clang warning
51530         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
51531         dereference.
51532         Reported by Gustavo Martin Domato.
51534 2011-06-22  Jim Meyering  <meyering@redhat.com>
51536         bootstrap: do not insert a blank line into each .gitignore file
51537         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
51539 2011-06-21  Eric Blake  <eblake@redhat.com>
51541         perror: test for output mismatch
51542         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
51543         perror on IRIX.
51545         strerror_r: fix OpenBSD behavior on out-of-range
51546         * lib/strerror_r.c (strerror_r): Always use maximal string.
51547         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
51549         strerror_r: fix OpenBSD behavior on 0
51550         * lib/strerror-override.c (strerror_override): Also override 0
51551         when needed.
51552         * lib/strerror-override.h (strerror_override): Likewise.
51553         * lib/strerror.c (strerror): Simplify, now that 0 override is done
51554         earlier.
51555         * lib/strerror_r.c (strerror_r): Likewise.
51556         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
51557         behavior...
51558         (gl_FUNC_STRERROR_0): ...into new macro.
51559         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
51560         is overridden.
51561         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
51562         * modules/strerror-override (Files): Add strerror.m4.
51563         (configure.ac): Also provide override for 0 when needed.
51564         * doc/posix-functions/strerror.texi (strerror): Document this.
51565         * doc/posix-functions/perror.texi (perror): Likewise.
51567         perror: adjust array size
51568         * modules/perror (Depends-on): Add strerror-override.
51569         * lib/perror.c (perror): Use it to avoid magic number.
51571         strerror-override: reduce size
51572         * lib/strerror-override.c (strerror_override): Use fewer lines.
51574 2011-06-20  Bruno Haible  <bruno@clisp.org>
51576         pathmax: Ensure correct value for PATH_MAX on HP-UX.
51577         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
51579 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
51581         alloca: port to compilers that can optimize like GCC 4.6.0
51582         * lib/alloca.c (find_stack_direction): New signature, taken from
51583         Autoconf git.  This works with GCC 4.6.0.  This code should never
51584         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
51585         be used with other compilers that optimize as well as GCC 4.6.0 does.
51586         (alloca): Adjust to new signature.
51587         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
51588         New macro, which patches Autoconf in a similar way.
51590         c-stack: stop worrying about stack direction
51591         * lib/c-stack.c (find_stack_direction): Remove.
51592         (segv_handler): Don't worry about stack direction growth, as it's
51593         too much of a pain to configure this correctly, given how compilers
51594         are optimizing-away our stack-growth detection code.  Instead, assume
51595         that any access to just before or just after the stack is OK.
51596         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
51597         Don't require AC_FUNC_ALLOCA; no longer needed.
51599 2011-06-20  Eric Blake  <eblake@redhat.com>
51601         test-stat: don't allocate PATH_MAX bytes
51602         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
51603         PATH_MAX-sized buffer.
51604         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
51605         * modules/stat-tests (Depends-on): Likewise.
51606         * tests/test-fstatat.c (includes): Drop pathmax.h.
51607         * tests/test-stat.c (includes): Likewise.
51608         Reported by Bruno Haible.
51610 2011-06-20  Bruno Haible  <bruno@clisp.org>
51612         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
51613         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
51614         * lib/float.c: New file.
51615         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
51616         REPLACE_FLOAT_LDBL.
51617         * modules/float (Files): Add lib/float.c.
51618         (configure.ac): Invoke AC_LIBOBJ.
51619         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
51621 2011-06-20  Bruno Haible  <bruno@clisp.org>
51623         Tests for module 'float'.
51624         * modules/float-tests: New file.
51625         * tests/test-float.c: New file.
51627 2011-06-19  Bruno Haible  <bruno@clisp.org>
51629         isinf: Coding style.
51630         * lib/isinf.c: Use GNU coding style.
51632 2011-06-19  Bruno Haible  <bruno@clisp.org>
51634         linkat test: Avoid test failure on AIX 7.1.
51635         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
51636         * tests/test-link.h (test_link): Likewise.
51638 2011-06-19  Bruno Haible  <bruno@clisp.org>
51640         pread test: Avoid test failure on OpenBSD 4.9.
51641         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
51643 2011-06-19  Bruno Haible  <bruno@clisp.org>
51645         sprintf-posix: Fix test failure on AIX 7.1.
51646         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
51647         * doc/posix-functions/dprintf.texi: Mention limited precision problem
51648         on AIX.
51649         * doc/posix-functions/fprintf.texi: Likewise.
51650         * doc/posix-functions/printf.texi: Likewise.
51651         * doc/posix-functions/snprintf.texi: Likewise.
51652         * doc/posix-functions/sprintf.texi: Likewise.
51653         * doc/posix-functions/vdprintf.texi: Likewise.
51654         * doc/posix-functions/vfprintf.texi: Likewise.
51655         * doc/posix-functions/vprintf.texi: Likewise.
51656         * doc/posix-functions/vsnprintf.texi: Likewise.
51657         * doc/posix-functions/vsprintf.texi: Likewise.
51659 2011-06-19  Bruno Haible  <bruno@clisp.org>
51661         roundl-ieee: Fix test failure on AIX 7.1.
51662         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
51663         * doc/posix-functions/roundl.texi: Mention problem with negative
51664         arguments.
51666 2011-06-19  Bruno Haible  <bruno@clisp.org>
51668         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
51669         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
51670         * doc/posix-functions/round.texi: Mention problem with negative
51671         arguments.
51672         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
51674 2011-06-19  Bruno Haible  <bruno@clisp.org>
51676         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
51677         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
51678         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
51679         * doc/posix-functions/roundf.texi: Mention problem with negative
51680         arguments.
51681         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
51683 2011-06-19  Bruno Haible  <bruno@clisp.org>
51685         ceilf-ieee: Work around bug on MacOS X 10.5.
51686         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
51688         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
51689         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
51690         IEEE compliant, avoid compiler optimizations.
51691         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
51692         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
51693         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
51694         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
51695         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
51696         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
51697         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
51698         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
51699         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
51700         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
51702 2011-06-19  Bruno Haible  <bruno@clisp.org>
51704         ceilf-ieee: Work around bug on AIX 7.1.
51705         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
51706         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
51708 2011-06-19  Bruno Haible  <bruno@clisp.org>
51710         ceil-ieee: Work around bug on AIX 7.1.
51711         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
51712         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
51714 2011-06-18  Bruno Haible  <bruno@clisp.org>
51716         fsync test: Avoid test failure on MacOS X and AIX.
51717         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
51718         EINVAL.
51720 2011-06-18  Bruno Haible  <bruno@clisp.org>
51722         openat, fdopendir tests: Fix link errors.
51723         * modules/openat-tests (Depends-on): Add progname.
51724         * modules/fdopendir-tests (Depends-on): Likewise.
51725         * tests/test-fchownat.c: Include progname.h.
51726         (main): Call set_program_name.
51727         * tests/test-fstatat.c: Include progname.h.
51728         (main): Call set_program_name.
51729         * tests/test-mkdirat.c: Include progname.h.
51730         (main): Call set_program_name.
51731         * tests/test-openat.c: Include progname.h.
51732         (main): Call set_program_name.
51733         * tests/test-unlinkat.c: Include progname.h.
51734         (main): Call set_program_name.
51735         * tests/test-fdopendir.c: Include progname.h.
51736         (main): Call set_program_name.
51738 2011-06-18  Bruno Haible  <bruno@clisp.org>
51740         Doc update.
51741         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
51742         HP-UX.
51743         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
51745 2011-06-18  Bruno Haible  <bruno@clisp.org>
51747         getcwd tests: Avoid compilation error on HP-UX 11.31.
51748         * modules/getcwd-tests (Depends-on): Add pathmax.
51749         * tests/test-getcwd.c: Include pathmax.h.
51751 2011-06-18  Bruno Haible  <bruno@clisp.org>
51753         isfinite, isinf: Fix link error on AIX 6 and 7.
51754         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
51755         needed, also test the macro with a 'float' argument.
51756         * m4/isinf.m4 (gl_ISINF): Likewise.
51758 2011-06-18  Bruno Haible  <bruno@clisp.org>
51760         getloadavg: Don't clobber LIBS. Regression from previous commit.
51761         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
51762         AC_CHECK_LIB from here...
51763         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
51764         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
51765         gl_func_getloadavg_done.
51766         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51768 2011-06-18  Bruno Haible  <bruno@clisp.org>
51770         clean-temp: Improve documentation.
51771         * lib/clean-temp.h: Explain better how to use this module.
51772         Reported by John Darrington <john@darrington.wattle.id.au>.
51774 2011-06-17  Bruno Haible  <bruno@clisp.org>
51776         pread, pwrite: Avoid cc warning on AIX.
51777         * lib/unistd.in.h (pread): Undefine before defining as a macro.
51778         (pwrite): Likewise.
51780 2011-06-17  Bruno Haible  <bruno@clisp.org>
51782         spawn-pipe tests: Fix link error.
51783         * tests/test-spawn-pipe-child.c: Undefine fprintf.
51784         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51786 2011-06-17  Bruno Haible  <bruno@clisp.org>
51788         Tests: Remove unnecessary dependency.
51789         * modules/canonicalize-tests (Depends-on): Remove progname.
51790         * modules/chown-tests (Depends-on): Likewise.
51791         * modules/dirname-tests (Depends-on): Likewise.
51792         * modules/fdopendir-tests (Depends-on): Likewise.
51793         * modules/fdutimensat-tests (Depends-on): Likewise.
51794         * modules/hash-tests (Depends-on): Likewise.
51795         * modules/lchown-tests (Depends-on): Likewise.
51796         * modules/linkat-tests (Depends-on): Likewise.
51797         * modules/renameat-tests (Depends-on): Likewise.
51798         * modules/spawn-pipe-tests (Depends-on): Likewise.
51799         * modules/utimensat-tests (Depends-on): Likewise.
51801 2011-06-17  Bruno Haible  <bruno@clisp.org>
51803         spawn-pipe tests: Fix link error.
51804         * tests/test-spawn-pipe-child.c: Undefine fflush.
51806 2011-06-17  Bruno Haible  <bruno@clisp.org>
51808         Fix tests link errors.
51809         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
51810         * modules/chown-tests (Makefile.am): Don't link test-chown with
51811         LIBINTL.
51812         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
51813         LIBINTL.
51814         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
51815         LIBINTL.
51816         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
51817         LIBINTL.
51819 2011-06-16  Bruno Haible  <bruno@clisp.org>
51821         crypto/gc-sha1: Fix recent regression.
51822         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
51823         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
51825         crypto/gc-md5: Fix recent regression.
51826         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
51828         crypto/gc-md4: Fix recent regression.
51829         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
51830         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
51832         crypto/gc-arctwo: Fix recent regression.
51833         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
51834         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
51836         crypto/gc-rijndael: Fix recent regression.
51837         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
51838         (configure.ac): Invoke AC_LIBOBJ here.
51839         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
51840         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51842         crypto/gc-hmac-sha1: Fix recent regression.
51843         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
51844         (configure.ac): Invoke AC_LIBOBJ here.
51845         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
51846         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51848         crypto/gc-hmac-md5: Fix recent regression.
51849         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
51850         (configure.ac): Invoke AC_LIBOBJ here.
51851         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
51852         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51854         crypto/gc-des: Fix recent regression.
51855         * modules/crypto/gc-des (Files): Remove m4/des.m4.
51856         (configure.ac): Invoke AC_LIBOBJ here.
51857         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
51858         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51860         crypto/gc-arcfour: Fix recent regression.
51861         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
51862         (configure.ac): Invoke AC_LIBOBJ here.
51863         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
51864         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51866 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
51868         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
51869         After the 2011-05-21 change, this macro requires
51870         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
51871         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
51873 2011-06-16  Bruno Haible  <bruno@clisp.org>
51875         fprintftime: Move AC_LIBOBJ invocations to module description.
51876         * m4/fprintftime.m4: Remove file.
51877         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
51878         (configure.ac): Remove gl_FPRINTFTIME call.
51879         (Makefile.am): Augment lib_SOURCES.
51880         Reported by Jim Meyering.
51882 2011-06-16  Bruno Haible  <bruno@clisp.org>
51884         tmpfile-safer: Finish 2011-05-23 commit.
51885         * m4/stdio-safer.m4: Really remove file.
51886         Reported by Jim Meyering.
51888 2011-06-16  Bruno Haible  <bruno@clisp.org>
51890         syntax-check: Fix typo.
51891         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
51892         printf-posix.m4.
51893         Reported by Jim Meyering.
51895 2011-06-13  Jim Meyering  <meyering@redhat.com>
51897         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
51898         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
51900 2011-05-23  Bruno Haible  <bruno@clisp.org>
51902         yesno: Move AC_LIBOBJ invocations to module description.
51903         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
51904         * modules/yesno (Makefile.am): Augment lib_SOURCES.
51906 2011-05-23  Bruno Haible  <bruno@clisp.org>
51908         xstrtol: Move AC_LIBOBJ invocations to module description.
51909         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
51910         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
51912 2011-05-23  Bruno Haible  <bruno@clisp.org>
51914         xstrtold: Move AC_LIBOBJ invocations to module description.
51915         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
51916         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
51918 2011-05-23  Bruno Haible  <bruno@clisp.org>
51920         xstrtod: Move AC_LIBOBJ invocations to module description.
51921         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
51922         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
51924 2011-05-23  Bruno Haible  <bruno@clisp.org>
51926         xnanosleep: Move AC_LIBOBJ invocations to module description.
51927         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
51928         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
51930 2011-05-23  Bruno Haible  <bruno@clisp.org>
51932         xgetcwd: Move AC_LIBOBJ invocations to module description.
51933         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
51934         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
51936 2011-05-23  Bruno Haible  <bruno@clisp.org>
51938         xalloc: Move AC_LIBOBJ invocations to module description.
51939         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
51940         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
51942 2011-05-23  Bruno Haible  <bruno@clisp.org>
51944         write-any-file: Move AC_LIBOBJ invocations to module description.
51945         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
51946         invocation.
51947         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
51949 2011-05-23  Bruno Haible  <bruno@clisp.org>
51951         utimens: Move AC_LIBOBJ invocations to module description.
51952         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
51953         * modules/utimens (Makefile.am): Augment lib_SOURCES.
51955 2011-05-23  Bruno Haible  <bruno@clisp.org>
51957         utimecmp: Move AC_LIBOBJ invocations to module description.
51958         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
51959         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
51961 2011-05-23  Bruno Haible  <bruno@clisp.org>
51963         userspec: Move AC_LIBOBJ invocations to module description.
51964         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
51965         * modules/userspec (Makefile.am): Augment lib_SOURCES.
51967 2011-05-23  Bruno Haible  <bruno@clisp.org>
51969         unlinkdir: Move AC_LIBOBJ invocations to module description.
51970         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
51971         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
51973 2011-05-23  Bruno Haible  <bruno@clisp.org>
51975         unistd-safer: Move AC_LIBOBJ invocations to module description.
51976         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
51977         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
51979 2011-05-23  Bruno Haible  <bruno@clisp.org>
51981         tempname: Move AC_LIBOBJ invocations to module description.
51982         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
51983         * modules/tempname (Makefile.am): Augment lib_SOURCES.
51985 2011-05-23  Bruno Haible  <bruno@clisp.org>
51987         strftime: Move AC_LIBOBJ invocations to module description.
51988         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
51989         * modules/strftime (Makefile.am): Augment lib_SOURCES.
51991 2011-05-23  Bruno Haible  <bruno@clisp.org>
51993         stdlib-safer: Move AC_LIBOBJ invocations to module description.
51994         * m4/stdlib-safer.m4: Remove file.
51995         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
51996         (configure.ac): Remove gl_STDLIB_SAFER call.
51997         (Makefile.am): Augment lib_SOURCES.
51999 2011-05-23  Bruno Haible  <bruno@clisp.org>
52001         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
52002         * m4/stdio-safer.m4: Remove file.
52003         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
52004         (configure.ac): Remove gl_TMPFILE_SAFER call.
52005         (Makefile.am): Augment lib_SOURCES.
52007 2011-05-23  Bruno Haible  <bruno@clisp.org>
52009         popen-safer: Move AC_LIBOBJ invocations to module description.
52010         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
52011         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
52012         (configure.ac): Remove gl_POPEN_SAFER call.
52013         (Makefile.am): Augment lib_SOURCES.
52015 2011-05-23  Bruno Haible  <bruno@clisp.org>
52017         freopen-safer: Move AC_LIBOBJ invocations to module description.
52018         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
52019         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
52020         (configure.ac): Remove gl_FREOPEN_SAFER call.
52021         (Makefile.am): Augment lib_SOURCES.
52023 2011-05-23  Bruno Haible  <bruno@clisp.org>
52025         fopen-safer: Move AC_LIBOBJ invocations to module description.
52026         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
52027         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
52028         (configure.ac): Remove gl_FOPEN_SAFER call.
52029         (Makefile.am): Augment lib_SOURCES.
52031 2011-05-23  Bruno Haible  <bruno@clisp.org>
52033         crypto/sha512: Move AC_LIBOBJ invocations to module description.
52034         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
52035         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
52037 2011-05-23  Bruno Haible  <bruno@clisp.org>
52039         crypto/sha256: Move AC_LIBOBJ invocations to module description.
52040         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
52041         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
52043 2011-05-23  Bruno Haible  <bruno@clisp.org>
52045         crypto/sha1: Move AC_LIBOBJ invocations to module description.
52046         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
52047         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
52049 2011-05-23  Bruno Haible  <bruno@clisp.org>
52051         settime: Move AC_LIBOBJ invocations to module description.
52052         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
52053         * modules/settime (Makefile.am): Augment lib_SOURCES.
52055 2011-05-23  Bruno Haible  <bruno@clisp.org>
52057         savedir: Move AC_LIBOBJ invocations to module description.
52058         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
52059         * modules/savedir (Makefile.am): Augment lib_SOURCES.
52061 2011-05-23  Bruno Haible  <bruno@clisp.org>
52063         save-cwd: Move AC_LIBOBJ invocations to module description.
52064         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
52065         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
52067 2011-05-23  Bruno Haible  <bruno@clisp.org>
52069         same: Move AC_LIBOBJ invocations to module description.
52070         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
52071         * modules/same (Makefile.am): Augment lib_SOURCES.
52073 2011-05-23  Bruno Haible  <bruno@clisp.org>
52075         safe-write: Move AC_LIBOBJ invocations to module description.
52076         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
52077         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
52078         instead of gl_SAFE_WRITE.
52079         (Makefile.am): Augment lib_SOURCES.
52081 2011-05-23  Bruno Haible  <bruno@clisp.org>
52083         safe-read: Move AC_LIBOBJ invocations to module description.
52084         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
52085         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
52086         of gl_SAFE_READ.
52087         (Makefile.am): Augment lib_SOURCES.
52089 2011-05-23  Bruno Haible  <bruno@clisp.org>
52091         safe-alloc: Move AC_LIBOBJ invocations to module description.
52092         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
52093         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
52095 2011-05-23  Bruno Haible  <bruno@clisp.org>
52097         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
52098         * m4/rijndael.m4: Remove file.
52099         * modules/crypto/rijndael (Files): Remove it.
52100         (configure.ac): Remove gl_RIJNDAEL call.
52101         (Makefile.am): Augment lib_SOURCES.
52103 2011-05-23  Bruno Haible  <bruno@clisp.org>
52105         readtokens: Move AC_LIBOBJ invocations to module description.
52106         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
52107         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
52109 2011-05-23  Bruno Haible  <bruno@clisp.org>
52111         read-file: Move AC_LIBOBJ invocations to module description.
52112         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
52113         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
52114         of gl_FUNC_READ_FILE.
52115         (Makefile.am): Augment lib_SOURCES.
52117 2011-05-23  Bruno Haible  <bruno@clisp.org>
52119         quotearg: Move AC_LIBOBJ invocations to module description.
52120         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
52121         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
52123 2011-05-23  Bruno Haible  <bruno@clisp.org>
52125         quote: Move AC_LIBOBJ invocations to module description.
52126         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
52127         * modules/quote (Makefile.am): Augment lib_SOURCES.
52129 2011-05-23  Bruno Haible  <bruno@clisp.org>
52131         posixver: Move AC_LIBOBJ invocations to module description.
52132         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
52133         * modules/posixver (Makefile.am): Augment lib_SOURCES.
52135 2011-05-23  Bruno Haible  <bruno@clisp.org>
52137         posixtm: Move AC_LIBOBJ invocations to module description.
52138         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
52139         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
52141 2011-05-23  Bruno Haible  <bruno@clisp.org>
52143         physmem: Move AC_LIBOBJ invocations to module description.
52144         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
52145         * modules/physmem (Makefile.am): Augment lib_SOURCES.
52147 2011-05-23  Bruno Haible  <bruno@clisp.org>
52149         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
52150         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
52151         invocation.
52152         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
52154 2011-05-23  Bruno Haible  <bruno@clisp.org>
52156         mpsort: Move AC_LIBOBJ invocations to module description.
52157         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
52158         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
52160 2011-05-23  Bruno Haible  <bruno@clisp.org>
52162         modechange: Move AC_LIBOBJ invocations to module description.
52163         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
52164         * modules/modechange (Makefile.am): Augment lib_SOURCES.
52166 2011-05-23  Bruno Haible  <bruno@clisp.org>
52168         mkdir-p: Move AC_LIBOBJ invocations to module description.
52169         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
52170         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
52172 2011-05-23  Bruno Haible  <bruno@clisp.org>
52174         mkancesdirs: Move AC_LIBOBJ invocations to module description.
52175         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
52176         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
52178 2011-05-23  Bruno Haible  <bruno@clisp.org>
52180         mgetgroups: Move AC_LIBOBJ invocations to module description.
52181         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
52182         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
52184 2011-05-23  Bruno Haible  <bruno@clisp.org>
52186         memxor: Move AC_LIBOBJ invocations to module description.
52187         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
52188         * modules/memxor (Makefile.am): Augment lib_SOURCES.
52190 2011-05-23  Bruno Haible  <bruno@clisp.org>
52192         memcoll: Move AC_LIBOBJ invocations to module description.
52193         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
52194         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
52196 2011-05-23  Bruno Haible  <bruno@clisp.org>
52198         memcasecmp: Move AC_LIBOBJ invocations to module description.
52199         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
52200         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
52202 2011-05-23  Bruno Haible  <bruno@clisp.org>
52204         crypto/md5: Move AC_LIBOBJ invocations to module description.
52205         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
52206         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
52208 2011-05-23  Bruno Haible  <bruno@clisp.org>
52210         crypto/md4: Move AC_LIBOBJ invocations to module description.
52211         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
52212         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
52214 2011-05-23  Bruno Haible  <bruno@clisp.org>
52216         crypto/md2: Move AC_LIBOBJ invocations to module description.
52217         * m4/md2.m4: Remove file.
52218         * modules/crypto/md2 (Files): Remove it.
52219         (configure.ac): Remove gl_MD2 call.
52220         (Makefile.am): Augment lib_SOURCES.
52222 2011-05-23  Bruno Haible  <bruno@clisp.org>
52224         long-options: Move AC_LIBOBJ invocations to module description.
52225         * m4/long-options.m4: Remove file.
52226         * modules/long-options (Files): Remove it.
52227         (configure.ac): Remove gl_LONG_OPTIONS call.
52228         (Makefile.am): Augment lib_SOURCES.
52230 2011-05-23  Bruno Haible  <bruno@clisp.org>
52232         i-ring: Move AC_LIBOBJ invocations to module description.
52233         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
52234         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
52236 2011-05-23  Bruno Haible  <bruno@clisp.org>
52238         idcache: Move AC_LIBOBJ invocations to module description.
52239         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
52240         * modules/idcache (Makefile.am): Augment lib_SOURCES.
52242 2011-05-23  Bruno Haible  <bruno@clisp.org>
52244         human: Move AC_LIBOBJ invocations to module description.
52245         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
52246         * modules/human (Makefile.am): Augment lib_SOURCES.
52248 2011-05-23  Bruno Haible  <bruno@clisp.org>
52250         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
52251         * m4/hmac-sha1.m4: Remove file.
52252         * modules/crypto/hmac-sha1 (Files): Remove it.
52253         (configure.ac): Remove gl_HMAC_SHA1 call.
52254         (Makefile.am): Augment lib_SOURCES.
52256 2011-05-23  Bruno Haible  <bruno@clisp.org>
52258         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
52259         * m4/hmac-md5.m4: Remove file.
52260         * modules/crypto/hmac-md5 (Files): Remove it.
52261         (configure.ac): Remove gl_HMAC_MD5 call.
52262         (Makefile.am): Augment lib_SOURCES.
52264 2011-05-23  Bruno Haible  <bruno@clisp.org>
52266         hash: Move AC_LIBOBJ invocations to module description.
52267         * m4/hash.m4: Remove file.
52268         * modules/hash (Files): Remove it.
52269         (configure.ac): Remove gl_HASH call.
52270         (Makefile.am): Augment lib_SOURCES.
52272 2011-05-23  Bruno Haible  <bruno@clisp.org>
52274         hard-locale: Move AC_LIBOBJ invocations to module description.
52275         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
52276         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
52278 2011-05-23  Bruno Haible  <bruno@clisp.org>
52280         getugroups: Move AC_LIBOBJ invocations to module description.
52281         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
52282         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
52284 2011-05-23  Bruno Haible  <bruno@clisp.org>
52286         gettime: Move AC_LIBOBJ invocations to module description.
52287         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
52288         * modules/gettime (Makefile.am): Augment lib_SOURCES.
52290 2011-05-23  Bruno Haible  <bruno@clisp.org>
52292         getndelim2: Move AC_LIBOBJ invocations to module description.
52293         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
52294         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
52296 2011-05-23  Bruno Haible  <bruno@clisp.org>
52298         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
52299         * m4/gc-pbkdf2-sha1.m4: Remove file.
52300         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
52301         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
52302         (Makefile.am): Augment lib_SOURCES.
52304 2011-05-23  Bruno Haible  <bruno@clisp.org>
52306         fts: Move AC_LIBOBJ invocations to module description.
52307         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
52308         * modules/fts (configure.ac): ... to here.
52310 2011-05-23  Bruno Haible  <bruno@clisp.org>
52312         file-type: Move AC_LIBOBJ invocations to module description.
52313         * m4/file-type.m4: Remove file.
52314         * modules/file-type (Files): Remove it.
52315         (configure.ac): Remove gl_FILE_TYPE call.
52316         (Makefile.am): Augment lib_SOURCES.
52318 2011-05-23  Bruno Haible  <bruno@clisp.org>
52320         filenamecat*: Respect rules for use of AC_LIBOBJ.
52321         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
52322         Remove AC_LIBOBJ invocation.
52323         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
52324         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
52326 2011-05-23  Bruno Haible  <bruno@clisp.org>
52328         filemode: Move AC_LIBOBJ invocations to module description.
52329         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
52330         * modules/filemode (Makefile.am): Augment lib_SOURCES.
52332 2011-05-23  Bruno Haible  <bruno@clisp.org>
52334         openat-safer: Move AC_LIBOBJ invocations to module description.
52335         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
52336         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
52338 2011-05-23  Bruno Haible  <bruno@clisp.org>
52340         fcntl-safer: Move AC_LIBOBJ invocations to module description.
52341         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
52342         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
52344 2011-05-23  Bruno Haible  <bruno@clisp.org>
52346         exclude: Move AC_LIBOBJ invocations to module description.
52347         * m4/exclude.m4: Remove file.
52348         * modules/exclude (Files): Remove it.
52349         (configure.ac): Remove gl_EXCLUDE call.
52350         (Makefile.am): Augment lib_SOURCES.
52352 2011-05-23  Bruno Haible  <bruno@clisp.org>
52354         dirname*: Respect rules for use of AC_LIBOBJ.
52355         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
52356         invocations.
52357         * modules/dirname (Makefile.am): Augment lib_SOURCES.
52358         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
52360 2011-05-23  Bruno Haible  <bruno@clisp.org>
52362         dirent-safer: Move AC_LIBOBJ invocations to module description.
52363         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
52364         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
52366 2011-05-23  Bruno Haible  <bruno@clisp.org>
52368         crypto/des: Move AC_LIBOBJ invocations to module description.
52369         * m4/des.m4: Remove file.
52370         * modules/crypto/des (Files): Remove it.
52371         (configure.ac): Remove gl_DES call.
52372         (Makefile.am): Augment lib_SOURCES.
52374 2011-05-23  Bruno Haible  <bruno@clisp.org>
52376         cycle-check: Move AC_LIBOBJ invocations to module description.
52377         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
52378         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
52380 2011-05-23  Bruno Haible  <bruno@clisp.org>
52382         c-strtold: Move AC_LIBOBJ invocations to module description.
52383         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
52384         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
52386 2011-05-23  Bruno Haible  <bruno@clisp.org>
52388         c-strtod: Move AC_LIBOBJ invocations to module description.
52389         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
52390         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
52392 2011-05-23  Bruno Haible  <bruno@clisp.org>
52394         crc: Move AC_LIBOBJ invocations to module description.
52395         * m4/crc.m4: Remove file.
52396         * modules/crc (Files): Remove it.
52397         (configure.ac): Remove gl_CRC call.
52398         (Makefile.am): Augment lib_SOURCES.
52400 2011-05-23  Bruno Haible  <bruno@clisp.org>
52402         close-stream: Move AC_LIBOBJ invocations to module description.
52403         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
52404         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
52406 2011-05-23  Bruno Haible  <bruno@clisp.org>
52408         closeout: Move AC_LIBOBJ invocations to module description.
52409         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
52410         * modules/closeout (Makefile.am): Augment lib_SOURCES.
52412 2011-05-23  Bruno Haible  <bruno@clisp.org>
52414         closein: Move AC_LIBOBJ invocations to module description.
52415         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
52416         * modules/closein (Makefile.am): Augment lib_SOURCES.
52418 2011-05-23  Bruno Haible  <bruno@clisp.org>
52420         cloexec: Move AC_LIBOBJ invocations to module description.
52421         * m4/cloexec.m4: Remove file.
52422         * modules/cloexec (Files): Remove it.
52423         (configure.ac): Remove gl_CLOEXEC call.
52424         (Makefile.am): Augment lib_SOURCES.
52426 2011-05-23  Bruno Haible  <bruno@clisp.org>
52428         check-version: Move AC_LIBOBJ invocations to module description.
52429         * m4/check-version.m4: Remove file.
52430         * modules/check-version (Files): Remove it.
52431         (configure.ac): Remove gl_CHECK_VERSION call.
52432         (Makefile.am): Augment lib_SOURCES.
52434 2011-05-23  Bruno Haible  <bruno@clisp.org>
52436         chdir-safer: Move AC_LIBOBJ invocations to module description.
52437         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
52438         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
52440 2011-05-23  Bruno Haible  <bruno@clisp.org>
52442         canonicalize: Move AC_LIBOBJ invocations to module description.
52443         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
52444         AC_LIBOBJ invocation.
52445         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
52447 2011-05-23  Bruno Haible  <bruno@clisp.org>
52449         canon-host: Move AC_LIBOBJ invocations to module description.
52450         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
52451         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
52452         instead of gl_CANON_HOST.
52453         (Makefile.am): Augment lib_SOURCES.
52455 2011-05-23  Bruno Haible  <bruno@clisp.org>
52457         backupfile: Move AC_LIBOBJ invocations to module description.
52458         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
52459         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
52461 2011-05-23  Bruno Haible  <bruno@clisp.org>
52463         argmatch: Move AC_LIBOBJ invocations to module description.
52464         * m4/argmatch.m4: Remove file.
52465         * modules/argmatch (Files): Remove it.
52466         (configure.ac): Remove gl_ARGMATCH call.
52467         (Makefile.am): Augment lib_SOURCES.
52469 2011-05-23  Bruno Haible  <bruno@clisp.org>
52471         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
52472         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
52473         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
52475 2011-05-23  Bruno Haible  <bruno@clisp.org>
52477         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
52478         * m4/arcfour.m4: Remove file.
52479         * modules/crypto/arcfour (Files): Remove it.
52480         (configure.ac): Remove gl_ARCFOUR call.
52481         (Makefile.am): Augment lib_SOURCES.
52483 2011-05-22  Bruno Haible  <bruno@clisp.org>
52485         write: Move AC_LIBOBJ invocations to module description.
52486         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
52487         * modules/write (configure.ac): ... to here.
52489 2011-05-22  Bruno Haible  <bruno@clisp.org>
52491         wmemset: Move AC_LIBOBJ invocations to module description.
52492         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
52493         here...
52494         * modules/wmemset (configure.ac): ... to here.
52496 2011-05-22  Bruno Haible  <bruno@clisp.org>
52498         wmemmove: Move AC_LIBOBJ invocations to module description.
52499         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
52500         here...
52501         * modules/wmemmove (configure.ac): ... to here.
52503 2011-05-22  Bruno Haible  <bruno@clisp.org>
52505         wmemcpy: Move AC_LIBOBJ invocations to module description.
52506         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
52507         here...
52508         * modules/wmemcpy (configure.ac): ... to here.
52510 2011-05-22  Bruno Haible  <bruno@clisp.org>
52512         wmemcmp: Move AC_LIBOBJ invocations to module description.
52513         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
52514         here...
52515         * modules/wmemcmp (configure.ac): ... to here.
52517 2011-05-22  Bruno Haible  <bruno@clisp.org>
52519         wmemchr: Move AC_LIBOBJ invocations to module description.
52520         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
52521         here...
52522         * modules/wmemchr (configure.ac): ... to here.
52524 2011-05-22  Bruno Haible  <bruno@clisp.org>
52526         wcswidth: Move AC_LIBOBJ invocations to module description.
52527         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
52528         here...
52529         * modules/wcswidth (configure.ac): ... to here.
52531 2011-05-22  Bruno Haible  <bruno@clisp.org>
52533         wcwidth: Respect rules for use of AC_LIBOBJ.
52534         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
52535         invocation from here...
52536         * modules/wcwidth (configure.ac): ... to here.
52537         (Depends-on): Update conditions.
52539 2011-05-22  Bruno Haible  <bruno@clisp.org>
52541         wctype: Move AC_LIBOBJ invocations to module description.
52542         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
52543         invocation from here...
52544         * modules/wctype (configure.ac): ... to here.
52545         (Depends-on): Update conditions.
52547 2011-05-22  Bruno Haible  <bruno@clisp.org>
52549         wctrans: Move AC_LIBOBJ invocations to module description.
52550         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
52551         invocation from here...
52552         * modules/wctrans (configure.ac): ... to here.
52554 2011-05-22  Bruno Haible  <bruno@clisp.org>
52556         wctomb: Move AC_LIBOBJ invocations to module description.
52557         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
52558         invocations from here...
52559         * modules/wctomb (configure.ac): ... to here.
52561 2011-05-22  Bruno Haible  <bruno@clisp.org>
52563         wctob: Move AC_LIBOBJ invocations to module description.
52564         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
52565         gl_PREREQ_WCTOB invocations from here...
52566         * modules/wctob (configure.ac): ... to here.
52567         (Depends-on): Update conditions.
52569 2011-05-22  Bruno Haible  <bruno@clisp.org>
52571         wcsxfrm: Move AC_LIBOBJ invocations to module description.
52572         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
52573         here...
52574         * modules/wcsxfrm (configure.ac): ... to here.
52576 2011-05-22  Bruno Haible  <bruno@clisp.org>
52578         wcstok: Move AC_LIBOBJ invocations to module description.
52579         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
52580         * modules/wcstok (configure.ac): ... to here.
52582 2011-05-22  Bruno Haible  <bruno@clisp.org>
52584         wcsstr: Move AC_LIBOBJ invocations to module description.
52585         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
52586         * modules/wcsstr (configure.ac): ... to here.
52588 2011-05-22  Bruno Haible  <bruno@clisp.org>
52590         wcsspn: Move AC_LIBOBJ invocations to module description.
52591         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
52592         * modules/wcsspn (configure.ac): ... to here.
52594 2011-05-22  Bruno Haible  <bruno@clisp.org>
52596         wcsrtombs: Move AC_LIBOBJ invocations to module description.
52597         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
52598         gl_PREREQ_WCSRTOMBS invocations from here...
52599         * modules/wcsrtombs (configure.ac): ... to here.
52601 2011-05-22  Bruno Haible  <bruno@clisp.org>
52603         wcsrchr: Move AC_LIBOBJ invocations to module description.
52604         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
52605         here...
52606         * modules/wcsrchr (configure.ac): ... to here.
52608 2011-05-22  Bruno Haible  <bruno@clisp.org>
52610         wcspbrk: Move AC_LIBOBJ invocations to module description.
52611         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
52612         here...
52613         * modules/wcspbrk (configure.ac): ... to here.
52615 2011-05-22  Bruno Haible  <bruno@clisp.org>
52617         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
52618         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
52619         gl_PREREQ_WCSNRTOMBS invocations from here...
52620         * modules/wcsnrtombs (configure.ac): ... to here.
52622 2011-05-22  Bruno Haible  <bruno@clisp.org>
52624         wcsnlen: Move AC_LIBOBJ invocations to module description.
52625         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
52626         here...
52627         * modules/wcsnlen (configure.ac): ... to here.
52629 2011-05-22  Bruno Haible  <bruno@clisp.org>
52631         wcsncpy: Move AC_LIBOBJ invocations to module description.
52632         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
52633         here...
52634         * modules/wcsncpy (configure.ac): ... to here.
52636 2011-05-22  Bruno Haible  <bruno@clisp.org>
52638         wcsncmp: Move AC_LIBOBJ invocations to module description.
52639         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
52640         here...
52641         * modules/wcsncmp (configure.ac): ... to here.
52643 2011-05-22  Bruno Haible  <bruno@clisp.org>
52645         wcsncat: Move AC_LIBOBJ invocations to module description.
52646         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
52647         here...
52648         * modules/wcsncat (configure.ac): ... to here.
52650 2011-05-22  Bruno Haible  <bruno@clisp.org>
52652         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
52653         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
52654         from here...
52655         * modules/wcsncasecmp (configure.ac): ... to here.
52657 2011-05-22  Bruno Haible  <bruno@clisp.org>
52659         wcslen: Move AC_LIBOBJ invocations to module description.
52660         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
52661         * modules/wcslen (configure.ac): ... to here.
52663 2011-05-22  Bruno Haible  <bruno@clisp.org>
52665         wcsdup: Move AC_LIBOBJ invocations to module description.
52666         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
52667         * modules/wcsdup (configure.ac): ... to here.
52669 2011-05-22  Bruno Haible  <bruno@clisp.org>
52671         wcscspn: Move AC_LIBOBJ invocations to module description.
52672         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
52673         here...
52674         * modules/wcscspn (configure.ac): ... to here.
52676 2011-05-22  Bruno Haible  <bruno@clisp.org>
52678         wcscpy: Move AC_LIBOBJ invocations to module description.
52679         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
52680         * modules/wcscpy (configure.ac): ... to here.
52682 2011-05-22  Bruno Haible  <bruno@clisp.org>
52684         wcscoll: Move AC_LIBOBJ invocations to module description.
52685         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
52686         here...
52687         * modules/wcscoll (configure.ac): ... to here.
52689 2011-05-22  Bruno Haible  <bruno@clisp.org>
52691         wcscmp: Move AC_LIBOBJ invocations to module description.
52692         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
52693         * modules/wcscmp (configure.ac): ... to here.
52695 2011-05-22  Bruno Haible  <bruno@clisp.org>
52697         wcschr: Move AC_LIBOBJ invocations to module description.
52698         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
52699         * modules/wcschr (configure.ac): ... to here.
52701 2011-05-22  Bruno Haible  <bruno@clisp.org>
52703         wcscat: Move AC_LIBOBJ invocations to module description.
52704         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
52705         * modules/wcscat (configure.ac): ... to here.
52707 2011-05-22  Bruno Haible  <bruno@clisp.org>
52709         wcscasecmp: Move AC_LIBOBJ invocations to module description.
52710         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
52711         here...
52712         * modules/wcscasecmp (configure.ac): ... to here.
52714 2011-05-22  Bruno Haible  <bruno@clisp.org>
52716         wcrtomb: Move AC_LIBOBJ invocations to module description.
52717         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
52718         invocations from here...
52719         * modules/wcrtomb (configure.ac): ... to here.
52721 2011-05-22  Bruno Haible  <bruno@clisp.org>
52723         wcpncpy: Move AC_LIBOBJ invocations to module description.
52724         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
52725         here...
52726         * modules/wcpncpy (configure.ac): ... to here.
52728 2011-05-22  Bruno Haible  <bruno@clisp.org>
52730         wcpcpy: Move AC_LIBOBJ invocations to module description.
52731         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
52732         * modules/wcpcpy (configure.ac): ... to here.
52734 2011-05-22  Bruno Haible  <bruno@clisp.org>
52736         waitpid: Move AC_LIBOBJ invocations to module description.
52737         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
52738         invocation from here...
52739         * modules/waitpid (configure.ac): ... to here.
52741 2011-05-22  Bruno Haible  <bruno@clisp.org>
52743         utimensat: Move AC_LIBOBJ invocations to module description.
52744         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
52745         here...
52746         * modules/utimensat (configure.ac): ... to here.
52748 2011-05-22  Bruno Haible  <bruno@clisp.org>
52750         usleep: Move AC_LIBOBJ invocations to module description.
52751         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
52752         here...
52753         * modules/usleep (configure.ac): ... to here.
52755 2011-05-22  Bruno Haible  <bruno@clisp.org>
52757         unlockpt: Move AC_LIBOBJ invocations to module description.
52758         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
52759         gl_PREREQ_UNLOCKPT invocations from here...
52760         * modules/unlockpt (configure.ac): ... to here.
52762 2011-05-22  Bruno Haible  <bruno@clisp.org>
52764         unlink: Respect rules for use of AC_LIBOBJ.
52765         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
52766         * modules/unlink (configure.ac): ... to here.
52768 2011-05-22  Bruno Haible  <bruno@clisp.org>
52770         uname: Move AC_LIBOBJ invocations to module description.
52771         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
52772         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
52773         here...
52774         * modules/uname (configure.ac): ... to here.
52776 2011-05-22  Bruno Haible  <bruno@clisp.org>
52778         ttyname_r: Move AC_LIBOBJ invocations to module description.
52779         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
52780         gl_PREREQ_TTYNAME_R invocations from here...
52781         * modules/ttyname_r (configure.ac): ... to here.
52783 2011-05-22  Bruno Haible  <bruno@clisp.org>
52785         tsearch: Move AC_LIBOBJ invocations to module description.
52786         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
52787         invocations from here...
52788         * modules/tsearch (configure.ac): ... to here.
52790 2011-05-22  Bruno Haible  <bruno@clisp.org>
52792         towctrans: Move AC_LIBOBJ invocations to module description.
52793         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
52794         AC_LIBOBJ invocation from here...
52795         * modules/towctrans (configure.ac): ... to here.
52797 2011-05-22  Bruno Haible  <bruno@clisp.org>
52799         tmpfile: Move AC_LIBOBJ invocations to module description.
52800         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
52801         invocations from here...
52802         * modules/tmpfile (configure.ac): ... to here.
52804 2011-05-22  Bruno Haible  <bruno@clisp.org>
52806         times: Move AC_LIBOBJ invocations to module description.
52807         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
52808         * modules/times (configure.ac): ... to here.
52810 2011-05-22  Bruno Haible  <bruno@clisp.org>
52812         time_r: Move AC_LIBOBJ invocations to module description.
52813         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
52814         invocations from here...
52815         * modules/time_r (configure.ac): ... to here.
52817 2011-05-22  Bruno Haible  <bruno@clisp.org>
52819         timegm: Move AC_LIBOBJ invocations to module description.
52820         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
52821         invocations from here...
52822         * modules/timegm (configure.ac): ... to here.
52824 2011-05-22  Bruno Haible  <bruno@clisp.org>
52826         tcgetsid: Move AC_LIBOBJ invocations to module description.
52827         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
52828         and gl_PREREQ_TCGETSID invocations from here...
52829         * modules/tcgetsid (configure.ac): ... to here.
52830         (Depends-on): Update conditions.
52832 2011-05-22  Bruno Haible  <bruno@clisp.org>
52834         symlinkat: Move AC_LIBOBJ invocations to module description.
52835         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
52836         here...
52837         * modules/symlinkat (configure.ac): ... to here.
52839 2011-05-22  Bruno Haible  <bruno@clisp.org>
52841         symlink: Move AC_LIBOBJ invocations to module description.
52842         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
52843         here...
52844         * modules/symlink (configure.ac): ... to here.
52846 2011-05-22  Bruno Haible  <bruno@clisp.org>
52848         strverscmp: Move AC_LIBOBJ invocations to module description.
52849         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
52850         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
52851         from here...
52852         * modules/strverscmp (configure.ac): ... to here.
52854 2011-05-22  Bruno Haible  <bruno@clisp.org>
52856         strtok_r: Move AC_LIBOBJ invocations to module description.
52857         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
52858         and gl_PREREQ_STRTOK_R invocations from here...
52859         * modules/strtok_r (configure.ac): ... to here.
52860         (Depends-on): Update conditions.
52862 2011-05-22  Bruno Haible  <bruno@clisp.org>
52864         strtoumax: Move AC_LIBOBJ invocations to module description.
52865         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
52866         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
52867         from here...
52868         * modules/strtoumax (configure.ac): ... to here.
52870 2011-05-22  Bruno Haible  <bruno@clisp.org>
52872         strtoimax: Move AC_LIBOBJ invocations to module description.
52873         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
52874         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
52875         from here...
52876         * modules/strtoimax (configure.ac): ... to here.
52878 2011-05-22  Bruno Haible  <bruno@clisp.org>
52880         strtoull: Move AC_LIBOBJ invocations to module description.
52881         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
52882         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
52883         from here...
52884         * modules/strtoull (configure.ac): ... to here.
52886 2011-05-22  Bruno Haible  <bruno@clisp.org>
52888         strtoll: Move AC_LIBOBJ invocations to module description.
52889         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
52890         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
52891         here...
52892         * modules/strtoll (configure.ac): ... to here.
52894 2011-05-22  Bruno Haible  <bruno@clisp.org>
52896         strtoul: Move AC_LIBOBJ invocations to module description.
52897         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
52898         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
52899         * modules/strtoul (configure.ac): ... to here.
52901 2011-05-22  Bruno Haible  <bruno@clisp.org>
52903         strtol: Move AC_LIBOBJ invocations to module description.
52904         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
52905         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
52906         * modules/strtol (configure.ac): ... to here.
52908 2011-05-22  Bruno Haible  <bruno@clisp.org>
52910         strtod: Move AC_LIBOBJ invocations to module description.
52911         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
52912         invocations from here...
52913         * modules/strtod (configure.ac): ... to here.
52915 2011-05-22  Bruno Haible  <bruno@clisp.org>
52917         strstr*: Move AC_LIBOBJ invocations to module description.
52918         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
52919         invocations from here...
52920         * modules/strstr-simple (configure.ac): ... to here.
52921         * modules/strstr (configure.ac): ... and here.
52923 2011-05-22  Bruno Haible  <bruno@clisp.org>
52925         strsignal: Move AC_LIBOBJ invocations to module description.
52926         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
52927         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
52928         * modules/strsignal (configure.ac): ... to here.
52929         (Depends-on): Update conditions.
52931 2011-05-22  Bruno Haible  <bruno@clisp.org>
52933         strsep: Move AC_LIBOBJ invocations to module description.
52934         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
52935         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
52936         here...
52937         * modules/strsep (configure.ac): ... to here.
52939 2011-05-22  Bruno Haible  <bruno@clisp.org>
52941         strptime: Move AC_LIBOBJ invocations to module description.
52942         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
52943         gl_PREREQ_STRPTIME invocations from here...
52944         * modules/strptime (configure.ac): ... to here.
52946 2011-05-22  Bruno Haible  <bruno@clisp.org>
52948         strpbrk: Move AC_LIBOBJ invocations to module description.
52949         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
52950         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
52951         here...
52952         * modules/strpbrk (configure.ac): ... to here.
52954 2011-05-22  Bruno Haible  <bruno@clisp.org>
52956         strnlen: Move AC_LIBOBJ invocations to module description.
52957         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
52958         invocations from here...
52959         * modules/strnlen (configure.ac): ... to here.
52961 2011-05-22  Bruno Haible  <bruno@clisp.org>
52963         strndup: Move AC_LIBOBJ invocations to module description.
52964         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
52965         invocations from here...
52966         * modules/strndup (configure.ac): ... to here.
52967         (Depends-on): Update conditions.
52969 2011-05-22  Bruno Haible  <bruno@clisp.org>
52971         strncat: Move AC_LIBOBJ invocations to module description.
52972         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
52973         invocations from here...
52974         * modules/strncat (configure.ac): ... to here.
52976 2011-05-22  Bruno Haible  <bruno@clisp.org>
52978         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
52979         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
52980         invocations from here...
52981         * modules/strdup (configure.ac): ... to here.
52982         * modules/strdup-posix (configure.ac): ... and here.
52984 2011-05-22  Bruno Haible  <bruno@clisp.org>
52986         strcspn: Move AC_LIBOBJ invocations to module description.
52987         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
52988         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
52989         here...
52990         * modules/strcspn (configure.ac): ... to here.
52992 2011-05-22  Bruno Haible  <bruno@clisp.org>
52994         strchrnul: Move AC_LIBOBJ invocations to module description.
52995         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
52996         gl_PREREQ_STRCHRNUL invocations from here...
52997         * modules/strchrnul (configure.ac): ... to here.
52999 2011-05-22  Bruno Haible  <bruno@clisp.org>
53001         strcasestr*: Move AC_LIBOBJ invocations to module description.
53002         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
53003         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
53004         * modules/strcasestr-simple (configure.ac): ... to here.
53005         * modules/strcasestr (configure.ac): ... and here.
53007 2011-05-22  Bruno Haible  <bruno@clisp.org>
53009         strcase: Move AC_LIBOBJ invocations to module description.
53010         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
53011         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
53012         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
53013         gl_PREREQ_STRNCASECMP invocations from here...
53014         * modules/strcase (configure.ac): ... to here.
53016 2011-05-22  Bruno Haible  <bruno@clisp.org>
53018         stpncpy: Move AC_LIBOBJ invocations to module description.
53019         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
53020         here...
53021         * modules/stpncpy (configure.ac): ... to here.
53023 2011-05-22  Bruno Haible  <bruno@clisp.org>
53025         stpcpy: Move AC_LIBOBJ invocations to module description.
53026         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
53027         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
53028         here...
53029         * modules/stpcpy (configure.ac): ... to here.
53031 2011-05-21  Bruno Haible  <bruno@clisp.org>
53033         stat: Move AC_LIBOBJ invocations to module description.
53034         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
53035         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
53036         here...
53037         * modules/stat (configure.ac): ... to here.
53039 2011-05-21  Bruno Haible  <bruno@clisp.org>
53041         sleep: Move AC_LIBOBJ invocations to module description.
53042         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
53043         * modules/sleep (configure.ac): ... to here.
53045 2011-05-21  Bruno Haible  <bruno@clisp.org>
53047         signbit: Move AC_LIBOBJ invocations to module description.
53048         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
53049         * modules/signbit (configure.ac): ... to here.
53051 2011-05-21  Bruno Haible  <bruno@clisp.org>
53053         sigprocmask: Move AC_LIBOBJ invocations to module description.
53054         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
53055         gl_PREREQ_SIGPROMASK invocations from here...
53056         * modules/sigprocmask (configure.ac): ... to here.
53058 2011-05-21  Bruno Haible  <bruno@clisp.org>
53060         sigaction: Move AC_LIBOBJ invocations to module description.
53061         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
53062         gl_PREREQ_SIGACTION invocations from here...
53063         * modules/sigaction (configure.ac): ... to here.
53065 2011-05-21  Bruno Haible  <bruno@clisp.org>
53067         sig2str: Move AC_LIBOBJ invocations to module description.
53068         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
53069         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
53070         here...
53071         * modules/sig2str (configure.ac): ... to here.
53073 2011-05-21  Bruno Haible  <bruno@clisp.org>
53075         setlocale: Move AC_LIBOBJ invocations to module description.
53076         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
53077         gl_PREREQ_SETLOCALE invocations from here...
53078         * modules/setlocale (configure.ac): ... to here.
53080 2011-05-21  Bruno Haible  <bruno@clisp.org>
53082         unsetenv: Move AC_LIBOBJ invocations to module description.
53083         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
53084         and gl_PREREQ_UNSETENV invocations from here...
53085         * modules/unsetenv (configure.ac): ... to here.
53086         (Depends-on): Update.
53088 2011-05-21  Bruno Haible  <bruno@clisp.org>
53090         setenv: Move AC_LIBOBJ invocations to module description.
53091         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
53092         here...
53093         * modules/setenv (configure.ac): ... to here.
53095 2011-05-21  Bruno Haible  <bruno@clisp.org>
53097         selinux-h: Move AC_LIBOBJ invocations to module description.
53098         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
53099         AC_LIBOBJ invocation from here...
53100         * modules/selinux-h (configure.ac): ... to here.
53102 2011-05-21  Bruno Haible  <bruno@clisp.org>
53104         select: Respect rules for use of AC_LIBOBJ.
53105         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
53106         here...
53107         * modules/select (configure.ac): ... to here.
53109 2011-05-21  Bruno Haible  <bruno@clisp.org>
53111         scandir: Move AC_LIBOBJ invocations to module description.
53112         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
53113         invocations from here...
53114         * modules/scandir (configure.ac): ... to here.
53116 2011-05-21  Bruno Haible  <bruno@clisp.org>
53118         rpmatch: Move AC_LIBOBJ invocations to module description.
53119         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
53120         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
53121         here...
53122         * modules/rpmatch (configure.ac): ... to here.
53124 2011-05-21  Bruno Haible  <bruno@clisp.org>
53126         rmdir: Respect rules for use of AC_LIBOBJ.
53127         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
53128         * modules/rmdir (configure.ac): ... to here.
53130 2011-05-21  Bruno Haible  <bruno@clisp.org>
53132         renameat: Move AC_LIBOBJ invocations to module description.
53133         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
53134         here...
53135         * modules/renameat (configure.ac): ... to here.
53137 2011-05-21  Bruno Haible  <bruno@clisp.org>
53139         rename: Respect rules for use of AC_LIBOBJ.
53140         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
53141         here...
53142         * modules/rename (configure.ac): ... to here.
53144 2011-05-21  Bruno Haible  <bruno@clisp.org>
53146         remove: Move AC_LIBOBJ invocations to module description.
53147         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
53148         here...
53149         * modules/remove (configure.ac): ... to here.
53151 2011-05-21  Bruno Haible  <bruno@clisp.org>
53153         relocatable-lib: Move AC_LIBOBJ invocations to module description.
53154         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
53155         macro.
53156         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
53157         * modules/relocatable-lib (configure.ac): ... to here.
53158         * modules/relocatable-prog-wrapper (configure.ac): Invoke
53159         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
53161 2011-05-21  Bruno Haible  <bruno@clisp.org>
53163         relocatable-prog: Move AC_LIBOBJ invocations to module description.
53164         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
53165         here...
53166         * modules/relocatable-prog (configure.ac): ... to here.
53168 2011-05-21  Bruno Haible  <bruno@clisp.org>
53170         regex: Move AC_LIBOBJ invocations to module description.
53171         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
53172         invocations from here...
53173         * modules/regex (configure.ac): ... to here.
53175 2011-05-21  Bruno Haible  <bruno@clisp.org>
53177         realloc-*: Move AC_LIBOBJ invocations to module description.
53178         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
53179         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
53180         AC_LIBOBJ invocations from here...
53181         * modules/realloc-gnu (configure.ac): ... to here.
53182         * modules/realloc-posix (configure.ac): ... and here.
53184 2011-05-21  Bruno Haible  <bruno@clisp.org>
53186         readutmp: Move AC_LIBOBJ invocations to module description.
53187         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
53188         * modules/readutmp (configure.ac): ... to here.
53190 2011-05-21  Bruno Haible  <bruno@clisp.org>
53192         readlinkat: Move AC_LIBOBJ invocations to module description.
53193         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
53194         here...
53195         * modules/readlinkat (configure.ac): ... to here.
53197 2011-05-21  Bruno Haible  <bruno@clisp.org>
53199         readlink: Move AC_LIBOBJ invocations to module description.
53200         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
53201         gl_PREREQ_READLINK invocations from here...
53202         * modules/readlink (configure.ac): ... to here.
53204 2011-05-21  Bruno Haible  <bruno@clisp.org>
53206         readline: Move AC_LIBOBJ invocations to module description.
53207         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
53208         gl_PREREQ_READLINE invocations from here...
53209         * modules/readline (configure.ac): ... to here.
53211 2011-05-21  Bruno Haible  <bruno@clisp.org>
53213         read: Move AC_LIBOBJ invocations to module description.
53214         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
53215         * modules/read (configure.ac): ... to here.
53217 2011-05-21  Bruno Haible  <bruno@clisp.org>
53219         rawmemchr: Move AC_LIBOBJ invocations to module description.
53220         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
53221         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
53222         from here...
53223         * modules/rawmemchr (configure.ac): ... to here.
53225 2011-05-21  Bruno Haible  <bruno@clisp.org>
53227         random_r: Move AC_LIBOBJ invocations to module description.
53228         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
53229         gl_PREREQ_RANDOM_R invocations from here...
53230         * modules/random_r (configure.ac): ... to here.
53232 2011-05-21  Bruno Haible  <bruno@clisp.org>
53234         pwrite: Move AC_LIBOBJ invocations to module description.
53235         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
53236         * modules/pwrite (configure.ac): ... to here.
53238 2011-05-21  Bruno Haible  <bruno@clisp.org>
53240         putenv: Move AC_LIBOBJ invocations to module description.
53241         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
53242         * modules/putenv (configure.ac): ... to here.
53244 2011-05-21  Bruno Haible  <bruno@clisp.org>
53246         login_tty: Move AC_LIBOBJ invocations to module description.
53247         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
53248         * modules/login_tty (configure.ac): ... to here.
53250 2011-05-21  Bruno Haible  <bruno@clisp.org>
53252         openpty: Move AC_LIBOBJ invocations to module description.
53253         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
53254         * modules/openpty (configure.ac): ... to here.
53256 2011-05-21  Bruno Haible  <bruno@clisp.org>
53258         forkpty: Move AC_LIBOBJ invocations to module description.
53259         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
53260         * modules/forkpty (configure.ac): ... to here.
53262 2011-05-21  Bruno Haible  <bruno@clisp.org>
53264         ptsname: Move AC_LIBOBJ invocations to module description.
53265         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
53266         invocations from here...
53267         * modules/ptsname (configure.ac): ... to here.
53269 2011-05-21  Bruno Haible  <bruno@clisp.org>
53271         pread: Move AC_LIBOBJ invocations to module description.
53272         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
53273         * modules/pread (configure.ac): ... to here.
53275 2011-05-21  Bruno Haible  <bruno@clisp.org>
53277         posix_spawn*: Move AC_LIBOBJ invocations to module description.
53278         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
53279         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
53280         * modules/posix_spawn (configure.ac): ... to here.
53281         * modules/posix_spawnp (configure.ac): ... and here.
53283 2011-05-21  Bruno Haible  <bruno@clisp.org>
53285         popen: Move AC_LIBOBJ invocations to module description.
53286         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
53287         invocations from here...
53288         * modules/popen (configure.ac): ... to here.
53290 2011-05-21  Bruno Haible  <bruno@clisp.org>
53292         poll: Move AC_LIBOBJ invocations to module description.
53293         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
53294         invocations from here...
53295         * modules/poll (configure.ac): ... to here.
53297 2011-05-21  Bruno Haible  <bruno@clisp.org>
53299         pipe-posix: Move AC_LIBOBJ invocations to module description.
53300         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
53301         * modules/pipe-posix (configure.ac): ... to here.
53303 2011-05-21  Bruno Haible  <bruno@clisp.org>
53305         openat: Respect rules for use of AC_LIBOBJ.
53306         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
53307         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
53308         * modules/openat (configure.ac): ... to here.
53310 2011-05-21  Bruno Haible  <bruno@clisp.org>
53312         obstack-printf*: Move AC_LIBOBJ invocations to module description.
53313         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
53314         invocation from here...
53315         * modules/obstack-printf (configure.ac): ... to here.
53316         * modules/obstack-printf-posix (configure.ac): ... and here.
53318 2011-05-21  Bruno Haible  <bruno@clisp.org>
53320         nl_langinfo: Move AC_LIBOBJ invocations to module description.
53321         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
53322         from here...
53323         * modules/nl_langinfo (configure.ac): ... to here.
53325 2011-05-21  Bruno Haible  <bruno@clisp.org>
53327         nanosleep: Move AC_LIBOBJ invocations to module description.
53328         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
53329         gl_PREREQ_NANOSLEEP invocations from here...
53330         * modules/nanosleep (configure.ac): ... to here.
53332 2011-05-21  Bruno Haible  <bruno@clisp.org>
53334         mountlist: Move AC_LIBOBJ invocations to module description.
53335         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
53336         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
53337         * modules/mountlist (configure.ac): ... to here.
53339 2011-05-21  Bruno Haible  <bruno@clisp.org>
53341         mktime: Respect rules for use of AC_LIBOBJ.
53342         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
53343         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
53344         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
53345         (gl_FUNC_MKTIME_INTERNAL): ... and here...
53346         * modules/mktime (configure.ac): ... to here.
53347         * modules/mktime-internal (configure.ac): ... and here.
53348         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
53350 2011-05-21  Bruno Haible  <bruno@clisp.org>
53352         mkstemps: Move AC_LIBOBJ invocations to module description.
53353         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
53354         here...
53355         * modules/mkstemps (configure.ac): ... to here.
53357 2011-05-21  Bruno Haible  <bruno@clisp.org>
53359         mkstemp: Move AC_LIBOBJ invocations to module description.
53360         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
53361         gl_PREREQ_MKSTEMP invocations from here...
53362         * modules/mkstemp (configure.ac): ... to here.
53364 2011-05-21  Bruno Haible  <bruno@clisp.org>
53366         mkostemps: Move AC_LIBOBJ invocations to module description.
53367         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
53368         here...
53369         * modules/mkostemps (configure.ac): ... to here.
53371 2011-05-21  Bruno Haible  <bruno@clisp.org>
53373         mkostemp: Move AC_LIBOBJ invocations to module description.
53374         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
53375         gl_PREREQ_MKOSTEMP invocations from here...
53376         * modules/mkostemp (configure.ac): ... to here.
53378 2011-05-21  Bruno Haible  <bruno@clisp.org>
53380         mknod: Move AC_LIBOBJ invocations to module description.
53381         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
53382         * modules/mknod (configure.ac): ... to here.
53384 2011-05-21  Bruno Haible  <bruno@clisp.org>
53386         mkfifoat: Move AC_LIBOBJ invocations to module description.
53387         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
53388         here...
53389         * modules/mkfifoat (configure.ac): ... to here.
53391 2011-05-21  Bruno Haible  <bruno@clisp.org>
53393         mkfifo: Respect rules for use of AC_LIBOBJ.
53394         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
53395         here...
53396         * modules/mkfifo (configure.ac): ... to here.
53398 2011-05-21  Bruno Haible  <bruno@clisp.org>
53400         mkdtemp: Move AC_LIBOBJ invocations to module description.
53401         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
53402         invocations from here...
53403         * modules/mkdtemp (configure.ac): ... to here.
53405 2011-05-21  Bruno Haible  <bruno@clisp.org>
53407         mkdir: Move AC_LIBOBJ invocations to module description.
53408         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
53409         * modules/mkdir (configure.ac): ... to here.
53411 2011-05-21  Bruno Haible  <bruno@clisp.org>
53413         memset: Move AC_LIBOBJ invocations to module description.
53414         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
53415         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
53416         here...
53417         * modules/memset (configure.ac): ... to here.
53419 2011-05-21  Bruno Haible  <bruno@clisp.org>
53421         memrchr: Move AC_LIBOBJ invocations to module description.
53422         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
53423         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
53424         here...
53425         * modules/memrchr (configure.ac): ... to here.
53427 2011-05-21  Bruno Haible  <bruno@clisp.org>
53429         mempcpy: Move AC_LIBOBJ invocations to module description.
53430         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
53431         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
53432         here...
53433         * modules/mempcpy (configure.ac): ... to here.
53435 2011-05-21  Bruno Haible  <bruno@clisp.org>
53437         memmove: Move AC_LIBOBJ invocations to module description.
53438         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
53439         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
53440         here...
53441         * modules/memmove (configure.ac): ... to here.
53443 2011-05-21  Bruno Haible  <bruno@clisp.org>
53445         memmem*: Move AC_LIBOBJ invocations to module description.
53446         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
53447         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
53448         here...
53449         (gl_FUNC_MEMMEM): ... and here...
53450         * modules/memmem-simple (configure.ac): ... to here.
53451         * modules/memmem (configure.ac): ... and here.
53453 2011-05-21  Bruno Haible  <bruno@clisp.org>
53455         memcpy: Move AC_LIBOBJ invocations to module description.
53456         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
53457         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
53458         here...
53459         * modules/memcpy (configure.ac): ... to here.
53461 2011-05-21  Bruno Haible  <bruno@clisp.org>
53463         memcmp: Simplify autoconf macro.
53464         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
53465         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
53466         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
53468 2011-05-21  Bruno Haible  <bruno@clisp.org>
53470         memcmp: Move AC_LIBOBJ invocations to module description.
53471         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
53472         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
53473         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
53474         * modules/memcmp (configure.ac): ... to here.
53475         (Depends-on): Update conditions.
53477 2011-05-21  Bruno Haible  <bruno@clisp.org>
53479         memchr: Respect rules for use of AC_LIBOBJ.
53480         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
53481         invocations from here...
53482         * modules/memchr (configure.ac): ... to here.
53484 2011-05-21  Bruno Haible  <bruno@clisp.org>
53486         mbtowc: Move AC_LIBOBJ invocations to module description.
53487         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
53488         invocations from here...
53489         * modules/mbtowc (configure.ac): ... to here.
53491 2011-05-21  Bruno Haible  <bruno@clisp.org>
53493         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
53494         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
53495         gl_PREREQ_MBSRTOWCS invocations from here...
53496         * modules/mbsrtowcs (configure.ac): ... to here.
53498 2011-05-21  Bruno Haible  <bruno@clisp.org>
53500         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
53501         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
53502         gl_PREREQ_MBSNRTOWCS invocations from here...
53503         * modules/mbsnrtowcs (configure.ac): ... to here.
53505 2011-05-21  Bruno Haible  <bruno@clisp.org>
53507         mbsinit: Move AC_LIBOBJ invocations to module description.
53508         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
53509         invocations from here...
53510         * modules/mbsinit (configure.ac): ... to here.
53512 2011-05-21  Bruno Haible  <bruno@clisp.org>
53514         mbrlen: Move AC_LIBOBJ invocations to module description.
53515         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
53516         invocations from here...
53517         * modules/mbrlen (configure.ac): ... to here.
53519 2011-05-21  Bruno Haible  <bruno@clisp.org>
53521         mbrtowc: Respect rules for use of AC_LIBOBJ.
53522         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
53523         invocations from here...
53524         * modules/mbrtowc (configure.ac): ... to here.
53526 2011-05-21  Bruno Haible  <bruno@clisp.org>
53528         malloc-*: Move AC_LIBOBJ invocations to module description.
53529         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
53530         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
53531         AC_LIBOBJ invocations from here...
53532         * modules/malloc-gnu (configure.ac): ... to here.
53533         * modules/malloc-posix (configure.ac): ... and here.
53535 2011-05-21  Bruno Haible  <bruno@clisp.org>
53537         lstat, openat: Respect rules for use of AC_LIBOBJ.
53538         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
53539         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
53540         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
53541         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
53542         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
53543         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
53544         here.
53545         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
53547 2011-05-21  Bruno Haible  <bruno@clisp.org>
53549         lseek: Move AC_LIBOBJ invocations to module description.
53550         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
53551         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
53552         * modules/lseek (configure.ac): ... to here.
53554 2011-05-21  Bruno Haible  <bruno@clisp.org>
53556         linkat: Move AC_LIBOBJ invocations to module description.
53557         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
53558         here...
53559         * modules/linkat (configure.ac): ... to here.
53561 2011-05-21  Bruno Haible  <bruno@clisp.org>
53563         link: Respect rules for use of AC_LIBOBJ.
53564         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
53565         * modules/link (configure.ac): ... to here.
53567 2011-05-21  Bruno Haible  <bruno@clisp.org>
53569         lchown: Move AC_LIBOBJ invocations to module description.
53570         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
53571         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
53572         * modules/lchown (configure.ac): ... to here.
53574 2011-05-21  Bruno Haible  <bruno@clisp.org>
53576         iswctype: Move AC_LIBOBJ invocations to module description.
53577         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
53578         here...
53579         * modules/iswctype (configure.ac): ... to here.
53581 2011-05-21  Bruno Haible  <bruno@clisp.org>
53583         iswblank: Move AC_LIBOBJ invocations to module description.
53584         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
53585         here...
53586         * modules/iswblank (configure.ac): ... to here.
53588 2011-05-21  Bruno Haible  <bruno@clisp.org>
53590         atanl: Move AC_LIBOBJ invocations to module description.
53591         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
53592         * modules/atanl (configure.ac): ... to here.
53594 2011-05-21  Bruno Haible  <bruno@clisp.org>
53596         acosl: Move AC_LIBOBJ invocations to module description.
53597         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
53598         * modules/acosl (configure.ac): ... to here.
53600 2011-05-21  Bruno Haible  <bruno@clisp.org>
53602         asinl: Respect rules for use of AC_LIBOBJ.
53603         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
53604         * modules/asinl (configure.ac): ... to here.
53606 2011-05-21  Bruno Haible  <bruno@clisp.org>
53608         tanl: Move AC_LIBOBJ invocations to module description.
53609         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
53610         * modules/tanl (configure.ac): ... to here.
53612 2011-05-21  Bruno Haible  <bruno@clisp.org>
53614         cosl: Move AC_LIBOBJ invocations to module description.
53615         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
53616         * modules/cosl (configure.ac): ... to here.
53618 2011-05-21  Bruno Haible  <bruno@clisp.org>
53620         sinl: Move AC_LIBOBJ invocations to module description.
53621         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
53622         * modules/sinl (configure.ac): ... to here.
53624 2011-05-21  Bruno Haible  <bruno@clisp.org>
53626         logl: Move AC_LIBOBJ invocations to module description.
53627         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
53628         * modules/logl (configure.ac): ... to here.
53630 2011-05-21  Bruno Haible  <bruno@clisp.org>
53632         expl: Move AC_LIBOBJ invocations to module description.
53633         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
53634         * modules/expl (configure.ac): ... to here.
53636 2011-05-21  Bruno Haible  <bruno@clisp.org>
53638         roundl: Move AC_LIBOBJ invocations to module description.
53639         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
53640         * modules/roundl (configure.ac): ... to here.
53642 2011-05-21  Bruno Haible  <bruno@clisp.org>
53644         round: Move AC_LIBOBJ invocations to module description.
53645         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
53646         * modules/round (configure.ac): ... to here.
53648 2011-05-21  Bruno Haible  <bruno@clisp.org>
53650         roundf: Move AC_LIBOBJ invocations to module description.
53651         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
53652         * modules/roundf (configure.ac): ... to here.
53654 2011-05-21  Bruno Haible  <bruno@clisp.org>
53656         truncl: Move AC_LIBOBJ invocations to module description.
53657         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
53658         * modules/truncl (configure.ac): ... to here.
53660 2011-05-21  Bruno Haible  <bruno@clisp.org>
53662         trunc: Move AC_LIBOBJ invocations to module description.
53663         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
53664         * modules/trunc (configure.ac): ... to here.
53666 2011-05-21  Bruno Haible  <bruno@clisp.org>
53668         truncf: Move AC_LIBOBJ invocations to module description.
53669         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
53670         * modules/truncf (configure.ac): ... to here.
53672 2011-05-21  Bruno Haible  <bruno@clisp.org>
53674         ceill: Move AC_LIBOBJ invocations to module description.
53675         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
53676         * modules/ceill (configure.ac): ... to here.
53678 2011-05-21  Bruno Haible  <bruno@clisp.org>
53680         ceil: Move AC_LIBOBJ invocations to module description.
53681         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
53682         * modules/ceil (configure.ac): ... to here.
53684 2011-05-21  Bruno Haible  <bruno@clisp.org>
53686         ceilf: Move AC_LIBOBJ invocations to module description.
53687         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
53688         * modules/ceilf (configure.ac): ... to here.
53690 2011-05-21  Bruno Haible  <bruno@clisp.org>
53692         floorl: Respect rules for use of AC_LIBOBJ.
53693         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
53694         * modules/floorl (configure.ac): ... to here.
53696 2011-05-21  Bruno Haible  <bruno@clisp.org>
53698         floor: Respect rules for use of AC_LIBOBJ.
53699         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
53700         * modules/floor (configure.ac): ... to here.
53702 2011-05-21  Bruno Haible  <bruno@clisp.org>
53704         floorf: Move AC_LIBOBJ invocations to module description.
53705         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
53706         * modules/floorf (configure.ac): ... to here.
53708 2011-05-20  Bruno Haible  <bruno@clisp.org>
53710         sqrtl: Respect rules for use of AC_LIBOBJ.
53711         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
53712         * modules/sqrtl (configure.ac): ... to here.
53714 2011-05-20  Bruno Haible  <bruno@clisp.org>
53716         ldexpl: Respect rules for use of AC_LIBOBJ.
53717         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
53718         * modules/ldexpl (configure.ac): ... to here.
53720 2011-05-20  Bruno Haible  <bruno@clisp.org>
53722         frexpl*: Respect rules for use of AC_LIBOBJ.
53723         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
53724         invocation from here...
53725         * modules/frexpl (configure.ac): ... to here.
53726         * modules/frexpl-nolibm (configure.ac): ... and here.
53728 2011-05-20  Bruno Haible  <bruno@clisp.org>
53730         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
53731         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
53732         invocation from here...
53733         * modules/frexp (configure.ac): ... to here.
53734         * modules/frexp-nolibm (configure.ac): ... and here.
53736 2011-05-20  Bruno Haible  <bruno@clisp.org>
53738         isnan: Respect rules for use of AC_LIBOBJ.
53739         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
53740         invocations here.
53741         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
53742         REPLACE_ISNAN.
53743         * modules/isnand (configure.ac): Likewise.
53744         * modules/isnanl (configure.ac): Likewise.
53746 2011-05-20  Bruno Haible  <bruno@clisp.org>
53748         isnanl*: Respect rules for use of AC_LIBOBJ.
53749         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
53750         invocation from here...
53751         * modules/isnanl (configure.ac): ... to here.
53752         * modules/isnanl-nolibm (configure.ac): ... and here.
53754 2011-05-20  Bruno Haible  <bruno@clisp.org>
53756         isnand*: Move AC_LIBOBJ invocations to module description.
53757         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
53758         invocation from here...
53759         * modules/isnand (configure.ac): ... to here.
53760         * modules/isnand-nolibm (configure.ac): ... and here.
53762 2011-05-20  Bruno Haible  <bruno@clisp.org>
53764         isnanf*: Move AC_LIBOBJ invocations to module description.
53765         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
53766         invocation from here...
53767         * modules/isnanf (configure.ac): ... to here.
53768         * modules/isnanf-nolibm (configure.ac): ... and here.
53770 2011-05-20  Bruno Haible  <bruno@clisp.org>
53772         isnan*: Separate the AC_LIBOBJ invocations.
53773         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
53774         AC_LIBOBJ invocation.
53775         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
53776         here.
53777         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
53778         AC_LIBOBJ invocation.
53779         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
53780         here.
53781         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
53782         AC_LIBOBJ invocation.
53783         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
53784         here.
53785         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
53787 2011-05-08  Bruno Haible  <bruno@clisp.org>
53789         isinf: Move AC_LIBOBJ invocations to module description.
53790         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
53791         * modules/isinf (configure.ac): ... to here.
53793 2011-05-08  Bruno Haible  <bruno@clisp.org>
53795         isfinite: Move AC_LIBOBJ invocations to module description.
53796         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
53797         * modules/isfinite (configure.ac): ... to here.
53799 2011-05-08  Bruno Haible  <bruno@clisp.org>
53801         isblank: Move AC_LIBOBJ invocations to module description.
53802         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
53803         here...
53804         * modules/isblank (configure.ac): ... to here.
53806 2011-05-08  Bruno Haible  <bruno@clisp.org>
53808         isapipe: Move AC_LIBOBJ invocations to module description.
53809         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
53810         gl_PREREQ_ISAPIPE invocations from here...
53811         * modules/isapipe (configure.ac): ... to here.
53812         (Depends-on): Update condition.
53814 2011-05-08  Bruno Haible  <bruno@clisp.org>
53816         ioctl: Move AC_LIBOBJ invocations to module description.
53817         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
53818         invocations from here...
53819         * modules/ioctl (configure.ac): ... to here.
53820         (Depends-on): Update condition.
53822 2011-05-08  Bruno Haible  <bruno@clisp.org>
53824         imaxdiv: Move AC_LIBOBJ invocations to module description.
53825         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
53826         invocations from here...
53827         * modules/imaxdiv (configure.ac): ... to here.
53829 2011-05-08  Bruno Haible  <bruno@clisp.org>
53831         imaxabs: Move AC_LIBOBJ invocations to module description.
53832         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
53833         invocations from here...
53834         * modules/imaxabs (configure.ac): ... to here.
53836 2011-05-08  Bruno Haible  <bruno@clisp.org>
53838         getaddrinfo: Move AC_LIBOBJ invocations to module description.
53839         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
53840         AC_LIBOBJ invocations from here...
53841         * modules/getaddrinfo (configure.ac): ... to here.
53842         (Depends-on): Add conditions.
53844 2011-05-08  Bruno Haible  <bruno@clisp.org>
53846         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
53847         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
53848         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
53849         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
53850         (gl_PREREQ_INET_PTON): ... from here.
53851         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
53852         gl_PREREQ_INET_PTON here.
53853         (Depends-on): Update condition.
53855 2011-05-08  Bruno Haible  <bruno@clisp.org>
53857         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
53858         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
53859         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
53860         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
53861         (gl_PREREQ_INET_NTOP): ... from here.
53862         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
53863         gl_PREREQ_INET_NTOP here.
53864         (Depends-on): Update condition.
53866 2011-05-08  Bruno Haible  <bruno@clisp.org>
53868         iconv_open: Move AC_LIBOBJ invocations to module description.
53869         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
53870         AC_LIBOBJ invocations from here...
53871         * modules/iconv_open (configure.ac): ... to here.
53873 2011-05-08  Bruno Haible  <bruno@clisp.org>
53875         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
53876         If module 'iconv_open' is among the main modules and module
53877         'iconv_open-utf' is among the tests dependencies, then
53878         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
53879         return the special iconv_t values. Therefore iconv() and iconv_close()
53880         must support these special iconv_t values, already in lib, not only in
53881         tests.
53882         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
53883         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
53884         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
53885         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
53886         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
53887         (Depends-on): Add the dependencies of iconv_open-utf.
53888         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
53889         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
53890         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
53892 2011-05-08  Bruno Haible  <bruno@clisp.org>
53894         group-member: Move AC_LIBOBJ invocations to module description.
53895         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
53896         gl_PREREQ_GROUP_MEMBER invocations from here...
53897         * modules/group-member (configure.ac): ... to here.
53899 2011-05-08  Bruno Haible  <bruno@clisp.org>
53901         grantpt: Move AC_LIBOBJ invocations to module description.
53902         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
53903         invocations from here...
53904         * modules/grantpt (configure.ac): ... to here.
53906 2011-05-08  Bruno Haible  <bruno@clisp.org>
53908         glob: Move AC_LIBOBJ invocations to module description.
53909         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
53910         from here...
53911         * modules/glob (configure.ac): ... to here.
53913 2011-05-08  Bruno Haible  <bruno@clisp.org>
53915         getusershell: Move AC_LIBOBJ invocations to module description.
53916         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
53917         Move AC_LIBOBJ invocation from here...
53918         * modules/getusershell (configure.ac): ... to here.
53919         (Depends-on): Update condition.
53921 2011-05-08  Bruno Haible  <bruno@clisp.org>
53923         gettimeofday: Move AC_LIBOBJ invocations to module description.
53924         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
53925         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
53926         gl_PREREQ_GETTIMEOFDAY invocations from here...
53927         * modules/gettimeofday (configure.ac): ... to here.
53929 2011-05-08  Bruno Haible  <bruno@clisp.org>
53931         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
53932         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
53933         just gl_FUNC_TZSET.
53934         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
53935         (gl_FUNC_TZSET_CLOBBER): Remove actions.
53936         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
53937         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
53939 2011-05-08  Bruno Haible  <bruno@clisp.org>
53941         getsubopt: Move AC_LIBOBJ invocations to module description.
53942         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
53943         gl_PREREQ_GETSUBOPT invocations from here...
53944         * modules/getsubopt (configure.ac): ... to here.
53946 2011-05-08  Bruno Haible  <bruno@clisp.org>
53948         getpass-gnu: Move AC_LIBOBJ invocations to module description.
53949         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
53950         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
53951         * modules/getpass-gnu (configure.ac): ... to here.
53953 2011-05-08  Bruno Haible  <bruno@clisp.org>
53955         getpass: Move AC_LIBOBJ invocations to module description.
53956         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
53957         gl_PREREQ_GETPASS invocations from here...
53958         * modules/getpass (configure.ac): ... to here.
53960 2011-05-08  Bruno Haible  <bruno@clisp.org>
53962         getpagesize: Move AC_LIBOBJ invocations to module description.
53963         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
53964         from here...
53965         * modules/getpagesize (configure.ac): ... to here.
53967 2011-05-08  Bruno Haible  <bruno@clisp.org>
53969         getopt: Move AC_LIBOBJ invocations to module description.
53970         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
53971         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
53972         invocations from here...
53973         * modules/getopt-gnu (configure.ac): ... to here.
53974         * modules/getopt-posix (configure.ac): ... and here.
53975         (Depends-on): Update condition.
53977 2011-05-08  Bruno Haible  <bruno@clisp.org>
53979         getopt, argp: Respect rules for use of AC_LIBOBJ.
53980         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
53981         (gl_REPLACE_GETOPT_ALWAYS): New macro.
53982         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
53983         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
53985 2011-05-08  Bruno Haible  <bruno@clisp.org>
53987         getlogin_r: Move AC_LIBOBJ invocations to module description.
53988         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
53989         gl_PREREQ_GETLOGIN_R invocations from here...
53990         * modules/getlogin_r (configure.ac): ... to here.
53992 2011-05-08  Bruno Haible  <bruno@clisp.org>
53994         getlogin: Move AC_LIBOBJ invocations to module description.
53995         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
53996         here...
53997         * modules/getlogin (configure.ac): ... to here.
53999 2011-05-08  Bruno Haible  <bruno@clisp.org>
54001         getloadavg: Move AC_LIBOBJ invocations to module description.
54002         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
54003         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
54004         * modules/getloadavg (configure.ac): ... to here.
54006 2011-05-08  Bruno Haible  <bruno@clisp.org>
54008         gethrxtime: Move AC_LIBOBJ invocations to module description.
54009         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
54010         LIB_GETHRXTIME from here...
54011         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
54012         invocations from here...
54013         * modules/gethrxtime (configure.ac): ... to here.
54015 2011-05-08  Bruno Haible  <bruno@clisp.org>
54017         gethostname: Move AC_LIBOBJ invocations to module description.
54018         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
54019         gl_PREREQ_GETHOSTNAME invocations from here...
54020         * modules/gethostname (configure.ac): ... to here.
54022 2011-05-08  Bruno Haible  <bruno@clisp.org>
54024         getgroups: Move AC_LIBOBJ invocations to module description.
54025         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
54026         here...
54027         * modules/getgroups (configure.ac): ... to here.
54029 2011-05-08  Bruno Haible  <bruno@clisp.org>
54031         getdtablesize: Move AC_LIBOBJ invocations to module description.
54032         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
54033         invocation from here...
54034         * modules/getdtablesize (configure.ac): ... to here.
54036 2011-05-08  Bruno Haible  <bruno@clisp.org>
54038         getdomainname: Move AC_LIBOBJ invocations to module description.
54039         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
54040         gl_PREREQ_GETDOMAINNAME invocations from here...
54041         * modules/getdomainname (configure.ac): ... to here.
54043 2011-05-08  Bruno Haible  <bruno@clisp.org>
54045         getline: Move AC_LIBOBJ invocations to module description.
54046         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
54047         invocations from here...
54048         * modules/getline (configure.ac): ... to here.
54050 2011-05-08  Bruno Haible  <bruno@clisp.org>
54052         getline: Simplify.
54053         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
54054         It's already handled through the module dependency.
54056 2011-05-08  Bruno Haible  <bruno@clisp.org>
54058         getdelim: Move AC_LIBOBJ invocations to module description.
54059         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
54060         and gl_PREREQ_GETDELIM invocations from here...
54061         * modules/getdelim (configure.ac): ... to here.
54062         (Depends-on): Fix condition.
54064 2011-05-08  Bruno Haible  <bruno@clisp.org>
54066         getcwd: Move AC_LIBOBJ invocations to module description.
54067         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
54068         invocations from here...
54069         * modules/getcwd (configure.ac): ... to here.
54071 2011-05-08  Bruno Haible  <bruno@clisp.org>
54073         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
54074         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
54075         here...
54076         * modules/getcwd-lgpl (configure.ac): ... to here.
54078 2011-05-07  Bruno Haible  <bruno@clisp.org>
54080         crypto/gc: Move AC_LIBOBJ invocations to module description.
54081         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
54082         * modules/crypto/gc (configure.ac): ... to here.
54084 2011-05-07  Bruno Haible  <bruno@clisp.org>
54086         fwriting: Move AC_LIBOBJ invocations to module description.
54087         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
54088         here...
54089         * modules/fwriting (configure.ac): ... to here.
54091 2011-05-07  Bruno Haible  <bruno@clisp.org>
54093         fwritable: Move AC_LIBOBJ invocations to module description.
54094         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
54095         here...
54096         * modules/fwritable (configure.ac): ... to here.
54098 2011-05-07  Bruno Haible  <bruno@clisp.org>
54100         futimens: Move AC_LIBOBJ invocations to module description.
54101         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
54102         here...
54103         * modules/futimens (configure.ac): ... to here.
54105 2011-05-07  Bruno Haible  <bruno@clisp.org>
54107         ftruncate: Move AC_LIBOBJ invocations to module description.
54108         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
54109         gl_PREREQ_FTRUNCATE invocations from here...
54110         * modules/ftruncate (configure.ac): ... to here.
54112 2011-05-07  Bruno Haible  <bruno@clisp.org>
54114         fsync: Move AC_LIBOBJ invocations to module description.
54115         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
54116         invocations from here...
54117         * modules/fsync (configure.ac): ... to here.
54119 2011-05-07  Bruno Haible  <bruno@clisp.org>
54121         fsusage: Move AC_LIBOBJ invocations to module description.
54122         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
54123         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
54124         * modules/fsusage (configure.ac): ... to here.
54126 2011-05-07  Bruno Haible  <bruno@clisp.org>
54128         freopen: Move AC_LIBOBJ invocations to module description.
54129         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
54130         invocations from here...
54131         * modules/freopen (configure.ac): ... to here.
54133 2011-05-07  Bruno Haible  <bruno@clisp.org>
54135         free: Move AC_LIBOBJ invocations to module description.
54136         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
54137         invocations from here...
54138         * modules/free (configure.ac): ... to here.
54140 2011-05-07  Bruno Haible  <bruno@clisp.org>
54142         freadable: Move AC_LIBOBJ invocations to module description.
54143         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
54144         here...
54145         * modules/freadable (configure.ac): ... to here.
54147 2011-05-07  Bruno Haible  <bruno@clisp.org>
54149         fpurge: Move AC_LIBOBJ invocations to module description.
54150         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
54151         invocations from here...
54152         * modules/fpurge (configure.ac): ... to here.
54154 2011-05-07  Bruno Haible  <bruno@clisp.org>
54156         fpending: Move AC_LIBOBJ invocations to module description.
54157         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
54158         gl_FUNC_FPENDING.
54159         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
54160         invocations from here...
54161         * modules/fpending (configure.ac): ... to here.
54163 2011-05-07  Bruno Haible  <bruno@clisp.org>
54165         fopen: Move AC_LIBOBJ invocations to module description.
54166         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
54167         invocations from here...
54168         * modules/fopen (configure.ac): ... to here.
54170 2011-05-07  Bruno Haible  <bruno@clisp.org>
54172         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
54173         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
54174         gl_FUNC_FNMATCH_POSIX.
54175         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
54176         invocations from here...
54177         * modules/fnmatch (configure.ac): ... to here.
54178         * modules/fnmatch-gnu (configure.ac): ... and here.
54180 2011-05-07  Bruno Haible  <bruno@clisp.org>
54182         flock: Move AC_LIBOBJ invocations to module description.
54183         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
54184         invocations from here...
54185         * modules/flock (configure.ac): ... to here.
54187 2011-05-07  Bruno Haible  <bruno@clisp.org>
54189         fileblocks: Move AC_LIBOBJ invocations to module description.
54190         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
54191         gl_PREREQ_FILEBLOCKS invocations from here...
54192         * modules/fileblocks (configure.ac): ... to here.
54194 2011-05-06  Bruno Haible  <bruno@clisp.org>
54196         fflush: Move AC_LIBOBJ invocations to module description.
54197         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
54198         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
54199         invocations from here...
54200         * modules/fflush (configure.ac): ... to here.
54202 2011-05-06  Bruno Haible  <bruno@clisp.org>
54204         fdopendir: Move AC_LIBOBJ invocations to module description.
54205         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
54206         here...
54207         * modules/fdopendir (configure.ac): ... to here.
54208         (Depends-on): Improve conditions.
54210 2011-05-06  Bruno Haible  <bruno@clisp.org>
54212         _Exit: Move AC_LIBOBJ invocations to module description.
54213         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
54214         invocations from here...
54215         * modules/_Exit (configure.ac): ... to here.
54217 2011-05-21  Bruno Haible  <bruno@clisp.org>
54219         euidaccess: Respect rules for use of AC_LIBOBJ.
54220         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
54221         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
54222         from here...
54223         * modules/euidaccess (configure.ac): ... to here.
54225 2011-05-06  Bruno Haible  <bruno@clisp.org>
54227         error: Move AC_LIBOBJ invocations to module description.
54228         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
54229         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
54230         invocations from here...
54231         * modules/error (configure.ac): ... to here.
54233 2011-05-06  Bruno Haible  <bruno@clisp.org>
54235         duplocale: Move AC_LIBOBJ invocations to module description.
54236         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
54237         gl_PREREQ_DUPLOCALE invocations from here...
54238         * modules/duplocale (configure.ac): ... to here.
54240 2011-05-05  Bruno Haible  <bruno@clisp.org>
54242         dirfd: Move AC_LIBOBJ invocations to module description.
54243         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
54244         gl_FUNC_DIRFD.
54245         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
54246         here...
54247         * modules/dirfd (configure.ac): ... to here.
54248         (Depends-on): Fix condition.
54250 2011-05-05  Bruno Haible  <bruno@clisp.org>
54252         chown: Respect rules for use of AC_LIBOBJ.
54253         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
54254         * modules/chown (configure.ac): ... to here.
54256 2011-05-05  Bruno Haible  <bruno@clisp.org>
54258         chdir-long: Move AC_LIBOBJ invocations to module description.
54259         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
54260         gl_PREREQ_CHDIR_LONG invocations from here...
54261         * modules/chdir-long (configure.ac): ... to here.
54263 2011-05-05  Bruno Haible  <bruno@clisp.org>
54265         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
54266         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
54267         from here...
54268         * modules/canonicalize-lgpl (configure.ac): ... to here.
54270 2011-05-05  Bruno Haible  <bruno@clisp.org>
54272         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
54273         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
54274         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
54275         REPLACE_CALLOC.
54276         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
54277         * modules/calloc-gnu (configure.ac): Likewise.
54279 2011-05-05  Bruno Haible  <bruno@clisp.org>
54281         btowc: Move AC_LIBOBJ invocations to module description.
54282         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
54283         invocations from here...
54284         * modules/btowc (configure.ac): ... to here.
54286 2011-05-21  Bruno Haible  <bruno@clisp.org>
54288         atexit: Move AC_LIBOBJ invocations to module description.
54289         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
54290         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
54291         here...
54292         * modules/atexit (configure.ac): ... to here.
54294 2011-05-05  Bruno Haible  <bruno@clisp.org>
54296         atoll: Move AC_LIBOBJ invocations to module description.
54297         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
54298         invocations from here...
54299         * modules/atoll (configure.ac): ... to here.
54301 2011-05-05  Bruno Haible  <bruno@clisp.org>
54303         argz: Move AC_LIBOBJ invocations to module description.
54304         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
54305         * modules/argz (configure.ac): ... to here.
54307 2011-05-05  Bruno Haible  <bruno@clisp.org>
54309         alphasort: Move AC_LIBOBJ invocations to module description.
54310         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
54311         gl_PREREQ_ALPHASORT invocations from here...
54312         * modules/alphasort (configure.ac): ... to here.
54314 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
54316         verify: new macro verify_expr; verify_true deprecated
54317         * NEWS: Mention this.
54318         * doc/verify.texi (Compile-time Assertions): Document this.
54319         * lib/verify.h (verify_true): Deprecate.
54320         (verify_expr): New macro.
54321         * tests/test-verify.c (function): Test verify_expr.
54323 2011-06-14  Jim Meyering  <meyering@redhat.com>
54325         init.sh: give more portable redirection-related advice in a comment
54326         * tests/init.sh (stderr_fileno_): Update the advice in comments.
54327         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
54328         for lots of discussion.  Stefano Lattarini suggested the solution
54329         of putting "9>&2" after the command.  Reported by Bruno Haible.
54331 2011-06-13  Bruno Haible  <bruno@clisp.org>
54333         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
54334         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
54335         'none'.
54337 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
54339         ftoastr: use strtof only if HAVE_STRTOF
54340         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
54341         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
54342         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
54343         * modules/ftoastr (configure.ac): Check for strtof.
54345 2011-06-13  Bruno Haible  <bruno@clisp.org>
54347         gnulib-tool: Addendum to 2011-06-08 commit.
54348         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
54349         and --witness-c-macro have been given, augment AM_CPPFLAGS.
54351 2011-06-13  Bruno Haible  <bruno@clisp.org>
54353         fseeko: Provide a non-inline replacement of fseek().
54354         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
54355         * modules/fseeko (Depends-on): Add fseek.
54356         * modules/fseek (License): Change to LGPLv2+.
54358 2011-06-13  Bruno Haible  <bruno@clisp.org>
54360         ftello: Provide a non-inline replacement of ftell().
54361         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
54362         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
54363         not have ftello() (such as on mingw).
54364         * modules/ftello (Depends-on): Add ftell.
54365         * modules/ftell (License): Change to LGPLv2+.
54367 2011-05-07  Bruno Haible  <bruno@clisp.org>
54369         ftell: Move AC_LIBOBJ invocations to module description.
54370         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
54371         * modules/ftell (configure.ac): ... to here.
54373 2011-05-07  Bruno Haible  <bruno@clisp.org>
54375         ftello: Respect rules for use of AC_LIBOBJ.
54376         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
54377         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
54378         here...
54379         * modules/ftello (configure.ac): ... to here.
54381 2011-05-07  Bruno Haible  <bruno@clisp.org>
54383         fseeko: Simplify.
54384         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
54385         (gl_FUNC_FSEEKO): Inline it here.
54387 2011-05-07  Bruno Haible  <bruno@clisp.org>
54389         fseek: Move AC_LIBOBJ invocations to module description.
54390         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
54391         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
54392         * modules/fseek (configure.ac): ... to here.
54394 2011-05-07  Bruno Haible  <bruno@clisp.org>
54396         fseek: Respect rules for use of AC_LIBOBJ.
54397         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
54398         here...
54399         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
54401 2011-05-07  Bruno Haible  <bruno@clisp.org>
54403         fseeko: Respect rules for use of AC_LIBOBJ.
54404         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
54405         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
54406         here...
54407         * modules/fseeko (configure.ac): ... to here.
54409 2011-06-13  Bruno Haible  <bruno@clisp.org>
54411         gnulib-tool: Allow comments in the 'Depends-on' section.
54412         * doc/gnulib.texi (Module description): Mention comment syntax in the
54413         Depends-on section.
54414         * gnulib-tool (func_get_dependencies): Filter out comment lines.
54416 2011-06-13  Bruno Haible  <bruno@clisp.org>
54418         file-set.h: guard __attibute__ use, now that it's not always defined
54419         * lib/file-set.h (record_file): Use __attribute__ only with compiler
54420         versions that support it.  This fixes a coreutils build failure with
54421         the vendor cc on HP-UX 11.31.
54423 2011-06-12  Bruno Haible  <bruno@clisp.org>
54425         acl: Add support for HP-UX >= 11.11 JFS ACLs.
54426         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
54427         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
54428         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
54429         (acl, aclsort): New declarations.
54430         (aclv_nontrivial): New declaration.
54431         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
54432         (file_has_acl): Read also the second kind of HP-UX ACLs.
54433         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
54434         kind of HP-UX ACLs if the first kind fails.
54435         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
54436         second kind of HP-UX ACLs.
54437         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
54438         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
54439         agree.
54440         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
54441         hpuxjfs.
54442         Handle hpuxjfs.
54443         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
54444         hpuxjfs.
54445         Handle hpuxjfs.
54446         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
54447         (func_test_same_acls): Use both lsacl and getacl.
54448         Handle hpuxjfs.
54449         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
54450         (func_test_same_acls): Use both lsacl and getacl.
54451         Handle hpuxjfs.
54453 2011-06-12  Bruno Haible  <bruno@clisp.org>
54455         acl: Complete the 2010-08-10 fix.
54456         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
54457         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
54458         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
54459         explicitly.
54460         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
54461         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
54463 2011-06-12  Bruno Haible  <bruno@clisp.org>
54465         spawn-pipe tests: Comments.
54466         * tests/test-spawn-pipe-child.c (main): Update comment.
54467         Reported by James Youngman <jay@gnu.org>.
54469 2011-06-11  James Youngman  <jay@gnu.org>
54471         New module 'stat-size'.
54472         * modules/stat-size: New module.  Provides macros for accessing
54473         file size information in instances of struct stat.  Depends on the
54474         fileblocks module because it calls st_blocks.
54475         * lib/stat-size.h: New file, adapted from coreutils' system.h.
54476         * doc/gnulib.texi: Include stat-size.texi.
54477         * doc/stat-size.texi: Documentation for this module.
54478         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
54479         * m4/fileblocks.m4: Mention that stat-size depends on the call to
54480         AC_STRUCT_ST_BLOCKS.
54482 2011-06-09  Bruno Haible  <bruno@clisp.org>
54484         thread: Support pthreads-win32.
54485         * lib/glthread/thread.h (gl_thread_self): Define differently on
54486         pthreads-win32.
54487         (gl_null_thread): New declaration.
54488         (gl_thread_self_pointer): New macro.
54489         * lib/glthread/thread.c (gl_null_thread): New constant.
54490         * tests/test-lock.c: Use gl_thread_self_pointer instead of
54491         gl_thread_self.
54492         * tests/test-tls.c: Likewise.
54493         Suggested by Paul Eggert. Reported by Eric Blake.
54495 2011-06-09  Bruno Haible  <bruno@clisp.org>
54497         thread: Fix confusion between NULL and 0.
54498         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
54499         Reported by Paul Eggert.
54501 2011-06-09  Bruno Haible  <bruno@clisp.org>
54503         spawn-pipe tests: Avoid test failure on HP-UX 11.
54504         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
54505         is closed.
54507 2011-06-09  Bruno Haible  <bruno@clisp.org>
54509         acl tests: Fix compilation error on HP-UX 11.
54510         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
54512 2011-06-09  Bruno Haible  <bruno@clisp.org>
54514         rmdir: Avoid test failure on HP-UX 10.20.
54515         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
54516         EEXIST.
54518 2011-06-08  Eric Blake  <eblake@redhat.com>
54520         perror: fix test on mingw
54521         * modules/perror-tests (Depends-on): Add dup2.
54523         strerror_r-posix: fix on MacOS
54524         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
54525         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
54526         logic bug.
54527         * lib/strerror_r.c (strerror_r): Fix the bug.
54528         * lib/strerror.c (strerror): Likewise.
54529         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
54530         problem.
54531         * doc/posix-functions/strerror.texi (strerror): Likewise.
54532         * doc/posix-functions/perror.texi (perror): Likewise.
54533         * tests/test-strerror.c (main): Enhance test.
54534         * tests/test-strerror_r.c (main): Likewise.
54536 2011-06-08  Bruno Haible  <bruno@clisp.org>
54538         gnulib-tool: Better isolation between different gnulib-tool invocations.
54539         * gnulib-tool: New option --witness-c-macro.
54540         (witness_c_macro): New variable.
54541         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
54542         AM_CPPFLAGS define it as a C macro.
54543         (func_emit_tests_Makefile_am): Likewise.
54544         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
54545         read it from there.
54546         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
54547         m4_define, not AC_DEFUN.
54548         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
54549         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
54550         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
54551         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
54552         s|...|...|, to substitute the values of the GNULIB_* module indicator
54553         variables.
54554         * modules/dirent (Makefile.am): Likewise.
54555         * modules/fcntl-h (Makefile.am): Likewise.
54556         * modules/iconv-h (Makefile.am): Likewise.
54557         * modules/langinfo (Makefile.am): Likewise.
54558         * modules/locale (Makefile.am): Likewise.
54559         * modules/math (Makefile.am): Likewise.
54560         * modules/netdb (Makefile.am): Likewise.
54561         * modules/poll-h (Makefile.am): Likewise.
54562         * modules/pty (Makefile.am): Likewise.
54563         * modules/search (Makefile.am): Likewise.
54564         * modules/signal (Makefile.am): Likewise.
54565         * modules/spawn (Makefile.am): Likewise.
54566         * modules/stdio (Makefile.am): Likewise.
54567         * modules/stdlib (Makefile.am): Likewise.
54568         * modules/string (Makefile.am): Likewise.
54569         * modules/sys_ioctl (Makefile.am): Likewise.
54570         * modules/sys_select (Makefile.am): Likewise.
54571         * modules/sys_socket (Makefile.am): Likewise.
54572         * modules/sys_stat (Makefile.am): Likewise.
54573         * modules/sys_times (Makefile.am): Likewise.
54574         * modules/sys_utsname (Makefile.am): Likewise.
54575         * modules/sys_wait (Makefile.am): Likewise.
54576         * modules/termios (Makefile.am): Likewise.
54577         * modules/time (Makefile.am): Likewise.
54578         * modules/unistd (Makefile.am): Likewise.
54579         * modules/wchar (Makefile.am): Likewise.
54581 2011-06-08  Eric Blake  <eblake@redhat.com>
54583         strerror: simplify replacement
54584         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
54585         * modules/strerror (configure.ac): No prereqs needed here...
54586         * modules/strerror-override (configure.ac): ...but this needs it.
54587         (Files): Add file for needed prereq macro.
54589 2011-06-08  Bruno Haible  <bruno@clisp.org>
54591         strerror_r-posix: Tweaks.
54592         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
54593         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
54594         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
54595         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
54596         (gl_FUNC_STRERROR_R): ... to here.
54597         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
54599 2011-06-07  Eric Blake  <eblake@redhat.com>
54601         perror: document fixed bugs
54602         * doc/posix-functions/perror.texi (perror): Document recent
54603         patches.
54605 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
54607         stat-time: get_stat_birthtime failure is better-defined
54608         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
54609         return a timestamp whose tv_sec and tv_nsec values are both -1.
54610         Previously, the spec said only that the tv_nsec value was negative.
54611         This upward-compatible change simplifies GNU tar a bit.
54613 2011-06-07  Eric Blake  <eblake@redhat.com>
54615         strerror_r-posix: work around cygwin 1.7.9
54616         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
54617         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
54618         bug without replacing strerror_r.
54619         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
54620         strerror_r is buggy, but without requiring strerror_r compilation.
54621         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
54623         test-perror: relax test to ignore cygwin bug
54624         * tests/test-perror2.c (main): Relax test on requiring detection
54625         of stream errors, and use unbuffered stream.
54626         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
54627         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
54628         * doc/posix-functions/fputc.texi (fputc): Likewise.
54629         * doc/posix-functions/fputs.texi (fputs): Likewise.
54630         * doc/posix-functions/fputws.texi (fputws): Likewise.
54631         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
54632         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
54633         * doc/posix-functions/getopt.texi (getopt): Likewise.
54634         * doc/posix-functions/perror.texi (perror): Likewise.
54635         * doc/posix-functions/printf.texi (printf): Likewise.
54636         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
54637         * doc/posix-functions/psignal.texi (psignal): Likewise.
54638         * doc/posix-functions/putc.texi (putc): Likewise.
54639         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
54640         Likewise.
54641         * doc/posix-functions/putchar.texi (putchar): Likewise.
54642         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
54643         Likewise.
54644         * doc/posix-functions/puts.texi (puts): Likewise.
54645         * doc/posix-functions/putwc.texi (putwc): Likewise.
54646         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
54647         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
54648         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
54649         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
54650         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
54651         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
54652         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
54653         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
54655 2011-05-22  Bruno Haible  <bruno@clisp.org>
54657         strerror: Move AC_LIBOBJ invocations to module description.
54658         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
54659         gl_PREREQ_STRERROR invocations from here...
54660         * modules/strerror (configure.ac): ... to here.
54662 2011-05-21  Bruno Haible  <bruno@clisp.org>
54664         perror: Use common idiom.
54665         * modules/perror (configure.ac): Reorder statements.
54667 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
54669         tests: fix usage message in 'mktempd_'
54670         * tests/init.sh (mktempd_): In the usage message, use literal
54671         'mktempd_', not '$ME' (which is even undefined), as the name of
54672         the subroutine.
54674 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
54676         tests init: new function 'fatal_', for hard errors
54677         Before this patch, the only way offered by tests/init.sh to
54678         properly signal a hard error was the `framework_failure_'
54679         function.  But the error message issued by that function,
54680         as its name would suggest, refers to a set-up failure in the
54681         testsuite, while hard errors can obviously also be due to
54682         other reasons.  The best way to fix this inconsistency is to
54683         introduce a new function with a more general error message.
54684         * tests/init.sh (fatal_): New function.
54686 2011-06-06  Eric Blake  <eblake@redhat.com>
54688         canonicalize-lgpl: use common idiom
54689         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
54690         over newer POSIX -Rf.
54691         Reported by Bruno Haible.
54693         canonicalize-lgpl: work around AIX realpath bug
54694         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
54695         * doc/posix-functions/realpath.texi (realpath): Document it.
54696         Reported by Bruno Haible.
54698         strerror: work around FreeBSD bug
54699         * lib/strerror.c (strerror): Special case 0.
54700         Reported by Bruno Haible.
54702         strerror-override: avoid bloating errno module
54703         * modules/errno (Files, configure.ac): Move replacement strings...
54704         * modules/strerror-override: ...to new module.
54705         * modules/strerror (Depends-on): Add strerror-override.
54706         * modules/strerror_r-posix (Depends-on): Likewise.
54707         * MODULES.html.sh: Document new module.
54708         Reported by Bruno Haible.
54710 2011-06-06  Bruno Haible  <bruno@clisp.org>
54712         spawn-pipe tests: Rename program.
54713         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
54714         * tests/test-spawn-pipe-child.c: Update comment.
54715         * tests/test-spawn-pipe.sh: Update.
54716         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
54718         spawn-pipe tests: Link the child program only against libc.
54719         * tests/test-spawn-pipe-child.c: New file, extracted from
54720         tests/test-spawn-pipe.c.
54721         (main): Expect only one argument.
54722         (is_open): New function, copied from tests/test-pipe.c.
54723         * tests/test-spawn-pipe.c: Don't include <errno.h>.
54724         (child_main): Remove function.
54725         (test_pipe): Pass only one argument to the child program.
54726         (main): Remove child process code. Expect the child program's name as
54727         first argument.
54728         * tests/test-spawn-pipe.sh: Pass the child program's name as first
54729         argument.
54730         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
54731         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
54732         test-spawn-pipe-child against no libraries.
54734 2011-06-06  Bruno Haible  <bruno@clisp.org>
54736         careadlinkat: Avoid mismatch between ssize_t and int.
54737         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
54738         * lib/careadlinkat.c (careadlinkatcwd): Define always.
54740 2011-06-06  Jim Meyering  <meyering@redhat.com>
54742         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
54743         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
54744         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
54746 2011-06-05  Bruno Haible  <bruno@clisp.org>
54748         ansi-c++-opt: Interoperability with libtool.
54749         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
54750         set the variable to "no", not to ":".
54751         * NEWS: Mention the change.
54753 2011-06-05  Bruno Haible  <bruno@clisp.org>
54755         acl: Fix test failure on AIX 7.
54756         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
54757         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
54759 2011-06-05  Bruno Haible  <bruno@clisp.org>
54761         pipe-filter-ii: Fix test failure on AIX and IRIX.
54762         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
54763         with EAGAIN, retry with a smaller buffer size.
54765 2011-06-05  Bruno Haible  <bruno@clisp.org>
54767         localename: Fix link dependencies.
54768         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
54769         * modules/localename-tests (Makefile.am): Link test-localename with
54770         $(LIBTHREAD).
54772 2011-06-05  Bruno Haible  <bruno@clisp.org>
54774         error: Avoid gcc warning.
54775         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
54777 2011-06-05  Bruno Haible  <bruno@clisp.org>
54779         unsetenv: Avoid gcc warning.
54780         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
54782 2011-06-05  Bruno Haible  <bruno@clisp.org>
54784         setenv: Avoid gcc warning.
54785         * lib/setenv.c (setenv): Provide declaration if system lacks it.
54787 2011-06-05  Bruno Haible  <bruno@clisp.org>
54789         sys_select: Ensure memset is declared also on AIX 7.
54790         * lib/sys_select.in.h: Include <string.h> also on AIX.
54791         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
54792         self-contained also on AIX 7.1.
54794 2011-06-04  Jim Meyering  <meyering@redhat.com>
54796         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
54797         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
54798         function name, "error".
54799         (_gl_translatable_diag_func_re): New configurable variable.
54801 2011-06-04  Bruno Haible  <bruno@clisp.org>
54803         getopt: Avoid gcc warning.
54804         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
54806 2011-06-04  Bruno Haible  <bruno@clisp.org>
54808         strerror_r: Fix comments.
54809         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
54810         commit.
54812 2011-06-04  Bruno Haible  <bruno@clisp.org>
54814         perror: Fix compilation error.
54815         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
54816         Undefine fprintf, not sprintf.
54817         * modules/perror (Depends-on): Remove intprops, verify.
54819 2011-06-04  Bruno Haible  <bruno@clisp.org>
54821         setlocale: Enable replacement on Cygwin 1.5.
54822         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
54823         Cygwin 1.5.x.
54824         * doc/posix-functions/setlocale.texi: Mention that the problem with the
54825         LC_CTYPE category also exists on Cygwin 1.5.x.
54827 2011-06-04  Bruno Haible  <bruno@clisp.org>
54829         strerror-override: Don't disable symbol renamings.
54830         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
54831         * lib/strerror-override.c: Include config.h.
54832         (strerror_override): Don't undefine.
54834 2011-06-03  Bruno Haible  <bruno@clisp.org>
54836         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
54837         * lib/localename.h: Update copyright header.
54838         * lib/localename.c: Likewise.
54839         * lib/relocatable.h: Likewise.
54840         * lib/relocatable.c: Likewise.
54842 2011-06-02  Bruno Haible  <bruno@clisp.org>
54844         doc: Fix a module name.
54845         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
54847 2011-06-02  Bruno Haible  <bruno@clisp.org>
54849         pipe2: Remove dependency on 'nonblocking' module.
54850         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
54851         O_NONBLOCK is defined by gnulib.
54852         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
54853         is zero.
54854         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
54855         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
54856         defined by gnulib.
54857         (get_nonblocking_flag): New function.
54858         (main): Test O_NONBLOCK flag only if it is nonzero.
54859         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
54861 2011-06-03  Jim Meyering  <meyering@redhat.com>
54863         maint: three new prohibit-header-without-use rules
54864         Prohibit use of cloexec.h, posixver.h, same.h without use.
54865         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
54866         (sc_prohibit_posixver_without_use): Likewise.
54867         (sc_prohibit_same_without_use): Likewise.
54869 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
54871         allocator: 'die' routine is now given requested size
54872         * lib/allocator.h (struct allocator.die): New size arg.
54873         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
54874         If the actual problem is an ssize_t limitation, not a size_t or
54875         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
54877 2011-06-01  Eric Blake  <eblake@redhat.com>
54879         strerror: drop strerror_r dependency
54880         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
54881         * lib/strerror-override.c (strerror_override): ...to new file.
54882         * lib/strerror-override.h: Add prototype.
54883         * lib/strerror-impl.h: Delete.
54884         * lib/strerror.c (strerror): New implementation.
54885         * modules/errno (Files): Add new files.
54886         (configure.ac): Compile new file as appropriate.
54887         * modules/strerror (Files): Drop unused file.
54888         (Depends-on): Drop strerror_r-posix.
54889         * MODULES.html.sh: Document strerror_r-posix.
54890         Requested by Sam Steingold.
54892         perror: call strerror_r directly
54893         * modules/perror (Files): Drop strerror-impl.h.
54894         * lib/perror.c (perror): Use our own stack buffer, rather than
54895         calling a wrapper that uses static storage.
54896         * doc/posix-functions/perror.texi (perror): Document a limitation
54897         of our replacement.
54899         strerror_r: fix includes for FreeBSD
54900         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
54901         since we use abort on some platforms.
54902         Reported by Matthias Bolte.
54904 2011-05-31  Bruno Haible  <bruno@clisp.org>
54906         Fix link errors in tests: openat-die uses gettext-h.
54907         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
54908         against $(LIBINTL).
54909         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
54910         against $(LIBINTL).
54911         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
54912         $(LIBINTL).
54913         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
54914         against $(LIBINTL).
54915         * modules/linkat-tests (Makefile.am): Link test-linkat against
54916         $(LIBINTL).
54917         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
54918         $(LIBINTL).
54919         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
54920         against $(LIBINTL).
54921         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
54922         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
54923         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
54924         $(LIBINTL).
54925         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
54926         $(LIBINTL).
54927         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
54928         $(LIBINTL).
54929         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54931 2011-05-31  Bruno Haible  <bruno@clisp.org>
54933         Fix link errors in tests: wait-process uses gettext-h.
54934         * modules/nonblocking-pipe-tests (Makefile.am): Set
54935         test_nonblocking_pipe_main_LDADD.
54936         * modules/nonblocking-socket-tests (Makefile.am): Link
54937         test-nonblocking-socket-main against $(LIBINTL).
54938         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54940 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
54942         assert-h: work around 'verify' incompatibility
54943         * lib/verify.h: Use @...@ directives, not ifdef.
54944         * modules/assert-h (assert.h): Implement the directives.
54945         (assert.h): Substitute the symbol-prefix more consistently.
54947 2011-05-29  Jim Meyering  <meyering@redhat.com>
54949         trim: remove three superfluous assignments
54950         * lib/trim.c (trim2): Remove three superfluous assignments
54951         and correct brace positioning.
54953 2011-05-29  Bruno Haible  <bruno@clisp.org>
54955         wctype-h: Avoid namespace pollution on Solaris 2.6.
54956         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
54957         identifiers.
54958         * doc/posix-headers/wctype.texi: Mention the problem.
54959         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54961 2011-05-28  Jim Meyering  <meyering@redhat.com>
54963         parse-datetime.y: accommodate -Wstrict-overflow
54964         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
54965         placate -Wstrict-overflow.
54967         trim: avoid a warning from -O2 -Wstrict-overflow
54968         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
54970 2011-05-29  Bruno Haible  <bruno@clisp.org>
54972         gnulib-tool: Fix bug in yesterday's commit.
54973         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
54974         twice.
54976 2011-05-29  Bruno Haible  <bruno@clisp.org>
54978         Allow multiple gnulib generated include files to be combined.
54979         * gnulib-tool (func_compute_include_guard_prefix): New function.
54980         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
54981         ${gl_include_guard_prefix} references.
54982         (func_import, func_create_testdir): Invoke
54983         func_compute_include_guard_prefix.
54984         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
54985         * lib/ctype.in.h: Likewise.
54986         * lib/dirent.in.h: Likewise.
54987         * lib/errno.in.h: Likewise.
54988         * lib/fcntl.in.h: Likewise.
54989         * lib/float.in.h: Likewise.
54990         * lib/getopt.in.h: Likewise.
54991         * lib/iconv.in.h: Likewise.
54992         * lib/langinfo.in.h: Likewise.
54993         * lib/locale.in.h: Likewise.
54994         * lib/math.in.h: Likewise.
54995         * lib/netdb.in.h: Likewise.
54996         * lib/netinet_in.in.h: Likewise.
54997         * lib/poll.in.h: Likewise.
54998         * lib/pthread.in.h: Likewise.
54999         * lib/pty.in.h: Likewise.
55000         * lib/sched.in.h: Likewise.
55001         * lib/se-selinux.in.h: Likewise.
55002         * lib/search.in.h: Likewise.
55003         * lib/signal.in.h: Likewise.
55004         * lib/spawn.in.h: Likewise.
55005         * lib/stdarg.in.h: Likewise.
55006         * lib/stddef.in.h: Likewise.
55007         * lib/stdint.in.h: Likewise.
55008         * lib/stdio.in.h: Likewise.
55009         * lib/stdlib.in.h: Likewise.
55010         * lib/string.in.h: Likewise.
55011         * lib/strings.in.h: Likewise.
55012         * lib/sys_file.in.h: Likewise.
55013         * lib/sys_ioctl.in.h: Likewise.
55014         * lib/sys_select.in.h: Likewise.
55015         * lib/sys_socket.in.h: Likewise.
55016         * lib/sys_stat.in.h: Likewise.
55017         * lib/sys_time.in.h: Likewise.
55018         * lib/sys_times.in.h: Likewise.
55019         * lib/sys_uio.in.h: Likewise.
55020         * lib/sys_utsname.in.h: Likewise.
55021         * lib/sys_wait.in.h: Likewise.
55022         * lib/sysexits.in.h: Likewise.
55023         * lib/termios.in.h: Likewise.
55024         * lib/time.in.h: Likewise.
55025         * lib/unistd.in.h: Likewise.
55026         * lib/wchar.in.h: Likewise.
55027         * lib/wctype.in.h: Likewise.
55028         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
55029         * modules/ctype (Makefile.am): Likewise.
55030         * modules/dirent (Makefile.am): Likewise.
55031         * modules/errno (Makefile.am): Likewise.
55032         * modules/fcntl-h (Makefile.am): Likewise.
55033         * modules/float (Makefile.am): Likewise.
55034         * modules/getopt-posix (Makefile.am): Likewise.
55035         * modules/iconv-h (Makefile.am): Likewise.
55036         * modules/langinfo (Makefile.am): Likewise.
55037         * modules/locale (Makefile.am): Likewise.
55038         * modules/math (Makefile.am): Likewise.
55039         * modules/netdb (Makefile.am): Likewise.
55040         * modules/netinet_in (Makefile.am): Likewise.
55041         * modules/poll-h (Makefile.am): Likewise.
55042         * modules/pthread (Makefile.am): Likewise.
55043         * modules/pty (Makefile.am): Likewise.
55044         * modules/sched (Makefile.am): Likewise.
55045         * modules/search (Makefile.am): Likewise.
55046         * modules/selinux-h (Makefile.am): Likewise.
55047         * modules/signal (Makefile.am): Likewise.
55048         * modules/spawn (Makefile.am): Likewise.
55049         * modules/stdarg (Makefile.am): Likewise.
55050         * modules/stddef (Makefile.am): Likewise.
55051         * modules/stdint (Makefile.am): Likewise.
55052         * modules/stdio (Makefile.am): Likewise.
55053         * modules/stdlib (Makefile.am): Likewise.
55054         * modules/string (Makefile.am): Likewise.
55055         * modules/strings (Makefile.am): Likewise.
55056         * modules/sys_file (Makefile.am): Likewise.
55057         * modules/sys_ioctl (Makefile.am): Likewise.
55058         * modules/sys_select (Makefile.am): Likewise.
55059         * modules/sys_socket (Makefile.am): Likewise.
55060         * modules/sys_stat (Makefile.am): Likewise.
55061         * modules/sys_time (Makefile.am): Likewise.
55062         * modules/sys_times (Makefile.am): Likewise.
55063         * modules/sys_uio (Makefile.am): Likewise.
55064         * modules/sys_utsname (Makefile.am): Likewise.
55065         * modules/sys_wait (Makefile.am): Likewise.
55066         * modules/sysexits (Makefile.am): Likewise.
55067         * modules/termios (Makefile.am): Likewise.
55068         * modules/time (Makefile.am): Likewise.
55069         * modules/unistd (Makefile.am): Likewise.
55070         * modules/wchar (Makefile.am): Likewise.
55071         * modules/wctype-h (Makefile.am): Likewise.
55072         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
55074 2011-05-29  Bruno Haible  <bruno@clisp.org>
55076         assert-h: Allow multiple gnulib generated replacements to coexist.
55077         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
55079 2011-05-29  Bruno Haible  <bruno@clisp.org>
55081         argp: Allow coexistence with strerror_r-posix module.
55082         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
55083         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
55084         by gnulib's <string.h> replacement), assume it has the POSIX signature,
55085         not the glibc signature.
55087 2011-05-28  Bruno Haible  <bruno@clisp.org>
55089         gnulib-tool: Alternative structure of testdirs, similar to --import.
55090         * gnulib-tool: New option --single-configure.
55091         (func_usage): Document it.
55092         (single_configure): New variable.
55093         (func_modules_transitive_closure_separately,
55094         func_modules_transitive_closure_separately,
55095         func_determine_use_libtests, func_modules_add_dummy_separately,
55096         func_modules_to_filelist_separately): New functions, extracted from
55097         func_import.
55098         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
55099         (func_import): Use the new functions.
55100         (func_create_testdir): Set final_modules. Handle $single_configure =
55101         true case.
55103 2011-05-28  Bruno Haible  <bruno@clisp.org>
55105         getloadavg: Remove an unreliable safety check.
55106         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
55107         getloadavg.c is in place.
55108         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
55109         Reported by Sam Steingold <sds@gnu.org>.
55111 2011-05-28  Bruno Haible  <bruno@clisp.org>
55113         doc: Cleanup yet another file produced by texinfo.tex.
55114         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
55116 2011-05-28  Bruno Haible  <bruno@clisp.org>
55118         Finish the conditional dependencies mechanism.
55119         * gnulib-tool: New option --no-conditional-dependencies.
55120         (func_usage): Document it. Don't mark --conditional-dependencies as
55121         experimental.
55122         (cond_dependencies): The possible values can now be true, false, empty.
55123         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
55124         (func_import): Store setting in gnulib-cache.m4 and read it from there.
55125         * doc/gnulib-tool.texi (Conditional dependencies): New section.
55127 2011-05-28  Bruno Haible  <bruno@clisp.org>
55129         doc: Use a recent texinfo.tex.
55130         * doc/Makefile (tex_opts): New variable.
55131         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
55133 2011-05-28  Jim Meyering  <meyering@redhat.com>
55135         intprops.h: adjust comment to match code change
55136         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
55137         only once, it *may* have side effects.  Also fix an unrelated typo.
55138         (_GL_INT_SIGNED): Likewise.
55140 2011-05-26  Simon Josefsson  <simon@josefsson.org>
55142         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
55144 2011-05-26  Bruno Haible  <bruno@clisp.org>
55146         mbsrchr: Avoid collision with system function on Interix.
55147         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
55148         Reported by Markus Duft <mduft@gentoo.org>.
55150 2011-05-15  James Youngman  <jay@gnu.org>
55152         getopt: for ambiguous options, enumerate the possibilities.
55153         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
55154         the ambiguous options when an ambiguous prefix is given. This was
55155         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
55156         glibc change was
55157         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
55159 2011-05-25  Eric Blake  <eblake@redhat.com>
55161         getcwd: work around mingw bug
55162         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
55163         * doc/posix-functions/getcwd.texi (getcwd): Document it.
55164         Reported by Matthias Bolte.
55166 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
55168         test-intprops: disable -Wtype-limits diagnostics
55169         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
55170         diagnostics.  Otherwise, the integer overflow macros generate many
55171         diagnostics.  Reported by Jim Meyering in
55172         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
55174         intprops: shorten, to pacify gcc -Woverlength-strings
55175         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
55176         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
55177         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
55178         likely to run afoul of C compiler limits for string constant lengths.
55179         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
55181 2011-05-24  Eric Blake  <eblake@redhat.com>
55183         docs: document recently fixed glibc printf bug
55184         * doc/posix-functions/fprintf.texi (fprintf): Document it.
55185         * doc/posix-functions/printf.texi (printf): Likewise.
55186         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
55187         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
55189         closein-tests: convert to init.sh
55190         * modules/closein-tests (Files): Add init.sh
55191         * tests/test-closein.sh Use it.
55193         yesno-tests: convert to init.sh
55194         * modules/yesno-tests (Files): Add init.sh.
55195         * tests/test-yesno.sh: Use it.
55197         atexit-tests: ensure reliable exit status
55198         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
55199         Reported by Bruno Haible.
55201 2011-05-24  Bruno Haible  <bruno@clisp.org>
55203         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
55204         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
55205         gl_PREREQ_STRERROR_R invocations from here...
55206         * modules/strerror_r-posix (configure.ac): ... to here.
55208 2011-05-24  Eric Blake  <eblake@redhat.com>
55210         strerror_r: fix missing header
55211         * lib/strerror_r.c: Avoid compiler warning about snprintf.
55213         strerror_r: fix AIX test failures
55214         * lib/strerror_r.c (strerror_r): Convert silent truncation to
55215         ERANGE failure.
55217         strerror_r: fix Solaris test failures
55218         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
55219         failures.
55220         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
55222         strerror_r: enforce POSIX recommendations
55223         * lib/strerror_r.c (safe_copy): New helper method.
55224         (strerror_r): Guarantee a non-empty string.
55225         * tests/test-strerror_r.c (main): Enhance tests to incorporate
55226         recent POSIX rulings and to match our strerror guarantees.
55227         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
55229 2011-05-24  Jim Meyering  <meyering@redhat.com>
55231         test-perror2.c: avoid warning about unused variable
55232         * tests/test-perror2.c (main): Remove declaration of unused "fp".
55234 2011-05-24  Eric Blake  <eblake@redhat.com>
55236         perror: avoid spurious test failure on HP-UX
55237         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
55239         tests: fix logic bug in init.sh
55240         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
55241         shell.
55243 2011-05-24  Jim Meyering  <meyering@redhat.com>
55245         utimensat: do not reference an out-of-scope buffer
55246         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
55247         declared in an inner scope, yet "times" would be dereferenced outside
55248         the scope in which "ts" was valid.
55249         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
55250         of ts[2] "out/up", so that the use of aliased "times" (via
55251         "times = ts;") does not end up referencing an out-of-scope "ts"
55253         opendir-safer.c: don't clobber errno; don't close negative FD
55254         * lib/opendir-safer.c (opendir_safer):
55255         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
55256         file descriptor, and more importantly, don't clobber the
55257         offending errno value with EINVAL.  Before, upon failure
55258         of dup_safer, we would pass the negative file descriptor to
55259         fdopendir, which would clobber errno.
55261 2011-05-23  Bruno Haible  <bruno@clisp.org>
55263         idcache: Fix module description.
55264         * modules/idcache (Include): Set to "idcache.h".
55266 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
55268         gnulib-tool: fix portability problem with MacOS sed
55269         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
55270         before the "}".  Problem reported by Leo in
55271         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
55272         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
55273         sed_extract_condition1, sed_extract_condition2.
55275 2011-05-23  Bruno Haible  <bruno@clisp.org>
55277         hash: Simplify autoconf macro.
55278         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
55280 2011-05-23  Bruno Haible  <bruno@clisp.org>
55282         getugroups: Fix module description.
55283         * modules/getugroups (Include): Set to "getugroups.h".
55285 2011-05-23  Bruno Haible  <bruno@clisp.org>
55287         linkat: Simplify autoconf macro.
55288         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
55290 2011-05-23  Bruno Haible  <bruno@clisp.org>
55291             Eric Blake  <eblake@redhat.com>
55293         linkat, renameat: Update dependencies.
55294         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
55295         * modules/linkat (Depends-on): Likewise. Remove also readlink,
55296         symlinkat.
55298 2011-05-23  Jim Meyering  <meyering@redhat.com>
55300         maint.mk: more tight_scope improvements
55301         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
55302         (_gl_TS_headers): Define only in if-0'd block.
55303         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
55304         sometimes we must *not* use it.  Adjust uses accordingly.
55305         (sc_tight_scope): Use much simpler grep-based test to determine
55306         whether we skip this rule.
55308         maint.mk: generalize/improve the tight-scope rule
55309         * top/maint.mk: Emit a warning when the test is skipped.
55310         (_gl_TS_dir): Add $(srcdir)/ prefix.
55311         (_gl_TS_function_match): Simplify, rather than trying
55312         to enumerate common types.  Otherwise, it would fail to match an
55313         "extern unsigned char const *" declaration in idutils.
55314         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
55315         a way to support use of that type of macro.
55316         (_gl_TS_var_match): Simplify regexp.
55317         (_gl_TS_obj_files): New configurable variable.
55318         (_gl_TS_headers): Likewise.
55320 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
55322         verify: fix bug when gnulib <assert.h> is also included
55323         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
55324         is defined, not if _GL_STATIC_ASSERT_H is not defined.
55325         Perhaps there's a better way, but this fixes the immediate problem.
55326         Problem reported by Bruno Haible in
55327         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
55329 2011-05-22  Bruno Haible  <bruno@clisp.org>
55331         xgetcwd: Simplify autoconf macro.
55332         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
55334 2011-05-22  Bruno Haible  <bruno@clisp.org>
55336         New module 'mktime-internal'.
55337         * modules/mktime-internal: New file.
55338         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
55339         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
55340         mktime_internal as a C macro if libc has __mktime_internal.
55341         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
55342         conditions.
55343         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
55345 2011-05-22  Bruno Haible  <bruno@clisp.org>
55347         timegm: Correct mktime replacement statements.
55348         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
55349         defining mktime as a C macro. This completes a 2009-07-28 commit.
55351 2011-05-22  Bruno Haible  <bruno@clisp.org>
55353         timegm: Simplify autoconf macro.
55354         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
55356 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
55358         clock-time: change to LGPLv2+.
55359         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
55360         BSD-like but we have no mark for that; this is good enough for now.
55362 2011-05-21  Bruno Haible  <bruno@clisp.org>
55364         strerror_r: Fix comments.
55365         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
55367 2011-05-21  Bruno Haible  <bruno@clisp.org>
55369         relocatable-prog-wrapper: Fix possible link error.
55370         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
55371         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
55372         (gl_FUNC_SETENV): ... to here.
55373         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
55374         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
55376 2011-05-21  Bruno Haible  <bruno@clisp.org>
55378         relocatable-prog-wrapper: Assume strerror() exists.
55379         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
55380         m4/strerror.m4.
55381         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
55382         * lib/relocwrapper.c: Remove mention of strerror module.
55383         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
55384         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
55385         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
55386         C macro.
55388 2011-05-21  Bruno Haible  <bruno@clisp.org>
55390         select: Simplify replacement idiom.
55391         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
55392         Win32 platforms.
55393         * lib/sys_select.in.h (select): Simplify accordingly.
55394         * modules/select (Depends-on): Likewise.
55396 2011-05-21  Bruno Haible  <bruno@clisp.org>
55398         mkdir-p: Simplify autoconf macro.
55399         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
55400         gl_FUNC_LCHOWN.
55402 2011-05-21  Eric Blake  <eblake@redhat.com>
55404         strerror_r: avoid clobbering strerror on cygwin
55405         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
55406         fall back instead to sys_errlist.
55407         * modules/strerror (configure.ac): Add witness.
55408         * tests/test-strerror_r.c (main): Enhance test.
55409         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
55410         * tests/test-perror2.c (main): Free memory before exit.
55412 2011-05-21  Bruno Haible  <bruno@clisp.org>
55414         mkdtemp: Use gnulib naming conventions.
55415         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
55416         * modules/mkdtemp (configure.ac): Update.
55418 2011-05-20  Eric Blake  <eblake@redhat.com>
55420         strerror_r: avoid corrupting errno on Solaris
55421         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
55422         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
55424         strerror_r: avoid compiler warning
55425         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
55427         strerror_r: simplify AIX code
55428         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
55430         test-perror: avoid spurious failure on FreeBSD
55431         * modules/perror-tests (Depends-on): Add strerror, now that
55432         strerror_r no longer pulls it in.
55434 2011-05-20  Bruno Haible  <bruno@clisp.org>
55436         strerror_r-posix: Remove unused dependencies.
55437         * modules/strerror_r-posix (Depends-on): Remove strerror.
55438         Reported by Eric Blake.
55440 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55442         intprops: remove assumption about A|B representation
55443         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
55444         is a valid integer if both A and B are.  Although this is true for
55445         all known practical hosts, the C standard doesn't guarantee it,
55446         and the code need not assume it.  Also, this change may work around
55447         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
55448         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
55450 2011-05-20  Eric Blake  <eblake@redhat.com>
55452         perror: work around FreeBSD bug
55453         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
55454         is broken.  Move AC_LIBOBJ...
55455         * modules/perror (configure.ac): Here.
55456         * doc/posix-functions/perror.texi (perror): Document this.
55457         * tests/test-perror2.c (main): Enhance test.
55459         test-perror: check for strerror interactions
55460         * tests/macros.h (STREQ): Add macro.
55461         * modules/perror-tests (Files): Add second test.
55462         * tests/test-perror2.c (main): New file.
55463         * doc/posix-functions/perror.texi (perror): Document glibc bug.
55465         test-perror: rewrite to use init script
55466         * modules/perror-tests (Files): Add init.sh.
55467         * tests/test-perror.sh: Use temporary directory.
55469 2011-05-20  Jim Meyering  <meyering@redhat.com>
55471         maint: replace misused "a" with "an"
55472         * doc/intprops.texi: "a integer"
55473         * doc/regex.texi: "a explanation"
55474         * lib/alignof.h: "a object"
55475         * lib/argmatch.h: "a explanation"
55476         * lib/argp-help.c: "a option" and "a OPTION_DOC"
55477         * lib/stdint.in.h: "a integer"
55478         * lib/userspec.c: "a owner"
55479         * doc/gnulib.texi: Fix "a idea", and reword.
55481 2011-05-19  Jim Meyering  <meyering@redhat.com>
55483         maint: correct misuse of "a" and "an"
55484         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
55485         * lib/argp-help.c: "an docum...": s/an/a/
55486         * lib/argp-parse.c: "An vector": s/An/A/
55487         * lib/execute.c: "an native": s/an/a/
55488         * lib/spawn-pipe.c: Likewise.
55489         * lib/gc.h: "an Gc_rc": s/an/a/
55490         * lib/unigbrk.in.h: "an grapheme": s/an/a/
55491         * lib/fts.c: "an stat.st_dev": s/an/a/
55493 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
55495         intprops-tests: work around HP-UX 11.23 cc bug with constants
55496         * tests/test-intprops.c (VERIFY): New macro.
55497         (main): Use it, instead of verify, to work around the compiler bug; see
55498         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
55500         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
55501         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
55502         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
55503         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
55504         (_GL_REMAINDER_OVERFLOW): Use it.
55506         intprops-tests: revert unsigned part of previous change
55507         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
55508         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
55509         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
55510         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
55512 2011-05-19  Bruno Haible  <bruno@clisp.org>
55514         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
55515         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
55516         strerror_r() returned without filling the buffer.
55517         Reported by Eric Blake.
55519 2011-05-19  Eric Blake  <eblake@redhat.com>
55521         strerror_r: guarantee unchanged errno
55522         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
55523         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
55524         failure.
55525         * tests/test-strerror_r.c (main): Enhance test.
55527 2011-05-19  Bruno Haible  <bruno@clisp.org>
55529         strerror_r: Reorder #if blocks.
55530         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
55531         for consistency with the previous commit.
55533 2011-05-19  Bruno Haible  <bruno@clisp.org>
55535         perror: Avoid clobbering the strerror buffer when possible.
55536         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
55537         * lib/strerror.c: Include it.
55538         * modules/strerror (Files): Add lib/strerror-impl.h.
55539         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
55540         (my_strerror): New function, defined through lib/strerror-impl.h.
55541         (perror): Use it instead of strerror.
55542         * modules/perror (Files): Add lib/strerror-impl.h.
55543         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
55545 2011-05-19  Eric Blake  <eblake@redhat.com>
55547         strerror_r: fix on newer cygwin
55548         * lib/strerror_r.c (strerror_r): Cygwin now has
55549         __xpg_strerror_r, use it.
55551 2011-05-19  Bruno Haible  <bruno@clisp.org>
55553         strerror_r: Avoid clobbering the strerror buffer when possible.
55554         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
55555         (sys_nerr, sys_errlist): New declarations.
55556         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
55557         HP-UX, native Win32, IRIX, and 32-bit Solaris.
55558         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
55560 2011-05-19  Bruno Haible  <bruno@clisp.org>
55562         strerror_r: Fix test failure on mingw.
55563         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
55564         EXTEND_STRERROR_R.
55565         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
55566         macros from errno.in.h instead.
55568 2011-05-19  Eric Blake  <eblake@redhat.com>
55570         strerror: relax test for Solaris
55571         * tests/test-strerror.c (main): Permit Solaris behavior.
55572         * tests/test-strerror_r.c (main): Likewise.
55574         strerror: enforce POSIX ruling on strerror(0)
55575         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
55576         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
55577         * lib/strerror_r.c (rpl_strerror_r): Work around it.
55578         * doc/posix-functions/strerror.texi (strerror): Document it.
55579         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
55580         * tests/test-strerror.c (main): Strengthen test.
55581         * tests/test-strerror_r.c (main): Likewise.
55583 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
55585         intprop-tests: port to older and more-pedantic compilers
55586         * modules/intprops-tests (Files): Add tests/macros.h.
55587         * tests/test-intprops.c: Include macros.h.
55588         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
55589         it's no longer documented to expand to an integer constant expression.
55590         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
55591         argument is floating point, as it's no longer documented to expand
55592         to an integer constant expression in that case.
55593         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
55594         compiler bugs reported by Bruno Haible.  See
55595         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
55596         (U0, U1): New constants, to work around the same bugs.  Also,
55597         in tests, use e.g., "(unsigned int) 39" rather than "39u".
55599         intprops: work around C compiler bugs
55600         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
55601         bug in Sun C 5.11 2010/08/13 and other compilers; see
55602         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
55604         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
55605         * doc/intprops.texi (Integer Type Determination): Fix
55606         documentation for TYPE_IS_INTEGER: it returns an constant
55607         expression, not an integer constant expression.  Fix doc for
55608         TYPE_SIGNED: it returns an integer constant expression only if its
55609         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
55610         hardly worth documented that way....)
55612 2011-05-18  Bruno Haible  <bruno@clisp.org>
55614         strerror_r: Avoid clobbering the strerror buffer when possible.
55615         * lib/strerror_r.c (strerror_r): Merge the three implementations.
55616         Handle gnulib defined errno values here. When strerror() returns NULL
55617         or an empty string, return EINVAL.
55618         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
55619         gnulib defined errno values here.
55620         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
55622 2011-05-18  Eric Blake  <eblake@redhat.com>
55624         fnmatch: avoid compiler warning
55625         * lib/fnmatch_loop.c (FCT): Use correct type.
55626         Reported by Matthias Bolte.
55628 2011-05-13  Jim Meyering  <meyering@redhat.com>
55630         maint.mk: three new prohibit_<HDR>_without_use rules
55631         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
55632         (sc_prohibit_stdio-safer_without_use): Likewise.
55633         (sc_prohibit_xfreopen_without_use): Likewise.
55635 2011-05-17  Jim Meyering  <meyering@redhat.com>
55637         announce-gen: fail if the NEWS delta is empty
55638         If there's nothing noteworthy in NEWS, then either you forgot
55639         or you shouldn't be releasing.
55640         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
55642 2011-05-17  Pádraig Brady  <P@draigBrady.com>
55644         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
55645         reserved symbols starting with double underscore from the check.
55647 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
55649         intprops: add doc
55650         * doc/intprops.texi: New file, documenting intprops.
55651         * doc/gnulib.texi (Particular Modules): Include it.
55653         verify: add doc to gnulib manual and fix example
55654         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
55655         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
55656         (Compile-time Assertions): Fix example so it can't overflow.
55658 2011-05-17  Jim Meyering  <meyering@redhat.com>
55660         warnings.m4: don't usurp save_CPPFLAGS variable name
55661         * m4/warnings.m4: Prefix local temporary variable name with gl_.
55663         doc: fix typo
55664         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
55666 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
55667             Bruno Haible  <bruno@clisp.org>
55669         doc: Tweak recent change.
55670         * README (Portability guidelines): Tweak new text.
55671         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
55672         Interix 6.1.
55674 2011-05-16  Eric Blake  <eblake@redhat.com>
55676         inttypes: avoid autoconf warning
55677         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
55678         * m4/stdint.m4 (gl_STDINT_H): Likewise.
55680 2011-05-16  Sam Steingold  <sds@gnu.org>
55681         and Eric Blake  <eblake@redhat.com>
55683         vc-list-files: accept multiple directory operands
55684         * build-aux/vc-list-files: Iterate over all remaining operands.
55686 2011-05-16  Bruno Haible  <bruno@clisp.org>
55688         Fix confusion regarding deprecated modules.
55689         * modules/calloc (Status, Notice): Mark module as deprecated, not
55690         obsolete.
55691         * modules/fnmatch-posix (Status, Notice): Likewise.
55692         * modules/getdate (Status, Notice): Likewise.
55693         * modules/getopt (Status, Notice): Likewise.
55694         * modules/malloc (Status, Notice): Likewise.
55695         * modules/pipe (Status, Notice): Likewise.
55696         * modules/realloc (Status, Notice): Likewise.
55697         * modules/rename-dest-slash (Status, Notice): Likewise.
55698         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
55699         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
55700         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
55701         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
55702         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
55704 2011-05-16  Bruno Haible  <bruno@clisp.org>
55706         doc: List the target platforms.
55707         * doc/gnulib-intro.texi (Target Platforms): New section.
55708         * doc/gnulib.texi (Introduction): Update menu.
55709         * README (Portability guidelines): Refer to the new section. Update
55710         statement about oldest supported environment. Remove rationale why
55711         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
55712         unportable C89 function.
55713         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
55714         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
55716 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
55718         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
55720 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
55722         intprops-tests: new module
55723         * modules/intprops-tests, tests/test-intprops.c: New files.
55725         intprops: add safe, portable integer overflow checking
55726         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
55727         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
55728         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
55729         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
55730         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
55731         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
55732         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
55733         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
55734         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
55735         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
55736         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
55738 2011-05-12  James Youngman  <jay@gnu.org>
55740         Add a test for glibc's Bugzilla bug #12378.
55741         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
55742         doesn't allow the literal matching of a lone "[" (which is
55743         required by POSIX).
55744         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
55746 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
55748         Sync glibc change fixing Bugzilla bug #12378.
55749         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
55750         beginning and fall back to matching as normal character if the
55751         string ends before the matching ']' is found.  This is what POSIX
55752         requires.
55754 2011-05-13  Eric Blake  <eblake@redhat.com>
55756         getcwd-lgpl: relax test for FreeBSD
55757         * doc/posix-functions/getcwd.texi (getcwd): Document portability
55758         issue.
55759         * tests/test-getcwd-lgpl.c (main): Relax test.
55760         Reported by Matthias Bolte.
55762 2011-05-11  Eric Blake  <eblake@redhat.com>
55764         test-fflush: silence compiler warning
55765         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
55767 2011-05-11  Bruno Haible  <bruno@clisp.org>
55769         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
55770         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
55771         * modules/canonicalize (Depends-on): Add 'nocrash'.
55772         * modules/canonicalize-lgpl (Depends-on): Likewise.
55773         * doc/posix-functions/realpath.texi: Update platforms list.
55774         Reported by Ryan Schmidt <ryandesign@macports.org>.
55776 2011-05-11  Bruno Haible  <bruno@clisp.org>
55778         group-member: Declare function in <unistd.h>.
55779         * lib/unistd.in.h (group_member): New declaration.
55780         * lib/group-member.h: Remove file.
55781         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
55782         * tests/test-unistd-c++.cc: Check signature of group_member.
55783         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
55784         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
55785         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
55786         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
55787         HAVE_GROUP_MEMBER.
55788         * modules/group-member (Files): Remove lib/group-member.h.
55789         (Depends-on): Add unistd. Specify conditions.
55790         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55791         (Include): Change to <unistd.h>.
55792         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
55793         HAVE_GROUP_MEMBER.
55794         * NEWS: Mention the change.
55795         * lib/euidaccess.c: Don't include group-member.h.
55797 2011-05-11  Bruno Haible  <bruno@clisp.org>
55799         group-member: Document module.
55800         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
55801         module.
55803 2011-05-11  Bruno Haible  <bruno@clisp.org>
55805         fclose: Fix mistake earlier today.
55806         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
55808 2011-05-11  Eric Blake  <eblake@redhat.com>
55810         fclose: preserve fflush errors
55811         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
55812         Reported by Jim Meyering.
55814         bootstrap: support a prereq of 'rpcgen -' on RHEL5
55815         * build-aux/bootstrap (check_versions): When no specific version
55816         is required, merely check that the app produces an exit status
55817         that indicates its existence.
55819         maint.mk: drop redundant check
55820         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
55821         the same but better.
55823 2011-05-11  Bruno Haible  <bruno@clisp.org>
55825         fclose: Fix possible link error.
55826         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
55827         unregister_shadow_fd. Improve comments.
55828         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
55829         Eric Blake.
55831 2011-05-11  Jim Meyering  <meyering@redhat.com>
55833         maint.mk: improve "can not" detection and generalize rule name
55834         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
55835         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
55836         Use the same technique as in sc_prohibit_doubled_word, so that
55837         we recognize "can not" also when the words are separated by a newline.
55838         Suggested by Eric Blake.
55839         (perl_filename_lineno_text_): Define.  Factored out of...
55840         (prohibit_doubled_word_): ...here.  Use the new definition.
55841         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
55842         (prohibit_undesirable_word_seq_RE_): New overridable variable.
55843         (ignore_undesirable_word_sequence_RE_): New overridable variable.
55845 2011-05-10  Eric Blake  <eblake@redhat.com>
55847         fclose: avoid double close race when possible
55848         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
55849         all but WINDOWS_SOCKETS.
55851 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
55853         openat: correct new comment
55854         * lib/openat-proc.c (openat_proc_name): Correct the comment.
55856 2011-05-10  Jim Meyering  <meyering@redhat.com>
55858         openat: add comments
55859         * lib/openat-proc.c (openat_proc_name): Add comments,
55860         mostly from Eric Blake.
55862 2011-05-09  Eric Blake  <eblake@redhat.com>
55864         openat: reduce syscalls in first probe of /proc
55865         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
55866         be a directory.  Simplify the probe for .. bugs.
55867         * modules/openat (Depends-on): Drop same-inode.
55868         Reported by Bastien ROUCARIES.
55870 2011-05-09  Jim Meyering  <meyering@redhat.com>
55872         maint.mk: change semantics/name of tight_scope variables
55873         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
55874         Rename variables to align with semantics that make them more useful.
55876         maint.mk: tweak new rule's name not to impinge
55877         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
55878         (sc_tight_scope): Use new rule name rather than $@-0.
55880         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
55881         * top/maint.mk (sc_tight_scope): New rule.
55882         (sc_tight_scope-0): New rule, ifdef'd out.
55883         (_gl_TS_dir): Default.
55884         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
55885         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
55887 2011-05-09  Simon Josefsson  <simon@josefsson.org>
55889         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
55890         Haible <bruno@clisp.org>.
55892 2011-05-08  Bruno Haible  <bruno@clisp.org>
55894         Comments.
55895         * m4/isnanf.m4: Add comment.
55896         * m4/isnanl.m4: Likewise.
55898 2011-05-08  Bruno Haible  <bruno@clisp.org>
55900         glob: Remove obsolete macro.
55901         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
55903 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
55905         intprops: Sun C 5.11 supports __typeof__
55906         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
55907         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
55908         which is new.
55909         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
55911         intprops: switch to usual gnulib indenting and naming
55912         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
55913         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
55915         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
55917 2011-05-08  Jim Meyering  <meyering@redhat.com>
55919         maint.mk: suppress "Entering/Leaving directory" diag in announcement
55920         * top/maint.mk (release-prep): Use make's --no-print-directory
55921         option when generating the announcement.  This eliminates the
55922         pesky "make[2]: Entering/Leaving directory" diagnostics in the
55923         generated announcement template.
55925 2011-05-08  Bruno Haible  <bruno@clisp.org>
55927         tzset: Fix gettimeofday wrapper on Solaris 2.6.
55928         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
55929         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
55931 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
55933         ignore-value, verify: Omit include files from lib_SOURCES.
55934         * modules/ignore-value, modules/verify (Makefile.am):
55935         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
55936         that leads Automake to duplicate use of am__objects_... variables
55937         in Makefile.in.  See
55938         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
55940 2011-05-07  Bruno Haible  <bruno@clisp.org>
55942         fclose: Simplify autoconf macro.
55943         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
55944         defined.
55946 2011-05-07  Bruno Haible  <bruno@clisp.org>
55948         canonicalize-lgpl: Fix autoconf macro ordering bug.
55949         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
55950         gl_STDLIB_H_DEFAULTS.
55952 2011-05-06  Eric Blake  <eblake@redhat.com>
55954         maintainer-makefile: make sc_po_check easier to tune
55955         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
55956         to probe for strings, such as an alternate location for gnulib.
55958         fclose: guarantee behavior on seekable stdin
55959         * modules/fclose (Depends-on): Add fflush.
55960         * doc/posix-functions/fclose.texi (fclose): Document this.
55961         * tests/test-fclose.c (main): Make test for this unconditional.
55963 2011-05-06  Bruno Haible  <bruno@clisp.org>
55965         fflush, fpurge: Relicense under LGPLv2+.
55966         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
55967         * modules/fpurge (License): Likewise.
55968         With permission from Eric Blake and Jim Meyering.
55969         Suggested by Eric Blake.
55971 2011-05-06  Karl Berry  <karl@gnu.org>
55973         * MODULES.html.sh (func_all_modules): remove exit.
55975 2011-05-06  Jim Meyering  <meyering@redhat.com>
55977         maint.mk: use info-gnu@ as the default only for a stable release
55978         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
55979         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
55980         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
55981         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
55983 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
55985         assert-h: new module, which supports C1X-style static_assert
55986         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
55987         * lib/verify.h: Revamp so that this can be copied into assert.h,
55988         while retaining the ability to use it standalone as before.
55989         Rename private identifiers so as not to encroach on the
55990         standard C namespace, since this is now used by assert.h.
55991         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
55992         the old verify_true.
55993         (_GL_VERIFY_TRUE): New macro, with much of the contents of
55994         the old verify_true.  Use _GL_VERIFY_TYPE.
55995         (_GL_VERIFY): New macro, with much of the contents of the old verify.
55996         (static_assert): New macro, if _GL_STATIC_ASSERT_H
55997         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
55998         defined when this file is copied into the replacement assert.h.
55999         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
56000         and _Static_assert is not built in.
56001         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
56002         defined, and use the new macros mentioned above.
56003         * doc/posix-headers/assert.texi: Document this.
56005 2011-05-05  Bruno Haible  <bruno@clisp.org>
56007         fclose, fflush: Respect rules for use of AC_LIBOBJ.
56008         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
56009         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
56010         gl_REPLACE_FCLOSE here.
56011         * modules/fflush (Depends-on): Remove fclose.
56012         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
56013         combination with module 'fclose'.
56015 2011-05-05  Bruno Haible  <bruno@clisp.org>
56017         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
56018         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
56019         gl_FUNC_FFLUSH.
56020         (gl_FUNC_FFLUSH): Use it.
56021         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
56022         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
56023         gl_REPLACE_FSEEKO here.
56025 2011-05-05  Bruno Haible  <bruno@clisp.org>
56027         tzset: Relicense under LGPL.
56028         * modules/tzset (License): Change to LGPL.
56029         No agreement needed; it's a no-op.
56031         strtoimax, strtoumax: Relicense under LGPL.
56032         * modules/strtoimax (License): Change to LGPL.
56033         * modules/strtoumax (License): Likewise.
56034         With permission from Jim Meyering, Paul Eggert:
56035         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
56036         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
56038         getgroups: Relicense under LGPL.
56039         * modules/getgroups (License): Change to LGPL.
56040         With permission from Jim Meyering, Paul Eggert, Eric Blake:
56041         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
56042         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
56043         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56045         nanosleep: Relicense under LGPL.
56046         * modules/nanosleep (License): Change to LGPL.
56047         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
56048         Haible:
56049         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
56050         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
56051         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56052         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
56054         futimens: Relicense under LGPL.
56055         * modules/futimens (License): Change to LGPL.
56056         With permission from Eric Blake:
56057         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56059         fflush: Relicense under LGPL.
56060         * modules/fflush (License): Change to LGPL.
56061         With permission from Eric Blake, Bruno Haible, Jim Meyering:
56062         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56063         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
56064         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
56066         tmpfile: Relicense under LGPL.
56067         * modules/tmpfile (License): Change to LGPL.
56068         With permission from Ben Pfaff:
56069         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
56071         isfinite: Relicense under LGPL.
56072         * modules/isfinite (License): Change to LGPL.
56073         With permission from Ben Pfaff, Bruno Haible:
56074         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
56075         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
56077         acosl..tanl: Relicense under LGPL.
56078         * modules/acosl (License): Change to LGPL.
56079         * modules/asinl (License): Likewise.
56080         * modules/atanl (License): Likewise.
56081         * modules/cosl (License): Likewise.
56082         * modules/expl (License): Likewise.
56083         * modules/logl (License): Likewise.
56084         * modules/sinl (License): Likewise.
56085         * modules/sqrtl (License): Likewise.
56086         * modules/tanl (License): Likewise.
56087         Source code originally from glibc and Paolo Bonzini. Agreements:
56088         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
56089         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
56091 2011-05-05  Bruno Haible  <bruno@clisp.org>
56093         signal: Define sighandler_t.
56094         * lib/signal.in.h (sighandler_t): New type.
56095         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
56096         whether sighandler_t is defined.
56097         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
56098         * modules/signal (Depends-on): Add extensions.
56099         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
56100         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
56101         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
56103 2011-05-05  Eric Blake  <eblake@redhat.com>
56105         maint: remove useless REPLACE_*_H macros
56106         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
56107         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
56108         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
56109         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
56110         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
56111         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
56112         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
56113         * m4/btowc.m4: Update callers.
56114         * m4/dirfd.m4: Likewise.
56115         * m4/duplocale.m4: Likewise.
56116         * m4/fchdir.m4: Likewise.
56117         * m4/fdopendir.m4: Likewise.
56118         * m4/inet_ntop.m4: Likewise.
56119         * m4/inet_pton.m4: Likewise.
56120         * m4/ioctl.m4: Likewise.
56121         * m4/mbrlen.m4: Likewise.
56122         * m4/mbrtowc.m4: Likewise.
56123         * m4/mbsinit.m4: Likewise.
56124         * m4/mbsnrtowcs.m4: Likewise.
56125         * m4/mbsrtowcs.m4: Likewise.
56126         * m4/poll.m4: Likewise.
56127         * m4/setlocale.m4: Likewise.
56128         * m4/wcrtomb.m4: Likewise.
56129         * m4/wcsnrtombs.m4: Likewise.
56130         * m4/wcsrtombs.m4: Likewise.
56131         * m4/wctob.m4: Likewise.
56132         * m4/wcwidth.m4: Likewise.
56133         * modules/posix_spawn: Likewise.
56134         * modules/posix_spawn_file_actions_addclose: Likewise.
56135         * modules/posix_spawn_file_actions_adddup2: Likewise.
56136         * modules/posix_spawn_file_actions_addopen: Likewise.
56137         * modules/posix_spawn_file_actions_destroy: Likewise.
56138         * modules/posix_spawn_file_actions_init: Likewise.
56139         * modules/posix_spawnattr_destroy: Likewise.
56140         * modules/posix_spawnattr_getflags: Likewise.
56141         * modules/posix_spawnattr_getpgroup: Likewise.
56142         * modules/posix_spawnattr_getschedparam: Likewise.
56143         * modules/posix_spawnattr_getschedpolicy: Likewise.
56144         * modules/posix_spawnattr_getsigdefault: Likewise.
56145         * modules/posix_spawnattr_getsigmask: Likewise.
56146         * modules/posix_spawnattr_init: Likewise.
56147         * modules/posix_spawnattr_setflags: Likewise.
56148         * modules/posix_spawnattr_setpgroup: Likewise.
56149         * modules/posix_spawnattr_setschedparam: Likewise.
56150         * modules/posix_spawnattr_setschedpolicy: Likewise.
56151         * modules/posix_spawnattr_setsigdefault: Likewise.
56152         * modules/posix_spawnattr_setsigmask: Likewise.
56153         * modules/posix_spawnp: Likewise.
56155 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
56157         Add option to do-release-commit-and-tag to specify branch.
56158         * build-aux/do-release-commit-and-tag: Add --branch.
56160 2011-05-03  Bruno Haible  <bruno@clisp.org>
56162         Avoid unnecessary compilation units, through conditional dependencies.
56163         * modules/accept (Depends-on): Add conditions to the dependencies.
56164         * modules/acosl (Depends-on): Likewise.
56165         * modules/argz (Depends-on): Likewise.
56166         * modules/asinl (Depends-on): Likewise.
56167         * modules/atanl (Depends-on): Likewise.
56168         * modules/atoll (Depends-on): Likewise.
56169         * modules/bind (Depends-on): Likewise.
56170         * modules/btowc (Depends-on): Likewise.
56171         * modules/canonicalize-lgpl (Depends-on): Likewise.
56172         * modules/ceil (Depends-on): Likewise.
56173         * modules/ceilf (Depends-on): Likewise.
56174         * modules/ceill (Depends-on): Likewise.
56175         * modules/chdir-long (Depends-on): Likewise.
56176         * modules/chown (Depends-on): Likewise.
56177         * modules/close (Depends-on): Likewise.
56178         * modules/connect (Depends-on): Likewise.
56179         * modules/cosl (Depends-on): Likewise.
56180         * modules/dirfd (Depends-on): Likewise.
56181         * modules/dprintf (Depends-on): Likewise.
56182         * modules/dprintf-posix (Depends-on): Likewise.
56183         * modules/error (Depends-on): Likewise.
56184         * modules/euidaccess (Depends-on): Likewise.
56185         * modules/expl (Depends-on): Likewise.
56186         * modules/faccessat (Depends-on): Likewise.
56187         * modules/fchdir (Depends-on): Likewise.
56188         * modules/fclose (Depends-on): Likewise.
56189         * modules/fcntl (Depends-on): Likewise.
56190         * modules/fdopendir (Depends-on): Likewise.
56191         * modules/fflush (Depends-on): Likewise.
56192         * modules/floor (Depends-on): Likewise.
56193         * modules/floorf (Depends-on): Likewise.
56194         * modules/floorl (Depends-on): Likewise.
56195         * modules/fnmatch (Depends-on): Likewise.
56196         * modules/fopen (Depends-on): Likewise.
56197         * modules/fprintf-posix (Depends-on): Likewise.
56198         * modules/frexp (Depends-on): Likewise.
56199         * modules/frexp-nolibm (Depends-on): Likewise.
56200         * modules/frexpl (Depends-on): Likewise.
56201         * modules/frexpl-nolibm (Depends-on): Likewise.
56202         * modules/fseek (Depends-on): Likewise.
56203         * modules/fsusage (Depends-on): Likewise.
56204         * modules/ftell (Depends-on): Likewise.
56205         * modules/ftello (Depends-on): Likewise.
56206         * modules/futimens (Depends-on): Likewise.
56207         * modules/getcwd (Depends-on): Likewise.
56208         * modules/getcwd-lgpl (Depends-on): Likewise.
56209         * modules/getdelim (Depends-on): Likewise.
56210         * modules/getdomainname (Depends-on): Likewise.
56211         * modules/getgroups (Depends-on): Likewise.
56212         * modules/gethostname (Depends-on): Likewise.
56213         * modules/getline (Depends-on): Likewise.
56214         * modules/getlogin_r (Depends-on): Likewise.
56215         * modules/getopt-posix (Depends-on): Likewise.
56216         * modules/getpeername (Depends-on): Likewise.
56217         * modules/getsockname (Depends-on): Likewise.
56218         * modules/getsockopt (Depends-on): Likewise.
56219         * modules/getsubopt (Depends-on): Likewise.
56220         * modules/getusershell (Depends-on): Likewise.
56221         * modules/glob (Depends-on): Likewise.
56222         * modules/grantpt (Depends-on): Likewise.
56223         * modules/iconv_open (Depends-on): Likewise.
56224         * modules/iconv_open-utf (Depends-on): Likewise.
56225         * modules/inet_ntop (Depends-on): Likewise.
56226         * modules/inet_pton (Depends-on): Likewise.
56227         * modules/ioctl (Depends-on): Likewise.
56228         * modules/isapipe (Depends-on): Likewise.
56229         * modules/isfinite (Depends-on): Likewise.
56230         * modules/isinf (Depends-on): Likewise.
56231         * modules/lchown (Depends-on): Likewise.
56232         * modules/ldexpl (Depends-on): Likewise.
56233         * modules/link (Depends-on): Likewise.
56234         * modules/linkat (Depends-on): Likewise.
56235         * modules/listen (Depends-on): Likewise.
56236         * modules/logl (Depends-on): Likewise.
56237         * modules/lstat (Depends-on): Likewise.
56238         * modules/mbrlen (Depends-on): Likewise.
56239         * modules/mbrtowc (Depends-on): Likewise.
56240         * modules/mbsinit (Depends-on): Likewise.
56241         * modules/mbsnrtowcs (Depends-on): Likewise.
56242         * modules/mbsrtowcs (Depends-on): Likewise.
56243         * modules/mbtowc (Depends-on): Likewise.
56244         * modules/memcmp (Depends-on): Likewise.
56245         * modules/mkdir (Depends-on): Likewise.
56246         * modules/mkdtemp (Depends-on): Likewise.
56247         * modules/mkfifo (Depends-on): Likewise.
56248         * modules/mkfifoat (Depends-on): Likewise.
56249         * modules/mknod (Depends-on): Likewise.
56250         * modules/mkostemp (Depends-on): Likewise.
56251         * modules/mkostemps (Depends-on): Likewise.
56252         * modules/mkstemp (Depends-on): Likewise.
56253         * modules/mkstemps (Depends-on): Likewise.
56254         * modules/mktime (Depends-on): Likewise.
56255         * modules/nanosleep (Depends-on): Likewise.
56256         * modules/open (Depends-on): Likewise.
56257         * modules/openat (Depends-on): Likewise.
56258         * modules/perror (Depends-on): Likewise.
56259         * modules/poll (Depends-on): Likewise.
56260         * modules/popen (Depends-on): Likewise.
56261         * modules/posix_spawn (Depends-on): Likewise.
56262         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
56263         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
56264         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
56265         * modules/posix_spawnp (Depends-on): Likewise.
56266         * modules/pread (Depends-on): Likewise.
56267         * modules/printf-posix (Depends-on): Likewise.
56268         * modules/ptsname (Depends-on): Likewise.
56269         * modules/putenv (Depends-on): Likewise.
56270         * modules/pwrite (Depends-on): Likewise.
56271         * modules/readline (Depends-on): Likewise.
56272         * modules/readlink (Depends-on): Likewise.
56273         * modules/readlinkat (Depends-on): Likewise.
56274         * modules/recv (Depends-on): Likewise.
56275         * modules/recvfrom (Depends-on): Likewise.
56276         * modules/regex (Depends-on): Likewise.
56277         * modules/remove (Depends-on): Likewise.
56278         * modules/rename (Depends-on): Likewise.
56279         * modules/renameat (Depends-on): Likewise.
56280         * modules/rmdir (Depends-on): Likewise.
56281         * modules/round (Depends-on): Likewise.
56282         * modules/roundf (Depends-on): Likewise.
56283         * modules/roundl (Depends-on): Likewise.
56284         * modules/rpmatch (Depends-on): Likewise.
56285         * modules/select (Depends-on): Likewise.
56286         * modules/send (Depends-on): Likewise.
56287         * modules/sendto (Depends-on): Likewise.
56288         * modules/setenv (Depends-on): Likewise.
56289         * modules/setlocale (Depends-on): Likewise.
56290         * modules/setsockopt (Depends-on): Likewise.
56291         * modules/shutdown (Depends-on): Likewise.
56292         * modules/sigaction (Depends-on): Likewise.
56293         * modules/signbit (Depends-on): Likewise.
56294         * modules/sigprocmask (Depends-on): Likewise.
56295         * modules/sinl (Depends-on): Likewise.
56296         * modules/sleep (Depends-on): Likewise.
56297         * modules/snprintf (Depends-on): Likewise.
56298         * modules/snprintf-posix (Depends-on): Likewise.
56299         * modules/socket (Depends-on): Likewise.
56300         * modules/sprintf-posix (Depends-on): Likewise.
56301         * modules/sqrtl (Depends-on): Likewise.
56302         * modules/stat (Depends-on): Likewise.
56303         * modules/strchrnul (Depends-on): Likewise.
56304         * modules/strdup-posix (Depends-on): Likewise.
56305         * modules/strerror (Depends-on): Likewise.
56306         * modules/strerror_r-posix (Depends-on): Likewise.
56307         * modules/strndup (Depends-on): Likewise.
56308         * modules/strnlen (Depends-on): Likewise.
56309         * modules/strptime (Depends-on): Likewise.
56310         * modules/strsep (Depends-on): Likewise.
56311         * modules/strsignal (Depends-on): Likewise.
56312         * modules/strstr-simple (Depends-on): Likewise.
56313         * modules/strtod (Depends-on): Likewise.
56314         * modules/strtoimax (Depends-on): Likewise.
56315         * modules/strtok_r (Depends-on): Likewise.
56316         * modules/strtoumax (Depends-on): Likewise.
56317         * modules/symlink (Depends-on): Likewise.
56318         * modules/symlinkat (Depends-on): Likewise.
56319         * modules/tanl (Depends-on): Likewise.
56320         * modules/tcgetsid (Depends-on): Likewise.
56321         * modules/tmpfile (Depends-on): Likewise.
56322         * modules/trunc (Depends-on): Likewise.
56323         * modules/truncf (Depends-on): Likewise.
56324         * modules/truncl (Depends-on): Likewise.
56325         * modules/uname (Depends-on): Likewise.
56326         * modules/unlink (Depends-on): Likewise.
56327         * modules/unlockpt (Depends-on): Likewise.
56328         * modules/unsetenv (Depends-on): Likewise.
56329         * modules/usleep (Depends-on): Likewise.
56330         * modules/utimensat (Depends-on): Likewise.
56331         * modules/vasprintf (Depends-on): Likewise.
56332         * modules/vdprintf (Depends-on): Likewise.
56333         * modules/vdprintf-posix (Depends-on): Likewise.
56334         * modules/vfprintf-posix (Depends-on): Likewise.
56335         * modules/vprintf-posix (Depends-on): Likewise.
56336         * modules/vsnprintf (Depends-on): Likewise.
56337         * modules/vsnprintf-posix (Depends-on): Likewise.
56338         * modules/vsprintf-posix (Depends-on): Likewise.
56339         * modules/wcrtomb (Depends-on): Likewise.
56340         * modules/wcscasecmp (Depends-on): Likewise.
56341         * modules/wcscspn (Depends-on): Likewise.
56342         * modules/wcsdup (Depends-on): Likewise.
56343         * modules/wcsncasecmp (Depends-on): Likewise.
56344         * modules/wcsnrtombs (Depends-on): Likewise.
56345         * modules/wcspbrk (Depends-on): Likewise.
56346         * modules/wcsrtombs (Depends-on): Likewise.
56347         * modules/wcsspn (Depends-on): Likewise.
56348         * modules/wcsstr (Depends-on): Likewise.
56349         * modules/wcstok (Depends-on): Likewise.
56350         * modules/wcswidth (Depends-on): Likewise.
56351         * modules/wctob (Depends-on): Likewise.
56352         * modules/wctomb (Depends-on): Likewise.
56353         * modules/wctype (Depends-on): Likewise.
56354         * modules/wcwidth (Depends-on): Likewise.
56355         * modules/write (Depends-on): Likewise.
56357 2011-05-03  Bruno Haible  <bruno@clisp.org>
56359         Support for conditional dependencies.
56360         * doc/gnulib.texi (Module description): Document the syntax of
56361         conditional dependencies.
56362         * gnulib-tool: New option --conditional-dependencies.
56363         (func_usage): Document it.
56364         (cond_dependencies): New variable.
56365         (func_get_automake_snippet_conditional,
56366         func_get_automake_snippet_unconditional): New functions, extracted from
56367         func_get_automake_snippet.
56368         (func_get_automake_snippet): Use them.
56369         (sed_first_32_chars): New variable.
56370         (func_module_shellfunc_name): New function.
56371         (func_module_shellvar_name): New function.
56372         (func_module_conditional_name): New function.
56373         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
56374         func_cond_module_condition): New functions.
56375         (func_modules_transitive_closure): Add support for conditional
56376         dependencies.
56377         (func_emit_lib_Makefile_am): For a conditional module, enclose the
56378         conditional automake snippet in an automake conditional.
56379         (func_emit_autoconf_snippets): Emit shell functions that contain the
56380         code for conditional modules.
56381         (func_import, func_create_testdir): Update specification.
56383 2011-05-03  Eric Blake  <eblake@redhat.com>
56385         test-getaddrinfo: report error information
56386         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
56388 2011-05-03  Jim Meyering  <meyering@redhat.com>
56390         bootstrap: avoid build failure when $GZIP is set
56391         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
56392         program name.  If defined at all, it is supposed to list gzip options.
56393         Reported by Alan Curry in http://debbugs.gnu.org/8609
56395 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
56397         readme-release: new module with release instructions
56398         * modules/readme-release: New module.
56399         * top/README-release: New file, from coreutils, grep, diffutils.
56400         * MODULES.html.sh (Support for maintaining and releasing): Add it.
56402 2011-05-02  Eric Blake  <eblake@redhat.com>
56404         fflush: also replace fclose when fixing fflush
56405         * modules/fflush (Depends-on): Add fclose.
56406         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
56407         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
56408         memstreams with no backing fd.
56409         * doc/posix-functions/fclose.texi (fclose): Document the use of
56410         fflush module to fix the bug.
56411         * tests/test-fclose.c (main): Relax test when fclose is used in
56412         isolation.
56414         fclose: add some tests
56415         * modules/fclose-tests: New test module.
56416         * tests/test-fclose.c: New file.
56417         * doc/posix-functions/fclose.texi (fclose): Document the bug.
56419         fclose: reduced dependencies
56420         * modules/fclose (Depends-on): Switch from fflush/fseeko to
56421         simpler lseek.
56422         * lib/fclose.c (rpl_fclose): Likewise.
56423         Reported by Simon Josefsson.
56425         exit: drop remaining clients
56426         * modules/argmatch (Depends-on): Replace exit with stdlib.
56427         * modules/copy-file (Depends-on): Likewise.
56428         * modules/execute (Depends-on): Likewise.
56429         * modules/exitfail (Depends-on): Likewise.
56430         * modules/obstack (Depends-on): Likewise.
56431         * modules/pagealign_alloc (Depends-on): Likewise.
56432         * modules/pipe-filter-gi (Depends-on): Likewise.
56433         * modules/pipe-filter-ii (Depends-on): Likewise.
56434         * modules/savewd (Depends-on): Likewise.
56435         * modules/spawn-pipe (Depends-on): Likewise.
56436         * modules/wait-process (Depends-on): Likewise.
56437         * modules/xsetenv (Depends-on): Likewise.
56438         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
56439         * modules/git-merge-changelog (Depends-on): Likewise.
56440         * modules/long-options (Depends-on): Likewise.
56441         * modules/pt_chown (Depends-on): Likewise.
56442         * modules/sysexits (Depends-on): Likewise.
56444         freading: relax license from LGPLv3+ to LGPLv2+
56445         * modules/freading (License): Relax LGPL version.
56447 2011-05-02  Bruno Haible  <bruno@clisp.org>
56449         fchdir: Remove unused dependencies.
56450         * modules/fchdir (Depends-on): Remove include_next.
56452 2011-05-02  Bruno Haible  <bruno@clisp.org>
56454         gnulib-tool: Refactor.
56455         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
56456         from func_emit_autoconf_snippets.
56457         (func_emit_autoconf_snippets): Use it.
56459 2011-05-02  Simon Josefsson  <simon@josefsson.org>
56461         * NEWS: Document removal of 'exit'.
56462         * modules/exit: Remove file.
56464 2011-05-01  Bruno Haible  <bruno@clisp.org>
56466         Update DEPENDENCIES.
56467         * DEPENDENCIES (gettext): Recommend the newest release.
56468         Reported by Simon Josefsson.
56470 2011-05-01  Bruno Haible  <bruno@clisp.org>
56472         gnulib-tool: Reduce code duplication.
56473         * gnulib-tool (func_emit_autoconf_snippets): New function.
56474         (func_import, func_create_testdir): Use it.
56476 2011-04-30  Eric Blake  <eblake@redhat.com>
56478         fclose: don't fail on non-seekable input stream
56479         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
56480         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
56481         since fflush is allowed to fail in that case.
56483 2011-04-30  Bruno Haible  <bruno@clisp.org>
56485         dup3: cleanup
56486         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
56488 2011-04-30  Bruno Haible  <bruno@clisp.org>
56490         netdb: Make it work in C++ mode.
56491         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
56492         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
56493         module.
56494         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
56495         gl_MODULE_INDICATOR_FOR_TESTS.
56496         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
56497         * modules/netdb-c++-tests: New file.
56498         * tests/test-netdb-c++.cc: New file.
56500 2011-04-30  Bruno Haible  <bruno@clisp.org>
56502         New modules 'vfscanf', 'vscanf'.
56503         * modules/vfscanf: New file.
56504         * modules/vscanf: New file.
56505         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
56506         here.
56507         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
56508         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
56510 2011-04-30  Bruno Haible  <bruno@clisp.org>
56512         passfd: Add comments.
56513         * lib/passfd.c: Add comments about platforms.
56515 2011-04-30  Bruno Haible  <bruno@clisp.org>
56517         sys_uio: Make <sys/uio.h> self-contained.
56518         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
56519         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
56521 2011-04-30  Bruno Haible  <bruno@clisp.org>
56523         sys_socket: Ensure 'struct iovec' definition.
56524         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
56525         <sys/socket.h>.
56526         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
56528 2011-04-30  Bruno Haible  <bruno@clisp.org>
56530         sys_uio: Protect definition of 'struct iovec'.
56531         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
56532         it as a C struct.
56534 2011-04-30  Bruno Haible  <bruno@clisp.org>
56536         manywarnings: fix indentation
56537         * m4/manywarnings.m4: Indent by 2 spaces consistently.
56539 2011-04-30  Pádraig Brady  <P@draigBrady.com>
56541         manywarnings: add -Wno-missing-field-initializers if needed.
56542         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
56543         option if it's needed to allow initialization with { 0, }
56545 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
56547         announce-gen: cosmetic improvement
56548         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
56550 2011-04-29  Jim Meyering  <meyering@redhat.com>
56552         vc-list-files: indent with spaces, not TABs
56553         * build-aux/vc-list-files: Convert leading TABs to spaces,
56554         to match the style of most other files in gnulib.
56556         announce-gen: indent with spaces, not TABs
56557         * build-aux/announce-gen: Convert all TABs to spaces, to match
56558         the style of most other files in gnulib.
56560 2011-04-29  Eric Blake  <eblake@redhat.com>
56562         quotearg: avoid uninitialized variable use
56563         * lib/quotearg.c (quoting_options_from_style): Initialize
56564         remaining fields, and ensure that custom styles are only used via
56565         quoting_options rather than quoting_style.
56567 2011-04-29  Jim Meyering  <meyering@redhat.com>
56569         maint.mk: remove unused VC-tag variable
56570         * top/maint.mk (VC-tag): Remove unused variable.
56572 2011-04-29  Bruno Haible  <bruno@clisp.org>
56574         netdb: fix gai_strerror replacements
56575         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
56576         * modules/netdb: Substitute it.
56578 2011-04-29  Jim Meyering  <meyering@redhat.com>
56580         test-getcwd.c: avoid new set-but-not-used warning
56581         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
56582         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
56583         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
56584         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
56586         test-hash.c: avoid a new shadowing warning
56587         * tests/test-hash.c (main): Don't shadow "dup".
56589 2011-04-28  Eric Blake  <eblake@redhat.com>
56591         getaddrinfo: fix gai_strerror signature
56592         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
56593         and work around mingw with UNICODE defined.
56594         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
56595         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
56596         * modules/netdb (Makefile.am): Substitute it.
56597         * lib/netdb.in.h (gai_strerror): Declare replacement.
56598         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
56599         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
56600         the fix.
56602         getsockopt: avoid compiler warning
56603         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
56604         Reported by Matthias Bolte.
56606         tests: drop unused link dependency
56607         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
56608         * modules/dirent-safer-tests (Makefile.am): Likewise.
56609         * modules/fdopendir-tests (Makefile.am): Likewise.
56610         * modules/mkfifoat-tests (Makefile.am): Likewise.
56611         * modules/openat-safer-tests (Makefile.am): Likewise.
56612         * modules/openat-tests (Makefile.am): Likewise.
56613         * modules/readlinkat-tests (Makefile.am): Likewise.
56614         * modules/symlinkat-tests (Makefile.am): Likewise.
56615         * modules/linkat-tests (Makefile.am): Likewise.
56616         (Depends-on): Switch to filenamecat-lgpl.
56617         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
56618         LIBINTL.
56619         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
56620         * tests/test-linkat.c (main): Don't require xalloc.
56622         hash, mgetgroups: drop xalloc dependency
56623         * lib/hash.c (includes): Adjust includes.
56624         * lib/mgetgroups.c (includes): Likewise.
56625         (xgetgroups): Move...
56626         * lib/xgetgroups.c: ...to new file.
56627         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
56628         * modules/xgetgroups: New file, split from...
56629         * modules/mgetgroups: ...here.
56630         (Depends-on): Add xalloc-oversized.
56631         * modules/hash (Depends-on): Likewise.
56632         * modules/hash-tests (Depends-on): Drop xalloc.
56633         (test_hash_LDADD): Drop unused library.
56634         * tests/test-hash.c (main): Break xalloc dependency.
56635         (includes): Drop unused include.
56637         xalloc-oversized: new module
56638         * modules/xalloc-oversized: New module.
56639         * modules/xalloc (Depends-on): Add it.
56640         * lib/xalloc.h (xalloc_oversized): Move...
56641         * lib/xalloc-oversized.h: ...into new file.
56643         utimecmp: drop dependency on xmalloc
56644         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
56645         due to memory pressure.
56646         * modules/utimecmp (Depends-on): Drop xalloc.
56648 2011-04-27  Eric Blake  <eblake@redhat.com>
56650         getcwd: fix mingw bugs
56651         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
56652         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
56653         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
56655 2011-04-27  Bruno Haible  <bruno@clisp.org>
56657         mkstemps: Ensure declaration on MacOS X 10.5.
56658         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
56659         * doc/glibc-functions/mkstemps.texi: Document header file problem on
56660         MacOS X.
56662 2011-04-27  Bruno Haible  <bruno@clisp.org>
56664         mkstemp: More documentation.
56665         * doc/posix-functions/mkstemp.texi: Document header file problem on
56666         MacOS X.
56668 2011-04-27  Bruno Haible  <bruno@clisp.org>
56670         mkstemp: Tweak configure message when cross-compiling.
56671         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
56672         result as a guess.
56674 2011-04-27  Bruno Haible  <bruno@clisp.org>
56676         clean-temp: Clarify what it does.
56677         * lib/clean-temp.h: Add more comments.
56678         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
56679         module.
56680         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
56681         * doc/glibc-functions/mkstemps.texi: Likewise.
56682         * doc/glibc-functions/mkostemps.texi: Likewise.
56684 2011-04-27  Eric Blake  <eblake@redhat.com>
56686         fchdir: avoid extra chdir and fix test
56687         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
56688         getcwd-lgpl.
56689         * lib/fchdir.c (get_name): Any absolute name will do; it does not
56690         have to be canonical.
56691         (canonicalize_file_name): Drop unused macro.
56692         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
56694         filenamecat-lgpl: fix licence
56695         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
56696         when it was first created.
56698         linkat, renameat: add missing dependency
56699         * modules/linkat (Depends-on): Require getcwd-lgpl.
56700         * modules/renameat (Depends-on): Likewise.
56702         tests: reduce dependencies
56703         * tests/test-linkat.c (main): Use lighter-weight getcwd.
56704         * tests/test-renameat.c (main): Likewise.
56705         * modules/linkat-tests (Depends-on): Relax dependency.
56706         * modules/renameat-tests (Depends-on): Likewise.
56707         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
56708         dependency explicit.
56710         save-cwd: reduce default dependency
56711         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
56712         * lib/save-cwd.c: Update comments.
56713         * NEWS: Document the semantic change.
56715         getcwd: enhance tests
56716         * tests/test-getcwd-lgpl.c: New file, taken from...
56717         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
56718         repeat long path stress tests from m4 probe.
56719         * modules/getcwd-lgpl-tests: New module.
56720         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
56721         * m4/getcwd-abort-bug.m4: Update comment.
56722         * m4/getcwd-path-max.m4: Likewise.
56724         getcwd-lgpl: new module
56725         * modules/getcwd-lgpl: New module.
56726         * lib/getcwd-lgpl.c: New file.
56727         * doc/posix-functions/getcwd.texi (getcwd): Document it.
56728         * MODULES.html.sh (lacking POSIX:2008): Likewise.
56729         * modules/getcwd (configure.ac): Set C witness.
56730         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
56732         getcwd: tweak comments
56733         * m4/getcwd-abort-bug.m4: Fix comments.
56734         * m4/getcwd-path-max.m4: Likewise.
56735         * m4/getcwd.m4: Likewise.
56737 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
56738         and Eric Blake  <eblake@redhat.com>
56740         mkstemp: replace if system version uses wrong permissions
56741         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
56742         read/write mode bits set in file created by mkstemp.
56743         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
56745 2011-04-27  Eric Blake  <eblake@redhat.com>
56747         passfd: avoid compiler warning
56748         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
56749         Reported by Laine Stump.
56751 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
56753         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
56754         required by the NetBSD (and perhaps other 4.4BSD derived) join.
56756 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
56757         and Eric Blake  <eblake@redhat.com>
56759         mkstemp: mention clean-temp module
56760         * lib/mkstemp.c: Add comment.
56761         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
56763 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
56765         inttypes: also provide default values for 32-bit tests
56766         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
56767         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
56769 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
56771         strtoumax: remove dependency on strtoimax
56772         This is like the strtoull change of yesterday.
56773         * modules/strtoumax (Files): Add lib/strtoimax.c.
56774         (Depends-on): Remove strtoimax and add verify.
56776         inttypes-incomplete: new module
56777         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
56778         all but the PRI* and SCN* parts of gl_INTTYPES_H.
56779         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
56780         of gl_INTTYPES_H.
56781         (gl_INTTYPES_H): Rewrite in terms of these new macros.
56782         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
56783         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
56784         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
56785         * modules/strtoumax, modules/xstrtol (Depends-on):
56786         Depend on inttypes-incomplete, not inttypes.
56787         * modules/inttypes-incomplete: New module, containing the contents
56788         of the old modules/inttypes module, except that the Files: section
56789         omits m4/inttypes-pri.m4, and the configure.ac section invokes
56790         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
56791         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
56792         (Depends-on): Depend only on inttypes-incomplete.
56793         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
56795         inttypes: omit now-redundant strtoimax and strtoumax work
56796         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
56797         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
56799         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
56800         This supports apps that need pointers to strtoimax and strtoumax,
56801         and ports to HP-UX 11.00 64.bit, which has macros that expand to
56802         nonexistent functions.  See
56803         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
56804         et seq.
56805         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
56806         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
56807         a macro.
56808         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
56810 2011-04-25  Simon Josefsson  <simon@josefsson.org>
56812         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
56814 2011-04-25  Bruno Haible  <bruno@clisp.org>
56816         strtol, strtoul: Mark modules as obsolete.
56817         * modules/strtol (Status, Notice): New sections.
56818         * modules/strtoul (Status, Notice): New sections.
56820 2011-04-25  Bruno Haible  <bruno@clisp.org>
56822         strtod: Remove check for strtod, unless supporting old platforms.
56823         * modules/strtod-obsolete: New file.
56824         * m4/strtod-obsolete.m4: New file.
56825         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
56826         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
56827         * modules/strtod (Depends-on): Add strtod-obsolete.
56828         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
56830 2011-04-25  Bruno Haible  <bruno@clisp.org>
56832         strcase: Make module obsolete.
56833         * modules/strcase (Status, Notice): New sections.
56835 2011-04-25  Bruno Haible  <bruno@clisp.org>
56837         dup2: Remove check for dup2, unless supporting old obsolete platforms.
56838         * modules/dup2-obsolete: New file.
56839         * m4/dup2-obsolete.m4: New file.
56840         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
56841         gl_FUNC_DUP2_OBSOLETE is not also defined.
56842         * modules/dup2 (Depends-on): Add dup2-obsolete.
56843         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
56845 2011-04-25  Bruno Haible  <bruno@clisp.org>
56847         strnlen: Avoid memchr related link error on old obsolete platforms.
56848         * modules/memchr-obsolete: New file.
56849         * m4/memchr-obsolete.m4: New file.
56850         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
56851         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
56852         * modules/memchr (Depends-on): Add memchr-obsolete.
56853         * modules/strnlen (Depends-on): Likewise.
56854         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
56856 2011-04-25  Jim Meyering  <meyering@redhat.com>
56858         maint.mk: makefile_at_at_check extend and clean up
56859         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
56860         in addition to */Makefile.am.
56861         Exempt legitimate uses of @VAR@ notation, e.g.,
56862         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
56863         Remove obsolete coreutils-specific comment.
56864         Prompted by discussion here:
56865         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
56867 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
56869         strtoul: remove dependency on strtol
56870         This is so that 'configure' need not check for strtol merely because
56871         the application needs strtoul.
56872         * modules/strtoul (Files): Add lib/strtol.c.
56873         (Depends-on): Remove strtol.
56875         strtoull: remove dependency on strtoul
56876         This is like the strtoll change.
56877         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
56878         (Depends-on): Remove strtoul.
56880         strtoll: remove dependency on strtol
56881         This is so that 'configure' need not check for strtol merely because
56882         the application needs strtoll.
56883         * modules/strtoll (Files): Add lib/strtol.c.
56884         (Depends-on): Remove strtol.
56886 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56888         inttypes: Move some configure check to module 'imaxdiv'.
56889         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
56890         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
56891         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
56893 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56895         inttypes: Move some configure check to module 'imaxabs'.
56896         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
56897         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
56898         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
56900 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56902         inttypes: Remove configure tests that are not needed since 2009-12-31.
56903         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
56904         gl_cv_header_working_inttypes_h.
56906 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56908         * modules/strnlen (Depends-on): Remove memchr.
56909         The strnlen implementation doesn't need the memchr module's fixes; see
56910         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
56912         strtol: remove dependency on wchar
56913         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
56914         * modules/strtol (Depends-on): Remove wchar.
56916 2011-04-21  Eric Blake  <eblake@redhat.com>
56918         passfd: fix test regression on Linux
56919         * modules/passfd-tests (configure.ac): Correct socketpair check.
56921         passfd: speed up configure and drop unused code
56922         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
56923         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
56924         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
56925         Instead of probing at configure for unix_scm_rights_bsd44_way,
56926         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
56927         check to a struct member probe.
56928         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
56929         (sendfd, recvfd): Update preprocessor checks.
56930         * modules/passfd (Files): Reflect rename, and drop unused file.
56931         (Depends-on): Drop unused dependency.
56933         passfd: allow compilation on mingw
56934         * modules/sys_socket (Depends-on): Add sys_uio.
56935         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
56936         iovec and a minimal struct msghdr.
56937         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
56938         * tests/test-sys_socket.c (main): Enhance test.
56939         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
56940         guaranteed to provide what we need.
56941         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
56942         * modules/passfd-tests (Depends-on): Add sys_wait.
56943         * tests/test-passfd.c (main): Skip test on mingw, for now.
56944         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
56945         partial 'struct msghdr' implementation.
56947         sys_uio: new module
56948         * modules/sys_uio: New module.
56949         * modules/sys_uio-tests: Likewise.
56950         * lib/sys_uio.in.h: New file.
56951         * m4/sys_uio_h.m4: Likewise.
56952         * tests/test-sys_uio.c: Likewise.
56953         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
56954         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
56956 2011-04-20  Jim Meyering  <meyering@redhat.com>
56958         useless-if-before-free: avoid false-positive
56959         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
56960         disjunct so that it too requires a terminating ";".  Without that,
56961         this script would identify as useless one statement from gcc that
56962         was not:
56963           if (aligned_ptr)
56964             free (((void **) aligned_ptr) [-1]);
56966 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
56968         doc: update users.txt.
56969         * users.txt: Add barcode.
56971 2011-04-19  Bruno Haible  <bruno@clisp.org>
56973         ioctl: Remove link dependency on native Windows.
56974         * lib/fd-hook.h: Renamed from lib/close-hook.h.
56975         (gl_close_fn, gl_ioctl_fn): New types.
56976         (struct fd_hook): Renamed from struct close_hook. Change type of
56977         private_close_fn field. Add private_ioctl_fn field.
56978         (close_hook_fn): Add parameter for primary close method.
56979         (execute_close_hooks, execute_all_close_hooks): Likewise.
56980         (ioctl_hook_fn): New type.
56981         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
56982         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
56983         argument.
56984         (unregister_fd_hook): Renamed from unregister_close_hook.
56985         * lib/fd-hook.c: Renamed from lib/close-hook.c.
56986         Don't include <unistd.h>.
56987         (close): Remove undef.
56988         (anchor): Update.
56989         (execute_close_hooks): Add argument for primary close method.
56990         (execute_all_close_hooks): Likewise.
56991         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
56992         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
56993         argument. Allow each argument to be NULL.
56994         (unregister_fd_hook): Renamed from unregister_close_hook.
56995         * lib/close.c (rpl_close): Pass 'close' function pointer to
56996         execute_all_close_hooks.
56997         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
56998         (primary_ioctl): New function.
56999         (ioctl): Don't call ioctlsocket here. Instead, call
57000         execute_all_ioctl_hooks.
57001         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
57002         close method.
57003         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
57004         (fd_sockets_hook): Renamed from close_sockets_hook.
57005         (gl_sockets_startup, gl_sockets_cleanup): Update.
57006         * modules/fd-hook: Renamed from modules/close-hook. Update.
57007         * modules/close (Depends-on): Add fd-hook, remove close-hook.
57008         * modules/sockets (Depends-on): Likewise.
57009         * modules/ioctl (Depends-on): Add fd-hook.
57010         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
57011         GNULIB_SOCKET.
57013 2011-04-19  Bruno Haible  <bruno@clisp.org>
57015         Move the support of O_NONBLOCK in open() to the 'open' module.
57016         * modules/nonblocking (Depends-on): Remove 'open'.
57017         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
57018         gl_cv_have_open_O_NONBLOCK.
57019         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
57020         O_NONBLOCK support.
57021         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
57023 2011-04-17  Bruno Haible  <bruno@clisp.org>
57025         pipe2: Simplify code.
57026         * lib/pipe2.c (pipe2): Reduce code duplication.
57028 2011-04-17  Bruno Haible  <bruno@clisp.org>
57030         nonblocking: Add comment.
57031         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
57033 2011-04-17  Bruno Haible  <bruno@clisp.org>
57035         nonblocking: Add tests for sockets.
57036         * tests/test-nonblocking-socket.sh: New file.
57037         * tests/test-nonblocking-socket-main.c: New file.
57038         * tests/test-nonblocking-socket-child.c: New file.
57039         * tests/test-nonblocking-socket.h: New file.
57040         * tests/socket-server.h: New file.
57041         * tests/socket-client.h: New file.
57042         * modules/nonblocking-socket-tests: New file.
57043         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
57045 2011-04-17  Bruno Haible  <bruno@clisp.org>
57047         nonblocking: Add tests for pipes.
57048         * tests/test-nonblocking-pipe.sh: New file.
57049         * tests/test-nonblocking-pipe-main.c: New file.
57050         * tests/test-nonblocking-pipe-child.c: New file.
57051         * tests/test-nonblocking-pipe.h: New file.
57052         * tests/test-nonblocking-writer.h: New file.
57053         * tests/test-nonblocking-reader.h: New file.
57054         * tests/test-nonblocking-misc.h: New file.
57055         * modules/nonblocking-pipe-tests: New file.
57056         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
57058 2011-04-16  Bruno Haible  <bruno@clisp.org>
57060         gettext: Clarify the needed programmer actions.
57061         * modules/gettext (Notice): New field.
57062         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
57064 2011-04-16  Bruno Haible  <bruno@clisp.org>
57066         strchrnul: Tweak last commit.
57067         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
57068         bug.
57069         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
57070         as in _GL_FUNCDECL_SYS.
57071         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
57072         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
57074 2011-04-15  Eric Blake  <eblake@redhat.com>
57076         strchrnul: work around cygwin bug
57077         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
57078         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
57079         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
57080         * modules/string (Makefile.am): Substitute it.
57081         * lib/string.in.h (strchrnul): Use it.
57083 2011-04-15  Bruno Haible  <bruno@clisp.org>
57085         Don't require lib/stdio-write.c when only module 'stdio' is used.
57086         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
57087         invocation.
57088         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
57090 2011-04-14  Bruno Haible  <bruno@clisp.org>
57092         Support non-blocking pipe I/O in read() on native Windows.
57093         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
57094         (read): New declaration.
57095         * lib/read.c: New file.
57096         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
57097         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
57098         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
57099         vscanf): New declarations.
57100         * lib/stdio-read.c: New file.
57101         * m4/read.m4: New file.
57102         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
57103         REPLACE_READ.
57104         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
57105         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57106         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
57107         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
57108         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
57109         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57110         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
57111         * modules/read: New file.
57112         * modules/nonblocking (Files): Add lib/stdio-read.c.
57113         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
57114         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
57115         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57116         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
57117         * modules/pread (Depends-on): Add read.
57118         * modules/safe-read (Depends-on): Likewise.
57119         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
57120         gets, scanf, vfscanf, vscanf): Verify signatures.
57121         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
57122         problem with non-blocking pipes.
57123         * doc/posix-functions/fgetc.texi: Likewise.
57124         * doc/posix-functions/fgets.texi: Likewise.
57125         * doc/posix-functions/fread.texi: Likewise.
57126         * doc/posix-functions/fscanf.texi: Likewise.
57127         * doc/posix-functions/getc.texi: Likewise.
57128         * doc/posix-functions/getchar.texi: Likewise.
57129         * doc/posix-functions/gets.texi: Likewise.
57130         * doc/posix-functions/scanf.texi: Likewise.
57131         * doc/posix-functions/vfscanf.texi: Likewise.
57132         * doc/posix-functions/vscanf.texi: Likewise.
57134 2011-04-14  Bruno Haible  <bruno@clisp.org>
57136         Support non-blocking pipe I/O in write() on native Windows.
57137         * lib/write.c (rpl_write): Split a write request that failed merely
57138         because the byte count was larger than the pipe buffer's size.
57139         * doc/posix-functions/write.texi: Mention the problem with large byte
57140         counts.
57142 2011-04-14  Bruno Haible  <bruno@clisp.org>
57144         wchar: Ensure that wchar_t gets defined on uClibc.
57145         * lib/wchar.in.h: On uClibc, include <stddef.h>.
57146         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
57148 2011-04-13  Bruno Haible  <bruno@clisp.org>
57150         safe-write, full-read: Avoid unnecessary compilation units.
57151         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
57152         (Depends-on): Remove safe-read. Add ssize_t.
57153         * modules/full-read (Files): Add lib/full-write.c.
57154         (Depends-on): Add full-write.
57156 2011-04-13  Bruno Haible  <bruno@clisp.org>
57158         Support non-blocking pipe I/O and SIGPIPE in pwrite().
57159         * modules/pwrite (Depends-on): Add 'write'.
57161 2011-04-13  Bruno Haible  <bruno@clisp.org>
57163         Support non-blocking pipe I/O in write() on native Windows.
57164         * lib/unistd.in.h (write): Enable replacement also if
57165         GNULIB_UNISTD_H_NONBLOCKING is 1.
57166         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
57167         (rpl_write): When failing to write on a non-blocking pipe, change
57168         errno from ENOSPC to EAGAIN.
57169         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
57170         putchar, puts, vfprintf, vprintf): Enable replacement also if
57171         GNULIB_STDIO_H_NONBLOCKING is 1.
57172         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
57173         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
57174         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
57175         CALL_WITH_SIGPIPE_EMULATION.
57176         (CALL_WITH_SIGPIPE_EMULATION): Use them.
57177         * m4/nonblocking.m4: New file.
57178         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
57179         for non-blocking I/O support.
57180         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
57181         GNULIB_UNISTD_H_NONBLOCKING.
57182         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
57183         required for non-blocking I/O support.
57184         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
57185         * modules/nonblocking (Files): Add m4/nonblocking.m4,
57186         lib/stdio-write.c, m4/asm-underscore.m4.
57187         (Depends-on): Add stdio, unistd.
57188         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
57189         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
57190         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
57191         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
57192         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
57193         problem with non-blocking pipes.
57194         * doc/posix-functions/fputc.texi: Likewise.
57195         * doc/posix-functions/fputs.texi: Likewise.
57196         * doc/posix-functions/fwrite.texi: Likewise.
57197         * doc/posix-functions/printf.texi: Likewise.
57198         * doc/posix-functions/putc.texi: Likewise.
57199         * doc/posix-functions/putchar.texi: Likewise.
57200         * doc/posix-functions/puts.texi: Likewise.
57201         * doc/posix-functions/vfprintf.texi: Likewise.
57202         * doc/posix-functions/vprintf.texi: Likewise.
57203         * doc/posix-functions/write.texi: Likewise.
57205 2011-04-10  Jim Meyering  <meyering@redhat.com>
57207         maint.mk: prohibit doubled words
57208         Detect them also when they're separated by a newline.
57209         There are 3 ways to customize it:
57210           - disable the test on a per file basis, as usual with rules using
57211             $(VC_LIST_EXCEPT)
57212           - replace the default doubled-word-selecting regexp (affects all files)
57213           - ignore a particular file-vs-doubled-word match
57214         I nearly used that last one to ignore the "is is" match in
57215         coreutils' NEWS file, since the text was "ls -is is ..."
57216         To do that, I would have added this line to cfg.mk:
57217           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
57218         but it would have ignored any "is is" match in NEWS.
57219         Low probability, but still...
57220         Instead, I changed the text, slightly:
57221           -  ls -is is now consistent with ls -lis in ignoring values returned
57222           +  "ls -is" is now consistent with ls -lis in ignoring values returned
57223         * top/maint.mk (prohibit_double_word_RE_): Provide default.
57224         (prohibit_doubled_word_): Define.
57225         (sc_prohibit_doubled_word): New rule.
57226         (sc_prohibit_the_the): Remove.  Subsumed by the above.
57228 2011-04-10  Jim Meyering  <meyering@redhat.com>
57230         maint: fix doubled-word typo in comment
57231         * m4/gethostname.m4: s/is is/it is/
57232         * m4/getdomainname.m4: Likewise.
57234 2011-04-10  Jim Meyering  <meyering@redhat.com>
57236         maint: remove doubled word: s/it it/it/
57237         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
57239 2011-04-10  Jim Meyering  <meyering@redhat.com>
57241         maint.mk: remove useless semicolon and backslash
57242         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
57243         semicolon and backslash.
57245 2011-04-10  Bruno Haible  <bruno@clisp.org>
57247         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
57248         * modules/stdint-tests (Depends-on): Add wchar.
57250 2011-04-10  Jim Meyering  <meyering@redhat.com>
57252         maint: remove doubled words in comments, e.g., s/a a/a/
57253         * lib/strptime.c (day_of_the_week): s/the the/the/
57254         * tests/test-chown.h (test_chown): s/a a/a/
57256         test-chown.h: correct a cast
57257         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
57258         when the destination is a stat.st_gid.
57260 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
57262         getaddrinfo: Fix test for sa_len member.
57263         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
57264         include <sys/types.h> before <sys/socket.h>.
57266 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
57268         maint: change "can not" to "cannot"
57269         * doc/posix-functions/iconv.texi (iconv): This one crossed line
57270         boundaries.
57272 2011-04-09  Jim Meyering  <meyering@redhat.com>
57274         maint: change "a a" to "a"
57275         * tests/test-lchown.h (test_lchown): s/a a/a/
57277         maint.mk: prohibit \<the the\>
57278         * top/maint.mk (sc_prohibit_the_the): New rule.
57280         maint: fix "the the" in comment
57281         * lib/count-one-bits.h: s/the the/the/
57283         maint: change "can not" to "cannot"
57284         But do not change the occurrences in maintain.texi or in
57285         build-aux/po/Makefile.in.in, which I presume comes from gettext.
57286         * doc/gnulib-tool.texi: s/can not/cannot/
57287         * doc/posix-functions/accept.texi (accept): Likewise.
57288         * doc/posix-functions/socket.texi (socket): Likewise.
57289         * lib/mbrtowc.c: Likewise.
57291         maint.mk: prohibit use of "can not"
57292         * top/maint.mk (sc_prohibit_can_not): New rule.
57293         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
57295 2011-04-09  Bruno Haible  <bruno@clisp.org>
57297         careadlinkat: Guard against misuse of careadlinkatcwd.
57298         * lib/careadlinkat.c: Include <stdlib.h>.
57299         (careadlinkatcwd): Check that the fd argument is as expected.
57301 2011-04-09  Bruno Haible  <bruno@clisp.org>
57303         careadlinkat: Use common coding style.
57304         * lib/careadlinkat.c: Move gnulib includes after system includes.
57306 2011-04-09  Bruno Haible  <bruno@clisp.org>
57308         careadlinkat: Clarify specification.
57309         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
57310         (careadlinkatcwd): Add comment.
57311         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
57313 2011-04-09  Bruno Haible  <bruno@clisp.org>
57315         areadlinkat: Avoid link error on many platforms.
57316         * modules/areadlinkat (Depends-on): Add areadlink.
57318 2011-04-09  Bruno Haible  <bruno@clisp.org>
57320         allocator, careadlinkat: Fix double-inclusion guard.
57321         * lib/allocator.h: Fix double-inclusion guard.
57322         * lib/careadlinkat.h: Likewise.
57324 2011-04-09  Bruno Haible  <bruno@clisp.org>
57326         relocatable-prog-wrapper: Update after module 'areadlink' changed.
57327         * lib/relocwrapper.c: Update dependencies hierarchy.
57328         * build-aux/install-reloc: Update list of files to be compiled.
57329         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
57330         lib/allocator.[hc].
57332 2011-04-08  Eric Blake  <eblake@redhat.com>
57334         strftime: silence gnulib-tool warning
57335         * modules/strftime-tests (Depends-on): Drop automatic dependency.
57337 2011-04-08  Bruno Haible  <bruno@clisp.org>
57339         verify: Fix syntax error with GCC 4.6 in C++ mode.
57340         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
57341         (HAVE_STATIC_ASSERT): New macro.
57342         (verify_true, verify): Use 'static_assert' if it is supported and
57343         '_Static_assert' is not supported.
57345 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
57347         allocator: New module.
57348         * modules/allocator, lib/allocator.c: New files.
57349         * lib/allocator.h (stdlib_allocator): New decl.
57350         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
57351         Remove.  Do not include <stdlib.h>.
57352         (careadlinkat): Use stdlib_allocator instead of rolling our own.
57353         * modules/careadlinkat (Files): Remove lib/allocator.h.
57354         (Depends-on): Add allocator.
57356         stdlib: let modules use system malloc, realloc
57357         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
57358         if !_GL_USE_STDLIB_ALLOC.
57359         (malloc, realloc): Limit this change to a smaller scope.
57361         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
57362         (malloc, realloc): Don't #undef; no longer needed.
57363         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57364         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57365         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
57366         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57367         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57368         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57369         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57370         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
57372         careadlinkat: rename members to avoid problem
57373         * lib/allocator.h (struct allocator): Rename members from
57374         malloc/realloc to allocate/reallocate, to avoid problems if malloc
57375         and realloc are #define'd.  Reported by Eric Blake in
57376         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
57377         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
57379 2011-04-08  Eric Blake  <eblake@redhat.com>
57381         nonblocking: reduce dependency
57382         * tests/test-nonblocking.c: Only test sockets when in use.
57383         * modules/nonblocking-tests (Depends-on): Drop socket.
57384         (Makefile.am): Link even if sockets are not present.
57385         * modules/pipe2-tests (Makefile.am): Likewise.
57386         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
57388         pipe2: fix O_NONBLOCK support on mingw
57389         * modules/pipe2 (Depends-on): Add nonblocking.
57390         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
57391         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
57392         * tests/test-nonblocking.c (main): Likewise.
57393         * modules/pipe2-tests (Makefile.am): Avoid link failure.
57395         fcntl-h: fix O_ACCMODE on cygwin
57396         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
57397         * lib/fcntl.in.h (O_ACCMODE): Fix it.
57399         pipe-filter: drop O_NONBLOCK workarounds
57400         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
57401         * modules/pipe-filter-ii (Depends-on): Likewise.
57402         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
57404         nonblocking: provide O_NONBLOCK for mingw
57405         * modules/nonblocking (Depends-on): Add open.
57406         (configure.ac): Set new witness macro.
57407         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
57408         * modules/fcntl-h (Makefile.am): Substitute it.
57409         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
57410         nonblocking module is in use.
57411         * lib/nonblocking.c: Adjust portability test.
57412         * lib/open.c (open): Don't let native open see gnulib flag.
57413         * tests/test-fcntl-h.c (main): Enhance test.
57414         * tests/test-open.h (test_open): Likewise.
57415         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
57417         careadlinkat: fix compilation error on mingw
57418         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
57419         within struct allocator.
57421 2011-04-06  Eric Blake  <eblake@redhat.com>
57423         binary-io: relicense under LGPLv2+
57424         * modules/binary-io (License): Relax to LGPLv2+.
57425         Requested for libvirt, and required by pipe2.
57427 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
57429         verify: use _Static_assert if available
57430         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
57431         (verify_true, verify): Use it if available.  This generates better
57432         diagnostics with GCC 4.6.0 and later.
57434 2011-04-05  Bruno Haible  <bruno@clisp.org>
57436         Remove leftover generated .h files after config.status changed.
57438         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
57439         GL_GENERATE_ALLOCA_H.
57440         * modules/alloca-opt (Makefile.am): Remove alloca.h if
57441         GL_GENERATE_ALLOCA_H evaluates to false.
57443         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
57444         GL_GENERATE_ARGZ_H.
57445         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
57446         evaluates to false.
57448         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
57449         GL_GENERATE_BYTESWAP_H.
57450         * modules/byteswap (Makefile.am): Remove byteswap.h if
57451         GL_GENERATE_BYTESWAP_H evaluates to false.
57453         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
57454         GL_GENERATE_ERRNO_H.
57455         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
57456         evaluates to false.
57458         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
57459         GL_GENERATE_FLOAT_H.
57460         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
57461         evaluates to false.
57463         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
57464         GL_GENERATE_FNMATCH_H.
57465         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
57466         GL_GENERATE_FNMATCH_H evaluates to false.
57468         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
57469         GL_GENERATE_GLOB_H.
57470         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
57471         evaluates to false.
57473         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
57474         automake conditional GL_GENERATE_ICONV_H.
57475         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
57476         evaluates to false.
57478         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
57479         GL_GENERATE_NETINET_IN_H.
57480         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
57481         GL_GENERATE_NETINET_IN_H evaluates to false.
57483         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
57484         conditional GL_GENERATE_PTHREAD_H.
57485         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
57486         * modules/pthread (Makefile.am): Remove pthread.h if
57487         GL_GENERATE_PTHREAD_H evaluates to false.
57489         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
57490         GL_GENERATE_SCHED_H.
57491         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
57492         evaluates to false.
57494         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
57495         conditional GL_GENERATE_SELINUX_CONTEXT_H.
57496         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
57497         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
57499         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
57500         GL_GENERATE_STDARG_H.
57501         * modules/stdarg (Makefile.am): Remove stdarg.h if
57502         GL_GENERATE_STDARG_H evaluates to false.
57504         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
57505         GL_GENERATE_STDBOOL_H.
57506         * modules/stdbool (Makefile.am): Remove stdbool.h if
57507         GL_GENERATE_STDBOOL_H evaluates to false.
57509         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
57510         conditional GL_GENERATE_STDDEF_H.
57511         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
57512         * modules/stddef (Makefile.am): Remove stddef.h if
57513         GL_GENERATE_STDDEF_H evaluates to false.
57515         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
57516         GL_GENERATE_STDINT_H.
57517         * modules/stdint (Makefile.am): Remove stdint.h if
57518         GL_GENERATE_STDINT_H evaluates to false.
57520         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
57521         GL_GENERATE_SYSEXITS_H.
57522         * modules/sysexits (Makefile.am): Remove sysexits.h if
57523         GL_GENERATE_SYSEXITS_H evaluates to false.
57525         Reported by Karl Berry and Ralf Wildenhues.
57527 2011-04-05  Bruno Haible  <bruno@clisp.org>
57529         Ensure to rebuild generated .h files when config.status has changed.
57530         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
57531         config.status.
57532         * modules/ctype (Makefile.am): Likewise.
57533         * modules/dirent (Makefile.am): Likewise.
57534         * modules/errno (Makefile.am): Likewise.
57535         * modules/fcntl-h (Makefile.am): Likewise.
57536         * modules/float (Makefile.am): Likewise.
57537         * modules/getopt-posix (Makefile.am): Likewise.
57538         * modules/glob (Makefile.am): Likewise.
57539         * modules/iconv-h (Makefile.am): Likewise.
57540         * modules/inttypes (Makefile.am): Likewise.
57541         * modules/langinfo (Makefile.am): Likewise.
57542         * modules/locale (Makefile.am): Likewise.
57543         * modules/math (Makefile.am): Likewise.
57544         * modules/netdb (Makefile.am): Likewise.
57545         * modules/netinet_in (Makefile.am): Likewise.
57546         * modules/poll-h (Makefile.am): Likewise.
57547         * modules/pthread (Makefile.am): Likewise.
57548         * modules/pty (Makefile.am): Likewise.
57549         * modules/sched (Makefile.am): Likewise.
57550         * modules/search (Makefile.am): Likewise.
57551         * modules/selinux-h (Makefile.am): Likewise.
57552         * modules/signal (Makefile.am): Likewise.
57553         * modules/spawn (Makefile.am): Likewise.
57554         * modules/stdarg (Makefile.am): Likewise.
57555         * modules/stdbool (Makefile.am): Likewise.
57556         * modules/stddef (Makefile.am): Likewise.
57557         * modules/stdint (Makefile.am): Likewise.
57558         * modules/stdio (Makefile.am): Likewise.
57559         * modules/stdlib (Makefile.am): Likewise.
57560         * modules/string (Makefile.am): Likewise.
57561         * modules/strings (Makefile.am): Likewise.
57562         * modules/sys_file (Makefile.am): Likewise.
57563         * modules/sys_ioctl (Makefile.am): Likewise.
57564         * modules/sys_select (Makefile.am): Likewise.
57565         * modules/sys_socket (Makefile.am): Likewise.
57566         * modules/sys_stat (Makefile.am): Likewise.
57567         * modules/sys_time (Makefile.am): Likewise.
57568         * modules/sys_times (Makefile.am): Likewise.
57569         * modules/sys_utsname (Makefile.am): Likewise.
57570         * modules/sys_wait (Makefile.am): Likewise.
57571         * modules/sysexits (Makefile.am): Likewise.
57572         * modules/termios (Makefile.am): Likewise.
57573         * modules/time (Makefile.am): Likewise.
57574         * modules/unistd (Makefile.am): Likewise.
57575         * modules/wchar (Makefile.am): Likewise.
57576         * modules/wctype-h (Makefile.am): Likewise.
57577         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
57579 2011-04-05  Bruno Haible  <bruno@clisp.org>
57581         pipe2: Relicense under LGPLv2+.
57582         * modules/pipe2 (License): Change to LGPLv2+.
57583         Requested by Eric Blake, for libvirt.
57585 2011-04-05  Bruce Korb  <bkorb@gnu.org>
57587         bootstrap: compute gnulib_extra_files after updating build_aux
57588         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
57589         change build_aux or also supply gnulib_extra_files.  Handle correctly.
57591 2011-04-05  Eric Blake  <eblake@redhat.com>
57593         bootstrap: preserve git whitelist item sorting
57594         * build-aux/bootstrap (sort_patterns): New function.
57595         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
57597 2011-04-05  Simon Josefsson  <simon@josefsson.org>
57599         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
57600         sc_space_tab check.
57602 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
57604         areadlink, areadlinkat: rewrite in terms of careadlinkat
57605         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
57606         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
57607         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
57608         (malloc, realloc): Remove #undefs.
57609         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
57610         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
57611         readlink, ssize_t, stdint, unistd.
57612         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
57613         areadlink, stdint.
57615         careadlinkat: new module
57616         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
57617         * modules/careadlinkat: New files, written by me with
57618         a review and feedback from Ben Pfaff in
57619         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
57621 2011-04-01  Bruno Haible  <bruno@clisp.org>
57623         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
57624         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
57625         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
57626         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
57627         Reported by Bruce Korb <bruce.korb@gmail.com>.
57629 2011-04-01  Bruno Haible  <bruno@clisp.org>
57631         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
57632         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
57633         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
57634         * modules/wcpcpy (Depends-on): Add extensions.
57635         * modules/wcpncpy (Depends-on): Likewise.
57636         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
57637         systems.
57638         * doc/posix-functions/wcpncpy.texi: Likewise.
57639         * doc/posix-functions/wcwidth.texi: Likewise.
57641 2011-03-31  Eric Blake  <eblake@redhat.com>
57643         nonblocking: fix mingw test failures
57644         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
57645         non-blocking flag on regular file.
57646         (get_nonblocking_flag): Set errno on invalid fd.
57647         * tests/test-nonblocking.c (main): Avoid test failure on
57648         directories if fchdir is not active.
57649         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
57651 2011-03-31  Bruno Haible  <bruno@clisp.org>
57653         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
57654         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
57655         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
57656         Reported by Simon Josefsson <simon@josefsson.org>.
57658 2011-03-31  Bruno Haible  <bruno@clisp.org>
57659         and Eric Blake  <eblake@redhat.com>
57661         nonblocking: new module
57662         * modules/nonblocking: New module.
57663         * modules/nonblocking-tests: Likewise.
57664         * lib/nonblocking.h: New file.
57665         * lib/nonblocking.c: Likewise.
57666         * tests/test-nonblocking.c: New test.
57667         * lib/ioctl.c (ioctl) [mingw]: Update comment.
57669 2011-03-30  Bruno Haible  <bruno@clisp.org>
57671         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
57672         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
57673         instead of 'printf' format for GCC >= 4.4.
57674         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
57675         (fprintf, printf, vfprintf, vprintf): Declare with
57676         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
57677         the system's vfprintf() function.
57678         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
57680 2011-03-30  Eric Blake  <eblake@redhat.com>
57682         passfd: fix scoping bug
57683         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
57684         before sendmsg/recvmsg.
57686         passfd: standardize coding conventions
57687         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
57688         can be learned at compile time.
57689         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
57690         ifdefs.
57691         (sendfd, recvfd): Follow gnulib code conventions.
57693         passfd: fix incorrect sendmsg arguments
57694         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
57695         incorrect msg_controllen value.
57696         * modules/passfd-tests (Depends-on): Check for alarm.
57697         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
57698         Reported by Bastien ROUCARIES.
57700 2011-03-30  Bruno Haible  <bruno@clisp.org>
57702         c-strcasestr: Relicense under LGPLv2+.
57703         * modules/c-strcasestr (License): Change to LGPLv2+.
57704         Requested by Eric Blake, for libvirt.
57706 2011-03-30  Simon Josefsson  <simon@josefsson.org>
57708         * users.txt: Add libidn2.  Fix libtasn1 link.
57710 2011-03-30  Jim Meyering  <meyering@redhat.com>
57712         tests: readlink* ("",... fails with EINVAL on newer kernels
57713         readlink and readlinkat have typically failed with ENOENT for
57714         the invalid, empty file name,  "".  However, with the advent
57715         of linux-2.6.39, they fail with EINVAL.
57716         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
57717         when operating on the empty file name.
57718         * tests/test-readlink.h (test_readlink): Likewise.
57720 2011-03-29  Bruno Haible  <bruno@clisp.org>
57722         Relicense some modules under LGPLv2+, for libidn2.
57723         * modules/array-mergesort (License): Change to LGPLv2+.
57724         * modules/c-strcaseeq (License): Likewise.
57725         * modules/striconveh (License): Likewise.
57726         * modules/striconveha (License): Likewise.
57727         * modules/uniconv/base (License): Likewise.
57728         * modules/uniconv/u8-conv-from-enc (License): Likewise.
57729         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
57730         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
57731         * modules/unictype/base (License): Likewise.
57732         * modules/unictype/bidiclass-of (License): Likewise.
57733         * modules/unictype/category-M (License): Likewise.
57734         * modules/unictype/category-none (License): Likewise.
57735         * modules/unictype/category-of (License): Likewise.
57736         * modules/unictype/category-test (License): Likewise.
57737         * modules/unictype/category-test-withtable (License): Likewise.
57738         * modules/unictype/combining-class (License): Likewise.
57739         * modules/unictype/joiningtype-of (License): Likewise.
57740         * modules/unictype/scripts (License): Likewise.
57741         * modules/uninorm/base (License): Likewise.
57742         * modules/uninorm/canonical-decomposition (License): Likewise.
57743         * modules/uninorm/composition (License): Likewise.
57744         * modules/uninorm/decompose-internal (License): Likewise.
57745         * modules/uninorm/decomposition-table (License): Likewise.
57746         * modules/uninorm/nfc (License): Likewise.
57747         * modules/uninorm/nfd (License): Likewise.
57748         * modules/uninorm/u32-normalize (License): Likewise.
57749         * modules/unistr/base (License): Likewise.
57750         * modules/unistr/u32-cpy (License): Likewise.
57751         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
57752         * modules/unistr/u32-to-u8 (License): Likewise.
57753         * modules/unistr/u32-uctomb (License): Likewise.
57754         * modules/unistr/u8-check (License): Likewise.
57755         * modules/unistr/u8-mblen (License): Likewise.
57756         * modules/unistr/u8-mbtouc (License): Likewise.
57757         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
57758         * modules/unistr/u8-mbtoucr (License): Likewise.
57759         * modules/unistr/u8-prev (License): Likewise.
57760         * modules/unistr/u8-strlen (License): Likewise.
57761         * modules/unistr/u8-to-u32 (License): Likewise.
57762         * modules/unistr/u8-uctomb (License): Likewise.
57763         * modules/unitypes (License): Likewise.
57764         Requested by Simon Josefsson.
57766 2011-03-29  Simon Josefsson  <simon@josefsson.org>
57768         lib-symbol-visibility: Add a notice.
57769         * modules/lib-symbol-visibility (Notice): New field.
57771 2011-03-29  Bruno Haible  <bruno@clisp.org>
57773         getaddrinfo: Doc fix.
57774         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
57775         section "fixed in Gnulib".
57777 2011-03-28  Simon Josefsson  <simon@josefsson.org>
57779         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
57780         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
57782 2011-03-26  Bruno Haible  <bruno@clisp.org>
57784         unictype/property-byname: Reduce the number of load-time relocations.
57785         * lib/unictype/pr_byname.c: Include <stdlib.h>.
57786         (UC_PROPERTY_INDEX_*): New enumeration values.
57787         (uc_property_byname): Convert an index from the lookup table to an
57788         uc_property_t.
57789         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
57790         values.
57792 2011-03-26  Bruno Haible  <bruno@clisp.org>
57794         unictype/property-byname: Allow omitted word separators and aliases.
57795         * lib/unictype/pr_byname.gperf: Add property names without word
57796         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
57797         for 'space'.
57799 2011-03-26  Bruno Haible  <bruno@clisp.org>
57801         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
57802         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
57803         also hyphens to space.
57804         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
57805         without spaces.
57806         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
57808 2011-03-26  Bruno Haible  <bruno@clisp.org>
57810         unictype/joiningtype-byname: Recognize long names as well.
57811         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
57812         a long name.
57813         * lib/unictype/joiningtype_byname.c: Include <string.h>,
57814         unictype/joiningtype_byname.h.
57815         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
57816         * lib/unictype/joiningtype_byname.gperf: New file.
57817         * modules/unictype/joiningtype-byname (Files): Add
57818         lib/unictype/joiningtype_byname.gperf.
57819         (Depends-on): Add gperf.
57820         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
57821         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
57822         long names.
57824         Tests for module 'unictype/joiningtype-longname'.
57825         * modules/unictype/joiningtype-longname-tests: New file.
57826         * tests/unictype/test-joiningtype_longname.c: New file.
57828         New module 'unictype/joiningtype-longname'.
57829         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
57830         * lib/unictype/joiningtype_longname.c: New file.
57831         * modules/unictype/joiningtype-longname: New file.
57832         * modules/unictype/joiningtype-all (Depends-on): Add
57833         unictype/joiningtype-longname.
57835 2011-03-26  Bruno Haible  <bruno@clisp.org>
57837         unictype/bidiclass-byname: Recognize long names as well.
57838         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
57839         name.
57840         * lib/unictype/bidi_byname.c: Include <string.h>,
57841         unictype/bidi_byname.h.
57842         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
57843         * lib/unictype/bidi_byname.gperf: New file.
57844         * modules/unictype/bidiclass-byname (Files): Add
57845         lib/unictype/bidi_byname.gperf.
57846         (Depends-on): Add gperf.
57847         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
57848         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
57849         long names.
57851         Tests for module 'unictype/bidiclass-longname'.
57852         * modules/unictype/bidiclass-longname-tests: New file.
57853         * tests/unictype/test-bidi_longname.c: New file.
57855         New module 'unictype/bidiclass-longname'.
57856         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
57857         * lib/unictype/bidi_longname.c: New file.
57858         * modules/unictype/bidiclass-longname: New file.
57859         * modules/unictype/bidiclass-all (Depends-on): Add
57860         unictype/bidiclass-longname.
57862 2011-03-26  Bruno Haible  <bruno@clisp.org>
57864         unictype/bidi*: Rename modules.
57865         * modules/unictype/bidiclass-all: Renamed from
57866         modules/unictype/bidicategory-all.
57867         * modules/unictype/bidiclass-name: Renamed from
57868         modules/unictype/bidiclass-name.
57869         (Description): Update.
57870         * modules/unictype/bidiclass-name-tests: Renamed from
57871         modules/unictype/bidicategory-name-tests.
57872         * modules/unictype/bidiclass-byname: Renamed from
57873         modules/unictype/bidicategory-byname.
57874         (Description): Update.
57875         * modules/unictype/bidiclass-byname-tests: Renamed from
57876         modules/unictype/bidicategory-byname-tests.
57877         * modules/unictype/bidiclass-of: Renamed from
57878         modules/unictype/bidicategory-of.
57879         (Description): Update.
57880         * modules/unictype/bidiclass-of-tests: Renamed from
57881         modules/unictype/bidicategory-of-tests.
57882         * modules/unictype/bidiclass-test: Renamed from
57883         modules/unictype/bidicategory-test.
57884         (Description): Update.
57885         * modules/unictype/bidiclass-test-tests: Renamed from
57886         modules/unictype/bidicategory-test-tests.
57887         * modules/unictype/bidicategory-all: New file, a simple redirection.
57888         * modules/unictype/bidicategory-name: Likewise.
57889         * modules/unictype/bidicategory-byname: Likewise.
57890         * modules/unictype/bidicategory-of: Likewise.
57891         * modules/unictype/bidicategory-test: Likewise.
57892         * modules/unictype/property-bidi-* (Dependencies): Update.
57893         * lib/unictype/bidi_*.c: Update comment.
57895 2011-03-26  Bruno Haible  <bruno@clisp.org>
57897         unictype/bidi*: Rename functions, part 2.
57898         * modules/unictype/bidicategory-name (configure.ac): Update required
57899         libunistring version.
57900         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
57902 2011-03-25  Bruno Haible  <bruno@clisp.org>
57904         New module 'unictype/combining-class-all'.
57905         * modules/unictype/combining-class-all: New file.
57907         Tests for module 'unictype/combining-class-byname'.
57908         * modules/unictype/combining-class-byname-tests: New file.
57909         * tests/unictype/test-combiningclass_byname.c: New file.
57911         New module 'unictype/combining-class-byname'.
57912         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
57913         * lib/unictype/combiningclass_byname.c: New file.
57914         * lib/unictype/combiningclass_byname.gperf: New file.
57915         * modules/unictype/combining-class-byname: New file.
57917         Tests for module 'unictype/combining-class-longname'.
57918         * modules/unictype/combining-class-longname-tests: New file.
57919         * tests/unictype/test-combiningclass_longname.c: New file.
57921         New module 'unictype/combining-class-longname'.
57922         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
57923         * lib/unictype/combiningclass_longname.c: New file.
57924         * modules/unictype/combining-class-longname: New file.
57926         Tests for module 'unictype/combining-class-name'.
57927         * modules/unictype/combining-class-name-tests: New file.
57928         * tests/unictype/test-combiningclass_name.c: New file.
57930         New module 'unictype/combining-class-name'.
57931         * lib/unictype.in.h (uc_combining_class_name): New declaration.
57932         * lib/unictype/combiningclass_name.c: New file.
57933         * modules/unictype/combining-class-name: New file.
57935 2011-03-25  Bruno Haible  <bruno@clisp.org>
57937         unictype/combining-class: Rename source files.
57938         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
57939         of unictype/combining.h.
57940         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
57941         Update.
57942         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
57943         * modules/unictype/combining-class (Description): Fix.
57944         (Files, Makefile.am): Update.
57945         * tests/unictype/test-combiningclass.c: Renamed from
57946         tests/unictype/test-combining.c.
57947         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
57949 2011-03-25  Bruno Haible  <bruno@clisp.org>
57951         unictype: Update list of canonical combining classes.
57952         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
57954 2011-03-25  Bruno Haible  <bruno@clisp.org>
57956         unictype/category-byname: Recognize long names as well.
57957         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
57958         a long name.
57959         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
57960         unictype/categ_byname.h.
57961         (UC_CATEGORY_INDEX_*): New enumeration values.
57962         (uc_general_category_byname): Use uc_general_category_lookup and
57963         convert from index to value.
57964         * lib/unictype/categ_byname.gperf: New file.
57965         * modules/unictype/category-byname (Files): Add
57966         lib/unictype/categ_byname.gperf.
57967         (Depends-on): Add gperf.
57968         (Makefile.am): Add rule for generating unictype/categ_byname.h.
57969         * tests/unictype/test-categ_byname.c (main): Test the recognition of
57970         long names.
57972         Tests for module 'unictype/category-longname'.
57973         * modules/unictype/category-longname-tests: New file.
57974         * tests/unictype/test-categ_longname.c: New file.
57976         New module 'unictype/category-longname'.
57977         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
57978         * lib/unictype/categ_longname.c: New file.
57979         * modules/unictype/category-longname: New file.
57980         * modules/unictype/category-all (Depends-on): Add it.
57982 2011-03-25  Bruno Haible  <bruno@clisp.org>
57984         Tests for module 'unictype/category-LC'.
57985         * modules/unictype/category-LC-tests: New file.
57986         * tests/unictype/test-categ_LC.c: New file, automatically generated.
57988         New module 'unictype/category-LC'.
57989         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
57990         (UC_CATEGORY_LC): New declaration.
57991         (UC_CASED_LETTER): New macro.
57992         * lib/gen-uni-tables.c (is_category_LC): New function.
57993         (output_categories): Also handle category LC.
57994         (UC_CATEGORY_MASK_LC): New enumeration value.
57995         (general_category_byname): Also handle category LC.
57996         * lib/unictype/categ_LC.c: New file.
57997         * lib/unictype/categ_LC.h: New file, automatically generated.
57998         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
57999         category LC.
58000         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
58001         * modules/unictype/category-LC: New file.
58002         * modules/unictype/category-byname (Depends-on): Add
58003         unictype/category-LC.
58004         * modules/unictype/category-all (Depends-on): Likewise.
58006 2011-03-25  Eric Blake  <eblake@redhat.com>
58008         xmalloc: revert yesterday's regression
58009         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
58010         realloc's underlying behavior (allowing allocation of zero-size
58011         objects, especially if malloc-gnu is also in use).
58013 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
58015         maint.mk: add missing version to VC-tag
58016         * top/maint.mk: git tag was missing actual tag name; add it.
58018         valgrind: do leak checking, and exit with code 1 on error (not 0)
58019         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
58020         to VALGRIND.
58022 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
58024         posix-modules: say what it does.
58025         * posix-modules: Add a line to the --help output saying what it does.
58027 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
58029         xmalloc: Do not leak if underlying realloc is C99 compatible.
58030         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
58031         This avoids a leak on C99-based systems.  See
58032         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
58034 2011-03-24  Eric Blake  <eblake@redhat.com>
58036         realloc: document portability problem
58037         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
58038         passing 0 size to realloc.
58040 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
58042         doc: update users.txt
58043         * users.txt: Add cvsps, tmpwatch
58045 2011-03-23  Matt Rice  <ratmice@gmail.com>
58047         doc: update users.txt
58048         * users.txt: Add gdb.
58050 2011-03-23  Jim Meyering  <meyering@redhat.com>
58052         doc: update users.txt
58053         Looking through matches up to the following URL (there are still
58054         several more pages), I found several projects that use gnulib:
58055         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
58056         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
58057         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
58059 2011-03-22  Bruno Haible  <bruno@clisp.org>
58061         unictype/bidi*: Rename functions.
58062         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
58063         uc_bidi_class, uc_is_bidi_class): New declarations.
58064         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
58065         uc_bidi_category_byname.
58066         (uc_bidi_category_byname): New function.
58067         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
58068         u_bidi_category_name.
58069         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
58070         (uc_bidi_category_name): New function.
58071         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
58072         uc_bidi_category.
58073         (uc_bidi_category): New function.
58074         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
58075         uc_is_bidi_category. Invoke uc_bidi_class.
58076         (uc_is_bidi_category): New function.
58077         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
58078         instead of uc_bidi_category_byname.
58079         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
58080         instead of uc_bidi_category_name.
58081         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
58082         uc_bidi_category.
58083         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
58084         instead of uc_is_bidi_category.
58086 2011-03-21  Bruno Haible  <bruno@clisp.org>
58088         New module 'unictype/joininggroup-all'.
58089         * modules/unictype/joininggroup-all: New file.
58091         Tests for module 'unictype/joininggroup-of'.
58092         * modules/unictype/joininggroup-of-tests: New file.
58093         * tests/unictype/test-joininggroup_of.c: New file.
58094         * tests/unictype/test-joininggroup_of.h: New file, automatically
58095         generated by gen-uni-tables.
58097         New module 'unictype/joininggroup-of'.
58098         * modules/unictype/joininggroup-of: New file.
58099         * lib/unictype/joininggroup_of.c: New file.
58100         * lib/unictype/joininggroup_of.h: New file, automatically generated by
58101         gen-uni-tables.
58103         Tests for module 'unictype/joininggroup-byname'.
58104         * modules/unictype/joininggroup-byname-tests: New file.
58105         * tests/unictype/test-joininggroup_byname.c: New file.
58107         New module 'unictype/joininggroup-byname'.
58108         * modules/unictype/joininggroup-byname: New file.
58109         * lib/unictype/joininggroup_byname.c: New file.
58110         * lib/unictype/joininggroup_byname.gperf: New file.
58112         Tests for module 'unictype/joininggroup-name'.
58113         * modules/unictype/joininggroup-name-tests: New file.
58114         * tests/unictype/test-joininggroup_name.c: New file.
58116         New module 'unictype/joininggroup-name'.
58117         * modules/unictype/joininggroup-name: New file.
58118         * lib/unictype/joininggroup_name.c: New file.
58119         * lib/unictype/joininggroup_name.h: New file.
58121         New module 'unictype/joiningtype-all'.
58122         * modules/unictype/joiningtype-all: New file.
58124         Tests for module 'unictype/joiningtype-of'.
58125         * modules/unictype/joiningtype-of-tests: New file.
58126         * tests/unictype/test-joiningtype_of.c: New file.
58127         * tests/unictype/test-joiningtype_of.h: New file, automatically
58128         generated by gen-uni-tables.
58130         New module 'unictype/joiningtype-of'.
58131         * modules/unictype/joiningtype-of: New file.
58132         * lib/unictype/joiningtype_of.c: New file.
58133         * lib/unictype/joiningtype_of.h: New file, automatically generated by
58134         gen-uni-tables.
58136         Tests for module 'unictype/joiningtype-byname'.
58137         * modules/unictype/joiningtype-byname-tests: New file.
58138         * tests/unictype/test-joiningtype_byname.c: New file.
58140         New module 'unictype/joiningtype-byname'.
58141         * modules/unictype/joiningtype-byname: New file.
58142         * lib/unictype/joiningtype_byname.c: New file.
58144         Tests for module 'unictype/joiningtype-name'.
58145         * modules/unictype/joiningtype-name-tests: New file.
58146         * tests/unictype/test-joiningtype_name.c: New file.
58148         New module 'unictype/joiningtype-name'.
58149         * modules/unictype/joiningtype-name: New file.
58150         * lib/unictype/joiningtype_name.c: New file.
58152         unictype: Add support for Arabic shaping properties.
58153         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
58154         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
58155         declarations.
58156         (UC_JOINING_GROUP_*): New enumeration values.
58157         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
58158         declarations.
58159         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
58160         (unicode_joining_type): New variable.
58161         (UC_JOINING_GROUP_*): New enumeration values.
58162         (unicode_joining_group): New variable.
58163         (fill_arabicshaping, joining_type_as_c_identifier,
58164         output_joining_type_test, output_joining_type,
58165         joining_group_as_c_identifier, output_joining_group_test,
58166         output_joining_group): New functions.
58167         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
58168         fill_arabicshaping and output_joining_type_test, output_joining_type,
58169         output_joining_group_test, output_joining_group.
58170         Reported by Simon Josefsson.
58172 2011-03-21  Jim Meyering  <meyering@redhat.com>
58174         strftime: fix a bug in yesterday's change
58175         * lib/strftime.c (add): Accommodate width's initial value of -1.
58176         Otherwise, nstrftime would copy uninitialized data into
58177         the result buffer.
58179 2011-03-21  Jim Meyering  <meyering@redhat.com>
58181         tests: add strftime-tests module
58182         * tests/test-strftime.c: New file.
58183         * modules/strftime-tests: New module.
58185 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58187         strftime: don't assume a byte count fits in 'int'
58188         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
58189         found this problem by static analysis, using gcc -Wstrict-overflow
58190         (GCC 4.5.2, x86-64).  This reported an optimization that depended
58191         on an integer overflow having undefined behavior, but it turns out
58192         that the argument is a size, which might not fit in 'int' anyway,
58194 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58196         stdio: don't require ignore_value around fwrite
58198         This patch works around libc bug 11959
58199         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
58200         Without this patch, applications must often write
58201         ignore_value (fwrite (...)) even though the ignore_value is
58202         not helpful here.  It's common to write many objects, using
58203         fwrite/printf/etc., and then use ferror to detect output error.
58205         I considered making this patch optional, but decided against it,
58206         because libc is obviously being inconsistent here: there is no
58207         reason libc should insist that user code must inspect fwrite
58208         return's value without also insisting that it inspect printf's,
58209         putchar's, etc.  If user code wants to have a strict style where
58210         all these functions' values are checked (so that ferror need not
58211         be checked), we could add support for that style in a new gnulib
58212         module, but in the meantime it's better to be consistent and to
58213         support common usage.
58215         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
58216         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
58217         that we are compiling in checking mode, and if not C++, and
58218         if not already wrapping fwrite for some other reason.
58219         (fwrite): #define to rpl_fwrite if the latter is defined.
58221 2011-03-20  Bruno Haible  <bruno@clisp.org>
58223         verror: Fix compilation error introduced on 2011-02-13.
58224         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
58225         instead of __attribute__.
58226         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
58228 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58229             Bruno Haible  <bruno@clisp.org>
58231         socklen: do not depend on sys_socket
58232         While trying to modify Emacs to use gnulib's socklen module,
58233         I discovered a circular dependency: socklen depends on sys_socket
58234         and vice versa.  Emacs can use socklen, but it does not need
58235         sys_socket because it has its own substitute for sys/socket.h.
58236         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
58237         gl_TYPE_SOCKLEN_T.
58238         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
58239         gl_PREREQ_SYS_H_SOCKET.
58240         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
58241         gl_PREREQ_SYS_H_SOCKET.
58242         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
58243         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
58244         * modules/socklen (Depends-on): Do not depend on sys_socket.
58245         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
58247 2011-03-20  Jim Meyering  <meyering@redhat.com>
58249         maint.mk: sort file names *after* new transformation
58250         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
58251         prefix would have led to an unwarranted failure in GNU parted.
58252         Sort after that transformation.
58254 2011-03-19  Jim Meyering  <meyering@redhat.com>
58256         maint.mk: fix po-file syntax-check rule
58257         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
58258         Patch by Bruno Haible.
58260 2011-03-19  Bruno Haible  <bruno@clisp.org>
58262         socklen: Update comment.
58263         * m4/socklen.m4: Update comment about platforms.
58265 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
58266             Bruno Haible  <bruno@clisp.org>
58268         inet_ntop, inet_pton: Simplify.
58269         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
58270         documented to provide socklen_t and we already depend on sys_socket.
58271         * modules/inet_pton (Depends-on): Likewise.
58272         * lib/arpa_inet.in.h: Adjust comment.
58274 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
58275             Bruno Haible  <bruno@clisp.org>
58277         netdb: Simplify.
58278         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
58279         documented to provide socklen_t and we already depend on sys_socket.
58280         * lib/netdb.in.h: Adjust comment.
58282 2011-03-19  Bruno Haible  <bruno@clisp.org>
58284         sys_socket, netdb: Document problem with socklen_t.
58285         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
58286         platforms.
58287         * doc/posix-headers/netdb.texi: Likewise.
58289 2011-03-18  Eric Blake  <eblake@redhat.com>
58291         maint.mk: let po check work in VPATH build
58292         * top/maint.mk (po_file): Allow cfg.mk override.
58293         (sc_po_check): Allow VPATH use.
58294         Reported by Jiri Denemark.
58296 2011-03-16  Jim Meyering  <meyering@redhat.com>
58298         maint.mk: allow fine-grained syntax-check exclusion via Make variables
58299         Before, you would have had to create one .x-sc_ file per rule in order
58300         to exempt offending files.  Now, you may instead use a Make variable --
58301         usually defined in cfg.mk -- whose name identifies the affected rule.
58302         * top/maint.mk (_sc_excl): Define.
58303         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
58304         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
58306 2011-03-13  Bruno Haible  <bruno@clisp.org>
58308         ignore-value tests: Avoid warnings.
58309         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
58310         empty for gcc < 3.4.
58312 2011-03-13  Bruno Haible  <bruno@clisp.org>
58314         passfd: Fix link error on Solaris.
58315         * modules/passfd (Description): Correct.
58316         (Depends-on): Add socketlib.
58317         (Link): New section.
58318         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
58320 2011-03-13  Bruno Haible  <bruno@clisp.org>
58322         passfd: Fix link error on AIX 5.2.
58323         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
58325 2011-03-13  Bruno Haible  <bruno@clisp.org>
58327         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
58328         * lib/sys_socket.in.h: Include <stddef.h>.
58329         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
58330         CMSG_FIRSTHDR. Remove unused variable.
58332 2011-03-13  Bruno Haible  <bruno@clisp.org>
58334         passfd: Fix compilation error on OpenBSD.
58335         * lib/passfd.c: Include <sys/uio.h>.
58337 2011-03-13  Bruno Haible  <bruno@clisp.org>
58339         passfd test: Fix warnings.
58340         * tests/test-passfd.c: Include <sys/wait.h>.
58341         (main): Fix typo.
58343 2011-03-13  Bruno Haible  <bruno@clisp.org>
58345         passfd module, part 4, tweaks.
58346         * tests/test-passfd.c: Reorder includes.
58347         (main): Fix perror and printf calls.
58349 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
58351         passfd module, part 4.
58352         * modules/passfd-tests: New file.
58353         * tests/test-passfd.c: New file.
58355 2011-03-13  Jim Meyering  <meyering@redhat.com>
58357         Makefile: rely on GNU make; derive syntax-check rule names
58358         Rather than requiring that each sc_ rule be listed as a dependent
58359         of "check", use features of GNU make to derive the list.
58360         * Makefile (syntax-check-rules): Define.
58361         (check): Depend on the new variable, not the hard-coded list.
58363 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
58364             Bruno Haible  <bruno@clisp.org>
58366         passfd module, part 3.
58367         * lib/passfd.h (recvfd): Add a flags argument.
58368         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
58369         (recvfd): Add a flags argument.
58370         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
58371         exists.
58372         * modules/passfd (Depends-on): Add cloexec.
58373         Suggested by Eric Blake.
58375 2011-03-13  Bruno Haible  <bruno@clisp.org>
58377         passfd module, part 2, tweaks.
58378         * modules/passfd (Files): Reorder.
58379         (Depends-on): Remove errno.
58380         (Include): Remove <sys/socket.h>, <sys/un.h>.
58381         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
58382         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
58383         specification header. Include <sys/socket.h> always. Don't include
58384         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
58385         (sendfd): Clarify that it sets errno when it fails.
58386         (recvfd): Fix specification.
58388 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
58390         passfd module, part 2.
58391         * modules/passfd: New file.
58392         * lib/passfd.h: New file.
58393         * lib/passfd.c: New file.
58395 2011-03-12  Bruno Haible  <bruno@clisp.org>
58397         wcswidth, mbswidth: Avoid integer overflow.
58398         * lib/wcswidth.c: Include <limits.h>.
58399         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
58400         * lib/mbswidth.c: Include <limits.h>.
58401         (mbsnwidth): Avoid 'int' overflow.
58402         Reported by Jim Meyering.
58404 2011-03-12  Bruno Haible  <bruno@clisp.org>
58406         futimens, utimensat: Avoid endless recursion on Solaris 10.
58407         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
58408         Solaris.
58409         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
58410         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
58412 2011-03-11  Jim Meyering  <meyering@redhat.com>
58414         maint.mk: relax a regexp to accommodate other formatting styles
58415         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
58416         between "ngettext" and the following "(".
58418 2011-03-11  Pádraig Brady  <P@draigBrady.com>
58420         maint.mk: suppress a false positive warning
58421         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
58422         diagnostics are marked with ngettext.
58424 2011-03-10  Eric Blake  <eblake@redhat.com>
58426         wchar: add explicit dependencies, for Tru64
58427         * modules/mbmemcasecoll (Depends-on): Add wchar.
58428         * modules/mbtowc (Depends-on): Likewise.
58429         * modules/vasnprintf (Depends-on): Likewise.
58430         * modules/unistdio/u-printf-args (Depends-on): Likewise.
58431         * modules/wctomb (Depends-on): Likewise.
58432         Reported by Peter O'Gorman.
58434 2011-03-08  Bruno Haible  <bruno@clisp.org>
58436         passfd module, part 1, tweaks.
58437         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
58438         Improve indentation. Improve AC_MSG_CHECKING messages.
58439         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
58440         gl_SOCKET_FAMILIES.
58442 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
58444         passfd module, part 1.
58445         * m4/afunix.m4: New file.
58446         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
58447         sockets.
58449 2011-03-08  Bruno Haible  <bruno@clisp.org>
58451         regex-quote: New API.
58452         * lib/regex-quote.h: Include <stdbool.h>.
58453         (struct regex_quote_spec): New type.
58454         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
58455         New declarations.
58456         (regex_quote_length, regex_quote_copy, regex_quote): Take a
58457         'const struct regex_quote_spec *' argument.
58458         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
58459         (pcre_special): New constant.
58460         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
58461         New functions.
58462         (regex_quote_length, regex_quote_copy, regex_quote): Take a
58463         'const struct regex_quote_spec *' argument.
58464         * modules/regex-quote (Depends-on): Add stdbool.
58465         * tests/test-regex-quote.c (check): Update for new API. Add test for
58466         anchored results.
58467         * NEWS: Mention the API change.
58468         Reported by Reuben Thomas and Eric Blake.
58470 2011-03-06  Bruno Haible  <bruno@clisp.org>
58472         regex-quote: Fix creation of POSIX extended regular expressions.
58473         * lib/regex-quote.c (ere_special): Add grouping and alternation
58474         operators.
58476 2011-03-05  Bruno Haible  <bruno@clisp.org>
58478         doc: Improve doc regarding autopoint vs. gnulib.
58479         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
58480         disable autopoint while running autoreconf.
58481         Suggested by Ralf Wildenhues.
58483 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58485         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
58486         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
58488 2011-03-03  Bruce Korb  <bkorb@gnu.org>
58490         parse-duration: remove xalloc.h dependency
58491         * lib/parse-duration.c (parse_period): handle NULL return from
58492         strdup instead of calling xstrdup().
58493         * modules/parse-duration: remove "xalloc" dependency
58495 2011-03-03  Matthew Booth  <mbooth@redhat.com>
58497         bootstrap: honor m4_base when running aclocal
58498         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
58500 2011-03-02  Jim Meyering  <meyering@redhat.com>
58502         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
58503         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
58504         on request from Matt Booth.
58506 2011-03-01  Eric Blake  <eblake@redhat.com>
58508         test-link: work on Hurd
58509         * tests/test-link.h (test_link): Hurd rejects linking directories
58510         with EISDIR instead of the POSIX-mandated EPERM.
58512 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
58514         stdio: simplify by moving files to printf-posix, sigpipe
58515         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
58516         since this symbol is needed only if printf is replaced.
58517         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
58518         Require gl_ASM_SYMBOL_PREFIX.
58519         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
58520         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
58521         (Depends-on): Add 'raise'.
58522         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
58523         * modules/stdio (Files): Remove lib/stdio-write.c,
58524         m4/asm-underscore.m4.
58525         (Depends-on): Remove 'raise'.
58527         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
58528         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
58529         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
58530         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
58532 2011-02-28  Bruno Haible  <bruno@clisp.org>
58534         localcharset: Assume ANSI C behaviour of free().
58535         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
58536         calling free().
58537         Suggested by Simon Josefsson <simon@josefsson.org>.
58539 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
58540             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
58541             Bruno Haible  <bruno@clisp.org>  (tiny change)
58543         On Cygwin, use /proc file system instead of win32 API.
58544         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
58545         Win32 file names.
58546         (DllMain): Simplify by removing Cygwin specific code.
58547         (find_shared_library_fullname): Use Linux specific implementation also
58548         for Cygwin.
58549         (get_shared_library_fullname): Update accordingly.
58550         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
58551         Win32 file names.
58552         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
58553         Cygwin specific code.
58555 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
58556             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
58558         Fix OpenMP flag detection for various Fortran compilers.
58559         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
58560         OpenMP-conditional compilation construct, to force compile
58561         failure with missing OpenMP flag.
58562         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
58564 2011-02-25  Eric Blake  <eblake@redhat.com>
58566         strstr: expand test coverage
58567         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
58568         compilation.
58569         * tests/test-memmem.c (main): Duplicate tests.
58570         * tests/test-strcasestr.c (main): Likewise.
58571         * tests/test-c-strcasestr.c (main): Likewise.
58573 2011-02-25  Jim Meyering  <meyering@redhat.com>
58575         maint.mk: detect missing-NL-at-EOF, too
58576         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
58577         it also detects when a file lacks a newline at EOF.
58578         (require_exactly_one_NL_at_EOF_): Renamed from
58579         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
58580         since people may well have .x-sc_... file names tied to the
58581         existing name.  Suggested by Eric Blake.
58583 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
58585         dirname: move m4/dos.m4 functionality into lib/dosname.h
58587         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
58588         extracts symbols from it, puts them into config.h; but it's much
58589         easier to use the symbols directly.  filename.h already does this,
58590         but it disagrees with dos.m4 in some respects.  This patch
58591         introduces a different include file dosname.h that packages up
58592         dos.m4, and then later we can work on merging filename.h and
58593         dosname.h.  Applications that need only the easy-to-configure
58594         symbols should consider including dosname.h rather than dirname.h.
58595         * NEWS: Mention incompatible changes.
58596         * m4/dos.m4: Remove.
58597         * lib/dosname.h, modules/dosname: New files.
58598         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
58599         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
58600         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
58601         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
58602         Include dosname.h, not dirname.h.
58603         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
58604         Include dosname.h, for definitions of symbols like ISSLASH
58605         that used to be in config.h.
58606         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
58607         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
58608         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
58609         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
58610         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
58611         * modules/rmdir (Files): Likewise.
58612         * modules/stat (Files): Likewise.
58613         * modules/unlink (Files): Likewise.
58614         * modules/dirname-lgpl (Depends-on): Add dosname.
58615         * modules/lstat (Depends-on): Likewise.
58616         * modules/openat (Depends-on): Likewise.
58617         * modules/rmdir (Depends-on): Likewise.
58618         * modules/savewd (Depends-on): Likewise.
58619         * modules/stat (Depends-on): Likewise.
58620         * modules/unlink (Depends-on): Likewise.
58621         * modules/openat (Depends-on): Remove dirname-lgpl.
58622         * modules/savewd (Depends-on): Likewise.
58623         * tests/test-dirname.c: Do not use removed symbols like
58624         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
58625         the remaining symbols, e.g., ISSLASH ('\\').
58627 2011-02-25  Eric Blake  <eblake@redhat.com>
58629         strstr: revert patches that introduced bug and pessimization
58630         * lib/str-two-way.h: Add another reference.
58631         (two_way_short_needle, two_way_long_needle): Revert changes from
58632         2011-02-24; they pessimize search speed.
58633         (critical_factorization): Partially revert changes from
58634         2010-06-22; they violate the requirement that the left half of the
58635         needle be smaller than the period of the needle.
58637 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
58639         filenamecat: remove unnecessary dependency on dirname-lgpl
58640         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
58641         is no direct dependency, just an indirect one via filenamecat-lgpl.
58643         remove: remove unnecessary use of m4/dos.m4
58644         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
58645         * modules/remove (FILES): Remove m4/dos.m4.
58647         * lib/openat-proc.c: Don't include dirname.h; not needed.
58649         backupfile: remove unnecessary use of m4/dos.m4
58650         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
58651         of its symbols are used by the backupfile code.  backupfile.c does
58652         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
58653         for the rare case of programs that want all their backup file
58654         names to live within 8+3 limits, and dos.m4 doesn't address that.
58655         * modules/backupfile (Files): Remove m4/dos.m4.
58657 2011-02-24  Jim Meyering  <meyering@redhat.com>
58659         strstr: fix a bug whereby strstr would mistakenly return NULL
58660         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
58661         in period calculation.
58662         (two_way_long_needle): Likewise.
58663         The original problem was reported by Mike Stump in
58664         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
58665         Ralf Wildenhues provided the short needle and haystack.
58666         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
58667         Add a more involved test to trigger the bug in two_way_long_needle.
58669 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
58671         gnulib-tool: remove use of bold display in help screen
58672         * gnulib-tool (func_usage): Do not use bold display anymore in the
58673         help screen.  That was just meant to be a temporary emphasis for a
58674         backward-incompatible change.
58676 2011-02-23  Bruno Haible  <bruno@clisp.org>
58678         Fix misindentation of preprocessor directives.
58679         * lib/argp-namefrob.h: Reindent preprocessor directives.
58680         * lib/getopt_int.h (struct _getopt_data): Likewise.
58681         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
58682         * lib/vasnprintf.c (decode_long_double): Likewise.
58683         * tests/test-argmatch.c: Insert blank lines, for clarity.
58684         * tests/test-exclude.c: Likewise.
58686 2011-02-22  Bruno Haible  <bruno@clisp.org>
58688         ioctl: Fix for MacOS X in 64-bit mode.
58689         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
58690         value.
58691         Suggested by Eric Blake.
58692         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
58694 2011-02-22  Jim Meyering  <meyering@redhat.com>
58696         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
58697         * Makefile (sc_cpp_indent_check): Don't limit the check to files
58698         in lib/.
58700 2011-02-22  Eric Blake  <eblake@redhat.com>
58702         maint: avoid any CDPATH issue
58703         * Makefile (sc_cpp_indent_check): Anchor cd argument.
58705         maint: adjust cpp indentation for my modules, as well
58706         * Makefile (sc_cpp_indent_check): Add my name.
58707         * lib/fbufmode.c: Filter through cppi.
58708         * lib/fpurge.c: Likewise.
58709         * lib/freadable.c: Likewise.
58710         * lib/freading.c: Likewise.
58711         * lib/fwritable.c: Likewise.
58712         * lib/fwriting.c: Likewise.
58713         * lib/sigaction.c: Likewise.
58715 2011-02-22  Jim Meyering  <meyering@redhat.com>
58717         maint: adjust cpp indentation to reflect nesting depth
58718         I.e., in a block of code that begins with an unnested "#if",
58719         put one space between the "#" in column 1 and following token.
58720         For example,
58721         -#include <sys/vfs.h>
58722         +# include <sys/vfs.h>
58723         Do this only in .c files that are part of a module I maintain.
58724         * lib/linkat.c: Filter through cppi.
58725         * lib/nanosleep.c: Likewise.
58726         * lib/openat.c: Likewise.
58727         * lib/openat-die.c: Likewise.
58728         * lib/dup3.c: Likewise.
58729         * lib/fchownat.c: Likewise.
58730         * lib/flock.c: Likewise.
58731         * lib/fsync.c: Likewise.
58732         * lib/fts.c: Likewise.
58733         * lib/getpass.c: Likewise.
58734         * lib/gettimeofday.c: Likewise.
58735         * lib/userspec.c: Likewise.
58736         * Makefile (sc_cpp_indent_check): New rule, to check this.
58738 2011-02-22  Bruno Haible  <bruno@clisp.org>
58740         New module 'wctomb'.
58741         * lib/stdlib.in.h (wctomb): New declaration.
58742         * lib/wctomb.c: New file.
58743         * lib/wctomb-impl.h: New file.
58744         * m4/wctomb.m4: New file.
58745         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
58746         REPLACE_WCTOMB.
58747         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
58748         REPLACE_WCTOMB.
58749         * modules/wctomb: New file.
58750         * tests/test-stdlib-c++.cc: Test signature of wctomb.
58751         * doc/posix-functions/wctomb.texi: Mention the new module.
58752         * modules/wctob (Depends-on): Add wctomb.
58754 2011-02-22  Bruno Haible  <bruno@clisp.org>
58756         New module 'mbtowc'.
58757         * lib/stdlib.in.h (mbtowc): New declaration.
58758         * lib/mbtowc.c: New file.
58759         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
58760         * m4/mbtowc.m4: New file.
58761         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
58762         REPLACE_MBTOWC.
58763         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
58764         REPLACE_MBTOWC.
58765         * modules/mbtowc: New file.
58766         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
58767         * doc/posix-functions/mbtowc.texi: Mention the new module.
58768         * modules/btowc (Depends-on): Add mbtowc.
58770 2011-02-22  Bruno Haible  <bruno@clisp.org>
58772         wcrtomb: Add more tests for native Windows platforms.
58773         * tests/test-wcrtomb-w32-1.sh: New file.
58774         * tests/test-wcrtomb-w32-2.sh: New file.
58775         * tests/test-wcrtomb-w32-3.sh: New file.
58776         * tests/test-wcrtomb-w32-4.sh: New file.
58777         * tests/test-wcrtomb-w32-5.sh: New file.
58778         * tests/test-wcrtomb-w32.c: New file.
58779         * modules/wcrtomb-tests (Files): Add them.
58780         (Makefile.am): Arrange to run these tests.
58781         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
58782         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
58784 2011-02-20  Bruno Haible  <bruno@clisp.org>
58786         wcrtomb: Enhance test.
58787         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
58789 2011-02-20  Bruno Haible  <bruno@clisp.org>
58791         mbrtowc: Tiny optimization.
58792         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
58794 2011-02-20  Jim Meyering  <meyering@redhat.com>
58796         test-exclude.c: remove unmatched #endif
58797         * tests/test-exclude.c: Remove stray #endif, left over from
58798         the change of a week ago.
58800 2011-02-19  Jim Meyering  <meyering@redhat.com>
58802         git-version-gen: skip "-dirty" check when appropriate
58803         * build-aux/git-version-gen: Don't run any git commands when the
58804         version string comes from .tarball-version.  Prior to this, we
58805         would run git update-index --refresh even from a just-unpacked
58806         tarball directory, and that could affect a .git/ directory in a
58807         parent of the build directory.  Reported by Mike Frysinger.
58809 2011-02-19  Bruno Haible  <bruno@clisp.org>
58811         unictype/property-byname: Reduce the size of the 'data' segment.
58812         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
58814 2011-02-19  Bruno Haible  <bruno@clisp.org>
58816         unictype/scripts: Reduce the size of the 'data' segment.
58817         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
58818         '%pic'.
58819         * lib/unictype/scripts_byname.gperf: Regenerated.
58821 2011-02-19  Bruno Haible  <bruno@clisp.org>
58823         stdint: Update documentation.
58824         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
58826 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
58828         stdint: omit redundant check for wchar.h
58829         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
58830         always tests whether wchar.h exists, so remove the now-redundant test.
58832 2011-02-18  Bruno Haible  <bruno@clisp.org>
58834         stdint: Cut dependency to module 'wchar'.
58835         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
58836         include the necessary prerequisites.
58837         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
58838         * modules/stdint (Depends-on): Remove wchar.
58839         (Makefile.am): Substitute HAVE_WCHAR_H.
58840         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
58842 2011-02-18  Eric Blake  <eblake@redhat.com>
58844         longlong: skip, rather than fail, on cross-compilation
58845         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
58846         when cross-compiling; regression from 2011-02-16.
58848 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
58850         * NEWS: Mention 2011-02-08 change to stdlib.
58852 2011-02-17  Bruno Haible  <bruno@clisp.org>
58854         getloadavg: Add comments about platforms.
58855         * m4/getloadavg.m4: Add comment.
58856         * lib/getloadavg.c: Likewise.
58858 2011-02-17  Bruno Haible  <bruno@clisp.org>
58860         getloadavg: Fix link error on Solaris 2.6.
58861         * modules/getloadavg (Link): New section.
58862         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
58863         linking test-getloadavg.
58864         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
58865         getloadavg.
58867 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
58869         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
58870         It was 'int', but this doesn't match the IRIX 6.5 manual.
58871         Suggested by Bruno Haible in
58872         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
58874 2011-02-17  Bruno Haible  <bruno@clisp.org>
58876         havelib: Fix comments.
58877         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
58878         change.
58880 2011-02-17  Bruno Haible  <bruno@clisp.org>
58882         havelib: Update config.rpath.
58883         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
58885 2011-02-17  Bruno Haible  <bruno@clisp.org>
58887         getloadavg test: Add some plausibility checks.
58888         * tests/test-getloadavg.c (check_avg): Print a warning when the value
58889         is improbable.
58891 2011-02-16  Eric Blake  <eblake@redhat.com>
58893         maintainer-makefile: make syntax-check a no-op from tarballs
58894         * top/maint.mk (no-vc-detected): New rule.
58895         (local-checks-available): Use it to avoid hanging if someone tries
58896         'make syntax-check' from a tarball.  Also append to any non-syntax
58897         checks already defined in cfg.mk.
58899 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
58901         longlong: tune, particularly for common case of c99
58903         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
58904         or running anything if c99, or if unsigned long long int does not
58905         work.  In either case, we know the answer without further tests.
58906         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
58907         it at most once, and use its results for both long long int and
58908         unsigned long long int.  This is more likely to be efficient in
58909         the common case where the program wants to check for both long
58910         long int and unsigned long long int.
58911         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
58912         since the answer is already known.
58914 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
58916         getloadavg: set errno
58917         * lib/getloadavg.c: Set errno when returning -1.  If no other
58918         error number looks appropriate, set it to ENOSYS if the getloadavg
58919         looks like it can't possibly ever work, ENOTSUP otherwise.
58920         Suggested by Bruno Haible in
58921         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
58923         getloadavg: trim unused parts and speed up 'configure'
58924         * NEWS: Document this.
58925         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
58926         always compiled if getloadavg is absent.
58927         Move test code to ...
58928         * tests/test-getloadavg.c: New file, containing previous
58929         contents of test from lib/getloadavg.c.  It also contains
58930         suggestions by Bruno Haible in
58931         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
58932         * modules/getloadavg-tests: New file.
58933         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
58934         Do tests in the same order as they're needed for getloadavg.c.
58935         Omit setgid-related tests that generate symbols KMEM_GROUP,
58936         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
58937         Do only the tests that are needed to see whether the system has
58938         getloadavg, moving the other tests into ...
58939         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
58940         NLIST_NAME_UNION; nobody should be using it.  Do not define
58941         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
58942         relevant, as the user of this module shouldn't care how getloadavg
58943         is implemented.
58945         getloadavg: omit unused var
58946         * lib/getloadavg.c (getloadavg): Omit unused local variable.
58948 2011-02-15  Jim Meyering  <meyering@redhat.com>
58950         doc: update users.txt
58951         * users.txt: Update iwhd's URL.
58953 2011-02-13  Bruno Haible  <bruno@clisp.org>
58955         Consistent macro naming for macros that use GCC __attribute__.
58956         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
58957         _ATTRIBUTE_NONNULL_.
58958         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
58959         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
58960         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
58961         ATTRIBUTE_DEPRECATED.
58962         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
58963         ATTRIBUTE_NORETURN.
58964         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58965         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58966         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58967         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58968         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
58969         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
58970         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
58971         ATTRIBUTE_SENTINEL.
58972         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
58973         ATTRIBUTE_RETURN_CHECK.
58974         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
58975         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
58976         ATTRIBUTE_NORETURN.
58977         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
58978         Reported by Paul Eggert.
58980 2011-02-13  Bruno Haible  <bruno@clisp.org>
58982         Don't interfere with a program's definition of __attribute__.
58983         * lib/argp.h (__attribute__): Remove definition.
58984         (_GL_ATTRIBUTE_FORMAT): New macro.
58985         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
58986         * lib/argp-fmtstream.h (__attribute__): Remove definition.
58987         (_GL_ATTRIBUTE_FORMAT): New macro.
58988         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
58989         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
58990         GCC 3 or newer.
58991         * lib/error.h (__attribute__): Remove definition.
58992         (_GL_ATTRIBUTE_FORMAT): New macro.
58993         (error, error_at_line): Use it.
58994         * lib/hash.h (__attribute__): Remove definition.
58995         (ATTRIBUTE_WUR): Update definition. Define always.
58996         * lib/openat.h (__attribute__): Remove definition.
58997         (ATTRIBUTE_NORETURN): Update definition. Define always.
58998         * lib/sigpipe-die.h (__attribute__): Remove definition.
58999         (ATTRIBUTE_NORETURN): Update definition. Define always.
59000         * lib/vasnprintf.h (__attribute__): Remove definition.
59001         (_GL_ATTRIBUTE_FORMAT): New macro.
59002         (asnprintf, vasnprintf): Use it.
59003         * lib/xalloc.h (__attribute__): Remove definition.
59004         (ATTRIBUTE_NORETURN): Update definition. Define always.
59005         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
59006         * lib/xmemdup0.h (__attribute__): Remove definition.
59007         (ATTRIBUTE_NORETURN): Update definition. Define always.
59008         * lib/xprintf.h (__attribute__): Remove definition.
59009         (_GL_ATTRIBUTE_FORMAT): New macro.
59010         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
59011         * lib/xstrtol.h (__attribute__): Remove definition.
59012         (ATTRIBUTE_NORETURN): Update definition. Define always.
59013         * lib/xvasprintf.h (__attribute__): Remove definition.
59014         (_GL_ATTRIBUTE_FORMAT): New macro.
59015         (xasprintf, xvasprintf): Use it.
59016         * tests/test-argmatch.c (__attribute__): Remove definition.
59017         (ATTRIBUTE_NORETURN): Update definition. Define always.
59018         * tests/test-exclude.c (__attribute__): Remove definition.
59019         (ATTRIBUTE_NORETURN): Update definition. Define always.
59020         Reported by Paul Eggert.
59022 2011-02-13  Bruno Haible  <bruno@clisp.org>
59024         mbrtowc: Add more tests for native Windows platforms.
59025         * tests/test-mbrtowc-w32-1.sh: New file.
59026         * tests/test-mbrtowc-w32-2.sh: New file.
59027         * tests/test-mbrtowc-w32-3.sh: New file.
59028         * tests/test-mbrtowc-w32-4.sh: New file.
59029         * tests/test-mbrtowc-w32-5.sh: New file.
59030         * tests/test-mbrtowc-w32.c: New file.
59031         * modules/mbrtowc-tests (Files): Add them.
59032         (Makefile.am): Arrange to run these tests.
59033         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
59034         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
59036 2011-02-13  Bruno Haible  <bruno@clisp.org>
59038         mbrtowc: Work around native Windows bug.
59039         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
59040         guess when no suitable locale for testing was found.
59041         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
59043 2011-02-13  Bruno Haible  <bruno@clisp.org>
59045         mbsinit: Work around mingw bug.
59046         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
59047         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
59048         Windows.
59049         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
59051 2011-02-13  Bruno Haible  <bruno@clisp.org>
59053         mbsinit: Don't crash for a NULL argument.
59054         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
59055         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
59057 2011-02-13  Bruno Haible  <bruno@clisp.org>
59059         Don't interfere with a program's definition of __attribute__.
59060         * lib/stdio.in.h (__attribute__): Remove definition.
59061         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
59062         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
59063         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
59064         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
59065         * lib/string.in.h (__attribute__): Remove definition.
59066         Reported by Paul Eggert.
59068 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59070         stdlib: don't get in the way of non-GCC __attribute__
59071         See thread starting at
59072         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
59073         Revert previous stdlib change, installing the following instead:
59074         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
59075         to get in the way of a non-GCC compiler that supports __attribute__.
59076         (_GL_ATTRIBUTE_RETURN): New macro.
59077         (_Exit): Use it instead of __attribute__.
59079 2011-02-12  Bruno Haible  <bruno@clisp.org>
59081         quotearg test: Avoid test failure on mingw.
59082         * tests/test-quotearg.sh: Convert the locale identifier from native
59083         Windows syntax to Unix syntax.
59085 2011-02-12  Bruno Haible  <bruno@clisp.org>
59087         setlocale: Prefer gnulib's override over libintl's override.
59088         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
59089         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
59090         GNULIB_defined_setlocale is set.
59092 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59094         stdlib: support non-GCC __attribute__
59096         Fix a serious and tricky problem encountered when attempting to
59097         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
59098         5.5, but it crashed due to memory corruption on Solaris 10 with
59099         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
59100         bits that are otherwise zero.  This tagging is optional inside
59101         Emacs but is preferred and is used when __attribute__ ((__aligned
59102         (8))) works, as it does with both recent-enough GCC and with Sun C
59103         5.11.  However, Sun C 5.11 is not GCC and does not #define
59104         __GNUC__ and __GNUC_MINOR__.
59106         When I added the getloadavg module to Emacs, it brought in
59107         stdlib.in.h, which contained this fragment:
59109            #ifndef __attribute__
59110            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
59111            #  define __attribute__(Spec)   /* empty */
59112            # endif
59113            #endif
59115         When files that include <stdlib.h> were compiled with Sun C 5.11,
59116         the above code disabled __attribute__ ((__aligned (8))), which
59117         caused variables to not be properly aligned, which eventually led
59118         to the pointer corruption mentioned above.  (This was a bit hard
59119         to diagnose, unfortunately.)
59121         Several "#define __attribute__(X) /* empty */" code snippets need
59122         to be eradicated from Gnulib to work with non-GCC compilers that
59123         support __attribute__.  The Autoconf way to do this is to test for
59124         each kind of attribute that we want support for, and selectively
59125         enable that in source code.
59127         Fix this problem just for stdlib.h, by adding a test for the
59128         __noreturn__ attribute, and change stdlib.in.h to use that test
59129         when needed.  This technique can be easily generalized to the
59130         other *.in.h files and attributes, and a similar technique can be
59131         used for *.h and *.c files.  This patch is enough to solve the
59132         problem for Emacs + getloadavg, and I thought I'd publish it for
59133         feedback before undertaking further, similar fixes in other
59134         modules.
59136         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
59137         because it's not needed for stdlib.h.  It merely substitutes the
59138         value directly into stdlib.h.  We may well need to #define it, or
59139         similar symbols, for other modules, but it's nice to also have an
59140         option to not #define it for applications like Emacs that do not
59141         need it.
59143         * lib/stdlib.in.h (__attribute__): Do not #define.
59144         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
59145         be defined only if the _Exit module is also used.
59146         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
59147         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
59148         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
59149         platforms.
59150         * modules/_Exit (Files): Add m4/attribute.m4.
59151         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
59152         * m4/attribute.m4: New file.
59154 2011-02-12  Bruno Haible  <bruno@clisp.org>
59156         wcsrtombs: Work around bug on native Windows.
59157         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
59158         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
59159         instead of len.
59160         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
59162 2011-02-12  Bruno Haible  <bruno@clisp.org>
59164         mbsrtowcs: Work around bug on native Windows.
59165         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
59166         against mingw bug.
59167         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
59169 2011-02-12  Bruno Haible  <bruno@clisp.org>
59171         Avoid setlocale bugs in tests.
59172         * modules/btowc (Dependencies): Add setlocale.
59173         * modules/c-strcase (Dependencies): Likewise.
59174         * modules/mbmemcasecmp (Dependencies): Likewise.
59175         * modules/mbmemcasecoll (Dependencies): Likewise.
59176         * modules/mbrtowc (Dependencies): Likewise.
59177         * modules/mbscasecmp (Dependencies): Likewise.
59178         * modules/mbscasestr (Dependencies): Likewise.
59179         * modules/mbschr (Dependencies): Likewise.
59180         * modules/mbscspn (Dependencies): Likewise.
59181         * modules/mbsinit (Dependencies): Likewise.
59182         * modules/mbsncasecmp (Dependencies): Likewise.
59183         * modules/mbsnrtowcs (Dependencies): Likewise.
59184         * modules/mbspbrk (Dependencies): Likewise.
59185         * modules/mbspcasecmp (Dependencies): Likewise.
59186         * modules/mbsrchr (Dependencies): Likewise.
59187         * modules/mbsrtowcs (Dependencies): Likewise.
59188         * modules/mbsspn (Dependencies): Likewise.
59189         * modules/mbsstr (Dependencies): Likewise.
59190         * modules/nl_langinfo (Dependencies): Likewise.
59191         * modules/quotearg (Dependencies): Likewise.
59192         * modules/unicase/locale-language (Dependencies): Likewise.
59193         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
59194         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
59195         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
59196         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
59197         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
59198         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
59199         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
59200         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
59201         * modules/vasnprintf-posix (Dependencies): Likewise.
59202         * modules/wcrtomb (Dependencies): Likewise.
59203         * modules/wcsnrtombs (Dependencies): Likewise.
59204         * modules/wcsrtombs (Dependencies): Likewise.
59206 2011-02-12  Bruno Haible  <bruno@clisp.org>
59208         setlocale: Workaround native Windows bug.
59209         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
59210         succeeds but sets LC_CTYPE to "C", report a failure.
59211         * tests/test-setlocale2.sh: New file.
59212         * tests/test-setlocale2.c: New file.
59213         * modules/setlocale-tests (Files): Add the new files.
59214         (Makefile.am): Enable test-setlocale2.sh test.
59215         * doc/posix-functions/setlocale.texi: Mention workaround.
59217 2011-02-11  Bruno Haible  <bruno@clisp.org>
59219         Tests for module 'setlocale'.
59220         * modules/setlocale-tests: New file.
59221         * tests/test-setlocale1.sh: New file.
59222         * tests/test-setlocale1.c: New file.
59224         New module 'setlocale'.
59225         * lib/locale.in.h (setlocale): New declaration.
59226         * lib/setlocale.c: New file, based on
59227         gettext/gettext-runtime/intl/setlocale.c.
59228         * m4/setlocale.m4: New file.
59229         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
59230         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
59231         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
59232         REPLACE_SETLOCALE.
59233         * modules/setlocale: New file.
59234         * tests/test-locale-c++.cc: Test the declaration of setlocale.
59235         * doc/posix-functions/setlocale.texi: Mention the new module.
59237 2011-02-11  Bruno Haible  <bruno@clisp.org>
59239         Prepare for locale dependent tests on mingw.
59240         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
59241         because it has the wrong locale encoding.
59242         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
59243         French_France.1252 instead of "fr".
59244         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
59245         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
59246         because it has the wrong locale encoding.
59247         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
59248         native Windows, try Turkish_Turkey.65001.
59249         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
59250         Chinese_China.54936.
59252         Prepare for locale dependent tests on mingw.
59253         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
59254         differently.
59255         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
59256         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
59257         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59258         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59260 2011-02-11  Eric Blake  <eblake@redhat.com>
59262         strptime: avoid compiler warnings
59263         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
59264         compiler warnings about dead code.
59265         Reported by Daniel P. Berrange.
59267 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
59269         doc: update users.txt
59270         * users.txt: Add rcs.
59272 2011-02-10  John W. Eaton  <jwe@gnu.org>
59274         doc: update users.txt
59275         * users.txt: Add octave.
59277 2011-02-10  Jim Meyering  <meyering@redhat.com>
59279         doc: update users.txt
59280         * users.txt: Add iwhd.
59282 2011-02-09  Bruno Haible  <bruno@clisp.org>
59284         gnulib-tool: Make copyright notice adjustment more robust.
59285         * gnulib-tool (func_import): In sed_transform_main_lib_file,
59286         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
59287         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
59288         License".
59289         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
59291 2011-02-06  Bruno Haible  <bruno@clisp.org>
59293         New module 'towctrans'.
59294         * modules/towctrans: New file.
59295         * lib/wctype.in.h (towctrans): New declaration.
59296         * lib/towctrans.c: New file.
59297         * lib/towctrans-impl.h: New file.
59298         * m4/towctrans.m4: New file.
59299         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
59300         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
59301         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
59302         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
59303         * doc/posix-functions/towctrans.texi: Mention the new module.
59305 2011-02-06  Bruno Haible  <bruno@clisp.org>
59307         New module 'wctrans'.
59308         * modules/wctrans: New file.
59309         * lib/wctype.in.h (wctrans): New declaration.
59310         * lib/wctrans.c: New file.
59311         * lib/wctrans-impl.h: New file.
59312         * m4/wctrans.m4: New file.
59313         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
59314         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
59315         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
59316         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
59317         * doc/posix-functions/wctrans.texi: Mention the new module.
59319 2011-02-06  Bruno Haible  <bruno@clisp.org>
59321         New module 'iswctype'.
59322         * modules/iswctype: New file.
59323         * lib/wctype.in.h (iswctype): New declaration.
59324         * lib/iswctype.c: New file.
59325         * lib/iswctype-impl.h: New file.
59326         * m4/iswctype.m4: New file.
59327         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
59328         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
59329         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
59330         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
59331         * doc/posix-functions/iswctype.texi: Mention the new module and the
59332         HP-UX 11.00 problem.
59334 2011-02-06  Bruno Haible  <bruno@clisp.org>
59336         New module 'wctype'.
59337         * modules/wctype: Change to represent the wctype() substitute.
59338         * lib/wctype.in.h (wctype): New declaration.
59339         * lib/wctype.c: New file.
59340         * lib/wctype-impl.h: New file.
59341         * m4/wctype.m4: New file.
59342         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
59343         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
59344         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
59345         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
59346         * doc/posix-functions/wctype.texi: Mention the new module and the
59347         HP-UX 11.00 problem.
59349 2011-02-06  Bruno Haible  <bruno@clisp.org>
59351         wctype-h: Ensure wctype_t and wctrans_t are defined.
59352         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
59353         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
59354         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
59355         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
59356         HAVE_WCTRANS_T.
59357         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
59359 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
59361         flock: fix license typo
59363         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
59364         omitted.
59366 2011-02-08  Bruno Haible  <bruno@clisp.org>
59368         Split large sed scripts, for HP-UX sed.
59369         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
59370         to avoid HP-UX limit of 99 commands, in the near future.
59371         * modules/stdlib (Makefile.am): Likewise.
59372         * modules/unistd (Makefile.am): Likewise.
59373         * modules/wchar (Makefile.am): Likewise.
59374         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
59375         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
59376         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
59378 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
59379             Bruno Haible  <bruno@clisp.org>
59381         stdlib: improve random_r modularization
59382         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
59383         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
59384         you also need the random_r module to get this material right.
59385         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
59386         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
59387         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
59389 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
59391         stdlib: don't depend on stdint
59392         * lib/stdlib.in.h: Don't include <stdint.h> merely because
59393         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
59394         be independent of whether stdint.h is needed.
59395         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
59396         here, instead of ...
59397         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
59398         struct random_data should be using the random_r module, not just
59399         the stdlib module (which wouldn't make sense: what package needs
59400         just struct random_data without also needing random_r?).
59401         * modules/stdlib (Depends-on): Remove stdint.
59403         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
59404         See the thread rooted at
59405         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
59406         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
59407         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
59408         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
59409         __VMS)); previously it was always included (via fcntl--.h).
59410         (getloadavg): Do not use c_strtod.  Instead, approximate it by
59411         hand; this is good enough for load averages.  Also, do not use
59412         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
59413         flags directly if available and don't bother otherwise.  (Packages
59414         that need the extra reliability should use the modules that define
59415         these flags on older platforms that lack them.)
59416         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
59417         fcntl-safer.
59419 2011-02-08  Jim Meyering  <meyering@redhat.com>
59421         di-set.h, ino-map.h: add multiple-inclusion guard
59422         Technically, the guard is required only for ino-map.h, due to its
59423         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
59424         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
59425         * lib/ino-map.h: Likewise.
59427 2011-02-06  Bruno Haible  <bruno@clisp.org>
59429         iswblank: Ensure declaration on glibc systems.
59430         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
59431         * modules/iswblank (Dependencies): Add 'extensions'.
59432         * doc/posix-functions/iswblank.texi: Document the glibc problem.
59434 2011-02-06  Bruno Haible  <bruno@clisp.org>
59436         New module 'iswblank'.
59437         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
59438         * modules/iswblank: New file.
59439         * modules/wctype-h (Files): Remove lib/iswblank.c.
59440         (Makefile.am): Substitute GNULIB_ISWBLANK.
59441         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
59442         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
59443         (gl_WCTYPE_H_DEFAULTS): New macro.
59444         (gl_WCTYPE_H): Require it. Remove iswblank related code.
59445         * modules/iswblank-tests: New file.
59446         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
59447         * tests/test-wctype-h.c (main): Remove iswblank tests.
59448         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
59449         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
59450         of 'wctype-h'.
59451         * NEWS: Mention the change.
59452         * modules/mbchar (Depends-on): Add iswblank.
59454 2011-02-08  Bruno Haible  <bruno@clisp.org>
59456         di-set tests: Refactor.
59457         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
59458         unnecessary includes.
59459         (ASSERT): Remove macro.
59460         (main): Make C90 compliant by avoiding variable declaration after
59461         statement.
59462         * modules/di-set-tests (Files): Add tests/macros.h.
59464 2011-02-08  Bruno Haible  <bruno@clisp.org>
59466         ino-map tests: Refactor.
59467         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
59468         unnecessary includes.
59469         (ASSERT): Remove macro.
59470         (main): Make C90 compliant by avoiding variable declaration after
59471         statement.
59472         * modules/ino-map-tests (Files): Add tests/macros.h.
59474 2011-02-08  Jim Meyering  <meyering@redhat.com>
59476         di-set: add "const" to a cast
59477         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
59478         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
59480 2011-02-06  Bruno Haible  <bruno@clisp.org>
59482         Rename module 'wctype' to 'wctype-h'.
59483         * modules/wctype-h: Renamed from modules/wctype.
59484         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
59485         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
59486         (Files, Depends-on, Makefile.am): Update.
59487         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
59488         (Files, Makefile.am): Update.
59489         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
59490         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
59491         * doc/posix-headers/wctype.texi: Update.
59492         * doc/posix-functions/iswalnum.texi: Update.
59493         * doc/posix-functions/iswalpha.texi: Update.
59494         * doc/posix-functions/iswblank.texi: Update.
59495         * doc/posix-functions/iswcntrl.texi: Update.
59496         * doc/posix-functions/iswdigit.texi: Update.
59497         * doc/posix-functions/iswgraph.texi: Update.
59498         * doc/posix-functions/iswlower.texi: Update.
59499         * doc/posix-functions/iswprint.texi: Update.
59500         * doc/posix-functions/iswpunct.texi: Update.
59501         * doc/posix-functions/iswspace.texi: Update.
59502         * doc/posix-functions/iswupper.texi: Update.
59503         * doc/posix-functions/iswxdigit.texi: Update.
59504         * doc/posix-functions/towlower.texi: Update.
59505         * doc/posix-functions/towupper.texi: Update.
59506         * NEWS: Mention the change.
59507         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
59508         * modules/mbchar (Dependencies): Likewise.
59509         * modules/mbswidth (Dependencies): Likewise.
59510         * modules/quotearg (Dependencies): Likewise.
59511         * modules/regex (Dependencies): Likewise.
59512         * modules/wcscasecmp (Dependencies): Likewise.
59513         * modules/wcsncasecmp (Dependencies): Likewise.
59514         * modules/wcwidth (Dependencies): Likewise.
59516 2011-02-06  Bruno Haible  <bruno@clisp.org>
59518         New module 'wcswidth'.
59519         * modules/wcswidth: New file.
59520         * lib/wchar.in.h (wcswidth): New declaration.
59521         * lib/wcswidth.c: New file.
59522         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
59523         * m4/wcswidth.m4: New file.
59524         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
59525         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
59526         REPLACE_WCSWIDTH.
59527         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
59528         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
59529         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
59530         * doc/posix-functions/wcswidth.texi: Mention the new module.
59532 2011-02-06  Bruno Haible  <bruno@clisp.org>
59534         New module 'wcstok'.
59535         * modules/wcstok: New file.
59536         * lib/wchar.in.h (wcstok): New declaration.
59537         * lib/wcstok.c: New file.
59538         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
59539         * m4/wcstok.m4: New file.
59540         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
59541         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
59542         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
59543         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
59544         * doc/posix-functions/wcstok.texi: Mention the new module.
59546 2011-02-06  Bruno Haible  <bruno@clisp.org>
59548         New module 'wcsstr'.
59549         * modules/wcsstr: New file.
59550         * lib/wchar.in.h (wcsstr): New declaration.
59551         * lib/wcsstr.c: New file.
59552         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
59553         * m4/wcsstr.m4: New file.
59554         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
59555         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
59556         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
59557         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
59558         * doc/posix-functions/wcsstr.texi: Mention the new module.
59560 2011-02-06  Bruno Haible  <bruno@clisp.org>
59562         New module 'wcspbrk'.
59563         * modules/wcspbrk: New file.
59564         * lib/wchar.in.h (wcspbrk): New declaration.
59565         * lib/wcspbrk.c: New file.
59566         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
59567         * m4/wcspbrk.m4: New file.
59568         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
59569         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
59570         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
59571         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
59572         * doc/posix-functions/wcspbrk.texi: Mention the new module.
59574 2011-02-06  Bruno Haible  <bruno@clisp.org>
59576         New module 'wcsspn'.
59577         * modules/wcsspn: New file.
59578         * lib/wchar.in.h (wcsspn): New declaration.
59579         * lib/wcsspn.c: New file.
59580         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
59581         * m4/wcsspn.m4: New file.
59582         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
59583         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
59584         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
59585         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
59586         * doc/posix-functions/wcsspn.texi: Mention the new module.
59588 2011-02-06  Bruno Haible  <bruno@clisp.org>
59590         New module 'wcscspn'.
59591         * modules/wcscspn: New file.
59592         * lib/wchar.in.h (wcscspn): New declaration.
59593         * lib/wcscspn.c: New file.
59594         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
59595         * m4/wcscspn.m4: New file.
59596         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
59597         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
59598         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
59599         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
59600         * doc/posix-functions/wcscspn.texi: Mention the new module.
59602 2011-02-06  Bruno Haible  <bruno@clisp.org>
59604         New module 'wcsrchr'.
59605         * modules/wcsrchr: New file.
59606         * lib/wchar.in.h (wcsrchr): New declaration.
59607         * lib/wcsrchr.c: New file.
59608         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
59609         * m4/wcsrchr.m4: New file.
59610         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
59611         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
59612         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
59613         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
59614         * doc/posix-functions/wcsrchr.texi: Mention the new module.
59616 2011-02-06  Bruno Haible  <bruno@clisp.org>
59618         New module 'wcschr'.
59619         * modules/wcschr: New file.
59620         * lib/wchar.in.h (wcschr): New declaration.
59621         * lib/wcschr.c: New file.
59622         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
59623         * m4/wcschr.m4: New file.
59624         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
59625         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
59626         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
59627         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
59628         * doc/posix-functions/wcschr.texi: Mention the new module.
59630 2011-02-06  Bruno Haible  <bruno@clisp.org>
59632         New module 'wcsdup'.
59633         * modules/wcsdup: New file.
59634         * lib/wchar.in.h (wcsdup): New declaration.
59635         * lib/wcsdup.c: New file.
59636         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
59637         * m4/wcsdup.m4: New file.
59638         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
59639         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
59640         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
59641         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
59642         * doc/posix-functions/wcsdup.texi: Mention the new module.
59644 2011-02-06  Bruno Haible  <bruno@clisp.org>
59646         New module 'wcsxfrm'.
59647         * modules/wcsxfrm: New file.
59648         * lib/wchar.in.h (wcsxfrm): New declaration.
59649         * lib/wcsxfrm.c: New file.
59650         * lib/wcsxfrm-impl.h: New file.
59651         * m4/wcsxfrm.m4: New file.
59652         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
59653         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
59654         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
59655         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
59656         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
59658 2011-02-06  Bruno Haible  <bruno@clisp.org>
59660         New module 'wcscoll'.
59661         * modules/wcscoll: New file.
59662         * lib/wchar.in.h (wcscoll): New declaration.
59663         * lib/wcscoll.c: New file.
59664         * lib/wcscoll-impl.h: New file.
59665         * m4/wcscoll.m4: New file.
59666         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
59667         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
59668         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
59669         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
59670         * doc/posix-functions/wcscoll.texi: Mention the new module.
59672 2011-02-06  Bruno Haible  <bruno@clisp.org>
59674         New module 'wcsncasecmp'.
59675         * modules/wcsncasecmp: New file.
59676         * lib/wchar.in.h (wcsncasecmp): New declaration.
59677         * lib/wcsncasecmp.c: New file.
59678         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
59679         * m4/wcsncasecmp.m4: New file.
59680         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
59681         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
59682         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
59683         HAVE_WCSNCASECMP.
59684         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
59685         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
59687 2011-02-06  Bruno Haible  <bruno@clisp.org>
59689         New module 'wcscasecmp'.
59690         * modules/wcscasecmp: New file.
59691         * lib/wchar.in.h (wcscasecmp): New declaration.
59692         * lib/wcscasecmp.c: New file.
59693         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
59694         * m4/wcscasecmp.m4: New file.
59695         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
59696         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
59697         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
59698         HAVE_WCSCASECMP.
59699         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
59700         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
59702 2011-02-05  Bruno Haible  <bruno@clisp.org>
59704         New module 'wcsncmp'.
59705         * modules/wcsncmp: New file.
59706         * lib/wchar.in.h (wcsncmp): New declaration.
59707         * lib/wcsncmp.c: New file.
59708         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
59709         * m4/wcsncmp.m4: New file.
59710         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
59711         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
59712         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
59713         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
59714         * doc/posix-functions/wcsncmp.texi: Mention the new module.
59716 2011-02-05  Bruno Haible  <bruno@clisp.org>
59718         New module 'wcscmp'.
59719         * modules/wcscmp: New file.
59720         * lib/wchar.in.h (wcscmp): New declaration.
59721         * lib/wcscmp.c: New file.
59722         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
59723         * m4/wcscmp.m4: New file.
59724         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
59725         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
59726         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
59727         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
59728         * doc/posix-functions/wcscmp.texi: Mention the new module.
59730 2011-02-05  Bruno Haible  <bruno@clisp.org>
59732         New module 'wcsncat'.
59733         * modules/wcsncat: New file.
59734         * lib/wchar.in.h (wcsncat): New declaration.
59735         * lib/wcsncat.c: New file.
59736         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
59737         * m4/wcsncat.m4: New file.
59738         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
59739         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
59740         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
59741         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
59742         * doc/posix-functions/wcsncat.texi: Mention the new module.
59744 2011-02-05  Bruno Haible  <bruno@clisp.org>
59746         New module 'wcscat'.
59747         * modules/wcscat: New file.
59748         * lib/wchar.in.h (wcscat): New declaration.
59749         * lib/wcscat.c: New file.
59750         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
59751         * m4/wcscat.m4: New file.
59752         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
59753         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
59754         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
59755         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
59756         * doc/posix-functions/wcscat.texi: Mention the new module.
59758 2011-02-05  Bruno Haible  <bruno@clisp.org>
59760         New module 'wcpncpy'.
59761         * modules/wcpncpy: New file.
59762         * lib/wchar.in.h (wcpncpy): New declaration.
59763         * lib/wcpncpy.c: New file.
59764         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
59765         * m4/wcpncpy.m4: New file.
59766         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
59767         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
59768         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
59769         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
59770         * doc/posix-functions/wcpncpy.texi: Mention the new module.
59772 2011-02-05  Bruno Haible  <bruno@clisp.org>
59774         New module 'wcsncpy'.
59775         * modules/wcsncpy: New file.
59776         * lib/wchar.in.h (wcsncpy): New declaration.
59777         * lib/wcsncpy.c: New file.
59778         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
59779         * m4/wcsncpy.m4: New file.
59780         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
59781         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
59782         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
59783         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
59784         * doc/posix-functions/wcsncpy.texi: Mention the new module.
59786 2011-02-05  Bruno Haible  <bruno@clisp.org>
59788         New module 'wcpcpy'.
59789         * modules/wcpcpy: New file.
59790         * lib/wchar.in.h (wcpcpy): New declaration.
59791         * lib/wcpcpy.c: New file.
59792         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
59793         * m4/wcpcpy.m4: New file.
59794         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
59795         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
59796         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
59797         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
59798         * doc/posix-functions/wcpcpy.texi: Mention the new module.
59800 2011-02-05  Bruno Haible  <bruno@clisp.org>
59802         New module 'wcscpy'.
59803         * modules/wcscpy: New file.
59804         * lib/wchar.in.h (wcscpy): New declaration.
59805         * lib/wcscpy.c: New file.
59806         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
59807         * m4/wcscpy.m4: New file.
59808         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
59809         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
59810         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
59811         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
59812         * doc/posix-functions/wcscpy.texi: Mention the new module.
59814 2011-02-05  Bruno Haible  <bruno@clisp.org>
59816         New module 'wcsnlen'.
59817         * modules/wcsnlen: New file.
59818         * lib/wchar.in.h (wcsnlen): New declaration.
59819         * lib/wcsnlen.c: New file.
59820         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
59821         * m4/wcsnlen.m4: New file.
59822         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
59823         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
59824         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
59825         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
59826         * doc/posix-functions/wcsnlen.texi: Mention the new module.
59828 2011-02-05  Bruno Haible  <bruno@clisp.org>
59830         New module 'wcslen'.
59831         * modules/wcslen: New file.
59832         * lib/wchar.in.h (wcslen): New declaration.
59833         * lib/wcslen.c: New file.
59834         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
59835         * m4/wcslen.m4: New file.
59836         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
59837         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
59838         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
59839         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
59840         * doc/posix-functions/wcslen.texi: Mention the new module.
59842 2011-02-05  Bruno Haible  <bruno@clisp.org>
59844         New module 'wmemset'.
59845         * modules/wmemset: New file.
59846         * lib/wchar.in.h (wmemset): New declaration.
59847         * lib/wmemset.c: New file.
59848         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
59849         * m4/wmemset.m4: New file.
59850         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
59851         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
59852         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
59853         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
59854         * doc/posix-functions/wmemset.texi: Mention the new module.
59856 2011-02-05  Bruno Haible  <bruno@clisp.org>
59858         New module 'wmemmove'.
59859         * modules/wmemmove: New file.
59860         * lib/wchar.in.h (wmemmove): New declaration.
59861         * lib/wmemmove.c: New file.
59862         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
59863         * m4/wmemmove.m4: New file.
59864         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
59865         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
59866         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
59867         HAVE_WMEMMOVE.
59868         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
59869         * doc/posix-functions/wmemmove.texi: Mention the new module.
59871 2011-02-05  Bruno Haible  <bruno@clisp.org>
59873         New module 'wmemcpy'.
59874         * modules/wmemcpy: New file.
59875         * lib/wchar.in.h (wmemcpy): New declaration.
59876         * lib/wmemcpy.c: New file.
59877         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
59878         * m4/wmemcpy.m4: New file.
59879         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
59880         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
59881         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
59882         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
59883         * doc/posix-functions/wmemcpy.texi: Mention the new module.
59885 2011-02-05  Bruno Haible  <bruno@clisp.org>
59887         New module 'wmemcmp'.
59888         * modules/wmemcmp: New file.
59889         * lib/wchar.in.h (wmemcmp): New declaration.
59890         * lib/wmemcmp.c: New file.
59891         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
59892         * m4/wmemcmp.m4: New file.
59893         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
59894         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
59895         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
59896         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
59897         * doc/posix-functions/wmemcmp.texi: Mention the new module.
59899 2011-02-07  Jim Meyering  <meyering@redhat.com>
59901         di-set, ino-map: new modules, from coreutils
59902         * lib/di-set.c: New file.
59903         * lib/di-set.h: Likewise.
59904         * lib/ino-map.c: Likewise.
59905         * lib/ino-map.h: Likewise.
59906         * modules/di-set: Likewise.
59907         * modules/di-set-tests: Likewise.
59908         * modules/ino-map: Likewise.
59909         * modules/ino-map-tests: Likewise.
59910         * tests/test-di-set.c: Likewise.
59911         * tests/test-ino-map.c: Likewise.
59913 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
59915         getloadavg: merge minor changes from Emacs
59917         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
59918         (getloadavg): Use memset, not bzero.
59920         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
59921         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
59922         clash (bug#86).
59924 2010-11-14  Bruno Haible  <bruno@clisp.org>
59926         Allow multiple gnulib generated replacements to coexist.
59927         * lib/getopt.in.h (struct option): Avoid identical redefinition.
59928         * lib/inttypes.in.h (imaxdiv_t): Likewise.
59929         * lib/langinfo.in.h (nl_item): Likewise.
59930         * lib/math.in.h (_NaN, NAN): Likewise.
59931         * lib/netdb.in.h (struct addrinfo): Likewise.
59932         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
59933         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
59934         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
59935         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
59936         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
59937         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
59938         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
59939         pthread_mutexattr_init, pthread_mutexattr_settype,
59940         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
59941         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
59942         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
59943         pthread_spin_trylock, pthread_spin_unlock): Likewise.
59944         * lib/sched.in.h (struct sched_param): Likewise.
59945         * lib/se-selinux.in.h (security_class_t, security_context_t,
59946         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
59947         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
59948         lsetfilecon, fsetfilecon, security_check_context,
59949         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
59950         Likewise.
59951         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
59952         Likewise.
59953         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
59954         _gl_function_taking_int_returning_void_t, union sigval,
59955         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
59956         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
59957         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
59958         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
59959         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
59960         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
59961         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
59962         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
59963         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
59964         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
59965         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
59966         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
59967         socklen_t, rpl_fd_isset): Likewise.
59968         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
59969         * lib/sys_time.in.h (struct timeval): Likewise.
59970         * lib/sys_times.in.h (struct tms): Likewise.
59971         * lib/sys_utsname.in.h (struct utsname):
59972         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
59973         * lib/unistd.in.h (getpagesize): Likewise.
59974         * lib/wchar.in.h (mbstate_t): Likewise.
59975         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59976         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
59977         towlower, towupper): Likewise.
59978         Reported by Sam Steingold <sds@gnu.org>.
59980 2011-02-05  Eric Blake  <eblake@redhat.com>
59982         unsetenv: work around Haiku issues
59983         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
59984         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
59986 2010-12-30  Bruce Korb  <bkorb@gnu.org>
59988         libposix: avoid calling error() within libposix
59989         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
59990         is defined.
59992 2011-02-05  Eric Blake  <eblake@redhat.com>
59994         strerror_r-posix: port to cygwin
59995         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
59996         implementation.
59997         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
59998         * tests/test-strerror_r.c (main): Fix test.
59999         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
60000         issue.
60002 2011-02-05  Bruno Haible  <bruno@clisp.org>
60004         New module 'wmemchr'.
60005         * modules/wmemchr: New file.
60006         * lib/wchar.in.h (wmemchr): New declaration.
60007         * lib/wmemchr.c: New file.
60008         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
60009         * m4/wmemchr.m4: New file.
60010         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
60011         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
60012         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
60013         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
60014         * doc/posix-functions/wmemchr.texi: Mention the new module.
60016 2011-02-04  Eric Blake  <eblake@redhat.com>
60018         fdopendir: detect FreeBSD bug
60019         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
60020         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
60022 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
60024         stdbool: do not define HAVE_STDBOOL_H
60025         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
60026         AC_HEADER_STDBOOL.  All uses changed.  Do not define
60027         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
60028         imported from the latest Autoconf git.  It was motivated by Emacs,
60029         which uses gnulib but does not need HAVE_STDBOOL_H.
60031 2011-02-04  Bruno Haible  <bruno@clisp.org>
60033         wcsnrtombs: Prepare for new module wwcsnrtombs.
60034         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
60035         * lib/wcsnrtombs.c: Include it.
60036         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
60038         wcsrtombs: Prepare for new module wwcsrtombs.
60039         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
60040         * lib/wcsrtombs.c: Include it.
60041         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
60043         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
60044         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
60045         * lib/mbsnrtowcs.c: Include it.
60046         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
60048         mbsrtowcs: Prepare for new module mbsrtowwcs.
60049         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
60050         * lib/mbsrtowcs.c: Include it.
60051         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
60053 2011-02-04  Bruno Haible  <bruno@clisp.org>
60055         vasnprintf: Reduce use of malloc for small format strings.
60056         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
60057         (arguments): Add room for the first 7 arguments.
60058         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
60059         (char_directives, u8_directives, u16_directives, u32_directives): Add
60060         room for the first 7 directives.
60061         * lib/printf-parse.c: Include <string.h>.
60062         (PRINTF_PARSE): Change memory handling code so that it uses the first
60063         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
60064         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
60065         Reported by Pádraig Brady <P@draigbrady.com>.
60067 2011-01-31  Eric Blake  <eblake@redhat.com>
60069         dup2: work around Haiku bug
60070         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
60071         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
60072         * doc/posix-functions/dup2.texi (dup2): Document the bug.
60073         * tests/test-dup2.c (main): Enhance test.
60075 2011-01-31  Simon Josefsson  <simon@josefsson.org>
60077         doc: off_t is not available in eglibc 2.11.2 stdio.h.
60078         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
60079         declared by eglibc 2.11.2.
60080         * lib/stdio.in.h: Likewise.
60082 2011-01-31  Eric Blake  <eblake@redhat.com>
60084         ignore-value: add missing test dependency
60085         * tests/test-ignore-value.c: Revert previous change; stdio.h
60086         provides off_t.
60087         * modules/ignore-value-tests (Depends-on): Add missing dependency.
60089 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
60091         mktime: clarify long_int width checking
60092         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
60093         the top level, to make it clearer that the assumption about
60094         long_int width is being checked.  See
60095         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
60097 2011-01-30  Simon Josefsson  <simon@josefsson.org>
60099         ignore-value: Fix self-test.
60100         * tests/test-ignore-value.c: Include sys/types.h for off_t.
60102 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
60104         TYPE_MAXIMUM: avoid theoretically undefined behavior
60105         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
60106         negative number, which the C Standard says has undefined behavior.
60107         In practice this is not a problem, but might as well do it by the book.
60108         Reported by Rich Felker and Eric Blake; see
60109         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
60110         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
60111         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
60112         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60113         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
60114         * m4/stdint.m4 (gl_STDINT_H): Likewise.
60115         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
60117         mktime: #undef mktime before #defining it
60118         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
60120         mktime: systematically normalize tm_isdst comparisons
60121         * lib/mktime.c (isdst_differ): New function.
60122         (__mktime_internal): Use it systematically for all isdst comparisons.
60123         This completes the fix for libc BZ #6723, and removes the need for
60124         normalizing tm_isdst.  See
60125         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
60126         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
60128         mktime: fix some integer overflow issues and sidestep the rest
60130         This was prompted by a bug report by Benjamin Lindner for MinGW
60131         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
60132         His bug is due to signed integer overflow (0 - INT_MIN), and I
60133         I scanned through mktime.c looking for other integer overflow
60134         problems, fixing all the bugs I found.
60136         Although the C Standard says the resulting code is still not safe
60137         in the presence of integer overflow, in practice it should be good
60138         enough for all real-world two's-complement implementations, except
60139         for debugging environments that deliberately trap on integer
60140         overflow (e.g., gcc -ftrapv).
60142         * lib/mktime.c (WRAPV): New macro.
60143         (SHR): Also check that long_int and time_t shift right in the
60144         usual way, before using the fast-but-unportable method.
60145         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
60146         used.  The code already assumed two's complement, so there's
60147         no need to test for alternatives.  All uses removed.
60148         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
60149         the C standard.  Problem reported by Rich Felker in
60150         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
60151         (twos_complement_arithmetic): Also check long_int and time_t.
60152         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
60153         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
60154         (__mktime_internal): Avoid integer overflow with unary subtraction
60155         in two instances where -1 - X is an adequate replacement for -X,
60156         since the calculations are approximate.
60158 2011-01-29  Eric Blake  <eblake@redhat.com>
60160         mktime: avoid infinite loop
60161         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
60162         type; behavior is still undefined but portable to all known targets.
60163         Reported by Rich Felker.
60165 2011-01-29  Simon Josefsson  <simon@josefsson.org>
60167         rename, unlink, same-inode: Relicense.
60168         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
60169         * modules/unlink (License): Likewise.
60170         * modules/same-inode (License): Likewise.
60172 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
60174         mktime: avoid problems on NetBSD 5 / i386
60175         * lib/mktime.c (long_int): New type.  This works around a problem
60176         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
60177         but time_t is 64 bits, and where I expect the existing code is
60178         wrong in some cases.
60179         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
60180         (ydhms_diff): Bring back the compile-time check for wide-enough
60181         year and yday.
60183         mktime: fix misspelling in comment
60184         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
60185         This merges all recent glibc changes of importance.
60187 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60189         move-if-change: cope with concurrent mv of identical file.
60190         * build-aux/move-if-change (CMPPROG): Accept environment
60191         variable as an override for `cmp'.
60192         (usage): Document CMPPROG.
60193         Adjust comparison to drop stdout.  Cope with failure of mv if
60194         the target file exists and is identical to the source, for
60195         parallel builds.
60196         Report from H.J. Lu against binutils in PR binutils/12283.
60198 2011-01-28  Bruce Korb  <bkorb@gnu.org>
60200         * users.txt: Mention sharutils.
60202 2011-01-28  Simon Josefsson  <simon@josefsson.org>
60204         * users.txt: Mention OATH Toolkit.
60206 2011-01-27  Bruno Haible  <bruno@clisp.org>
60208         Prepare for supporting FreeBSD 10.
60209         * build-aux/config.libpath: Remove handling of freebsd1*.
60211 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
60213         Prepare for supporting FreeBSD 10.
60214         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
60215         match FreeBSD 10.0.
60217 2011-01-27  Bruno Haible  <bruno@clisp.org>
60219         vma-iter, get-rusage-as: Add OpenBSD support.
60220         * modules/vma-iter (configure.ac): Test for mquery.
60221         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
60222         * lib/vma-iter.c: Include <sys/mman.h>.
60223         (vma_iterate): Add an implementation based on mquery().
60224         * lib/resource-ext.h (get_rusage_as): Update comments.
60225         * lib/get-rusage-as.c: Likewise.
60226         * lib/get-rusage-data.c: Likewise.
60228 2011-01-26  Karl Berry  <karl@gnu.org>
60230         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
60231         variables to make it easier to override the makeinfo program used.
60233 2011-01-26  Eric Blake  <eblake@redhat.com>
60235         fcntl: work around Haiku F_DUPFD bugs
60236         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
60237         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
60238         cloexec bit on duplication.
60239         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
60241 2011-01-26  Bruno Haible  <bruno@clisp.org>
60243         Enable memory leak tests on AIX.
60244         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
60245         * tests/test-fprintf-posix3.c (main): Likewise.
60247 2011-01-26  Bruno Haible  <bruno@clisp.org>
60249         Tests for module 'get-rusage-data'.
60250         * modules/get-rusage-data-tests: New file.
60251         * tests/test-get-rusage-data.c: New file.
60253         New module 'get-rusage-data'.
60254         * lib/resource-ext.h (get_rusage_data): New declaration.
60255         * lib/get-rusage-data.c: New file.
60256         * modules/get-rusage-data: New file.
60258 2011-01-25  Bruno Haible  <bruno@clisp.org>
60260         get-rusage-as: Allow for easier testing.
60261         * lib/resource-ext.h (get_rusage_as): Add comment.
60262         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
60263         (main): New function for interactive testing.
60265 2011-01-25  Bruno Haible  <bruno@clisp.org>
60267         vma-iter: Treat Haiku like BeOS.
60268         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
60269         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
60271 2011-01-25  Eric Blake  <eblake@redhat.com>
60273         c-stack: fix regression on cygwin when libsigsegv is present
60274         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
60276 2011-01-24  Bruno Haible  <bruno@clisp.org>
60278         vma-iter: Avoid empty intervals.
60279         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
60280         on an empty interval.
60282 2011-01-24  Jim Meyering  <meyering@redhat.com>
60284         u64: remove unnecessary #include
60285         * lib/u64.h: Don't include <stddef.h>.  It was not used.
60287 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60289         Allow the user to avoid the HAVE_RAW_DECL_* macros.
60290         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
60292 2011-01-23  Bruno Haible  <bruno@clisp.org>
60294         New module 'vma-iter'.
60295         * lib/vma-iter.h: New file.
60296         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
60297         * modules/vma-iter: New file.
60298         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
60299         for get_rusage_as_via_iterator.
60300         (vma_iterate_callback): New function.
60301         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
60302         * modules/get-rusage-as (Depends-on): Add vma-iter.
60304 2011-01-23  Bruno Haible  <bruno@clisp.org>
60306         uninorm: Tweak includes.
60307         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
60308         Reported by Jim Meyering.
60310 2011-01-23  Bruno Haible  <bruno@clisp.org>
60312         get-rusage-as: Improve on NetBSD.
60313         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
60314         /proc, like on FreeBSD.
60316 2011-01-23  Jim Meyering  <meyering@redhat.com>
60318         xreadlink.h: remove unnecessary #include
60319         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
60321         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
60322         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
60324 2011-01-23  Bruno Haible  <bruno@clisp.org>
60326         get-rusage-as: Fix bug.
60327         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
60328         original limit when aborting the first loop.
60330 2011-01-23  Bruno Haible  <bruno@clisp.org>
60332         wctype: Ensure valid C syntax.
60333         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
60334         unconditionally, instead of gl_NEXT_HEADERS conditionally.
60336 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
60338         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
60339         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
60340         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
60341         as they are needed only for configure's test case.
60342         This removes two unnecessary symbols from config.h.
60344         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
60345         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
60346         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
60347         AC_CHECK_HEADERS_ONCE on a header that we also invoke
60348         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
60349         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
60350         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
60351         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
60352         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
60353         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
60354         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
60355         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60356         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
60357         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
60358         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
60359         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
60360         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
60361         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
60363 2011-01-21  Eric Blake  <eblake@redhat.com>
60365         maintainer-makefile: work with older git for submodule check
60366         * top/maint.mk (public-submodule-commit): Rewrite to avoid
60367         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
60368         Reported by Matthias Bolte.
60370         bootstrap: minor portability fixes
60371         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
60372         (usage): Omit leading capital and trailing . on help phrases, per
60373         GNU Coding Standards.
60374         (check_versions, top level): Prefix messages with script name.
60376 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
60378         bootstrap: support --no-git option
60379         * build-aux/bootstrap: Add --no-git option, to be used when
60380         --gnulib-srcdir points to the exact desired checkout.
60382 2011-01-21  Eric Blake  <eblake@redhat.com>
60384         strerror_r-posix: work with glibc 2.13
60385         * lib/strerror_r.c (strerror_r): Fix return type.
60387 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60388             Bruno Haible  <bruno@clisp.org>
60390         uN_strstr: New unit tests.
60391         * modules/unistr/u8-strstr-tests: New file.
60392         * modules/unistr/u16-strstr-tests: New file.
60393         * modules/unistr/u32-strstr-tests: New file.
60394         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
60395         * tests/unistr/test-u8-strstr.c: New file.
60396         * tests/unistr/test-u16-strstr.c: New file.
60397         * tests/unistr/test-u32-strstr.c: New file.
60399 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60400             Bruno Haible  <bruno@clisp.org>
60402         Make uN_strstr functions O(n) worst-case.
60403         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
60404         16-bit and 32-bit unit cases, use the unibyte algorithm from
60405         lib/mbsstr.c.
60406         * lib/unistr/u8-strstr.c: Include <string.h>.
60407         (UNIT_IS_UINT8_T): New macro.
60408         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
60409         (U_STRLEN, U_STRNLEN): New macros.
60410         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
60411         (U_STRLEN, U_STRNLEN): New macros.
60412         * modules/unistr/u8-strstr (Depends-on): Add strstr.
60413         (configure.ac): Update required libunistring version.
60414         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
60415         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
60416         malloca.
60417         (configure.ac): Update required libunistring version.
60418         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
60419         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
60420         malloca.
60421         (configure.ac): Update required libunistring version.
60423 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60424             Bruno Haible  <bruno@clisp.org>
60426         Prepare for faster uN_strstr functions.
60427         * lib/str-kmp.h: Support definable UNITs.
60428         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
60429         needle_len argument.
60430         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
60431         * lib/mbscasestr.c (mbscasestr): Likewise.
60433 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60435         malloca-tests: make faster by unsetting MALLOC_PERTURB_
60436         * tests/test-malloca.c (main): Unset the environment variable
60437         to greatly speed up the test.
60438         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
60439         * modules/malloca-tests: Depend on unsetenv.
60441 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60443         ignore-value: remove stdint dependency
60444         * lib/ignore-value.h: Remove <stdint.h>
60445         * modules/ignore-value: Remove stdint dependency.
60447 2011-01-21  Jim Meyering  <meyering@redhat.com>
60449         maint.mk: adjust variable name to be consistent with other gl_ vars
60450         * top/maint.mk (gl_public_submodule_commit): Rename the variable
60451         to be lower case.
60453 2011-01-20  Jim Meyering  <meyering@redhat.com>
60455         maint.mk: make "check" depend on public-submodule-commit by default
60456         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
60458 2011-01-20  Bruno Haible  <bruno@clisp.org>
60460         mbfile, mbiter: Complete change from 2008-12-21.
60461         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
60462         * m4/mbiter.m4 (gl_MBITER): Likewise.
60464 2011-01-20  Jim Meyering  <meyering@redhat.com>
60466         init.sh: insert space between each function name and "()"
60467         * tests/init.sh: Make it a little easier to see that a function's
60468         name is "warn_", and not "warn" when looking at the first part of
60469         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
60471 2011-01-20  Jim Meyering  <meyering@redhat.com>
60473         mountlist: clean up code formatting
60474         * lib/mountlist.c (read_file_system_list): Split a long line,
60475         correct bracing style, use NULL in place of "(struct statfs *)0",
60476         don't parenthesize return value, add spaces around "=" and after
60477         ";-in-for-stmt".
60479 2011-01-14  Markus Duft  <mduft@gentoo.org>
60481         mountlist: add support for Interix
60482         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
60483         Apply statvfs to all entries of /dev/fs.
60484         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
60485         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
60487 2011-01-20  Jim Meyering  <meyering@redhat.com>
60489         maint.mk: improve the public-submodule-commit rule
60490         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
60491         to suppress printing of its commands... unless V=1.
60492         Add git submodule's --quiet option to suppress printing of e.g.,
60493         "Entering gnulib" output.
60494         "cd" into $(srcdir) before running git submodule.
60496 2011-01-20  Bruno Haible  <bruno@clisp.org>
60498         include_next: Fix bug introduced on 2011-01-18.
60499         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
60500         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
60501         ac_cv_header_... variable if the second argument is not 'check'.
60502         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
60503         gl_NEXT_HEADERS_INTERNAL.
60505 2011-01-20  Bruno Haible  <bruno@clisp.org>
60507         Allow the user to avoid the GNULIB_TEST_* macros.
60508         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
60509         Suggested by Paul Eggert.
60511 2011-01-14  Jim Meyering  <meyering@redhat.com>
60513         bootstrap: avoid failure when there is no .gitmodules file
60514         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
60515         has been assigned to, even when its value is the empty string.
60516         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
60517         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
60518         Reported by John W. Eaton <jwe@gnu.org>.
60520 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
60522         assume <ctype.h>, ..., <time.h> exist
60523         For years gnulib has been assuming the existence of the headers
60524         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
60525         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
60526         them, since they don't appear to be needed.
60527         * README (Portability guidelines): Document this.
60528         * lib/flock.c: Assume <fcntl.h> exists.
60529         * lib/regex_internal.h: Assume <locale.h> exists.
60530         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
60531         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
60532         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
60533         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
60534         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
60535         * m4/regex.m4 (gl_REGEX): Likewise.
60536         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
60537         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
60538         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
60539         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
60540         * tests/test-argp.c: Likewise.
60541         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
60543         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
60544         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
60545         AA_APPLE_UNIVERSAL_BUILD.  See
60546         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
60547         * NEWS: Document this.
60549 2011-01-19  Eric Blake  <eblake@redhat.com>
60551         c-stack: assume stack overflow if SA_SIGINFO unsupported
60552         * lib/c-stack.c (SIGACTION_WORKS): Rename...
60553         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
60554         sigaction will work.
60555         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
60556         behavior match Linux.
60557         * tests/test-c-stack.c (main): Prefer NULL for pointers.
60559         stdbool-tests: accommodate Haiku
60560         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
60562         binary-io: fix O_TEXT on Haiku
60563         * modules/binary-io (Depends-on): Add fcntl-h.
60564         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
60565         than blindly undefining O_TEXT.
60566         Reported by Scott McCreary.
60568 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
60570         include_next: do not check for standard headers like stddef.h
60572         I found this problem when modifying Emacs to use gnulib.
60573         I noticed that it added HAVE_STDDEF_H to config.h, even though
60574         gnulib always assumes <stddef.h> exists as per README and this
60575         symbol is unnecessary.
60576         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
60577         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
60578         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
60579         faster for headers like stddef.h that are known to exist.
60580         (gl_CHECK_NEXT_HEADERS): Use it.
60581         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
60582         rather than gl_CHECK_NEXT_HEADERS.
60583         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
60584         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
60586 2011-01-18  Eric Blake  <eblake@redhat.com>
60588         ansi-c++-opt: skip C++ dependency style if C++ is unused
60589         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
60590         tests when we know C++ compilation is not desired.
60591         Reported by Scott McCreary.
60593 2011-01-18  Bruno Haible  <bruno@clisp.org>
60595         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
60596         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
60597         (main): Perform test also when getrlimit and setrlimit don't exist or
60598         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
60599         limiting the address space size using setrlimit, compare the address
60600         space size before and after the test.
60601         * tests/test-dprintf-posix2.c: Likewise.
60602         * tests/test-fprintf-posix3.sh: Update skip messages.
60603         * tests/test-dprintf-posix2.sh: Likewise.
60604         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
60605         * modules/dprintf-posix-tests (Depends-on): Likewise.
60606         Reported by Bruce Korb <bkorb@gnu.org> and
60607         Gary V. Vaughan <gary@gnu.org>.
60609 2011-01-18  Bruno Haible  <bruno@clisp.org>
60611         get-rusage-as: Improvement for Cygwin.
60612         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
60613         areas that are merely reserved.
60615 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
60617         strftime: remove dependencies on multibyte modules
60619         strftime depended on mbrlen, mbsinit, and wchar, but these modules
60620         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
60621         only if __osf__ is defined, and I suspect OSF doesn't need these
60622         other modules.  If my guess is wrong, we'll need to come up with a
60623         variant of strftime that doesn't need the multibyte modules.
60625         I discovered this problem when attempting modify Emacs to use the
60626         strftime module.  With the previous gnulib, this caused Emacs to
60627         need 31 new files, ranging from lib/config.charset to
60628         m4/wint_t.m4.  This was overkill and I expect would be offputting
60629         to the Emacs maintainers.  After this change, only 6 new files are
60630         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
60631         stdbool.m4, and tm_gmtoff.m4.
60633         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
60634         Suggested by Bruno Haible in
60635         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
60636         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
60637         and do not check for wchar.h.
60638         * modules/strftime (Files): Remove m4/mbstate_t.m4.
60639         (Depends-on): Remove mbrlen, mbsinit, wchar.
60641 2011-01-18  Bruno Haible  <bruno@clisp.org>
60643         Tests for module 'get-rusage-as'.
60644         * modules/get-rusage-as-tests: New file.
60645         * tests/test-get-rusage-as.c: New file.
60647         New module 'get-rusage-as'.
60648         * modules/get-rusage-as: New file.
60649         * lib/resource-ext.h: New file.
60650         * lib/get-rusage-as.c: New file.
60652 2011-01-17  Eric Blake  <eblake@redhat.com>
60654         sigaction: relax license from LGPLv3+ to LGPLv2+
60655         * modules/sigaction (License): Relax to LGPLv2+.
60657 2011-01-14  Bruno Haible  <bruno@clisp.org>
60659         filemode: Make function declarations usable in C++ mode.
60660         * lib/filemode.h: Enclose function declarations in extern "C" block.
60661         Reported by John W. Eaton <jwe@gnu.org>.
60663 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
60665         save-cwd: no longer include "xgetcwd.h"
60666         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
60667         This avoids a compilation failure in projects that use save-cwd
60668         without also using the xgetcwd module.
60670 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
60672         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
60673         This is so that a program like Emacs, which needs only dtoastr,
60674         does not have to bother with distributing and compiling ftoastr
60675         and ldtoastr.
60676         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
60677         * modules/dtoastr, modules/ldtoastr: New files.
60678         * modules/ftoastr: Now works just for 'float'.
60679         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
60680         (Makefile.am): Remove ftoastr.h (not needed and no effect),
60681         dtoastr.c, ldtoastr.c.
60683 2011-01-11  Jim Meyering  <meyering@redhat.com>
60685         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
60686         There is no need to work around the lack of the fchdir function,
60687         since gnulib can now provide a replacement when required.
60688         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
60689         * modules/save-cwd (Depends-on): Add fchdir.
60691 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
60693         openat, save-cwd: avoid xmalloc
60695         This removes a direct (but undocumented) dependency of openat on
60696         xalloc, along with an indirect dependency via save-cwd.  It also
60697         removes a dependency of save-cwd on xgetcwd, and thereby
60698         indirectly on xalloc.  This change causes the openat substitute
60699         to fall back on save_cwd when memory is tight, and for save_cwd to
60700         fail instead of dying when memory is tight, but that's good enough.
60701         Problem and initial idea for fix reported by Bastien Roucaries in
60702         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
60704         * lib/openat-proc.c: Include stdlib.h (for malloc), not
60705         xalloc.h (for xmalloc).
60706         (openat_proc_name): Use malloc, not xmalloc.
60707         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
60708         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
60710         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
60711         This avoids heap allocation for file names whose lengths are in
60712         the range 512..1023, with the upper bound increasing to at most
60713         4031 depending on the platform's PATH_MAX.  (We do not want
60714         pathmax.h here as it might supply a non-constant PATH_MAX.)
60715         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
60716         Perhaps they should be moved to malloca.h?
60717         (OPENAT_BUFFER_SIZE): Use them.
60719 2011-01-10  Bruno Haible  <bruno@clisp.org>
60721         doc: Update users.txt.
60722         * users.txt: Add recutils.
60724 2011-01-09  Karl Berry  <karl@gnu.org>
60726         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
60728         * doc/configmake.texi: New file.
60729         * doc/gnulib.texi: Include it.
60730         * modules/configmake: Move documentation from here.
60732 2011-01-09  Bruno Haible  <bruno@clisp.org>
60734         Update to Unicode 6.0.0.
60735         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
60736         (get_lbp): Update for Unicode 6.0.0.
60737         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
60738         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
60739         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
60740         U+11001, U+11038..U+11046. Remove U+06DE.
60741         (uc_width): Fix bounds of planes.
60742         * tests/uniwidth/test-uc_width2.sh: Same updates as in
60743         lib/uniwidth/width.c.
60744         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
60745         trailing whitespace removed.
60746         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
60747         without comments, but with the original copyright notice.
60748         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
60749         * lib/unicase/ignorable.h: Likewise.
60750         * lib/unicase/tocasefold.h: Likewise.
60751         * lib/unicase/tolower.h: Likewise.
60752         * lib/unicase/totitle.h: Likewise.
60753         * lib/unicase/toupper.h: Likewise.
60754         * lib/unictype/bidi_of.h: Likewise.
60755         * lib/unictype/blocks.h: Likewise.
60756         * lib/unictype/categ_C.h: Likewise.
60757         * lib/unictype/categ_Cn.h: Likewise.
60758         * lib/unictype/categ_L.h: Likewise.
60759         * lib/unictype/categ_Ll.h: Likewise.
60760         * lib/unictype/categ_Lm.h: Likewise.
60761         * lib/unictype/categ_Lo.h: Likewise.
60762         * lib/unictype/categ_Lu.h: Likewise.
60763         * lib/unictype/categ_M.h: Likewise.
60764         * lib/unictype/categ_Mc.h: Likewise.
60765         * lib/unictype/categ_Me.h: Likewise.
60766         * lib/unictype/categ_Mn.h: Likewise.
60767         * lib/unictype/categ_N.h: Likewise.
60768         * lib/unictype/categ_Nd.h: Likewise.
60769         * lib/unictype/categ_No.h: Likewise.
60770         * lib/unictype/categ_P.h: Likewise.
60771         * lib/unictype/categ_Po.h: Likewise.
60772         * lib/unictype/categ_S.h: Likewise.
60773         * lib/unictype/categ_Sc.h: Likewise.
60774         * lib/unictype/categ_Sk.h: Likewise.
60775         * lib/unictype/categ_Sm.h: Likewise.
60776         * lib/unictype/categ_So.h: Likewise.
60777         * lib/unictype/categ_of.h: Likewise.
60778         * lib/unictype/combining.h: Likewise.
60779         * lib/unictype/ctype_alnum.h: Likewise.
60780         * lib/unictype/ctype_alpha.h: Likewise.
60781         * lib/unictype/ctype_graph.h: Likewise.
60782         * lib/unictype/ctype_lower.h: Likewise.
60783         * lib/unictype/ctype_print.h: Likewise.
60784         * lib/unictype/ctype_punct.h: Likewise.
60785         * lib/unictype/ctype_upper.h: Likewise.
60786         * lib/unictype/decdigit.h: Likewise.
60787         * lib/unictype/digit.h: Likewise.
60788         * lib/unictype/numeric.h: Likewise.
60789         * lib/unictype/pr_alphabetic.h: Likewise.
60790         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
60791         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
60792         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
60793         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
60794         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
60795         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
60796         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
60797         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
60798         * lib/unictype/pr_case_ignorable.h: Likewise.
60799         * lib/unictype/pr_cased.h: Likewise.
60800         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
60801         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
60802         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
60803         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
60804         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
60805         * lib/unictype/pr_combining.h: Likewise.
60806         * lib/unictype/pr_composite.h: Likewise.
60807         * lib/unictype/pr_currency_symbol.h: Likewise.
60808         * lib/unictype/pr_decimal_digit.h: Likewise.
60809         * lib/unictype/pr_deprecated.h: Likewise.
60810         * lib/unictype/pr_format_control.h: Likewise.
60811         * lib/unictype/pr_grapheme_base.h: Likewise.
60812         * lib/unictype/pr_grapheme_extend.h: Likewise.
60813         * lib/unictype/pr_grapheme_link.h: Likewise.
60814         * lib/unictype/pr_id_continue.h: Likewise.
60815         * lib/unictype/pr_id_start.h: Likewise.
60816         * lib/unictype/pr_ideographic.h: Likewise.
60817         * lib/unictype/pr_lowercase.h: Likewise.
60818         * lib/unictype/pr_math.h: Likewise.
60819         * lib/unictype/pr_numeric.h: Likewise.
60820         * lib/unictype/pr_other_alphabetic.h: Likewise.
60821         * lib/unictype/pr_other_id_continue.h: Likewise.
60822         * lib/unictype/pr_other_math.h: Likewise.
60823         * lib/unictype/pr_punctuation.h: Likewise.
60824         * lib/unictype/pr_sentence_terminal.h: Likewise.
60825         * lib/unictype/pr_terminal_punctuation.h: Likewise.
60826         * lib/unictype/pr_unassigned_code_value.h: Likewise.
60827         * lib/unictype/pr_unified_ideograph.h: Likewise.
60828         * lib/unictype/pr_uppercase.h: Likewise.
60829         * lib/unictype/pr_xid_continue.h: Likewise.
60830         * lib/unictype/pr_xid_start.h: Likewise.
60831         * lib/unictype/scripts.h: Likewise.
60832         * lib/unictype/scripts_byname.gperf: Likewise.
60833         * lib/unictype/sy_java_ident.h: Likewise.
60834         * lib/unigbrk/gbrkprop.h: Likewise.
60835         * lib/unilbrk/lbrkprop1.h: Likewise.
60836         * lib/unilbrk/lbrkprop2.h: Likewise.
60837         * lib/uninorm/decomposition-table2.h: Likewise.
60838         * lib/uniwbrk/wbrkprop.h: Likewise.
60839         * tests/unicase/test-cased.c: Likewise.
60840         * tests/unicase/test-ignorable.c: Likewise.
60841         * tests/unicase/test-uc_tolower.c: Likewise.
60842         * tests/unicase/test-uc_totitle.c: Likewise.
60843         * tests/unicase/test-uc_toupper.c: Likewise.
60844         * tests/unictype/test-categ_C.c: Likewise.
60845         * tests/unictype/test-categ_Cn.c: Likewise.
60846         * tests/unictype/test-categ_L.c: Likewise.
60847         * tests/unictype/test-categ_Ll.c: Likewise.
60848         * tests/unictype/test-categ_Lm.c: Likewise.
60849         * tests/unictype/test-categ_Lo.c: Likewise.
60850         * tests/unictype/test-categ_Lu.c: Likewise.
60851         * tests/unictype/test-categ_M.c: Likewise.
60852         * tests/unictype/test-categ_Mc.c: Likewise.
60853         * tests/unictype/test-categ_Me.c: Likewise.
60854         * tests/unictype/test-categ_Mn.c: Likewise.
60855         * tests/unictype/test-categ_N.c: Likewise.
60856         * tests/unictype/test-categ_Nd.c: Likewise.
60857         * tests/unictype/test-categ_No.c: Likewise.
60858         * tests/unictype/test-categ_P.c: Likewise.
60859         * tests/unictype/test-categ_Po.c: Likewise.
60860         * tests/unictype/test-categ_S.c: Likewise.
60861         * tests/unictype/test-categ_Sc.c: Likewise.
60862         * tests/unictype/test-categ_Sk.c: Likewise.
60863         * tests/unictype/test-categ_Sm.c: Likewise.
60864         * tests/unictype/test-categ_So.c: Likewise.
60865         * tests/unictype/test-ctype_alnum.c: Likewise.
60866         * tests/unictype/test-ctype_alpha.c: Likewise.
60867         * tests/unictype/test-ctype_graph.c: Likewise.
60868         * tests/unictype/test-ctype_lower.c: Likewise.
60869         * tests/unictype/test-ctype_print.c: Likewise.
60870         * tests/unictype/test-ctype_punct.c: Likewise.
60871         * tests/unictype/test-ctype_upper.c: Likewise.
60872         * tests/unictype/test-decdigit.h: Likewise.
60873         * tests/unictype/test-digit.h: Likewise.
60874         * tests/unictype/test-numeric.h: Likewise.
60875         * tests/unictype/test-pr_alphabetic.c: Likewise.
60876         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
60877         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
60878         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
60879         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
60880         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
60881         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
60882         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
60883         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
60884         * tests/unictype/test-pr_case_ignorable.c: Likewise.
60885         * tests/unictype/test-pr_cased.c: Likewise.
60886         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
60887         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
60888         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
60889         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
60890         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
60891         * tests/unictype/test-pr_combining.c: Likewise.
60892         * tests/unictype/test-pr_composite.c: Likewise.
60893         * tests/unictype/test-pr_currency_symbol.c: Likewise.
60894         * tests/unictype/test-pr_decimal_digit.c: Likewise.
60895         * tests/unictype/test-pr_deprecated.c: Likewise.
60896         * tests/unictype/test-pr_format_control.c: Likewise.
60897         * tests/unictype/test-pr_grapheme_base.c: Likewise.
60898         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
60899         * tests/unictype/test-pr_grapheme_link.c: Likewise.
60900         * tests/unictype/test-pr_id_continue.c: Likewise.
60901         * tests/unictype/test-pr_id_start.c: Likewise.
60902         * tests/unictype/test-pr_ideographic.c: Likewise.
60903         * tests/unictype/test-pr_lowercase.c: Likewise.
60904         * tests/unictype/test-pr_math.c: Likewise.
60905         * tests/unictype/test-pr_numeric.c: Likewise.
60906         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
60907         * tests/unictype/test-pr_other_id_continue.c: Likewise.
60908         * tests/unictype/test-pr_other_math.c: Likewise.
60909         * tests/unictype/test-pr_punctuation.c: Likewise.
60910         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
60911         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
60912         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
60913         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
60914         * tests/unictype/test-pr_uppercase.c: Likewise.
60915         * tests/unictype/test-pr_xid_continue.c: Likewise.
60916         * tests/unictype/test-pr_xid_start.c: Likewise.
60917         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
60918         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
60919         changes.
60920         * lib/unictype/categ_Cc.h: Likewise.
60921         * lib/unictype/categ_Cf.h: Likewise.
60922         * lib/unictype/categ_Co.h: Likewise.
60923         * lib/unictype/categ_Cs.h: Likewise.
60924         * lib/unictype/categ_Lt.h: Likewise.
60925         * lib/unictype/categ_Nl.h: Likewise.
60926         * lib/unictype/categ_Pc.h: Likewise.
60927         * lib/unictype/categ_Pd.h: Likewise.
60928         * lib/unictype/categ_Pe.h: Likewise.
60929         * lib/unictype/categ_Pf.h: Likewise.
60930         * lib/unictype/categ_Pi.h: Likewise.
60931         * lib/unictype/categ_Ps.h: Likewise.
60932         * lib/unictype/categ_Z.h: Likewise.
60933         * lib/unictype/categ_Zl.h: Likewise.
60934         * lib/unictype/categ_Zp.h: Likewise.
60935         * lib/unictype/categ_Zs.h: Likewise.
60936         * lib/unictype/ctype_blank.h: Likewise.
60937         * lib/unictype/ctype_cntrl.h: Likewise.
60938         * lib/unictype/ctype_digit.h: Likewise.
60939         * lib/unictype/ctype_space.h: Likewise.
60940         * lib/unictype/ctype_xdigit.h: Likewise.
60941         * lib/unictype/mirror.h: Likewise.
60942         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
60943         * lib/unictype/pr_bidi_block_separator.h: Likewise.
60944         * lib/unictype/pr_bidi_common_separator.h: Likewise.
60945         * lib/unictype/pr_bidi_control.h: Likewise.
60946         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
60947         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
60948         * lib/unictype/pr_bidi_european_digit.h: Likewise.
60949         * lib/unictype/pr_bidi_pdf.h: Likewise.
60950         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
60951         * lib/unictype/pr_bidi_whitespace.h: Likewise.
60952         * lib/unictype/pr_dash.h: Likewise.
60953         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
60954         * lib/unictype/pr_diacritic.h: Likewise.
60955         * lib/unictype/pr_extender.h: Likewise.
60956         * lib/unictype/pr_hex_digit.h: Likewise.
60957         * lib/unictype/pr_hyphen.h: Likewise.
60958         * lib/unictype/pr_ids_binary_operator.h: Likewise.
60959         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
60960         * lib/unictype/pr_ignorable_control.h: Likewise.
60961         * lib/unictype/pr_iso_control.h: Likewise.
60962         * lib/unictype/pr_join_control.h: Likewise.
60963         * lib/unictype/pr_left_of_pair.h: Likewise.
60964         * lib/unictype/pr_line_separator.h: Likewise.
60965         * lib/unictype/pr_logical_order_exception.h: Likewise.
60966         * lib/unictype/pr_non_break.h: Likewise.
60967         * lib/unictype/pr_not_a_character.h: Likewise.
60968         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
60969         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
60970         * lib/unictype/pr_other_id_start.h: Likewise.
60971         * lib/unictype/pr_other_lowercase.h: Likewise.
60972         * lib/unictype/pr_other_uppercase.h: Likewise.
60973         * lib/unictype/pr_paired_punctuation.h: Likewise.
60974         * lib/unictype/pr_paragraph_separator.h: Likewise.
60975         * lib/unictype/pr_pattern_syntax.h: Likewise.
60976         * lib/unictype/pr_pattern_white_space.h: Likewise.
60977         * lib/unictype/pr_private_use.h: Likewise.
60978         * lib/unictype/pr_quotation_mark.h: Likewise.
60979         * lib/unictype/pr_radical.h: Likewise.
60980         * lib/unictype/pr_soft_dotted.h: Likewise.
60981         * lib/unictype/pr_space.h: Likewise.
60982         * lib/unictype/pr_titlecase.h: Likewise.
60983         * lib/unictype/pr_variation_selector.h: Likewise.
60984         * lib/unictype/pr_white_space.h: Likewise.
60985         * lib/unictype/pr_zero_width.h: Likewise.
60986         * lib/unictype/sy_c_ident.h: Likewise.
60987         * lib/unictype/sy_c_whitespace.h: Likewise.
60988         * lib/unictype/sy_java_whitespace.h: Likewise.
60989         * lib/uninorm/composition-table.gperf: Likewise.
60990         * lib/uninorm/decomposition-table1.h: Likewise.
60991         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
60992         LB8.
60993         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
60994         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
60995         * modules/unictype/*: Bump version number of expected libunistring
60996         version.
60998 2011-01-09  Bruno Haible  <bruno@clisp.org>
61000         Update to Unicode 5.2.0.
61001         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
61002         trailing whitespace removed.
61004 2011-01-09  Bruno Haible  <bruno@clisp.org>
61006         New Unicode character properties, from Unicode 5.2.0.
61007         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
61008         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
61009         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
61010         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
61011         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
61012         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
61013         uc_is_property_cased, uc_is_property_case_ignorable,
61014         uc_is_property_changes_when_lowercased,
61015         uc_is_property_changes_when_uppercased,
61016         uc_is_property_changes_when_titlecased,
61017         uc_is_property_changes_when_casefolded,
61018         uc_is_property_changes_when_casemapped): New declarations.
61019         * lib/unictype/pr_byname.gperf: Add the new properties.
61020         * modules/unictype/property-byname (Depends-on): Depend on the new
61021         properties modules.
61022         * modules/unictype/property-all (Depends-on): Likewise.
61023         * MODULES.html.sh (Unicode string functions): Add
61024         unictype/property-case-ignorable, unictype/property-cased,
61025         unictype/property-changes-when-casefolded,
61026         unictype/property-changes-when-casemapped,
61027         unictype/property-changes-when-lowercased,
61028         unictype/property-changes-when-titlecased,
61029         unictype/property-changes-when-uppercased.
61031         New module 'unictype/property-changes-when-casemapped'.
61032         * modules/unictype/property-changes-when-casemapped: New file.
61033         * lib/unictype/pr_changes_when_casemapped.c: New file.
61034         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
61035         generated by gen-uni-tables.
61036         * modules/unictype/property-changes-when-casemapped-tests: New file.
61037         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
61038         automatically generated by gen-uni-tables.
61040         New module 'unictype/property-changes-when-casefolded'.
61041         * modules/unictype/property-changes-when-casefolded: New file.
61042         * lib/unictype/pr_changes_when_casefolded.c: New file.
61043         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
61044         generated by gen-uni-tables.
61045         * modules/unictype/property-changes-when-casefolded-tests: New file.
61046         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
61047         automatically generated by gen-uni-tables.
61049         New module 'unictype/property-changes-when-titlecased'.
61050         * modules/unictype/property-changes-when-titlecased: New file.
61051         * lib/unictype/pr_changes_when_titlecased.c: New file.
61052         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
61053         generated by gen-uni-tables.
61054         * modules/unictype/property-changes-when-titlecased-tests: New file.
61055         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
61056         automatically generated by gen-uni-tables.
61058         New module 'unictype/property-changes-when-uppercased'.
61059         * modules/unictype/property-changes-when-uppercased: New file.
61060         * lib/unictype/pr_changes_when_uppercased.c: New file.
61061         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
61062         generated by gen-uni-tables.
61063         * modules/unictype/property-changes-when-uppercased-tests: New file.
61064         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
61065         automatically generated by gen-uni-tables.
61067         New module 'unictype/property-changes-when-lowercased'.
61068         * modules/unictype/property-changes-when-lowercased: New file.
61069         * lib/unictype/pr_changes_when_lowercased.c: New file.
61070         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
61071         generated by gen-uni-tables.
61072         * modules/unictype/property-changes-when-lowercased-tests: New file.
61073         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
61074         automatically generated by gen-uni-tables.
61076         New module 'unictype/property-case-ignorable'.
61077         * modules/unictype/property-case-ignorable: New file.
61078         * lib/unictype/pr_case_ignorable.c: New file.
61079         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
61080         by gen-uni-tables.
61081         * modules/unictype/property-case-ignorable-tests: New file.
61082         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
61083         generated by gen-uni-tables.
61085         New module 'unictype/property-cased'.
61086         * modules/unictype/property-cased: New file.
61087         * lib/unictype/pr_cased.c: New file.
61088         * lib/unictype/pr_cased.h: New file, automatically generated by
61089         gen-uni-tables.
61090         * modules/unictype/property-cased-tests: New file.
61091         * tests/unictype/test-pr_cased.c: New file, automatically generated by
61092         gen-uni-tables.
61094 2011-01-09  Bruno Haible  <bruno@clisp.org>
61096         Update to Unicode 5.2.0.
61097         * lib/gen-uni-tables.c (output_predicate, output_category,
61098         output_combclass, output_bidi_category, output_decimal_digit_test,
61099         output_decimal_digit, output_digit_test, output_digit,
61100         output_numeric_test, output_numeric, output_mirror, output_scripts,
61101         output_scripts_byname, output_blocks, output_ident_category): Fix
61102         comment header.
61103         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
61104         get_wbp.
61105         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
61106         items.
61107         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
61108         Changes_When_Lowercased, Changes_When_Uppercased,
61109         Changes_When_Titlecased, Changes_When_Casefolded,
61110         Changes_When_Casemapped.
61111         (is_property_alphabetic, is_property_default_ignorable_code_point):
61112         Update for Unicode 5.2.0.
61113         (is_property_cased, is_property_case_ignorable,
61114         is_property_changes_when_lowercased,
61115         is_property_changes_when_uppercased,
61116         is_property_changes_when_titlecased,
61117         is_property_changes_when_casefolded,
61118         is_property_changes_when_casemapped): New functions.
61119         (output_properties): Output also the properties cased, case_ignorable,
61120         changes_when_lowercased, changes_when_uppercased,
61121         changes_when_titlecased, changes_when_casefolded,
61122         changes_when_casemapped.
61123         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
61124         Unicode TR#11 revision 17 -> 19.
61125         (LBP_CP): New enumeration value.
61126         (LBP_*): Adjust values accordingly.
61127         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
61128         TR#14 revision 22 -> 24.
61129         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
61130         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
61131         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
61132         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
61133         is_WBP_MIDLETTER.
61134         (output_composition_tables): Allow for 24 bits instead of 16 bits in
61135         the code1 and code2 of each composition rule.
61136         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
61137         * lib/unicase/ignorable.h: Likewise.
61138         * lib/unicase/tocasefold.h: Likewise.
61139         * lib/unicase/tolower.h: Likewise.
61140         * lib/unicase/totitle.h: Likewise.
61141         * lib/unicase/toupper.h: Likewise.
61142         * lib/unictype/bidi_of.h: Likewise.
61143         * lib/unictype/blocks.h: Likewise.
61144         * lib/unictype/categ_C.h: Likewise.
61145         * lib/unictype/categ_Cf.h: Likewise.
61146         * lib/unictype/categ_Cn.h: Likewise.
61147         * lib/unictype/categ_L.h: Likewise.
61148         * lib/unictype/categ_Ll.h: Likewise.
61149         * lib/unictype/categ_Lm.h: Likewise.
61150         * lib/unictype/categ_Lo.h: Likewise.
61151         * lib/unictype/categ_Lu.h: Likewise.
61152         * lib/unictype/categ_M.h: Likewise.
61153         * lib/unictype/categ_Mc.h: Likewise.
61154         * lib/unictype/categ_Mn.h: Likewise.
61155         * lib/unictype/categ_N.h: Likewise.
61156         * lib/unictype/categ_Nd.h: Likewise.
61157         * lib/unictype/categ_Nl.h: Likewise.
61158         * lib/unictype/categ_No.h: Likewise.
61159         * lib/unictype/categ_P.h: Likewise.
61160         * lib/unictype/categ_Pd.h: Likewise.
61161         * lib/unictype/categ_Po.h: Likewise.
61162         * lib/unictype/categ_S.h: Likewise.
61163         * lib/unictype/categ_Sc.h: Likewise.
61164         * lib/unictype/categ_So.h: Likewise.
61165         * lib/unictype/categ_of.h: Likewise.
61166         * lib/unictype/combining.h: Likewise.
61167         * lib/unictype/ctype_alnum.h: Likewise.
61168         * lib/unictype/ctype_alpha.h: Likewise.
61169         * lib/unictype/ctype_graph.h: Likewise.
61170         * lib/unictype/ctype_lower.h: Likewise.
61171         * lib/unictype/ctype_print.h: Likewise.
61172         * lib/unictype/ctype_punct.h: Likewise.
61173         * lib/unictype/ctype_upper.h: Likewise.
61174         * lib/unictype/decdigit.h: Likewise.
61175         * lib/unictype/digit.h: Likewise.
61176         * lib/unictype/numeric.h: Likewise.
61177         * lib/unictype/pr_alphabetic.h: Likewise.
61178         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61179         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61180         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61181         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61182         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61183         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61184         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61185         * lib/unictype/pr_combining.h: Likewise.
61186         * lib/unictype/pr_composite.h: Likewise.
61187         * lib/unictype/pr_currency_symbol.h: Likewise.
61188         * lib/unictype/pr_dash.h: Likewise.
61189         * lib/unictype/pr_decimal_digit.h: Likewise.
61190         * lib/unictype/pr_deprecated.h: Likewise.
61191         * lib/unictype/pr_diacritic.h: Likewise.
61192         * lib/unictype/pr_extender.h: Likewise.
61193         * lib/unictype/pr_grapheme_base.h: Likewise.
61194         * lib/unictype/pr_grapheme_extend.h: Likewise.
61195         * lib/unictype/pr_grapheme_link.h: Likewise.
61196         * lib/unictype/pr_id_continue.h: Likewise.
61197         * lib/unictype/pr_id_start.h: Likewise.
61198         * lib/unictype/pr_ideographic.h: Likewise.
61199         * lib/unictype/pr_ignorable_control.h: Likewise.
61200         * lib/unictype/pr_logical_order_exception.h: Likewise.
61201         * lib/unictype/pr_lowercase.h: Likewise.
61202         * lib/unictype/pr_numeric.h: Likewise.
61203         * lib/unictype/pr_other_alphabetic.h: Likewise.
61204         * lib/unictype/pr_punctuation.h: Likewise.
61205         * lib/unictype/pr_sentence_terminal.h: Likewise.
61206         * lib/unictype/pr_terminal_punctuation.h: Likewise.
61207         * lib/unictype/pr_unassigned_code_value.h: Likewise.
61208         * lib/unictype/pr_unified_ideograph.h: Likewise.
61209         * lib/unictype/pr_uppercase.h: Likewise.
61210         * lib/unictype/pr_xid_continue.h: Likewise.
61211         * lib/unictype/pr_xid_start.h: Likewise.
61212         * lib/unictype/pr_zero_width.h: Likewise.
61213         * lib/unictype/scripts.h: Likewise.
61214         * lib/unictype/scripts_byname.gperf: Likewise.
61215         * lib/unictype/sy_java_ident.h: Likewise.
61216         * lib/unigbrk/gbrkprop.h: Likewise.
61217         * lib/unilbrk/lbrkprop1.h: Likewise.
61218         * lib/unilbrk/lbrkprop2.h: Likewise.
61219         * lib/unilbrk/lbrktables.h: Likewise.
61220         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
61221         LBP_CP. Implement rule LB30.
61222         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
61223         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
61224         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
61225         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
61226         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
61227         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
61228         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
61229         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
61230         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
61231         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
61232         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
61233         bits instead of 16 bits in the code1 and code2 of each composition
61234         rule.
61235         (uc_composition): Update for Unicode 5.2.0.
61236         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
61237         * lib/uninorm/decomposition-table2.h: Likewise.
61238         * lib/uniwbrk/wbrkprop.h: Likewise.
61239         * tests/unicase/test-cased.c: Likewise.
61240         * tests/unicase/test-ignorable.c: Likewise.
61241         * tests/unicase/test-uc_tolower.c: Likewise.
61242         * tests/unicase/test-uc_totitle.c: Likewise.
61243         * tests/unicase/test-uc_toupper.c: Likewise.
61244         * tests/unictype/test-categ_C.c: Likewise.
61245         * tests/unictype/test-categ_Cf.c: Likewise.
61246         * tests/unictype/test-categ_Cn.c: Likewise.
61247         * tests/unictype/test-categ_L.c: Likewise.
61248         * tests/unictype/test-categ_Ll.c: Likewise.
61249         * tests/unictype/test-categ_Lm.c: Likewise.
61250         * tests/unictype/test-categ_Lo.c: Likewise.
61251         * tests/unictype/test-categ_Lu.c: Likewise.
61252         * tests/unictype/test-categ_M.c: Likewise.
61253         * tests/unictype/test-categ_Mc.c: Likewise.
61254         * tests/unictype/test-categ_Mn.c: Likewise.
61255         * tests/unictype/test-categ_N.c: Likewise.
61256         * tests/unictype/test-categ_Nd.c: Likewise.
61257         * tests/unictype/test-categ_Nl.c: Likewise.
61258         * tests/unictype/test-categ_No.c: Likewise.
61259         * tests/unictype/test-categ_P.c: Likewise.
61260         * tests/unictype/test-categ_Pd.c: Likewise.
61261         * tests/unictype/test-categ_Po.c: Likewise.
61262         * tests/unictype/test-categ_S.c: Likewise.
61263         * tests/unictype/test-categ_Sc.c: Likewise.
61264         * tests/unictype/test-categ_So.c: Likewise.
61265         * tests/unictype/test-ctype_alnum.c: Likewise.
61266         * tests/unictype/test-ctype_alpha.c: Likewise.
61267         * tests/unictype/test-ctype_graph.c: Likewise.
61268         * tests/unictype/test-ctype_lower.c: Likewise.
61269         * tests/unictype/test-ctype_print.c: Likewise.
61270         * tests/unictype/test-ctype_punct.c: Likewise.
61271         * tests/unictype/test-ctype_upper.c: Likewise.
61272         * tests/unictype/test-decdigit.h: Likewise.
61273         * tests/unictype/test-digit.h: Likewise.
61274         * tests/unictype/test-numeric.h: Likewise.
61275         * tests/unictype/test-pr_alphabetic.c: Likewise.
61276         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
61277         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
61278         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
61279         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
61280         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
61281         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
61282         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
61283         * tests/unictype/test-pr_combining.c: Likewise.
61284         * tests/unictype/test-pr_composite.c: Likewise.
61285         * tests/unictype/test-pr_currency_symbol.c: Likewise.
61286         * tests/unictype/test-pr_dash.c: Likewise.
61287         * tests/unictype/test-pr_decimal_digit.c: Likewise.
61288         * tests/unictype/test-pr_deprecated.c: Likewise.
61289         * tests/unictype/test-pr_diacritic.c: Likewise.
61290         * tests/unictype/test-pr_extender.c: Likewise.
61291         * tests/unictype/test-pr_grapheme_base.c: Likewise.
61292         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
61293         * tests/unictype/test-pr_grapheme_link.c: Likewise.
61294         * tests/unictype/test-pr_id_continue.c: Likewise.
61295         * tests/unictype/test-pr_id_start.c: Likewise.
61296         * tests/unictype/test-pr_ideographic.c: Likewise.
61297         * tests/unictype/test-pr_ignorable_control.c: Likewise.
61298         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
61299         * tests/unictype/test-pr_lowercase.c: Likewise.
61300         * tests/unictype/test-pr_numeric.c: Likewise.
61301         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
61302         * tests/unictype/test-pr_punctuation.c: Likewise.
61303         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
61304         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
61305         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
61306         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
61307         * tests/unictype/test-pr_uppercase.c: Likewise.
61308         * tests/unictype/test-pr_xid_continue.c: Likewise.
61309         * tests/unictype/test-pr_xid_start.c: Likewise.
61310         * tests/unictype/test-pr_zero_width.c: Likewise.
61311         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
61312         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
61313         changed behaviour: line breaking is now disallowed between a letter
61314         or '=' and '('.
61315         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
61316         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
61317         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
61318         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
61319         * tests/uniwidth/test-uc_width2.sh: Same updates as in
61320         lib/uniwidth/width.c.
61321         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
61322         without comments, but with the original copyright notice.
61323         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
61324         changes.
61325         * lib/unictype/categ_Cc.h: Likewise.
61326         * lib/unictype/categ_Co.h: Likewise.
61327         * lib/unictype/categ_Cs.h: Likewise.
61328         * lib/unictype/categ_Lt.h: Likewise.
61329         * lib/unictype/categ_Me.h: Likewise.
61330         * lib/unictype/categ_Pc.h: Likewise.
61331         * lib/unictype/categ_Pe.h: Likewise.
61332         * lib/unictype/categ_Pf.h: Likewise.
61333         * lib/unictype/categ_Pi.h: Likewise.
61334         * lib/unictype/categ_Ps.h: Likewise.
61335         * lib/unictype/categ_Sk.h: Likewise.
61336         * lib/unictype/categ_Sm.h: Likewise.
61337         * lib/unictype/categ_Z.h: Likewise.
61338         * lib/unictype/categ_Zl.h: Likewise.
61339         * lib/unictype/categ_Zp.h: Likewise.
61340         * lib/unictype/categ_Zs.h: Likewise.
61341         * lib/unictype/ctype_blank.h: Likewise.
61342         * lib/unictype/ctype_cntrl.h: Likewise.
61343         * lib/unictype/ctype_digit.h: Likewise.
61344         * lib/unictype/ctype_space.h: Likewise.
61345         * lib/unictype/ctype_xdigit.h: Likewise.
61346         * lib/unictype/mirror.h: Likewise.
61347         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
61348         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
61349         * lib/unictype/pr_bidi_block_separator.h: Likewise.
61350         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
61351         * lib/unictype/pr_bidi_common_separator.h: Likewise.
61352         * lib/unictype/pr_bidi_control.h: Likewise.
61353         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
61354         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
61355         * lib/unictype/pr_bidi_pdf.h: Likewise.
61356         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
61357         * lib/unictype/pr_bidi_whitespace.h: Likewise.
61358         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
61359         * lib/unictype/pr_format_control.h: Likewise.
61360         * lib/unictype/pr_hex_digit.h: Likewise.
61361         * lib/unictype/pr_hyphen.h: Likewise.
61362         * lib/unictype/pr_ids_binary_operator.h: Likewise.
61363         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
61364         * lib/unictype/pr_iso_control.h: Likewise.
61365         * lib/unictype/pr_join_control.h: Likewise.
61366         * lib/unictype/pr_left_of_pair.h: Likewise.
61367         * lib/unictype/pr_line_separator.h: Likewise.
61368         * lib/unictype/pr_math.h: Likewise.
61369         * lib/unictype/pr_non_break.h: Likewise.
61370         * lib/unictype/pr_not_a_character.h: Likewise.
61371         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
61372         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
61373         * lib/unictype/pr_other_id_continue.h: Likewise.
61374         * lib/unictype/pr_other_id_start.h: Likewise.
61375         * lib/unictype/pr_other_lowercase.h: Likewise.
61376         * lib/unictype/pr_other_math.h: Likewise.
61377         * lib/unictype/pr_other_uppercase.h: Likewise.
61378         * lib/unictype/pr_paired_punctuation.h: Likewise.
61379         * lib/unictype/pr_paragraph_separator.h: Likewise.
61380         * lib/unictype/pr_pattern_syntax.h: Likewise.
61381         * lib/unictype/pr_pattern_white_space.h: Likewise.
61382         * lib/unictype/pr_private_use.h: Likewise.
61383         * lib/unictype/pr_quotation_mark.h: Likewise.
61384         * lib/unictype/pr_radical.h: Likewise.
61385         * lib/unictype/pr_soft_dotted.h: Likewise.
61386         * lib/unictype/pr_space.h: Likewise.
61387         * lib/unictype/pr_titlecase.h: Likewise.
61388         * lib/unictype/pr_variation_selector.h: Likewise.
61389         * lib/unictype/pr_white_space.h: Likewise.
61390         * lib/unictype/sy_c_ident.h: Likewise.
61391         * lib/unictype/sy_c_whitespace.h: Likewise.
61392         * lib/unictype/sy_java_whitespace.h: Likewise.
61393         * modules/uni*/*: Bump version number of expected libunistring version.
61394         Reported by Simon Josefsson.
61396 2011-01-09  Karl Heuer  <kwzh@gnu.org>
61398         useless-if-before-free: fix typo in --help and make the internal,
61399         automatic version date update process work once again.
61400         --help output contained a NUL character instead of the
61401         backslash-zero that was intended.  Also, the "must lie within
61402         the first 8 lines" line is on line 9, and hence not getting
61403         automatically updated.
61404         * build-aux/useless-if-before-free: Fix the former by adding a
61405         backslash, and the latter by condensing the three lines of what-it-does
61406         to a single line, leaving one line of slack for the future.
61408 2011-01-09  Bruno Haible  <bruno@clisp.org>
61410         uniwidth/width: Fix width of U+1D173..U+1D17A.
61411         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
61412         symbolic_width, output_width_property_test): New functions.
61413         (main): Invoke output_nonspacing_property, output_width_property_test.
61414         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
61415         U+1D173..U+1D17A.
61416         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
61417         1.
61418         * modules/uniwidth/*: Bump version number of expected libunistring
61419         version.
61420         * modules/unilbrk/*: Likewise.
61422 2011-01-08  Bruno Haible  <bruno@clisp.org>
61424         uninorm tests: Preserve copyright of Unicode data file.
61425         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
61426         Mention modifications.
61428 2011-01-08  Bruno Haible  <bruno@clisp.org>
61430         gen-uni-tables: Prepare for Unicode 5.2.0.
61431         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
61432         (debug_output_lbp, output_lbp): Update.
61434 2011-01-08  Bruno Haible  <bruno@clisp.org>
61436         unilbrk: Clarify gen-uni-tables.c code.
61437         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
61438         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
61439         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
61441 2011-01-07  Bruno Haible  <bruno@clisp.org>
61443         strtod: Restore errno when successfully parsing Infinity or NaN.
61444         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
61445         restore the original errno.
61447 2011-01-07  Bruno Haible  <bruno@clisp.org>
61449         remove test: Avoid failure on HP-UX 11.
61450         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
61452 2011-01-07  Bruno Haible  <bruno@clisp.org>
61454         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
61455         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
61456         error code.
61458 2011-01-07  Pádraig Brady  <P@draigBrady.com>
61460         ignore-value: fixup comments, and add Eric Blake
61461         as an author since he rewrote the macros.
61462         * lib/ignore-value.h (ignore_value):  State that
61463         we now support aggregates.  Also specify exactly
61464         when the GCC warn_unused_result feature was added.
61466 2011-01-06  Eric Blake  <eblake@redhat.com>
61468         ignore-value: support aggregate types
61469         * lib/ignore-value.h (ignore_value): Provide separate gcc
61470         definition.
61471         * modules/ignore-value-tests: New test module.
61472         * tests/test-ignore-value.c: New test.
61474         maint.mk: improve sc_prohibit_strcmp regex
61475         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
61476         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
61477         definition of STRNEQ.
61479         signal: work around Haiku issue with SIGBUS
61480         * lib/siglist.h: Add comment.
61481         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
61482         strsignal's favoring of SIGSEGV.
61483         * tests/test-signal.c (main): Avoid test failure.
61484         * doc/posix-headers/signal.texi (signal.h): Document the issue.
61485         Reported by Scott McCreary.
61487         maint.mk: add pre-release check to ensure submodule commits are public
61488         * top/maint.mk (public-submodule-commit): New rule.
61489         (submodule-checks): New variable.
61490         (alpha beta stable): Depend on the variable.
61492 2011-01-05  Pádraig Brady  <P@draigBrady.com>
61493         and Jim Meyering  <meyering@redhat.com>
61495         ignore-value: make ignore_value more generic; deprecate ignore_ptr
61496         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
61497         (ATTRIBUTE_DEPRECATED): Define.
61498         (_ignore_case): New function.
61499         (ignore_value): New macro, to replace the old function.
61500         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
61501         * modules/ignore-value (Depends-on): Add stdint.
61503 2011-01-04  Eric Blake  <eblake@redhat.com>
61505         doc: regenerate INSTALL
61506         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
61507         @firstparagraphindent support, now that autoconf dropped it.
61508         (INSTALL_PRELUDE): Reinstate old macro.
61509         * doc/install.texi: Resync from autoconf.
61510         * doc/INSTALL: Reflect recent autoconf update.
61511         * doc/INSTALL.ISO: Likewise.
61512         * doc/INSTALL.UTF-8: Likewise.
61513         Reported by Karl Berry.
61515 2011-01-04  Bruce Korb  <address@hidden>
61517         git-version-gen: avoid a sub-shell
61518         * build-aux/git-version-gen: Redirect stderr in `...` via
61519         "exec 2>...", rather than via an added sub-shell.
61521 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
61523         git-version-gen: use (...) rather than sh -c '...'
61524         * build-aux/git-version-gen: Rather than hard-coding a shell's name
61525         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
61527 2011-01-03  Jim Meyering  <meyering@redhat.com>
61529         git-version-gen: convert leading TABs to spaces
61530         * build-aux/git-version-gen: Expand leading TABs.
61532         git-version-gen: handle failed "git rev-list"
61533         * build-aux/git-version-gen: Rather than leaking a "fatal" error
61534         from git and proceeding as if it had succeeded but printed no SHA1
61535         checksums, suppress the diagnostic and handle the failure.
61536         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
61538         git-version-gen: include command name in one more diagnostic
61539         * build-aux/git-version-gen: When the required .tarball-version file
61540         was missing or unreadable, you might see the diagnostic from "cat",
61541         but no trace of the name of the invoking script.  Now, you still see
61542         the diagnostic from cat, but also get one from "git-version-gen: ".
61543         Inspired by a patch from Bruce Korb.
61545         update-copyright: adjust test to match changed code
61546         * tests/test-update-copyright.sh: Change test's expected output
61547         to match new actual output.
61549 2011-01-02  Bruno Haible  <bruno@clisp.org>
61551         getlogin_r: Avoid test failure on HP-UX 11.
61552         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
61553         ERANGE when the second argument is zero.
61554         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
61555         portability problem.
61557 2011-01-02  Bruce Korb  <bkorb@gnu.org>
61559         * build-aux/update-copyright: doc Simon's changes
61561 2011-01-02  Simon Josefsson  <simon@josefsson.org>
61563         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
61564         environment variable.
61566 2011-01-02  Bruno Haible  <bruno@clisp.org>
61568         unigbrk: Avoid gcc warnings.
61569         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
61570         unused variable.
61571         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
61572         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
61573         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
61574         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
61575         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
61576         Change type of first argument to 'const char *'.
61577         (main): Remove unused variable.
61578         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
61579         type of first argument to 'const char *'.
61580         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
61581         Likewise.
61582         (main): Change type of variable 's'.
61583         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
61584         to 'int'.
61586 2011-01-02  Bruno Haible  <bruno@clisp.org>
61588         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
61589         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
61590         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
61591         bug.
61592         * lib/pwrite.c: Undo 2010-12-31 patch.
61593         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
61595 2011-01-02  Bruno Haible  <bruno@clisp.org>
61597         pread: Fix test whether it works.
61598         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
61600 2011-01-02  Bruno Haible  <bruno@clisp.org>
61602         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
61603         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
61604         ends in "6". Don't require a specific month name. Try also the locale
61605         names found on HP-UX 11 and Solaris 7.
61607 2011-01-02  Bruno Haible  <bruno@clisp.org>
61609         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
61610         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
61611         C linkage.
61612         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
61614 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
61616         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
61617         for consistency, since the "cluster" term is not used elsewhere.
61618         * lib/unigbrk.in.h: Update name.
61619         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
61620         * lib/unigbrk/u16-grapheme-next.c: Update name.
61621         * lib/unigbrk/u16-grapheme-prev.c: Update name.
61622         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
61623         * lib/unigbrk/u32-grapheme-next.c: Update name.
61624         * lib/unigbrk/u32-grapheme-prev.c: Update name.
61625         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
61626         * lib/unigbrk/u8-grapheme-next.c: Update name.
61627         * lib/unigbrk/u8-grapheme-prev.c: Update name.
61628         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
61629         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
61630         Suggested by Bruno Haible.
61632 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
61634         Remove module 'u8-grapheme-len' as too redundant with
61635         'u8-grapheme-next'.
61636         * modules/unigbrk/u8-grapheme-len: Delete file.
61637         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
61638         * lib/unigbrk.in.h: Remove prototype for deleted function.
61639         * lib/unigbrk/u8-grapheme-len.c: Delete file.
61640         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
61642         Remove module 'u16-grapheme-len' as too redundant with
61643         'u16-grapheme-next'.
61644         * modules/unigbrk/u16-grapheme-len: Delete file.
61645         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
61646         * lib/unigbrk.in.h: Remove prototype for deleted function.
61647         * lib/unigbrk/u16-grapheme-len.c: Delete file.
61648         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
61650         Remove module 'u32-grapheme-len' as too redundant with
61651         'u32-grapheme-next'.
61652         * modules/unigbrk/u32-grapheme-len: Delete file.
61653         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
61654         * lib/unigbrk.in.h: Remove prototype for deleted function.
61655         * lib/unigbrk/u32-grapheme-len.c: Delete file.
61656         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
61658         Suggested by Bruno Haible.
61660 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
61662         * unigbrk.in.h: Fix typo: "ben" => "been".
61663         Reported by Bruno Haible.
61665 2011-01-01  Jim Meyering  <meyering@redhat.com>
61667         maint: update almost all copyright ranges to include 2011
61668         Run the new "make update-copyright" rule.
61670 2011-01-01  Jim Meyering  <meyering@redhat.com>
61672         maint: update-copyright: exempt doc/INSTALL*
61673         * Makefile (update-copyright): Also exclude doc/INSTALL*,
61674         since they are generated.  Suggested by Bruno Haible.
61676 2011-01-01  Jim Meyering  <meyering@redhat.com>
61678         maint: refine the update-copyright rule
61679         * Makefile (update-copyright): Also exclude any file that includes
61680         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
61681         code that merely generates the comment.
61683 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
61685         New module 'u8-grapheme-len'.
61686         * modules/unigbrk/u8-grapheme-len: New file.
61687         * modules/unigbrk/u8-grapheme-len-tests: New file.
61688         * lib/unigbrk.in.h: Add prototype for new function.
61689         * lib/unigbrk/u8-grapheme-len.c: New file.
61690         * tests/unigbrk/test-u8-grapheme-len.c: New file.
61692         New module 'u16-grapheme-len'.
61693         * modules/unigbrk/u16-grapheme-len: New file.
61694         * modules/unigbrk/u16-grapheme-len-tests: New file.
61695         * lib/unigbrk.in.h: Add prototype for new function.
61696         * lib/unigbrk/u16-grapheme-len.c: New file.
61697         * tests/unigbrk/test-u16-grapheme-len.c: New file.
61699         New module 'u32-grapheme-len'.
61700         * modules/unigbrk/u32-grapheme-len: New file.
61701         * modules/unigbrk/u32-grapheme-len-tests: New file.
61702         * lib/unigbrk.in.h: Add prototype for new function.
61703         * lib/unigbrk/u32-grapheme-len.c: New file.
61704         * tests/unigbrk/test-u32-grapheme-len.c: New file.
61706         New module 'u8-grapheme-next'.
61707         * modules/unigbrk/u8-grapheme-next: New file.
61708         * modules/unigbrk/u8-grapheme-next-tests: New file.
61709         * lib/unigbrk.in.h: Add prototype for new function.
61710         * lib/unigbrk/u8-grapheme-next.c: New file.
61711         * tests/unigbrk/test-u8-grapheme-next.c: New file.
61713         New module 'u16-grapheme-next'.
61714         * modules/unigbrk/u16-grapheme-next: New file.
61715         * modules/unigbrk/u16-grapheme-next-tests: New file.
61716         * lib/unigbrk.in.h: Add prototype for new function.
61717         * lib/unigbrk/u16-grapheme-next.c: New file.
61718         * tests/unigbrk/test-u16-grapheme-next.c: New file.
61720         New module 'u32-grapheme-next'.
61721         * modules/unigbrk/u32-grapheme-next: New file.
61722         * modules/unigbrk/u32-grapheme-next-tests: New file.
61723         * lib/unigbrk.in.h: Add prototype for new function.
61724         * lib/unigbrk/u32-grapheme-next.c: New file.
61725         * tests/unigbrk/test-u32-grapheme-next.c: New file.
61727         New module 'u8-grapheme-prev'.
61728         * modules/unigbrk/u8-grapheme-prev: New file.
61729         * modules/unigbrk/u8-grapheme-prev-tests: New file.
61730         * lib/unigbrk.in.h: Add prototype for new function.
61731         * lib/unigbrk/u8-grapheme-prev.c: New file.
61732         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
61734         New module 'u16-grapheme-prev'.
61735         * modules/unigbrk/u16-grapheme-prev: New file.
61736         * modules/unigbrk/u16-grapheme-prev-tests: New file.
61737         * lib/unigbrk.in.h: Add prototype for new function.
61738         * lib/unigbrk/u16-grapheme-prev.c: New file.
61739         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
61741         New module 'u32-grapheme-prev'.
61742         * modules/unigbrk/u32-grapheme-prev: New file.
61743         * modules/unigbrk/u32-grapheme-prev-tests: New file.
61744         * lib/unigbrk.in.h: Add prototype for new function.
61745         * lib/unigbrk/u32-grapheme-prev.c: New file.
61746         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
61748         New module 'u8-grapheme-breaks'.
61749         * modules/unigbrk/u8-grapheme-breaks: New file.
61750         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
61751         * lib/unigbrk.in.h: Add prototype for new function.
61752         * lib/unigbrk/u8-grapheme-breaks.c: New file.
61753         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
61755         New module 'u16-grapheme-breaks'.
61756         * modules/unigbrk/u16-grapheme-breaks: New file.
61757         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
61758         * lib/unigbrk.in.h: Add prototype for new function.
61759         * lib/unigbrk/u16-grapheme-breaks.c: New file.
61760         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
61762         New module 'u32-grapheme-breaks'.
61763         * modules/unigbrk/u32-grapheme-breaks: New file.
61764         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
61765         * lib/unigbrk.in.h: Add prototype for new function.
61766         * lib/unigbrk/u32-grapheme-breaks.c: New file.
61767         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
61769         New module 'ulc-grapheme-breaks'.
61770         * modules/unigbrk/ulc-grapheme-breaks: New file.
61771         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
61772         * m4/locale-ar.m4: New file.
61773         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
61774         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
61775         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
61777 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
61779         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
61780         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
61781         modified how this file was generated before I initially submitted
61782         the module, but failed to regenerate it.  This meant that several
61783         of the level2 entries were wrong.
61784         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
61785         Remove the division-by-2 that is folded into the table now that
61786         gbrkprop.h has been regenerated properly.  Now -1 entries are
61787         handled correctly.
61789         New module 'unigbrk/uc-gbrk-prop-tests'.
61790         * modules/unigbrk/uc-gbrk-prop-tests: New file.
61791         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
61792         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
61793         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
61795 2011-01-01  Bruno Haible  <bruno@clisp.org>
61797         Avoid use of hexadecimal escapes.
61798         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
61799         instead of hexadecimal escapes.
61801 2011-01-01  Jim Meyering  <meyering@redhat.com>
61803         maint: new rule to update copyright year ranges
61804         * Makefile (update-copyright): New rule.
61806         maint: indent with TABs in Makefile
61807         * Makefile: Expand leading sequences of spaces to TABs
61809         version-etc: update the copyright year it reports
61810         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
61812 2010-12-31  Bruno Haible  <bruno@clisp.org>
61814         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
61815         * lib/isfinite.c (zerof, zerod, zerol): New variables.
61816         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
61817         zero.
61819 2010-12-31  Bruno Haible  <bruno@clisp.org>
61821         pwrite: Work around HP-UX 11.11 bug.
61822         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
61823         works and set REPLACE_PWRITE if not.
61824         * lib/pwrite.c (pwrite): Add an implementation that uses the system
61825         function.
61826         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
61828 2010-12-31  Bruno Haible  <bruno@clisp.org>
61830         pread: Work around HP-UX 11 bugs.
61831         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
61832         and set REPLACE_PREAD if not.
61833         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
61835 2010-12-31  Eric Blake  <eblake@redhat.com>
61837         nl_langinfo: fix YESEXPR on Irix 6.5
61838         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
61839         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
61840         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
61841         it.
61843 2010-12-31  Bruno Haible  <bruno@clisp.org>
61845         iconv: Document HP-UX 11 bug.
61846         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
61848 2010-12-31  Bruno Haible  <bruno@clisp.org>
61850         ldexpl: Fix link error on HP-UX 11.
61851         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
61852         LDEXPL_LIBM, using $ISNANL_LIBM.
61854 2010-12-31  Eric Blake  <eblake@redhat.com>
61856         ftello: avoid compilation failure with SunStudio c89
61857         * lib/ftello.c (ftello): Use lseek, not llseek.
61859         tests: avoid failing coreutils tests on cygwin
61860         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
61861         (create_exe_shims_): Return 0 when skipping.
61863 2010-12-31  Bruno Haible  <bruno@clisp.org>
61865         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
61866         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
61868 2010-12-31  Bruno Haible  <bruno@clisp.org>
61870         waitpid: Fix link error in C++ mode.
61871         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
61873 2010-12-31  Bruno Haible  <bruno@clisp.org>
61875         isnan: Use GCC built-ins when possible.
61876         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
61877         __builtin_isnan.
61878         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
61879         (isnan): Define using GCC built-ins for GCC >= 4.0.
61881 2010-12-31  Bruno Haible  <bruno@clisp.org>
61883         isnand: Fix mistake.
61884         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
61885         __builtin_isnand.
61887 2010-12-31  Bruno Haible  <bruno@clisp.org>
61889         open: Avoid C++ error on HP-UX 11.
61890         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
61892 2010-12-31  Bruno Haible  <bruno@clisp.org>
61894         time_r: Add missing declarations on HP-UX 11.
61895         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
61896         instead of HAVE_LOCALTIME_R.
61897         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
61898         HAVE_LOCALTIME_R always.
61899         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
61900         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
61901         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
61902         HAVE_LOCALTIME_R.
61903         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
61904         * doc/posix-functions/localtime_r.texi: Likewise.
61906 2010-12-29  Eric Blake  <eblake@redhat.com>
61908         mountlist: tweak previous commit
61909         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
61910         Reported by Paul Eggert.
61912         mountlist: fix local drive detection on cygwin
61913         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
61914         that works for cygwin.
61916 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
61918         ftoastr, snprintf: ftoastr + snprintf module
61919         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
61920         since the snprintf module now should be good enough here.
61921         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
61922         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
61923         and gl_MODULE_INDICATOR([snprintf]), but the former enables
61924         GNULIB_SNPRINTF only for the test directory, and the latter
61925         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
61926         seems to suffice by itself.
61928 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
61930         alloca: one step towards thread-safety
61931         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
61932         need for a static variable.  All callers changed.  This does not
61933         make the alloca replacement thread-safe, but it's one step.
61935         tests: minor indenting change
61936         * tests/init.sh: Sync from coreutils housekeeping patch
61937         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
61938         to keep lines within 80 columns.
61940 2010-12-28  Jim Meyering  <meyering@redhat.com>
61942         regex: don't infloop on persistent failing calloc
61943         * lib/regexec.c (build_trtable): Return failure indication upon
61944         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
61945         In glibc, this was fixed for version 2.13:
61946         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
61948 2010-12-28  Bruno Haible  <bruno@clisp.org>
61949             Paul Eggert <eggert@cs.ucla.edu>
61951         linkat: Make implementation robust against system behaviour variations.
61952         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
61953         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
61954         way, and to -2 if it needs a generic runtime test.
61955         * lib/linkat.c (solaris_optimized_link_immediate,
61956         solaris_optimized_link_follow): New functions.
61957         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
61958         (check_same_link): Use it.
61960 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
61962         New module 'unigbrk/base'.
61963         * modules/unigbrk/base: New file.
61964         * lib/unigbrk.in.h: New file.
61966         New module 'unigbrk/uc-gbrk-prop'.
61967         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
61968         * modules/unigbrk/uc-gbrk-prop: New file.
61969         * lib/unigbrk/gbrkprop.h: New file.
61970         * lib/unigbrk/uc-gbrk-prop.c: New file.
61972         New module 'unigbrk/uc-is-grapheme-break'.
61973         * modules/unigbrk/uc-is-grapheme-break: New file.
61974         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
61975         * lib/unigbrk/uc-is-grapheme-break.c: New file.
61976         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
61977         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
61978         * tests/unigbrk/GraphemeBreakTest.txt: New file.
61980         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
61982 2010-12-27  Bruno Haible  <bruno@clisp.org>
61984         linkat test: Avoid failure on Solaris 11 2010-11.
61985         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
61987 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
61989         utimens: work around glibc rounding bug on more platforms
61990         * lib/utimens.c (fdutimens): Work around rounding bug even if
61991         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
61992         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
61994 2010-12-27  Bruno Haible  <bruno@clisp.org>
61996         select tests: Improve comments.
61997         * tests/test-select.c (do_select): Add comments.
61999 2010-12-27  Bruno Haible  <bruno@clisp.org>
62001         select tests: Safer way of handling timeout.
62002         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
62003         at every invocation.
62005 2010-12-27  Bruno Haible  <bruno@clisp.org>
62007         select tests: Use 'bool' where appropriate.
62008         * tests/test-select.c (connect_to_socket): Change argument type to
62009         'bool'.
62011 2010-12-27  Bruno Haible  <bruno@clisp.org>
62013         select tests: Use existing modules.
62014         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
62015         (configure.ac): Don't test for unistd.h.
62016         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
62017         declared in <unistd.h>.
62019 2010-12-27  Bruno Haible  <bruno@clisp.org>
62021         mbrtowc: Work around a Solaris 7 bug.
62022         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
62023         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
62024         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
62025         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
62026         MBRTOWC_NULL_ARG1_BUG.
62027         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
62028         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
62029         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
62030         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
62032 2010-12-27  Jim Meyering  <meyering@redhat.com>
62034         read-file.c: tweak syntax
62035         * lib/read-file.c (fread_file): Remove space after "*" in function
62036         definitions.
62038 2010-12-27  Bruno Haible  <bruno@clisp.org>
62040         times test: Avoid gcc warnings on OSF/1.
62041         * tests/test-times.c (main): Cast printf arguments from clock_t to
62042         'long int'.
62044 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
62046         utimens: work around glibc rounding bug on older Linux kernels
62047         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
62048         on Linux with a glibc whose utimes might not work, then work
62049         around a longstanding glibc bug involving rounding rather than
62050         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
62051         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
62053 2010-12-26  Bruno Haible  <bruno@clisp.org>
62055         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
62056         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
62057         _GL_CXXALIAS_SYS.
62058         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62060 2010-12-26  Bruno Haible  <bruno@clisp.org>
62062         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
62063         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
62064         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
62065         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
62066         looking for the declaration.
62067         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
62068         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
62069         problem.
62070         * doc/posix-functions/inet_pton.texi: Likewise.
62072 2010-12-26  Bruno Haible  <bruno@clisp.org>
62074         arpa_inet: Use the common idioms with C++ support.
62075         * lib/arpa_inet.in.h: Include c++defs.h.
62076         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
62077         support.
62078         * modules/arpa_inet (Depends-on): Add c++defs.
62079         (Makefile.am): Substitute the contents of c++defs.h.
62080         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
62081         * modules/arpa_inet-c++-tests: New file.
62082         * tests/test-arpa_inet-c++.cc: New file.
62084 2010-12-25  Bruno Haible  <bruno@clisp.org>
62086         Fix more C++ link errors on Solaris 8.
62087         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
62088         $(LIB_EACCESS).
62089         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
62090         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
62091         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
62092         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
62093         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
62095 2010-12-25  Bruno Haible  <bruno@clisp.org>
62097         printf-posix: Fix link error when a non-GCC compiler is used.
62098         * lib/stdio.in.h (printf): When not using GCC, override printf
62099         correctly.
62100         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62102 2010-12-25  Bruno Haible  <bruno@clisp.org>
62104         strerror_r-posix: Update doc.
62105         * doc/posix-functions/strerror_r.texi: Update doc about the return
62106         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
62108 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62110         utimens: simplify the logic of the previous change
62111         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
62112         This should not affect whether the test succeeds or fails.
62114         utimens: configure better on hosts with NFS clock skew
62115         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
62116         uses the clock of the local host.  It might use the clock of the
62117         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
62118         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
62120 2010-12-25  Bruno Haible  <bruno@clisp.org>
62122         ptsname test: Avoid failure on Solaris.
62123         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
62124         open a pseudo-terminal; don't use BSD-style ptys.
62125         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
62127 2010-12-25  Bruno Haible  <bruno@clisp.org>
62129         ptsname: Avoid ERANGE failure on some systems.
62130         * lib/ptsname.c (buffer): Increase size.
62132 2010-12-25  Bruno Haible  <bruno@clisp.org>
62134         rename, renameat: Avoid test failures at NFS mounted locations.
62135         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
62136         so that subsequent mkdir calls succeed.
62138 2010-12-25  Bruno Haible  <bruno@clisp.org>
62140         iswblank: Fix C++ link error on Solaris 8.
62141         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
62142         _GL_FUNCDECL_SYS.
62144 2010-12-25  Bruno Haible  <bruno@clisp.org>
62146         unistd: Fix C++ link error on Solaris 8.
62147         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
62149 2010-12-25  Bruno Haible  <bruno@clisp.org>
62151         readlink doc: Mention an old glibc bug.
62152         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
62154 2010-12-25  Bruno Haible  <bruno@clisp.org>
62156         fcntl-h: Fix for use of C++ on glibc systems.
62157         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
62158         also on glibc systems in C++ mode.
62159         Reported by Gary V. Vaughan <gary@gnu.org>.
62161 2010-12-25  Bruno Haible  <bruno@clisp.org>
62163         roundl-ieee: Make it work on OSF/1 5.1 with cc.
62164         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
62166 2010-12-25  Bruno Haible  <bruno@clisp.org>
62168         truncl-ieee: Make it work on OSF/1 5.1 with cc.
62169         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
62170         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
62171         test whether truncl works according to ISO C 99 with IEC 60559.
62172         * m4/truncl-ieee.m4: New file.
62173         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
62174         m4/signbit.m4.
62175         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
62177 2010-12-25  Bruno Haible  <bruno@clisp.org>
62179         ceill-ieee: Make it work on OSF/1 5.1 with cc.
62180         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
62181         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
62182         test whether ceill works according to ISO C 99 with IEC 60559.
62183         * m4/ceill-ieee.m4: New file.
62184         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
62185         m4/signbit.m4.
62186         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
62188 2010-12-25  Bruno Haible  <bruno@clisp.org>
62190         Ensure all prerequisites of <wchar.h> are included.
62191         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
62192         before <wchar.h>.
62193         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
62194         gl_MBRLEN_NUL_RETVAL): Likewise.
62195         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
62196         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
62197         AC_FUNC_MBRTOWC): Likewise.
62198         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
62199         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
62200         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
62201         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
62202         Likewise.
62203         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
62204         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
62205         (gl_WCHAR_H): Improve comments.
62206         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
62208 2010-12-25  Bruno Haible  <bruno@clisp.org>
62210         strtok_r: Fix C syntax error in autoconf macro.
62211         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
62212         characters in test program.
62214 2010-12-24  Bruno Haible  <bruno@clisp.org>
62216         ceil, trunc, round: Fix gcc warnings.
62217         * lib/ceil.c (MIN): Undefine before redefining.
62218         * lib/trunc.c (MIN): Likewise.
62219         * lib/round.c (MIN): Likewise.
62220         Include <math.h> first.
62222 2010-12-24  Bruno Haible  <bruno@clisp.org>
62224         select tests: Avoid failures on OSF/1 5.1.
62225         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
62226         failure of closing the last socket; it may fail with ECONNRESET.
62228 2010-12-24  Eric Blake  <eblake@redhat.com>
62230         stdint: avoid HP-UX 10.20 preprocessor bug
62231         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
62232         than #if.
62233         * tests/test-floor2.c (main): Likewise.
62234         Reported by Peter O'Gorman.
62236         pipe: make obsoletion transition easier
62237         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
62238         * modules/pipe (Files): Include revived file.
62239         (Include): Drop reference, to mirror getdate's behavior.
62241 2010-12-24  Bruno Haible  <bruno@clisp.org>
62243         sys_socket: Hide mismatch of declarations on NonStop Kernel.
62244         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
62245         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
62246         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62248 2010-12-24  Bruno Haible  <bruno@clisp.org>
62250         gethostname: Ensure declaration on NonStop Kernel.
62251         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
62252         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62254 2010-12-24  Bruno Haible  <bruno@clisp.org>
62256         sys_select: Ensure all necessary types on NonStop Kernel.
62257         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
62258         include <sys/time.h>.
62259         * doc/posix-headers/sys_select.texi: Mention that it's missing on
62260         NonStop Kernel.
62261         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62263 2010-12-24  Bruno Haible  <bruno@clisp.org>
62265         sys_select: Remove unneeded include.
62266         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
62267         have <sys/select.h>.
62269 2010-12-24  Bruno Haible  <bruno@clisp.org>
62271         gethostname: Provide a fallback for HOST_NAME_MAX.
62272         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
62273         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
62274         instead.
62275         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62277 2010-12-24  Bruno Haible  <bruno@clisp.org>
62279         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
62280         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
62281         (SA_RESTART): Likewise.
62282         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62284 2010-12-24  Bruno Haible  <bruno@clisp.org>
62286         signal: Define NSIG.
62287         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
62288         * tests/test-signal.c (nsig): New variable.
62289         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62291 2010-12-24  Bruno Haible  <bruno@clisp.org>
62293         rename, renameat: Avoid test failures on OSF/1 5.1.
62294         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
62295         alternative error codes.
62296         * tests/test-renameat.c (main): Likewise.
62298 2010-12-24  Bruno Haible  <bruno@clisp.org>
62300         *printf: Detect large precisions bug on Solaris 10/SPARC.
62301         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
62302         by Paul Eggert.
62303         * tests/test-snprintf-posix.h (test_function): Add this test code here
62304         too.
62305         * tests/test-sprintf-posix.h (test_function): Likewise.
62306         * tests/test-vasnprintf-posix.c (test_function): Likewise.
62307         * tests/test-vasprintf-posix.c (test_function): Likewise.
62308         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
62309         around by gnulib.
62310         * doc/posix-functions/printf.texi: Likewise.
62311         * doc/posix-functions/snprintf.texi: Likewise.
62312         * doc/posix-functions/sprintf.texi: Likewise.
62313         * doc/posix-functions/vfprintf.texi: Likewise.
62314         * doc/posix-functions/vprintf.texi: Likewise.
62315         * doc/posix-functions/vsnprintf.texi: Likewise.
62316         * doc/posix-functions/vsprintf.texi: Likewise.
62317         * doc/posix-functions/dprintf.texi: Undo last commit.
62318         * doc/posix-functions/vdprintf.texi: Likewise.
62320 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
62322         tests: port test-fdutimensat.c to Solaris 8
62323         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
62324         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
62325         On Solaris 8, it fails with errno == ENOSYS, because there is no
62326         futimens (so it can't use the fd), and there is no lutimens (so it
62327         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
62329         vsnprintf: make more consistent with snprintf; doc fixes
62331         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
62332         the byte count return problem was promoted from the snprintf-posix
62333         to the snprintf module.
62334         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
62335         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
62336         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
62337         * tests/test-snprintf.c (main): Check the byte count returned.
62338         * tests/test-vsnprintf.c (main): Likewise.
62340 2010-12-23  Eric Blake  <eblake@redhat.com>
62342         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
62343         * modules/sigpipe (License): Relax license.
62345 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
62347         doc: document Solaris printf bug with large float precisions
62348         * doc/posix-functions/dprintf.texi (dprintf):
62349         * doc/posix-functions/fprintf.texi (fprintf):
62350         * doc/posix-functions/printf.texi (printf):
62351         * doc/posix-functions/snprintf.texi (snprintf):
62352         * doc/posix-functions/sprintf.texi (sprintf):
62353         * doc/posix-functions/vdprintf.texi (vdprintf):
62354         * doc/posix-functions/vfprintf.texi (vfprintf):
62355         * doc/posix-functions/vprintf.texi (vprintf):
62356         * doc/posix-functions/vsnprintf.texi (vsnprintf):
62357         * doc/posix-functions/vsprintf.texi (vsprintf):
62358         Mention that these functions mishandle large floating point
62359         precisions on Solaris 10.  The same bug is also present in Solaris
62360         8, and I assume earlier.  This causes "cd gnulib-tests; make
62361         check" to fail on Solaris 8 (and I assume, later) when building
62362         the latest coreutils, in test-vasprintf-posix's call to
62363         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
62364         the wide flavors (e.g., wprintf) so this patch just updates the
62365         documentation for the narrow ones.
62367         test-posixtm.c: add two tests
62368         * tests/test-posixtm.c: Add two tests, to highlight the
62369         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
62370         around this bug; this is merely to document it.
62372 2010-12-22  Bruno Haible  <bruno@clisp.org>
62374         getlogin_r: Work around portability problem on OSF/1.
62375         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
62376         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
62377         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
62378         test for a truncated result.
62379         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
62380         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
62381         * modules/getlogin_r (Depends-on): Add memchr.
62382         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
62384 2010-12-22  Bruno Haible  <bruno@clisp.org>
62386         ptsname: Avoid test failure on OSF/1 5.1.
62387         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
62388         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
62389         (same_slave): New function.
62390         (main): Use it to compare ptsname's result with the expected file name.
62392 2010-12-22  Bruno Haible  <bruno@clisp.org>
62394         Port extended stdio modules to HP NonStop Kernel.
62395         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
62396         macros.
62397         * lib/fbufmode.c: Update comments.
62398         * lib/fflush.c: Likewise.
62399         * lib/fpurge.c: Likewise.
62400         * lib/freadable.c: Likewise.
62401         * lib/freadahead.c: Likewise.
62402         * lib/freading.c: Likewise.
62403         * lib/freadptr.c: Likewise.
62404         * lib/freadseek.c: Likewise.
62405         * lib/fseeko.c: Likewise.
62406         * lib/fseterr.c: Likewise.
62407         * lib/fwritable.c: Likewise.
62408         * lib/fwriting.c: Likewise.
62409         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62411 2010-12-22  Bruno Haible  <bruno@clisp.org>
62413         ttyname_r: Work around bug on OSF/1 5.1.
62414         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
62415         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
62416         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
62417         present.
62418         * lib/ttyname_r.c (ttyname_r): Update comments.
62420 2010-12-22  Bruno Haible  <bruno@clisp.org>
62422         round: Implement result sign according to IEEE 754.
62423         * lib/round.c (MIN, MINUS_ZERO): New macros.
62424         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
62425         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
62426         * tests/test-round-ieee.c (main): Likewise.
62427         * tests/test-roundl-ieee.c (main): Likewise.
62429         trunc: Implement result sign according to IEEE 754.
62430         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
62431         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
62432         * tests/test-trunc2.c: Include minus-zero.h.
62433         (MINUS_ZERO): New macro.
62434         (trunc_reference): Keep in sync with lib/trunc.c.
62435         * tests/test-truncf2.c: Include minus-zero.h.
62436         (MINUS_ZERO): New macro.
62437         (truncf_reference): Keep in sync with lib/trunc.c.
62438         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
62439         * tests/test-trunc-ieee.c (main): Likewise.
62440         * tests/test-truncl-ieee.c (main): Likewise.
62442         ceil: Implement result sign according to IEEE 754.
62443         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
62444         (FUNC): Return -0.0 for -1 < x < 0.
62445         * tests/test-ceil2.c: Include minus-zero.h.
62446         (MINUS_ZERO): New macro.
62447         (ceil_reference): Keep in sync with lib/ceil.c.
62448         * tests/test-ceilf2.c: Include minus-zero.h.
62449         (MINUS_ZERO): New macro.
62450         (ceilf_reference): Keep in sync with lib/ceil.c.
62451         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
62452         * tests/test-ceil-ieee.c (main): Likewise.
62453         * tests/test-ceill-ieee.c (main): Likewise.
62455         floor: Implement result sign according to IEEE 754.
62456         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
62457         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
62458         * tests/test-floorf2.c (floorf_reference): Likewise.
62459         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
62460         * tests/test-floor-ieee.c (main): Likewise.
62461         * tests/test-floorl-ieee.c (main): Likewise.
62463 2010-12-22  Bruno Haible  <bruno@clisp.org>
62465         getaddrinfo: Update doc.
62466         * doc/posix-functions/gai_strerror.texi: Return type is also different
62467         on AIX and HP-UX.
62469 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
62471         getaddrinfo, inet_ntop: Update doc for Solaris.
62472         * doc/posix-functions/gai_strerror.texi: Return type is also an
62473         issue on Solaris 9 and earlier.
62474         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
62475         on Solaris 10 and earlier.
62477 2010-12-21  Bruno Haible  <bruno@clisp.org>
62479         New module 'roundl-ieee'.
62480         * modules/roundl-ieee: New file.
62481         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
62482         test whether roundl works according to ISO C 99 with IEC 60559.
62483         * m4/roundl-ieee.m4: New file.
62484         * modules/roundl-ieee-tests: New file.
62485         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
62486         * tests/test-roundl.c (main): Remove signbit tests.
62487         * modules/roundl-tests (Depends-on): Remove signbit.
62488         * doc/posix-functions/roundl.texi: Mention the new module.
62490 2010-12-21  Bruno Haible  <bruno@clisp.org>
62492         New module 'truncl-ieee'.
62493         * modules/truncl-ieee: New file.
62494         * modules/truncl-ieee-tests: New file.
62495         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
62496         * tests/test-truncl.c (main): Remove signbit tests.
62497         * modules/truncl-tests (Depends-on): Remove signbit.
62498         * doc/posix-functions/truncl.texi: Mention the new module.
62500 2010-12-21  Bruno Haible  <bruno@clisp.org>
62502         New module 'ceill-ieee'.
62503         * modules/ceill-ieee: New file.
62504         * modules/ceill-ieee-tests: New file.
62505         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
62506         * tests/test-ceill.c (main): Remove signbit tests.
62507         * modules/ceill-tests (Depends-on): Remove signbit.
62508         * doc/posix-functions/ceill.texi: Mention the new module.
62510 2010-12-21  Bruno Haible  <bruno@clisp.org>
62512         New module 'floorl-ieee'.
62513         * modules/floorl-ieee: New file.
62514         * modules/floorl-ieee-tests: New file.
62515         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
62516         * tests/test-floorl.c (main): Remove signbit tests.
62517         * modules/floorl-tests (Depends-on): Remove signbit.
62518         * doc/posix-functions/floorl.texi: Mention the new module.
62520 2010-12-21  Bruno Haible  <bruno@clisp.org>
62522         New module 'round-ieee'.
62523         * modules/round-ieee: New file.
62524         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
62525         whether round works according to ISO C 99 with IEC 60559.
62526         * m4/round-ieee.m4: New file.
62527         * modules/round-ieee-tests: New file.
62528         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
62529         * tests/test-round1.c (main): Remove signbit tests.
62530         * modules/round-tests (Depends-on): Remove 'signbit'.
62531         * doc/posix-functions/round.texi: Mention the new module.
62533 2010-12-21  Bruno Haible  <bruno@clisp.org>
62535         New module 'trunc-ieee'.
62536         * modules/trunc-ieee: New file.
62537         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
62538         whether trunc works according to ISO C 99 with IEC 60559.
62539         * m4/trunc-ieee.m4: New file.
62540         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
62541         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
62542         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
62543         * modules/trunc-ieee-tests: New file.
62544         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
62545         * tests/test-trunc1.c (main): Remove signbit tests.
62546         * modules/trunc-tests (Depends-on): Remove 'signbit'.
62547         * doc/posix-functions/trunc.texi: Mention the new module.
62549 2010-12-21  Bruno Haible  <bruno@clisp.org>
62551         New module 'ceil-ieee'.
62552         * modules/ceil-ieee: New file.
62553         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
62554         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
62555         ISO C 99 with IEC 60559.
62556         * m4/ceil-ieee.m4: New file.
62557         * modules/ceil (Files): Add lib/ceil.c.
62558         (Depends-on): Add 'float'.
62559         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
62560         * lib/math.in.h (ceil): New declaration.
62561         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
62562         REPLACE_CEIL.
62563         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
62564         * modules/ceil-ieee-tests: New file.
62565         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
62566         * tests/test-math-c++.cc: Check the signature of 'ceil'.
62567         * doc/posix-functions/ceil.texi: Mention the new module.
62569 2010-12-21  Bruno Haible  <bruno@clisp.org>
62571         New module 'floor-ieee'.
62572         * modules/floor-ieee: New file.
62573         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
62574         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
62575         ISO C 99 with IEC 60559.
62576         * m4/floor-ieee.m4: New file.
62577         * modules/floor (Files): Add lib/floor.c.
62578         (Depends-on): Add 'float'.
62579         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
62580         * lib/math.in.h (floor): New declaration.
62581         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
62582         REPLACE_FLOOR.
62583         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
62584         * modules/floor-ieee-tests: New file.
62585         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
62586         * tests/test-math-c++.cc: Check the signature of 'floor'.
62587         * doc/posix-functions/floor.texi: Mention the new module.
62589 2010-12-21  Bruno Haible  <bruno@clisp.org>
62591         New module 'roundf-ieee'.
62592         * modules/roundf-ieee: New file.
62593         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
62594         test whether roundf works according to ISO C 99 with IEC 60559.
62595         * m4/roundf-ieee.m4: New file.
62596         * modules/roundf-ieee-tests: New file.
62597         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
62598         * tests/test-roundf1.c (main): Remove signbit tests.
62599         * modules/roundf-tests (Depends-on): Remove 'signbit'.
62600         * doc/posix-functions/roundf.texi: Mention the new module.
62602 2010-12-21  Bruno Haible  <bruno@clisp.org>
62604         New module 'truncf-ieee'.
62605         * modules/truncf-ieee: New file.
62606         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
62607         test whether truncf works according to ISO C 99 with IEC 60559.
62608         * m4/truncf-ieee.m4: New file.
62609         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
62610         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
62611         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
62612         * modules/truncf-ieee-tests: New file.
62613         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
62614         * tests/test-truncf1.c (main): Remove signbit tests.
62615         * modules/truncf-tests (Depends-on): Remove 'signbit'.
62616         * doc/posix-functions/truncf.texi: Mention the new module.
62618 2010-12-21  Bruno Haible  <bruno@clisp.org>
62620         New module 'ceilf-ieee'.
62621         * modules/ceilf-ieee: New file.
62622         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
62623         test whether ceilf works according to ISO C 99 with IEC 60559.
62624         * m4/ceilf-ieee.m4: New file.
62625         * modules/ceilf-ieee-tests: New file.
62626         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
62627         * tests/test-ceilf1.c (main): Remove signbit tests.
62628         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
62629         * doc/posix-functions/ceilf.texi: Mention the new module.
62631 2010-12-21  Bruno Haible  <bruno@clisp.org>
62633         New module 'floorf-ieee'.
62634         * modules/floorf-ieee: New file.
62635         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
62636         test whether floorf works according to ISO C 99 with IEC 60559.
62637         * m4/floorf-ieee.m4: New file.
62638         * modules/floorf-ieee-tests: New file.
62639         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
62640         * tests/test-floorf1.c (main): Remove signbit tests.
62641         * modules/floorf-tests (Depends-on): Remove 'signbit'.
62642         * doc/posix-functions/floorf.texi: Mention the new module.
62644 2010-12-21  Bruno Haible  <bruno@clisp.org>
62646         Support for minus zero in autoconf macros.
62647         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
62648         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
62649         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
62650         * tests/minus-zero.h: Update comments.
62652 2010-12-21  Bruno Haible  <bruno@clisp.org>
62654         Tests for module 'ceil'.
62655         * modules/ceil-tests: New file.
62656         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
62657         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
62659 2010-12-21  Bruno Haible  <bruno@clisp.org>
62661         Tests for module 'floor'.
62662         * modules/floor-tests: New file.
62663         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
62664         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
62666 2010-12-21  Bruno Haible  <bruno@clisp.org>
62668         math: Fix indentation.
62669         * lib/math.in.h (floorf): Fix indentation.
62671 2010-12-21  Bruno Haible  <bruno@clisp.org>
62673         Fix cross-compilation guesses on Solaris.
62674         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
62675         not match "solaris2.10".
62676         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
62677         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
62678         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
62680 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
62682         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
62683         This fixes a problem observed with the latest coreutils snapshot
62684         that caused a test to fail on Solaris 8.  src/csplit.c's call
62685         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
62686         earlier, instead of returning the number of bytes that would have
62687         been generated; this causes csplit to incorrectly report memory
62688         exhaustion.
62689         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
62690         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
62691         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
62692         comments to match.
62693         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
62694         Fix typo in matching older versions of Solaris: "solaris2.10"
62695         is matched by the shell pattern "solaris2.[0-9]*".  This matters
62696         only for guessing while cross-compiling.
62697         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
62699 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
62701         ftoastr: fix comment again
62702         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
62703         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
62704         Also, simplify example a bit by using flags = 0.
62706 2010-12-20  Bruno Haible  <bruno@clisp.org>
62708         round*, trunc*: Update documentation regarding glibc.
62709         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
62710         * doc/posix-functions/round.texi: Likewise.
62711         * doc/posix-functions/roundl.texi: Likewise.
62712         * doc/posix-functions/truncf.texi: Likewise.
62713         * doc/posix-functions/trunc.texi: Likewise.
62714         * doc/posix-functions/truncl.texi: Likewise.
62716 2010-12-20  Bruno Haible  <bruno@clisp.org>
62718         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
62719         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
62720         * doc/posix-functions/round.texi: Likewise.
62721         * doc/posix-functions/roundl.texi: Likewise.
62723 2010-12-20  Bruno Haible  <bruno@clisp.org>
62725         ttyname_r: Add missing declaration on HP-UX 11.
62726         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
62727         HAVE_TTYNAME_R.
62728         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
62729         declared. Set HAVE_TTYNAME_R always.
62730         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62731         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
62732         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
62733         HAVE_TTYNAME_R.
62734         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
62736 2010-12-20  Bruno Haible  <bruno@clisp.org>
62738         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
62739         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
62740         * doc/posix-functions/getlogin_r.texi: Likewise.
62741         * tests/test-getlogin.c: Include <errno.h>.
62742         (main): Avoid test failure on HP-UX 11.11.
62743         * tests/test-getlogin_r.c (main): Likewise.
62745 2010-12-20  Bruno Haible  <bruno@clisp.org>
62747         getlogin_r: Add missing declaration on HP-UX 11.
62748         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
62749         declared also when it exists as a function.
62750         * doc/posix-functions/getlogin_r.texi: Document this workaround.
62752 2010-12-20  Bruno Haible  <bruno@clisp.org>
62754         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
62755         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
62756         through wcrtomb.
62758 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
62760         ftoastr: fix comment
62761         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
62762         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
62764 2010-12-19  Bruno Haible  <bruno@clisp.org>
62766         isnan: Ensure it is a macro.
62767         * lib/math.in.h (isnan): Define as a macro if not already a macro.
62768         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
62769         Solaris.
62771 2010-12-19  Bruno Haible  <bruno@clisp.org>
62773         ldexpl test: Fix link error on OSF/1 5.1.
62774         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
62776 2010-12-19  Bruno Haible  <bruno@clisp.org>
62778         wctype: Make it work in C++ mode on OSF/1 5.1.
62779         * lib/wctype.in.h (iswblank): Declare but not define here.
62780         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
62781         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
62782         * modules/wctype (Files): Add lib/iswblank.c.
62784 2010-12-19  Bruno Haible  <bruno@clisp.org>
62786         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
62787         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
62788         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
62790 2010-12-19  Bruno Haible  <bruno@clisp.org>
62792         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
62793         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
62794         _POSIX_PII_SOCKET.
62795         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
62796         * doc/posix-functions/recvfrom.texi: Likewise.
62797         * doc/posix-functions/send.texi: Likewise.
62798         * doc/posix-functions/sendto.texi: Likewise.
62800 2010-12-19  Bruno Haible  <bruno@clisp.org>
62802         tcgetsid: Add missing declaration on OSF/1 5.1.
62803         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
62804         HAVE_TCGETSID.
62805         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
62806         Don't set HAVE_TCGETSID.
62807         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
62808         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
62809         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
62810         HAVE_TCGETSID.
62811         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
62813 2010-12-19  Bruno Haible  <bruno@clisp.org>
62815         stdio: Fix problem with popen() declaration on OSF/1 5.1.
62816         * lib/stdio.in.h: During the include_next statement, let recursive
62817         includes of this file include only the system header file.
62819 2010-12-19  Bruno Haible  <bruno@clisp.org>
62821         iconv_open: Fix regression from 2010-12-04.
62822         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
62823         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
62825 2010-12-19  Bruno Haible  <bruno@clisp.org>
62827         stdbool test: Avoid a gcc warning.
62828         * tests/test-stdbool.c (main): Fail if e1 is false.
62829         Reported by Jim Meyering.
62831 2010-12-19  Jim Meyering  <meyering@redhat.com>
62833         setenv: restore to working order
62834         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
62835         mistakenly removed.
62836         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
62837         HAVE_SETENV.
62838         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
62839         HAVE_SETENV.
62841 2010-12-19  Bruno Haible  <bruno@clisp.org>
62843         Document some different function declarations on OSF/1 5.1.
62844         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
62845         * doc/posix-functions/inet_ntop.texi: Likewise.
62846         * doc/posix-functions/gethostname.texi: Likewise.
62847         * lib/unistd.in.h (gethostname): Update comment.
62849 2010-12-19  Bruno Haible  <bruno@clisp.org>
62851         doc: Mention vasprintf-posix module.
62852         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
62853         the 'vasprintf-posix' module.
62854         * doc/glibc-functions/vasprintf.texi: Likewise.
62856 2010-12-19  Bruno Haible  <bruno@clisp.org>
62858         unsetenv: Add missing declaration on OSF/1 5.1.
62859         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
62860         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
62861         Don't set HAVE_UNSETENV. In the test program, set _BSD.
62862         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
62863         not HAVE_UNSETENV.
62864         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
62865         HAVE_UNSETENV.
62866         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
62868 2010-12-19  Bruno Haible  <bruno@clisp.org>
62870         setenv: Add missing declaration on OSF/1 5.1.
62871         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
62872         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
62873         declared. Don't set HAVE_SETENV.
62874         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
62875         not HAVE_SETENV.
62876         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
62877         HAVE_SETENV.
62878         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
62880 2010-12-19  Bruno Haible  <bruno@clisp.org>
62882         nl_langinfo tests: Avoid gcc warning.
62883         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
62885 2010-12-19  Bruno Haible  <bruno@clisp.org>
62887         mknod: Avoid error in C++ mode on OSF/1 with GCC.
62888         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
62889         _GL_CXXALIAS_SYS.
62891 2010-12-19  Bruno Haible  <bruno@clisp.org>
62893         stdbool: Relax test.
62894         * tests/test-stdbool.c (e): Don't require that casts from a variable's
62895         address to 'bool' work in static initializer, for compilers other than
62896         GCC.
62898 2010-12-19  Bruno Haible  <bruno@clisp.org>
62900         ftello: Add missing declaration on OSF/1 5.1.
62901         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
62902         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
62903         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
62904         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
62905         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
62907 2010-12-19  Bruno Haible  <bruno@clisp.org>
62909         fseeko: Add missing declaration on OSF/1 5.1.
62910         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
62911         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
62912         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
62913         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
62914         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
62916 2010-12-19  Bruno Haible  <bruno@clisp.org>
62918         fchdir: Add missing declaration on OSF/1 5.1.
62919         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
62920         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
62921         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
62922         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
62923         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
62925 2010-12-19  Bruno Haible  <bruno@clisp.org>
62927         relocatable-prog-wrapper: Separate from relocatable-prog.
62928         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
62929         uninstall-relocwrapper rule here.
62930         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
62931         Reported by Ian Beckwith <ianb@erislabs.net>.
62933 2010-12-19  Bruno Haible  <bruno@clisp.org>
62935         unistr/u8-mbsnlen: Add missing dependency.
62936         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
62937         Reported by Ian Beckwith <ianb@erislabs.net>.
62939 2010-12-19  Bruno Haible  <bruno@clisp.org>
62941         iconv: Make it possible again to use this module without 'iconv-h'.
62942         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
62943         if it is not defined.
62944         Reported by Ian Beckwith <ianb@erislabs.net>.
62946 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62948         acl: port to Solaris 8 when copying from tmpfs to ufs
62949         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
62950         error number.  Problem observed on Solaris 8 with latest
62951         coreutils, with "mv A B", where A is on a tmpfs file system and B
62952         is on a ufs file system.  This caused coreutils' mv/part-symlink
62953         test to fail.
62955         tests: set fail=0 at start
62956         * tests/init.sh (setup_): Move fail=0 initialization here ...
62957         (mktempd_): ... from here, so that tests can rely on fail being
62958         set to 0 initially.  This fixes a problem in coreutils; see:
62959         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
62961 2010-12-18  Bruno Haible  <bruno@clisp.org>
62963         memmem-simple: Stylistic changes.
62964         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
62965         Fix preprocessor directive indentation.
62967 2010-12-15  Pádraig Brady  <P@draigBrady.com>
62969         memmem, memmem-simple: reorganize and expand empty needle check
62970         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
62971         functional checks to memmem-simple so that one has a fully functional
62972         memmem by using just this module.
62973         Restrict the performance only check to the memmem module.
62974         Also expand the empty needle check to ensure the correct
62975         pointer is returned, not just a non NULL pointer.
62976         * doc/glibc-functions/memmem.texi: Rearrange the portability
62977         documentation to correlate with the rearranged checks.
62978         Clarify exactly how the memmem and memmem-simple modules
62979         relate to each other.
62981 2010-12-15  Pádraig Brady  <P@draigBrady.com>
62982             Bruno Haible  <bruno@clisp.org>
62984         Improve cross-compilation guesses for uClibc.
62985         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
62986         that uClibc does not have the glibc bug.
62987         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
62988         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
62990 2010-12-14  Eric Blake  <eblake@redhat.com>
62992         configmake: provide fallbacks for oldest supported autotools
62993         * m4/configmake.m4: New file.
62994         * modules/configmake (Files): Ship it.
62995         (configure.ac): Use it to guarantee fallbacks.
62997 2010-12-13  Pádraig Brady  <P@draigBrady.com>
62999         read-file: Improve handling of large files
63000         * lib/read-file.c (fread_file): Minimize realloc()s
63001         for regular files, and better manage sizes around SIZE_MAX.
63003 2010-12-13  Eric Blake  <eblake@redhat.com>
63005         cloexec, fcntl: relax license
63006         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
63007         consent from all contributors.
63008         * modules/fcntl (License): Likewise.
63010 2010-12-10  Bruno Haible  <bruno@clisp.org>
63012         Tests for module 'pipe-posix'.
63013         * modules/pipe-posix-tests: New file.
63014         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
63016 2010-12-10  Bruno Haible  <bruno@clisp.org>
63018         pipe-posix: Make it work in C++ mode.
63019         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
63020         (pipe): Use common idiom, not a macro definition.
63021         * lib/pipe.c: New file.
63022         * m4/pipe.m4: New file.
63023         * modules/pipe-posix (Description): Enhance.
63024         (Files): Add lib/pipe.c, m4/pipe.m4.
63025         (configure.ac): Invoke gl_FUNC_PIPE.
63026         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
63027         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
63028         * tests/test-unistd-c++.cc: Check the signature of pipe.
63030 2010-12-10  Bruno Haible  <bruno@clisp.org>
63032         Rename module 'pipe' to 'spawn-pipe'.
63033         * modules/spawn-pipe: New file, renamed from modules/pipe.
63034         (Files, configure.ac, Makefile.am): Update.
63035         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
63036         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
63037         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
63038         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
63039         "spawn-pipe.h" instead of "pipe.h".
63040         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
63041         to gl_SPAWN_PIPE.
63042         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
63043         (Files, Makefile.am): Update.
63044         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
63045         Update.
63046         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
63047         Include "spawn-pipe.h" instead of "pipe.h".
63048         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
63049         * lib/javacomp.c: Likewise.
63050         * lib/javaversion.c: Likewise.
63051         * lib/pipe-filter-gi.c: Likewise.
63052         * lib/pipe-filter-ii.c: Likewise.
63053         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
63054         * modules/javacomp (Depends-on): Likewise.
63055         * modules/javaversion (Depends-on): Likewise.
63056         * modules/pipe-filter-gi (Depends-on): Likewise.
63057         * modules/pipe-filter-ii (Depends-on): Likewise.
63058         * MODULES.html.sh (Executing programs): Update.
63059         * NEWS: Mention the change.
63061 2010-12-10  Eric Blake  <eblake@redhat.com>
63063         pipe-posix: new module
63064         * modules/pipe-posix: New file.
63065         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
63066         (gl_UNISTD_H): Check for declaration.
63067         * modules/unistd (Makefile.am): Substitute it.
63068         * lib/unistd.in.h (pipe): Provide it for mingw.
63069         * doc/posix-functions/pipe.texi (pipe): Update documentation.
63070         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
63072 2010-12-07  Bruno Haible  <bruno@clisp.org>
63074         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
63075         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
63076         u8_strcmp_gnu.
63077         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
63079 2010-12-06  Bruno Haible  <bruno@clisp.org>
63081         Update internal documentation.
63082         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
63084 2010-12-04  Bruno Haible  <bruno@clisp.org>
63086         Put more information about failed tests into the test return codes.
63087         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
63088         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
63089         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
63090         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
63091         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
63092         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63093         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63094         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
63095         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
63096         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63097         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
63098         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
63099         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
63100         * m4/stdint.m4 (gl_STDINT_H): Likewise.
63101         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
63102         returns a bit mask.
63103         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
63104         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
63105         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
63106         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
63107         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
63108         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
63109         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
63110         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
63111         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
63112         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
63113         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
63114         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
63115         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
63116         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
63117         * m4/link.m4 (gl_FUNC_LINK): Likewise.
63118         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
63119         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
63120         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
63121         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
63122         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
63123         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
63124         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
63125         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
63126         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
63127         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
63128         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
63129         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
63130         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
63131         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
63132         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
63133         gl_PRINTF_PRECISION): Likewise.
63134         * m4/regex.m4 (gl_REGEX): Likewise.
63135         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
63136         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
63137         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
63138         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
63139         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63140         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63141         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
63142         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
63143         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
63144         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63145         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
63146         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
63147         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
63148         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
63149         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
63150         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
63151         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
63152         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
63153         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
63154         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
63155         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
63156         enumerated value.
63157         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
63159 2010-12-04  Bruno Haible  <bruno@clisp.org>
63161         Update for Solaris 11 2010-11.
63162         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
63163         Express, released in November 2010.
63165 2010-12-04  Bruno Haible  <bruno@clisp.org>
63167         nproc: Relax license.
63168         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
63169         and Paul Eggert.
63170         Requested by Ludovic Courtès <ludo@gnu.org>.
63172 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
63174         utimecmp: fine-grained src to nearby coarse-grained dest
63176         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
63177         and the source is on a file system with higher-resolution time
63178         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
63179         not work, and the time stamps are close together, the algorithm to
63180         determine the exact resolution from the read-back mtime was buggy:
63181         it had a "!=" where it should have had an "==".  This bug has been
63182         in the code ever since it was introduced to gnulib.
63183         Problem reported by Dan Jacobson in
63184         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
63186 2010-11-30  Bruno Haible  <bruno@clisp.org>
63188         strerror_r-posix: Fix autoconf test.
63189         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
63191 2010-11-28  Bruno Haible  <bruno@clisp.org>
63192             Paul Eggert  <eggert@cs.ucla.edu>
63194         Tests for module 'getdomainname'.
63195         * modules/getdomainname-tests: New file.
63196         * tests/test-getdomainname.c: New file, based on
63197         tests/test-gethostname.c.
63199 2010-11-28  Bruno Haible  <bruno@clisp.org>
63200             Paul Eggert  <eggert@cs.ucla.edu>
63202         getdomainname: Use the system function when possible.
63203         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
63204         (getdomainname): Replace if needed. Provide the declaration if it is
63205         missing. Don't use _GL_CXXALIAS_SYS_CAST.
63206         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
63207         (getdomainname): When the system has getdomainname, call the system
63208         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
63209         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
63210         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
63211         found in libnsl. Look for the declaration also in <netdb.h>. Replace
63212         the function if its second argument is of type 'int' or if it is found
63213         in libnsl.
63214         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
63215         <sys/systeminfo.h> and sysinfo().
63216         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
63217         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63218         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
63219         HAVE_GETDOMAINNAME.
63220         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
63221         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
63222         * doc/glibc-functions/getdomainname.texi: Document the problems with
63223         the getdomainname declaration.
63225 2010-11-28  Bruno Haible  <bruno@clisp.org>
63227         sys_socket: Ensure ss_family field on AIX.
63228         * lib/sys_socket.in.h (ss_family): New macro definition.
63229         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
63230         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
63231         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
63232         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
63233         * modules/sys_socket (Makefile.am): Substitute
63234         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
63235         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
63237 2010-11-27  Bruno Haible  <bruno@clisp.org>
63239         readline: Improve configure output.
63240         * m4/readline.m4 (gl_FUNC_READLINE): Make the
63241         "checking for readline..." result understandable.
63243 2010-11-27  Bruno Haible  <bruno@clisp.org>
63245         *printf-posix: Detect a bug on Solaris 10/x86.
63246         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
63247         for floating-point output.
63248         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
63249         directive.
63250         * tests/test-snprintf-posix.h (test_function): Likewise.
63251         * tests/test-sprintf-posix.h (test_function): Likewise.
63252         * tests/test-vasprintf-posix.c (test_function): Likewise.
63253         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
63254         * doc/posix-functions/printf.texi: Likewise.
63255         * doc/posix-functions/snprintf.texi: Likewise.
63256         * doc/posix-functions/sprintf.texi: Likewise.
63257         * doc/posix-functions/vfprintf.texi: Likewise.
63258         * doc/posix-functions/vprintf.texi: Likewise.
63259         * doc/posix-functions/vsnprintf.texi: Likewise.
63260         * doc/posix-functions/vsprintf.texi: Likewise.
63261         * doc/glibc-functions/obstack_printf.texi: Likewise.
63262         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
63264 2010-11-27  Bruno Haible  <bruno@clisp.org>
63266         Fix link error when module libunistring-optional is in use.
63267         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
63268         * modules/striconveha-tests (Makefile.am): Likewise.
63270 2010-11-27  Bruno Haible  <bruno@clisp.org>
63272         regex: Mention link dependencies.
63273         * modules/regex (Link): New section.
63274         * modules/rpmatch (Link): Likewise.
63275         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
63277 2010-11-27  Bruno Haible  <bruno@clisp.org>
63279         ftoastr: Fix compilation error on Solaris.
63280         * lib/ftoastr.c: Include <config.h>.
63282 2010-11-27  Bruno Haible  <bruno@clisp.org>
63284         getloadavg: Update documentation.
63285         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
63287 2010-11-27  Bruno Haible  <bruno@clisp.org>
63289         sys_socket: Fix test whether the functions are declared.
63290         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
63291         not <sys/select.h>.
63293 2010-11-27  Bruno Haible  <bruno@clisp.org>
63295         getpass: Make sure to get system declaration on some platforms.
63296         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
63297         gl_USE_SYSTEM_EXTENSIONS.
63298         * modules/getpass (Depends-on): Add extensions.
63300 2010-11-26  Bruno Haible  <bruno@clisp.org>
63302         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
63303         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
63304         'iconv' module is present.
63305         (ICONV_CONST): New macro.
63306         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
63307         ICONV_CONST.
63308         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
63309         set ICONV_CONST.
63310         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
63311         here.
63312         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
63313         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
63314         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
63315         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
63316         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
63317         present.
63319 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
63321         ftoastr: comment fix
63322         * lib/ftoastr.c: "little" -> "little or no" in comment
63324 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
63326         stdint: port to GCC 4.3 + OSX + Octave
63327         On this platform, stdint.h is buggy and defines int64_t to long
63328         long int.  The replacement defined it to long int, causing
63329         problems with C++ style name mangling.  Instead, trust the system
63330         definition if INT64_MAX is defined, and likewise for the unsigned
63331         variant.   Problem reported by Jarno Rajahalme in
63332         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
63333         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
63334         and don't mess with int64_t and INT64_MAX in this case.
63335         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
63337 2010-11-24  Bruno Haible  <bruno@clisp.org>
63339         doc: Corrections regarding MacOS X 10.4 and 10.5.
63340         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
63341         MacOS X.
63342         Reported by Simon Josefsson.
63344 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
63346         Uninstall ".bin" files installed by relocwrapper.
63347         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
63348         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
63349         unless it is already there.
63351 2010-11-21  Bruno Haible  <bruno@clisp.org>
63353         Update for NetBSD 5.0.
63354         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
63355         NetBSD; the test fails on NetBSD 5.0.
63356         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
63357         about NetBSD.
63359 2010-11-21  Bruno Haible  <bruno@clisp.org>
63361         Update for HP-UX 11.23 and HP-UX 11.31.
63362         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
63363         HP-UX.
63365 2010-11-21  Bruno Haible  <bruno@clisp.org>
63367         Update for MacOS X 10.5.
63368         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
63369         MacOS X; the test fails on MacOS X 10.5.8.
63370         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
63371         about MacOS X.
63373 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
63375         bootstrap: add bootstrap_sync option.
63376         See discussion at
63377         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
63378         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
63379         * build-aux/bootstrap: Accept --bootstrap-sync to update
63380         bootstrap if it is not identical to the local gnulib's
63381         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
63382         enable this by default.  Accept --no-bootstrap-sync to disable
63383         it.
63385 2010-11-20  Bruno Haible  <bruno@clisp.org>
63387         Ensure that <features.h> is included before __GLIBC__ is tested.
63388         * lib/printf-parse.h: Include <features.h>.
63389         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
63390         Reported by Mike Frysinger <vapier@gentoo.org>.
63392         Ensure that <features.h> is included before __GLIBC__ is tested.
63393         * lib/wchar.in.h: Include <features.h>.
63394         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
63395         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
63396         Reported by Mike Frysinger <vapier@gentoo.org>.
63398         Ensure that <features.h> is included before __GLIBC__ is tested.
63399         * lib/arpa_inet.in.h: Include <features.h>.
63400         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
63401         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
63402         Reported by Mike Frysinger <vapier@gentoo.org>.
63404         Ensure that <features.h> is included before __GLIBC__ is tested.
63405         * build-aux/link-warning.h: Include <features.h>.
63406         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
63407         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
63408         Reported by Mike Frysinger <vapier@gentoo.org>.
63410         Ensure that <features.h> is included before __GLIBC__ is tested.
63411         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
63412         Reported by Mike Frysinger <vapier@gentoo.org>.
63414 2010-11-20  Bruno Haible  <bruno@clisp.org>
63416         memmem: Fix autoconf test.
63417         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
63419 2010-11-20  Bruno Haible  <bruno@clisp.org>
63421         Port to uClibc.
63422         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
63423         * lib/fcntl.in.h: Likewise.
63424         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
63425         * lib/mbrtowc.c (mbrtowc): Likewise.
63426         * lib/relocatable.c (find_shared_library_fullname): Likewise.
63427         * lib/strerror_r.c: Likewise.
63428         * lib/unistr/u8-strnlen.c: Likewise.
63429         * lib/vasnprintf.c (decimal_point_char): Likewise.
63430         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
63431         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
63432         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
63433         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
63434         * tests/test-sigaction.c (handler, main): Likewise.
63435         * lib/freading.h: Treat uClibc like a non-glibc platform.
63436         * lib/freading.c: Likewise.
63437         * lib/gettext.h: Likewise.
63438         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
63439         Likewise.
63440         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
63441         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
63442         * lib/propername.c (proper_name_utf8): Likewise.
63443         * lib/spawn.in.h: Likewise.
63444         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
63445         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
63446         mem_cd_iconveh_internal): Likewise.
63447         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
63448         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
63449         strstr, strcasestr): Likewise.
63450         * lib/unicodeio.c (unicode_to_mb): Likewise.
63451         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
63452         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
63453         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
63454         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
63455         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
63456         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
63457         * lib/unistr/u8-stpncpy.c: Likewise.
63458         * lib/vasnprintf.c (VASNPRINTF): Likewise.
63459         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
63460         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63461         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63462         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
63463         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
63464         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
63465         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
63466         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
63467         Likewise.
63468         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
63469         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63470         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
63471         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
63472         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
63473         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
63474         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
63475         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
63476         * tests/test-getopt.h (OPTIND_MIN): Likewise.
63477         * tests/test-striconveha.c (main): Likewise.
63478         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63479         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
63480         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
63481         * doc/posix-functions/getline.texi: Likewise.
63482         Reported by Mike Frysinger <vapier@gentoo.org>.
63484 2010-11-20  Bruno Haible  <bruno@clisp.org>
63486         nproc: Fix condition.
63487         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
63488         HAVE_PTHREAD_AFFINITY_NP.
63490 2010-11-20  Bruno Haible  <bruno@clisp.org>
63492         Fix a comment.
63493         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
63495 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
63497         ftoastr: don't assume snprintf
63498         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
63499         Implement a subset of snprintf here, by using sprintf safely.
63500         * modules/ftoastr (Depends-on): Remove snprintf.
63502 2010-11-19  Jim Meyering  <meyering@redhat.com>
63504         test-rename.h: fix compilation failure
63505         * tests/test-rename.h (test_rename): Add omitted "}".
63507 2010-11-17  Jim Meyering  <meyering@redhat.com>
63509         maint.mk: add a URL discussing the no-@acronym policy
63510         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
63512 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
63514         ftoastr: depend on snprintf, improve comments
63515         * lib/ftoastr.c: Also mention Loitsch's draft.
63516         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
63517         needed in the current implementation, but it might simplify
63518         speeding up the code later.
63519         * modules/ftoastr: Depend on snprintf; this improves portability.
63520         Suggested by Bruno Haible in the same email.
63522         ftoastr: port to hosts lacking strtof and strtold
63523         Problem reported by Bruno Haible in
63524         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
63525         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
63526         environment and strtold (and presumably strtof) are not available.
63527         * modules/ftoastr (Files): Add m4/c-strtod.m4.
63528         (configure.ac): Require gl_C99_STRTOLD.
63530 2010-11-18  Bruno Haible  <bruno@clisp.org>
63532         c-strtold: Avoid link error on AIX 7.
63533         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
63534         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
63535         (gl_C_STRTOLD): Test whether strtold_l exists.
63536         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
63538 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
63540         intprops: new macro INT_BITS_STRLEN_BOUND
63541         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
63542         ftoastr.h.  This exposes an internal of intprops.h that was formerly
63543         not exposed.  Also, it uses a slightly tighter bound than before;
63544         though this makes no practical difference, we might as well be as
63545         tight as we easily can.
63547         ftoastr: new module, for lossless conversion of floats to short strings
63548         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
63549         * modules/ftoastr: New files.
63551 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63553         bootstrap: port to Solaris sed
63554         * build-aux/bootstrap (get_version): Port to Solaris sed.
63555         See Ralf Wildenhues's note in
63556         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
63558 2010-11-14  Jim Meyering  <meyering@redhat.com>
63560         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
63561         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
63562         and move definition closer to sole use.
63564 2010-11-13  Jim Meyering  <meyering@redhat.com>
63566         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
63567         Now we require at least autoconf-2.59, which means the work-around
63568         is no longer needed.
63569         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
63570         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
63571         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
63572         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
63573         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
63575 2010-11-13  Bruno Haible  <bruno@clisp.org>
63577         rename, renameat: Avoid test failures at NFS mounted locations.
63578         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
63579         functions.
63580         (test_rename): Use assert_nonexistent.
63581         * tests/test-rename.c: Include <dirent.h>.
63582         * tests/test-renameat.c: Likewise.
63583         Reported by Gary V. Vaughan <gary@gnu.org>.
63585         rename, renameat: Document Linux bug with NFS
63586         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
63587         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
63588         * doc/posix-functions/renameat.texi: Likewise.
63589         Suggested by Eric Blake.
63591 2010-11-13  Bruno Haible  <bruno@clisp.org>
63593         rename test: Add comments.
63594         * tests/test-rename.h (test_rename): Add structure and comments.
63596 2010-11-13  Eric Blake  <eblake@redhat.com>
63598         maintainer-makefile: cover a few more files
63599         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
63600         scripts generated within C files, for libvirt.
63602 2010-11-13  Bruno Haible  <bruno@clisp.org>
63604         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
63605         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
63606         character, return the number of bytes that belong together, not always
63607         1.
63608         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
63609         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
63610         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
63611         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
63612         number of bytes of an invalid character.
63613         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
63614         (main): Invoke it.
63615         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
63616         results.
63617         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
63618         malformed byte sequences.
63619         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
63620         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
63621         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
63622         Reported by Ben Pfaff and Paolo Bonzini.
63624 2010-11-13  Bruno Haible  <bruno@clisp.org>
63626         openat: Work around glibc bug with fchownat() and empty file names.
63627         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
63628         (gl_FUNC_FCHOWNAT): Invoke it.
63629         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
63630         * doc/posix-functions/fchownat.texi: Document the glibc bug.
63631         Reported by Gary V. Vaughan <gary@gnu.org>.
63633 2010-11-13  Bruno Haible  <bruno@clisp.org>
63635         openat: Ensure autoconf macro ordering.
63636         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
63637         gl_USE_SYSTEM_EXTENSIONS.
63638         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
63640 2010-11-13  Bruno Haible  <bruno@clisp.org>
63642         Update comments.
63643         * lib/unistr/u8-check.c: Update file name in comments.
63644         * lib/unistr/u8-mblen.c: Likewise.
63645         * lib/unistr/u8-prev.c: Likewise.
63646         * lib/unistr/u8-strmblen.c: Likewise.
63647         * lib/unistr/u8-strmbtouc.c: Likewise.
63649 2010-11-13  Jim Meyering  <meyering@redhat.com>
63651         tests: avoid test failure on Solaris 10 due to lack of PATH export
63652         * tests/test-update-copyright.sh: Don't forget to export PATH.
63654         init.sh: ensure that IFS is defined, just in case...
63655         * tests/init.sh (setup_): Ensure that IFS is defined,
63656         so that saving and restoring it works as expected.  This
63657         appears to be useful at least for an old version of dash
63658         from a long time ago (RH 6).  See here for details:
63659         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
63661         maint.mk: tighten "test a == b" check
63662         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
63663         test to files that contain something like #!/bin/sh.
63664         Without this, coreutils would get two false positives in
63665         the comments of C source files.
63667 2010-11-12  Eric Blake  <eblake@redhat.com>
63669         bootstrap: fix typo in previous attempt
63670         * build-aux/bootstrap (buildreq): Correct the grouping.
63671         Reported by Paul Eggert.
63673         maintainer-makefile: prohibit test x == x
63674         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
63675         Based on a report by Matthias Bolte.
63677         bootstrap: allow FreeBSD gzip
63678         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
63679         which has no '.' and goes to stderr.
63680         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
63681         Reported by Matthias Bolte.
63683         maintainer-makefile: check for i18n setup
63684         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
63685         will likely work.
63687 2010-11-12  Bruno Haible  <bruno@clisp.org>
63689         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
63690         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
63691         * lib/nanosleep.c (nanosleep): Likewise.
63693 2010-11-11  Bruno Haible  <bruno@clisp.org>
63695         fcntl-h: Fix for use of C++ on glibc systems.
63696         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
63697         also on glibc systems in C++ mode.
63698         Reported by Gary V. Vaughan <gary@gnu.org>.
63700 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
63702         mknod: avoid false failure with dash
63703         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
63705 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
63707         unlink: Fix "is it should" typo in diagnostic.
63708         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
63709         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
63711 2010-11-11  Bruno Haible  <bruno@clisp.org>
63713         Tests for module 'strerror_r-posix'.
63714         * modules/strerror_r-posix-tests: New file.
63715         * tests/test-strerror_r.c: New file.
63716         * tests/test-string-c++.cc: Check the signature of strerror_r.
63718         New module 'strerror_r-posix'.
63719         * lib/string.in.h (strerror_r): New declaration.
63720         * lib/strerror_r.c: New file.
63721         * m4/strerror_r.m4: New file.
63722         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
63723         of strerror_r.
63724         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
63725         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
63726         * modules/strerror_r-posix: New file.
63727         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
63728         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
63729         * doc/posix-functions/strerror_r.texi: Mention the new module and the
63730         portability problems.
63732 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
63734         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
63735         line is also considered for output. Quoted function name in shell
63736         command, so temporary files for functions like MyClass::operator()
63737         are removed correctly without errors.
63739 2010-11-09  Bruno Haible  <bruno@clisp.org>
63741         * doc/posix-functions/strerror.texi: List more failing platforms.
63743         * doc/posix-functions/strerror.texi: Add a comment.
63745 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
63747         fdopendir: fix bug on MacOS X when low on file descriptors
63749         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
63750         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
63751         All callers changed.
63752         (fdopendir): Invoke save_cwd at the top level, not after using
63753         multiple dup() calls to use up file descriptors.  Then retry
63754         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
63755         less than the maximum number of open file descriptors, because
63756         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
63757         on Mac OS X 10.6.4 for tar 1.24
63758         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
63759         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
63760         and for tar 1.25
63761         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
63763 2010-11-07  Bruno Haible  <bruno@clisp.org>
63765         vasnprintf: Support I flag on glibc systems.
63766         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
63767         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
63768         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
63769         snprintf function.
63770         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
63771         glibc systems.
63772         * tests/test-vasnprintf-posix3.c: New file.
63773         * modules/vasnprintf-posix-tests (Files): Add it.
63774         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
63776 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
63778         [html] Fix copy/paste bug: Use unique name for compiler warnings.
63779         * MODULES.html.sh: For compiler warnings, use name
63780         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
63782 2010-11-05  Eric Blake  <eblake@redhat.com>
63784         ceil, floor: avoid spurious failure with icc
63785         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
63786         [denormals-as-zero] when optimizing without -mieee-fp option.
63787         * tests/test-floorf2.c (floorf_reference): Likewise.
63788         * tests/test-ceilf1.c (dummy): New function.
63789         (main): Use it to outsmart icc's optimization.
63790         * tests/test-floorf1.c (dummy, main): Likewise.
63792         tests: require working signbit
63793         * modules/ceilf-tests (Depends-on): Add signbit.
63794         * modules/ceill-tests (Depends-on): Likewise.
63795         * modules/floorf-tests (Depends-on): Likewise.
63796         * modules/floorl-tests (Depends-on): Likewise.
63797         * modules/round-tests (Depends-on): Likewise.
63798         * modules/roundf-tests (Depends-on): Likewise.
63799         * modules/roundl-tests (Depends-on): Likewise.
63800         * modules/trunc-tests (Depends-on): Likewise.
63801         * modules/truncf-tests (Depends-on): Likewise.
63802         * modules/truncl-tests (Depends-on): Likewise.
63804         strtod: work around icc bug
63805         * lib/strtod.c (minus_zero): Define to working value.
63806         (strtod): Use it to avoid icc bug.
63808         copysign: enhance tests
63809         * modules/copysign-tests (Files): Add minus-zero.h.
63810         * tests/test-copysign.c (main): Also test zeros.
63812 2010-11-04  Eric Blake  <eblake@redhat.com>
63814         ceil, floor, round, trunc: enhance tests of -0
63815         * tests/test-ceilf1.c (main): Ensure correct sign of result.
63816         * tests/test-ceill.c (main): Likewise.
63817         * tests/test-floorf1.c (main): Likewise.
63818         * tests/test-floorl.c (main): Likewise.
63819         * tests/test-round1.c (main): Likewise.
63820         * tests/test-roundf1.c (main): Likewise.
63821         * tests/test-roundl.c (main): Likewise.
63822         * tests/test-trunc1.c (main): Likewise.
63823         * tests/test-truncf1.c (main): Likewise.
63824         * tests/test-truncl.c (main): Likewise.
63826 2010-11-04  Eric Blake  <eblake@redhat.com>
63828         frexp, tests: work around ICC bug with -zero
63829         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
63830         works with more compilers.
63831         * tests/minus-zero.h: New file.
63832         * modules/ceilf-tests (Files): Include it.
63833         * modules/ceill-tests (Files): Likewise.
63834         * modules/floorf-tests (Files): Likewise.
63835         * modules/floorl-tests (Files): Likewise.
63836         * modules/frexp-nolibm-tests (Files): Likewise.
63837         * modules/frexp-tests (Files): Likewise.
63838         * modules/frexpl-nolibm-tests (Files): Likewise.
63839         * modules/frexpl-tests (Files): Likewise.
63840         * modules/isnan-tests (Files): Likewise.
63841         * modules/isnand-nolibm-tests (Files): Likewise.
63842         * modules/isnand-tests (Files): Likewise.
63843         * modules/isnanf-nolibm-tests (Files): Likewise.
63844         * modules/isnanf-tests (Files): Likewise.
63845         * modules/isnanl-nolibm-tests (Files): Likewise.
63846         * modules/isnanl-tests (Files): Likewise.
63847         * modules/round-tests (Files): Likewise.
63848         * modules/roundf-tests (Files): Likewise.
63849         * modules/roundl-tests (Files): Likewise.
63850         * modules/ldexpl-tests (Files): Likewise.
63851         * modules/signbit-tests (Files): Likewise.
63852         * modules/snprintf-posix-tests (Files): Likewise.
63853         * modules/sprintf-posix-tests (Files): Likewise.
63854         * modules/strtod-tests (Files): Likewise.
63855         * modules/trunc-tests (Files): Likewise.
63856         * modules/truncf-tests (Files): Likewise.
63857         * modules/truncl-tests (Files): Likewise.
63858         * modules/vsnprintf-posix-tests (Files): Likewise.
63859         * modules/vsprintf-posix-tests (Files): Likewise.
63860         * modules/vasnprintf-posix-tests (Files): Likewise.
63861         * modules/vasprintf-posix-tests (Files): Likewise.
63862         * tests/test-ceilf1.c (main): Use it.
63863         * tests/test-ceill.c (main): Likewise.
63864         * tests/test-floorf1.c (main): Likewise.
63865         * tests/test-floorl.c (main): Likewise.
63866         * tests/test-frexp.c (main): Likewise.
63867         * tests/test-frexpl.c (main): Likewise.
63868         * tests/test-isnan.c (main): Likewise.
63869         * tests/test-isnand.h (main): Likewise.
63870         * tests/test-isnanf.h (main): Likewise.
63871         * tests/test-isnanl.h (main): Likewise.
63872         * tests/test-ldexpl.c (main): Likewise.
63873         * tests/test-round.c (main): Likewise.
63874         * tests/test-roundf.c (main): Likewise.
63875         * tests/test-roundl.c (main): Likewise.
63876         * tests/test-signbit.c (test_signbitf, test_signbitd)
63877         (test_signbitl): Likewise.
63878         * tests/test-snprintf-posix.h (test_function): Likewise.
63879         * tests/test-sprintf-posix.h (test_function): Likewise.
63880         * tests/test-strtod.c (main): Likewise.
63881         * tests/test-trunc1.c (main): Likewise.
63882         * tests/test-truncf1.c (main): Likewise.
63883         * tests/test-truncl.c (main): Likewise.
63885         isnanl: work around icc bug
63886         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
63888 2010-11-03  Eric Blake  <eblake@redhat.com>
63890         tests: fix compiler warnings
63891         * tests/test-getopt.h (test_getopt): Fix condition.
63892         * tests/test-getopt_long.h (test_getopt_long): Likewise.
63893         * tests/test-pipe2.c (main): Likewise.
63894         * tests/test-quotearg-simple.c (main): Avoid icc warning.
63896         utimens: fix broken m4 test
63897         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
63899 2010-10-28  Bruno Haible  <bruno@clisp.org>
63901         posix_spawn*, getdtablesize: Relax license.
63902         * modules/posix_spawn (License): Change to LGPLv2+.
63903         * modules/posix_spawnp (License): Likewise.
63904         * modules/posix_spawn-internal (License): Likewise.
63905         * modules/posix_spawnattr_init (License): Likewise.
63906         * modules/posix_spawnattr_getflags (License): Likewise.
63907         * modules/posix_spawnattr_setflags (License): Likewise.
63908         * modules/posix_spawnattr_getpgroup (License): Likewise.
63909         * modules/posix_spawnattr_setpgroup (License): Likewise.
63910         * modules/posix_spawnattr_getschedparam (License): Likewise.
63911         * modules/posix_spawnattr_setschedparam (License): Likewise.
63912         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
63913         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
63914         * modules/posix_spawnattr_getsigdefault (License): Likewise.
63915         * modules/posix_spawnattr_setsigdefault (License): Likewise.
63916         * modules/posix_spawnattr_getsigmask (License): Likewise.
63917         * modules/posix_spawnattr_setsigmask (License): Likewise.
63918         * modules/posix_spawnattr_destroy (License): Likewise.
63919         * modules/posix_spawn_file_actions_init (License): Likewise.
63920         * modules/posix_spawn_file_actions_addclose (License): Likewise.
63921         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
63922         * modules/posix_spawn_file_actions_addopen (License): Likewise.
63923         * modules/posix_spawn_file_actions_destroy (License): Likewise.
63924         * modules/getdtablesize (License): Likewise.
63925         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
63927 2010-10-26  Bruno Haible  <bruno@clisp.org>
63929         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
63930         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
63931         Cygwin and mingw.
63932         Suggested by Eric Blake.
63934 2010-10-26  Bruno Haible  <bruno@clisp.org>
63936         stdio: Work around compilation error due to renameat() on Solaris 10.
63937         * lib/stdio.in.h: Include <unistd.h> on Solaris.
63938         * lib/renameat.c: Don't include <unistd.h> here.
63939         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
63940         Reported by Paul Eggert and Eric Blake.
63942 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
63944         renameat: port to Solaris 10, which declares renameat in unistd.h
63946         * lib/renameat.c: Include unistd.h before stdio.h, because
63947         Solaris 10 declares renameat in unistd.h.  Problem encountered
63948         when building GNU tar 1.24 on Solaris 10.
63950 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
63952         fdopendir: fix C89 compilation
63953         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
63954         compilers.
63956 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
63958         inttostr: simplify by removing unnecessary redundancy
63959         * lib/anytostr.c: Don't include verify.h.
63960         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
63961         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
63962         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
63963         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
63964         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
63965         Likewise.
63966         * modules/inttostr (Depends-on): Remove 'verify'.
63968 2010-10-23  Bruno Haible  <bruno@clisp.org>
63970         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
63971         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
63972         Reported by Eric Blake.
63974 2010-10-23  Bruno Haible  <bruno@clisp.org>
63976         Tests: Fix LOCALE_JA on MirBSD 10.
63977         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
63978         to an UTF-8 locale.
63979         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
63980         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
63981         Reported by Eric Blake.
63983 2010-10-21  Bruno Haible  <bruno@clisp.org>
63985         nl_langinfo test: Avoid test failure on NetBSD 5.
63986         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
63987         Reported by Eric Blake.
63989 2010-10-21  Eric Blake  <eblake@redhat.com>
63991         c-stack: work around libsigsegv 2.8 bug
63992         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
63993         overflow on at least PowerPC64.
63995 2010-10-17  Bruno Haible  <bruno@clisp.org>
63997         userspec: Drop redundant file.
63998         * modules/userspec (Files): Remove lib/inttostr.h.
64000 2010-10-17  Bruno Haible  <bruno@clisp.org>
64002         nl_langinfo tests: Silence some warnings.
64003         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
64004         Reported by Jim Meyering.
64006 2010-10-17  Bruno Haible  <bruno@clisp.org>
64008         Make use of GCC's attribute __alloc_size__.
64009         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
64010         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
64011         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
64012         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
64013         __alloc_size__.
64014         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
64015         Suggested by Jim Meyering.
64017 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
64019         bootstrap: anchor .gitignore entries.
64020         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
64021         with...
64022         (insert_vc_ignore): ... this new function, which prepends `/' to
64023         all .gitignore entries before passing them to
64024         insert_sorted_if_absent.
64026 2010-10-16  Bruno Haible  <bruno@clisp.org>
64028         nextafter: Fix configure check.
64029         * modules/nextafter (configure.ac): Correct expected prototype.
64031 2010-10-16  Bruno Haible  <bruno@clisp.org>
64033         termios: Update documentation.
64034         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
64036 2010-10-16  Bruno Haible  <bruno@clisp.org>
64038         tests: Make them compile with TinyCC.
64039         * tests/test-strstr.c (main): Remove parentheses around array
64040         initializer.
64042 2010-10-15  Eric Blake  <eblake@redhat.com>
64044         ignore-value: make header idempotent
64045         * lib/ignore-value.h: Add double-inclusion guards.
64046         Reported by Stefan Berger.
64048 2010-10-15  Jim Meyering  <meyering@redhat.com>
64050         GNUmakefile: handle "stable" target, not "major"
64051         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
64052         lists in maint.mk and announce-gen.  Without this, "make stable"
64053         would fail to ensure that $(VERSION) is up to date.
64055 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
64057         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
64058         & co.
64060 2010-10-14  Bruno Haible  <bruno@clisp.org>
64062         vasnprintf: Don't set errno to 0.
64063         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
64064         block that sets it to 0.
64065         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
64067 2010-10-14  Bruno Haible  <bruno@clisp.org>
64069         socketlib: Fix.
64070         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
64071         gl_PREREQ_SYS_H_WINSOCK2.
64072         Reported by Ian Beckwith <ianb@erislabs.net>.
64074 2010-10-13  Jim Meyering  <meyering@redhat.com>
64076         test-select-stdin.c: avoid warn_unused_result warnings
64077         * tests/test-select-stdin.c: Include "macros.h".
64078         ASSERT that read and fflush succeed.
64080 2010-10-13  Jim Meyering  <meyering@redhat.com>
64082         git-version-gen: do require git-VC'd files in cwd
64083         * build-aux/git-version-gen: Reject a git version string
64084         if there are no commits associated with the current directory.
64085         This avoids an unlikely false-positive (unrelated dir whose parent
64086         repository also contains a tag matching v*), as pointed out
64087         by Giuseppe Scrivano in
64088         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
64090 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
64092         argv-iter: omit nonconforming declaration
64093         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
64094         enum arg_iter_err declaration, which doesn't conform to C99.
64095         Solaris 10 cc warns about this.
64097 2010-10-13  Eric Blake  <eblake@redhat.com>
64099         termios: fix compilation on mingw
64100         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
64101         (gl_TERMIOS_H): Adjust it on mingw.
64102         * modules/termios (Makefile.am): Substitute new key.
64103         * lib/termios.in.h (includes): Make include_next conditional.
64104         * doc/posix-headers/termios.texi (termios.h): Update
64105         documentation.
64106         Reported by Daniel P. Berrange.
64108 2010-10-13  Jim Meyering  <meyering@redhat.com>
64110         git-version-gen: don't require that .git/ be in the current dir
64111         * build-aux/git-version-gen: Adjust this script so that it works
64112         when run from any working directory beneath the top-level .git/-
64113         containing directory.  Inspired by a patch from Giuseppe Scrivano,
64114         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
64116         test-select: avoid warn_unused_result warnings
64117         * tests/test-select.c: Include "macros.h".
64118         ASSERT that each call to read, write, and pipe succeeds.
64119         While not technically required, also check each "close".
64120         * modules/select-tests (Files): Add tests/macros.h.
64122         test-symlinkat: remove declaration of unused local
64123         * tests/test-symlinkat.c (main): Remove unused local, "buf".
64125         test-inttostr: avoid shadowing warnings
64126         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
64127         and use malloc rather than the stack for the same reason as
64128         mentioned in the comment justifying the other allocation.
64130 2010-10-11  Bruno Haible  <bruno@clisp.org>
64132         stdlib: Allow multiple gnulib generated replacements to coexist.
64133         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
64134         Reported by Sam Steingold <sds@gnu.org>.
64136 2010-10-11  Jim Meyering  <meyering@redhat.com>
64138         fix a documentation typo
64139         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
64141 2010-10-11  Eric Blake  <eblake@redhat.com>
64143         futimens: work around Solaris 11 bug
64144         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
64145         * tests/test-futimens.h (test_futimens): Enhance, rather than
64146         weaken test.
64147         * doc/posix-functions/futimens.texi (futimens): Document the bug.
64149 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
64151         Indentation.
64152         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
64153         higher-level operators more to the left.
64155 2010-10-11  Jim Meyering  <meyering@redhat.com>
64157         test-futimens: avoid unwarranted test failure on Solaris 5.11
64158         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
64159         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
64160         because it tries to dereference the NULL name argument.
64162 2010-10-11  Bruno Haible  <bruno@clisp.org>
64164         Indentation.
64165         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
64166         indentation.
64168 2010-10-11  Jim Meyering  <meyering@redhat.com>
64170         spawn.in.h: make indentation consistent with parentheses
64171         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
64172         Make indentation consistent with parentheses.
64174 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
64176         Fix mismatched parens in previous commit
64177         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
64178         parens.
64180 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
64182         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
64184         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
64185         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
64186         * lib/malloca.c: Include "verify.h".
64187         (verify1): Remove, replacing with a verify call.
64188         * lib/relocwrapper.c (verify1): Likewise.
64189         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
64190         Likewise.
64191         * modules/malloca (Depends-on): Add 'verify'.
64192         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
64193         * modules/vasnprintf (Depends-on): Add 'verify'.
64194         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64195         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64196         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64197         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64198         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64199         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64200         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64202         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
64204         Formerly the style was sometimes 2*X - 1, because the C standard
64205         was wrongly thought to disallow ?: in integral constant expressions.
64206         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
64207         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
64208         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
64209         * lib/stdint.in.h (_verify_intmax_size): Likewise.
64210         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
64211         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
64212         verify that time_t cannot be floating.
64214 2010-10-08  Eric Blake  <eblake@redhat.com>
64216         time: enforce recent POSIX ruling that time_t is integral
64217         * lib/time.in.h (__time_t_must_be_integral): Detect any
64218         problematic systems, allowing the rest of gnulib to assume POSIX.
64220 2010-10-08  Jim Meyering  <meyering@redhat.com>
64222         fdopendir: fix a bug on systems lacking openat and /proc support
64223         OpenBSD 4.7 is one such system.  The most noticeable effect was
64224         failure of any application making nontrivial use of fts: rm, du,
64225         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
64226           ./rm: traversal failed: `a': Bad file descriptor
64227         Debugging that, you see that even though FD 6 was closed just
64228         prior to the opendir call in fd_clone_opendir, its resulting
64229         dir->dd_fd was 8, rather than the expected value of 6:
64231         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
64232         93                close (fd);
64233         (gdb) n
64234         94                dir = fd_clone_opendir (dupfd);
64235         (gdb) n
64236         95                saved_errno = errno;
64237         (gdb) p dir->dd_fd
64238         $11 = 8
64240         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
64241         The problem is that on OpenBSD, fd_clone_opendir has to resort
64242         to using the old-style save/restore CWD mechanism, due to its
64243         lack of openat/proc support, and *that* would steal the FD (6)
64244         that opendir was supposed to use.
64246         The fix is to squirrel away the desired FD so that save_cwd uses a
64247         different one, and then free the dest FD right before calling opendir.
64248         That guarantees opendir will use the required file descriptor.
64250         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
64252 2010-10-08  Bruno Haible  <bruno@clisp.org>
64254         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
64255         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
64257 2010-10-08  Bruno Haible  <bruno@clisp.org>
64259         nanosleep: Make replacement POSIX compliant.
64260         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
64261         is out of range.
64262         Reported by Jim Meyering.
64264 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64266         bootstrap: add hook for altering gnulib.mk, for Bison
64267         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
64268         the Bison bootstrapping process can rewrite file names and variables
64269         in this file before later parts of 'bootstrap' use the file.
64270         Bison wants to include lib/gnulib.mk from the top-level makefile,
64271         so it needs the file names in this file to be relative to the top
64272         level, not relative to lib; plus it needs variable names to be
64273         rewritten.
64274         (slurp): Use the new function.
64276         bootstrap: reformat for readability
64277         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
64279 2010-10-08  Eric Blake  <eblake@redhat.com>
64281         docs: update cygwin progress
64282         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
64283         1.7.7.
64284         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
64285         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
64286         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
64287         * doc/posix-functions/carg.texi (carg): Likewise.
64288         * doc/posix-functions/cargf.texi (cargf): Likewise.
64289         * doc/posix-functions/casin.texi (casin): Likewise.
64290         * doc/posix-functions/casinf.texi (casinf): Likewise.
64291         * doc/posix-functions/casinh.texi (casinh): Likewise.
64292         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
64293         * doc/posix-functions/catan.texi (catan): Likewise.
64294         * doc/posix-functions/catanf.texi (catanf): Likewise.
64295         * doc/posix-functions/catanh.texi (catanh): Likewise.
64296         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
64297         * doc/posix-functions/ccos.texi (ccos): Likewise.
64298         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
64299         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
64300         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
64301         * doc/posix-functions/cexp.texi (cexp): Likewise.
64302         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
64303         * doc/posix-functions/cimag.texi (cimag): Likewise.
64304         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
64305         * doc/posix-functions/clog.texi (clog): Likewise.
64306         * doc/posix-functions/clogf.texi (clogf): Likewise.
64307         * doc/posix-functions/conj.texi (conj): Likewise.
64308         * doc/posix-functions/conjf.texi (conjf): Likewise.
64309         * doc/posix-functions/cpow.texi (cpow): Likewise.
64310         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
64311         * doc/posix-functions/cproj.texi (cproj): Likewise.
64312         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
64313         * doc/posix-functions/creal.texi (creal): Likewise.
64314         * doc/posix-functions/crealf.texi (crealf): Likewise.
64315         * doc/posix-functions/csin.texi (csin): Likewise.
64316         * doc/posix-functions/csinf.texi (csinf): Likewise.
64317         * doc/posix-functions/csinh.texi (csinh): Likewise.
64318         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
64319         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
64320         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
64321         * doc/posix-functions/ctan.texi (ctan): Likewise.
64322         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
64323         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
64324         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
64325         * doc/posix-headers/complex.texi (complex.h): Likewise.
64327 2010-10-07  Jim Meyering  <meyering@redhat.com>
64329         parse-datetime: avoid compilation failure on OpenBSD 4.7
64330         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
64331         This works around a compilation failure on OpenBSD 4.7:
64332         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
64334 2010-10-07  Eric Blake  <eblake@redhat.com>
64336         docs: update cygwin progress
64337         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
64338         1.7.6.
64339         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
64340         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
64341         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
64342         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
64343         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
64344         Likewise.
64345         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
64346         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
64347         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
64348         Likewise.
64349         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
64350         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
64351         Likewise.
64352         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
64353         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
64354         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
64355         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
64356         Likewise.
64357         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
64358         Likewise.
64359         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
64361         docs: update parse-datetime history
64362         * doc/parse-datetime.texi (Authors of parse_datetime): Better
64363         documentation of this function's history and alternatives.
64365         cygwin: use more robust version check
64366         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
64367         exclude an eventual cygwin 1.9.1.
64368         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
64369         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
64370         (gl_FUNC_STRCASESTR): Likewise.
64371         Reported by Bruno Haible.
64373 2010-10-06  Bruno Haible  <bruno@clisp.org>
64375         string, sys_select: Avoid #including large headers unless necessary.
64376         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
64377         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
64378         OSF/1, BeOS, Haiku.
64379         Reported by Jim Meyering.
64381 2010-10-05  Eric Blake  <eblake@redhat.com>
64383         memmem, strstr, strcasestr: fix bug with long periodic needle
64384         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
64385         periodic needle having false positive.
64386         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
64387         and cygwin 1.7.7.
64388         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
64389         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
64390         (gl_FUNC_STRCASESTR): Likewise.
64391         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
64392         * tests/test-memmem.c (main): Expose the bug.
64393         * tests/test-strcasestr.c (main): Likewise.
64394         * tests/test-strstr.c (main): Likewise.
64395         * tests/test-c-strcasestr.c (main): Likewise.
64396         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
64397         * doc/posix-functions/strstr.texi (strstr): Likewise.
64398         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
64399         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
64401 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
64403         parse-datetime: do some more renaming
64404         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
64405         parse_datetime, not get_date.  Mention the renaming.
64406         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
64407         in comments.
64408         * m4/bison.m4: Likewise.
64410 2010-10-05  Eric Blake  <eblake@redhat.com>
64412         parse-datetime: better name than get_date
64413         * NEWS: Reword the deprecation notice.
64414         * modules/get_date: Rename to modules/parse-datetime.
64415         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
64416         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
64417         * lib/get_date.y: Rename to lib/parse-datetime.y.
64418         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
64419         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
64420         * doc/getdate.texi: Provide fallback wrapper.
64421         * lib/getdate.h: Move guts, and wrap...
64422         * lib/parse-datetime.h: ...new file.
64423         * lib/parse-datetime.y (get_date): Rename...
64424         (parse_datetime): ...to this.
64425         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
64426         (gl_PARSE_DATETIME): ...to this.
64427         * doc/posix-functions/getdate.texi (get_date): Provide fallback
64428         documentation.
64429         * modules/getdate (Files): Provide fallback docs and header.
64430         (Notice, Depends-on): Update references.
64431         * tests/test-parse-datetime.c: Likewise.
64432         * DEPENDENCIES: Likewise.
64433         * MODULES.html.sh (Date and time <time.h>): Likewise.
64434         * doc/parse-datetime.texi (Date input formats)
64435         (Authors of parse_datetime): Likewise.
64436         * modules/parse-datetime (Files, configure.ac, Makefile.am)
64437         (Include): Likewise.
64438         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
64439         * gnulib-tool: Likewise.
64440         * m4/bison.m4 (gl_BISON): Likewise.
64441         Suggested by Bruno Haible.
64443 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
64445         more ports to Solaris tr, which needs [] around ranges
64446         * gnulib-tool: Solaris tr needs [] around ranges.
64447         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
64448         * tests/test-pipe-filter-gi1.c (main): Likewise.
64449         * tests/test-pipe-filter-ii1.c (main): Likewise.
64451 2010-10-05  Eric Blake  <eblake@redhat.com>
64453         bootstrap: fix Solaris regression
64454         * build-aux/bootstrap (check_versions): Solaris tr still needs []
64455         around ranges.
64456         Reported by Pádraig Brady.
64458         bootstrap: work with pkg-config
64459         * build-aux/bootstrap (check_versions): Also transliterate - in
64460         prerequisite name.
64461         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
64462         prerequisites that were already found, to avoid confusion.
64463         Reported by Justin Clift.
64465         faccessat: remove unused wrappers
64466         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
64467         presence of these wrappers dragged in -lgen on Solaris.
64468         Reported by Clemens Brogi; fix suggested by Paul Eggert.
64470 2010-10-05  Jim Meyering  <meyering@redhat.com>
64472         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
64473         * Makefile (sc_pragma_columns): New syntax-check rule.
64475 2010-10-04  Bruno Haible  <bruno@clisp.org>
64477         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
64478         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
64479         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
64480         Reported by Bruce Korb and Eric Blake.
64482 2010-10-04  Bruno Haible  <bruno@clisp.org>
64484         threadlib: Make option --with-libpth-prefix work.
64485         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
64486         use $LIBPTH, not just -lpth.
64488 2010-10-04  Bruno Haible  <bruno@clisp.org>
64490         Avoid line length limitation from HP NonStop system header files.
64491         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
64492         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
64493         * lib/ctype.in.h: Likewise.
64494         * lib/dirent.in.h: Likewise.
64495         * lib/errno.in.h: Likewise.
64496         * lib/fcntl.in.h: Likewise.
64497         * lib/float.in.h: Likewise.
64498         * lib/getopt.in.h: Likewise.
64499         * lib/iconv.in.h: Likewise.
64500         * lib/inttypes.in.h: Likewise.
64501         * lib/langinfo.in.h: Likewise.
64502         * lib/locale.in.h: Likewise.
64503         * lib/math.in.h: Likewise.
64504         * lib/netdb.in.h: Likewise.
64505         * lib/netinet_in.in.h: Likewise.
64506         * lib/poll.in.h: Likewise.
64507         * lib/pthread.in.h: Likewise.
64508         * lib/pty.in.h: Likewise.
64509         * lib/sched.in.h: Likewise.
64510         * lib/se-selinux.in.h: Likewise.
64511         * lib/search.in.h: Likewise.
64512         * lib/signal.in.h: Likewise.
64513         * lib/spawn.in.h: Likewise.
64514         * lib/stdarg.in.h: Likewise.
64515         * lib/stddef.in.h: Likewise.
64516         * lib/stdint.in.h: Likewise.
64517         * lib/stdio.in.h: Likewise.
64518         * lib/stdlib.in.h: Likewise.
64519         * lib/string.in.h: Likewise.
64520         * lib/strings.in.h: Likewise.
64521         * lib/sys_file.in.h: Likewise.
64522         * lib/sys_ioctl.in.h: Likewise.
64523         * lib/sys_select.in.h: Likewise.
64524         * lib/sys_socket.in.h: Likewise.
64525         * lib/sys_stat.in.h: Likewise.
64526         * lib/sys_time.in.h: Likewise.
64527         * lib/sys_times.in.h: Likewise.
64528         * lib/sys_utsname.in.h: Likewise.
64529         * lib/sys_wait.in.h: Likewise.
64530         * lib/sysexits.in.h: Likewise.
64531         * lib/termios.in.h: Likewise.
64532         * lib/time.in.h: Likewise.
64533         * lib/unistd.in.h: Likewise.
64534         * lib/wchar.in.h: Likewise.
64535         * lib/wctype.in.h: Likewise.
64536         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
64537         * modules/ctype (Makefile.am): Likewise.
64538         * modules/dirent (Makefile.am): Likewise.
64539         * modules/errno (Makefile.am): Likewise.
64540         * modules/fcntl-h (Makefile.am): Likewise.
64541         * modules/float (Makefile.am): Likewise.
64542         * modules/getopt-posix (Makefile.am): Likewise.
64543         * modules/iconv-h (Makefile.am): Likewise.
64544         * modules/inttypes (Makefile.am): Likewise.
64545         * modules/langinfo (Makefile.am): Likewise.
64546         * modules/locale (Makefile.am): Likewise.
64547         * modules/math (Makefile.am): Likewise.
64548         * modules/netdb (Makefile.am): Likewise.
64549         * modules/netinet_in (Makefile.am): Likewise.
64550         * modules/poll-h (Makefile.am): Likewise.
64551         * modules/pthread (Makefile.am): Likewise.
64552         * modules/pty (Makefile.am): Likewise.
64553         * modules/sched (Makefile.am): Likewise.
64554         * modules/search (Makefile.am): Likewise.
64555         * modules/selinux-h (Makefile.am): Likewise.
64556         * modules/signal (Makefile.am): Likewise.
64557         * modules/spawn (Makefile.am): Likewise.
64558         * modules/stdarg (Makefile.am): Likewise.
64559         * modules/stddef (Makefile.am): Likewise.
64560         * modules/stdint (Makefile.am): Likewise.
64561         * modules/stdio (Makefile.am): Likewise.
64562         * modules/stdlib (Makefile.am): Likewise.
64563         * modules/string (Makefile.am): Likewise.
64564         * modules/strings (Makefile.am): Likewise.
64565         * modules/sys_file (Makefile.am): Likewise.
64566         * modules/sys_ioctl (Makefile.am): Likewise.
64567         * modules/sys_select (Makefile.am): Likewise.
64568         * modules/sys_socket (Makefile.am): Likewise.
64569         * modules/sys_stat (Makefile.am): Likewise.
64570         * modules/sys_time (Makefile.am): Likewise.
64571         * modules/sys_times (Makefile.am): Likewise.
64572         * modules/sys_utsname (Makefile.am): Likewise.
64573         * modules/sys_wait (Makefile.am): Likewise.
64574         * modules/sysexits (Makefile.am): Likewise.
64575         * modules/termios (Makefile.am): Likewise.
64576         * modules/time (Makefile.am): Likewise.
64577         * modules/unistd (Makefile.am): Likewise.
64578         * modules/wchar (Makefile.am): Likewise.
64579         * modules/wctype (Makefile.am): Likewise.
64581 2010-10-04  Bruno Haible  <bruno@clisp.org>
64583         read-file tests: Avoid a test failure on NonStop Kernel.
64584         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
64585         a regular file.
64586         Reported by Joachim Schmitz <schmitz@hp.com>.
64588 2010-10-03  Bruno Haible  <bruno@clisp.org>
64590         gnulib-tool: Fixes for --create-testdir with --libtool.
64591         * gnulib-tool (func_get_automake_snippet): Don't augment
64592         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
64593         an executable.
64594         (func_create_testdir): Handle module 'alloca' like func_import.
64595         Reported by Bruce Korb <bruce.korb@gmail.com>.
64597 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
64599         Avoid some lines longer than 80 characters.
64600         * lib/stdint.in.h: Break long comment lines.
64601         * lib/math.in.h: Likewise.
64602         (_GL_NUM_UINT_WORDS): New macro, for readability.
64603         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
64604         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
64605         * lib/stdlib.in.h: Likewise.
64606         * lib/spawn.in.h: Likewise.
64607         * lib/sys_socket.in.h: Update an URL.
64608         * lib/sys_stat.in.h: Break long line.
64610 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
64612         Improve pmccabe2html.
64613         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
64614         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
64615         when the sources change. Remove the line in the HTML about "Used
64616         ranges" (which implied that there might be other unused ranges),
64617         rename "Resume" to "Summary" (easier to understand for more users).
64618         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
64619         styles, and some unnecessary blank lines.
64621 2010-10-03  Bruno Haible  <bruno@clisp.org>
64622             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
64624         acl: Add support for ACLs on NonStop Kernel.
64625         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
64626         Check whether the function aclsort() exists.
64627         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
64628         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
64629         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
64630         (acl_nontrivial [HAVE_ACLSORT]: New function.
64631         (file_has_acl): Implement for NonStop Kernel.
64632         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
64633         (qset_acl): Implement for NonStop Kernel.
64634         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
64635         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
64636         (main): Implement for NonStop Kernel.
64637         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
64638         Kernel. Handle this flavor.
64639         * tests/test-set-mode-acl.sh: Likewise.
64640         * tests/test-copy-acl.sh: Likewise.
64641         * tests/test-copy-file.sh: Likewise.
64643 2010-10-03  Bruno Haible  <bruno@clisp.org>
64645         Info about ACLs on NonStop Kernel.
64646         * doc/acl-resources.txt: Add info about NonStop Kernel.
64647         References by Joachim Schmitz <schmitz@hp.com>.
64649 2010-10-02  Bruno Haible  <bruno@clisp.org>
64651         Define missing EDQUOT on NonStop Kernel.
64652         * lib/errno.in.h (EDQUOT): Assign a value if missing.
64653         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
64654         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
64655         missing.
64656         * doc/posix-headers/errno.texi: Mention the NSK bug.
64657         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
64658         Reported by Joachim Schmitz <schmitz@hp.com>.
64660 2010-10-02  Bruno Haible  <bruno@clisp.org>
64662         Update doc for POSIX:2008.
64663         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
64664         Update URL of POSIX specification.
64666 2010-10-02  Bruno Haible  <bruno@clisp.org>
64668         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
64669         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
64670         from gnulib, not from Automake.
64672 2010-10-02  Bruno Haible  <bruno@clisp.org>
64674         New module 'system-posix'.
64675         * modules/system-posix: New file.
64676         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
64677         module is present.
64678         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64679         GNULIB_SYSTEM_POSIX.
64680         * modules/stdlib (Depends-on): Remove sys_wait.
64681         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
64682         * doc/posix-functions/system.texi: Mention the new module.
64683         * doc/posix-headers/stdlib.texi: Likewise.
64684         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
64685         define test_sys_wait_macros to a no-op.
64686         Reported by Sam Steingold <sds@gnu.org>.
64688 2010-09-30  Bruno Haible  <bruno@clisp.org>
64690         More renaming from 'getdate' to 'get_date'.
64691         * doc/get_date.texi: Renamed from doc/getdate.texi.
64692         * modules/get_date (Files): Update.
64693         * MODULES.html.sh (Date and time <time.h>): Update.
64694         * DEPENDENCIES: Update.
64695         * gnulib-tool: Update comment.
64696         * m4/bison.m4 (gl_BISON): Likewise.
64697         * m4/get_date.m4 (gl_GET_DATE): Likewise.
64699 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
64701         bootstrap: support ACLOCAL_FLAGS during aclocal
64702         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
64703         can add additional -I dir for third-party .m4 files.
64705 2010-09-30  Eric Blake  <eblake@redhat.com>
64707         bootstrap: use glibtoolize on MacOS
64708         * build-aux/bootstrap (check_versions): Convert libtool into
64709         libtoolize.
64710         (tool search): Move libtool check earlier, and look for
64711         glibtoolize for MacOS.
64712         (gnulib_tool_options): Auto-add --libtool when appropriate.
64713         Reported by Justin Clift.
64715         poll: fix typo that broke test on MacOS
64716         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
64717         Reported by Justin Clift.
64719         getdate: rename to get_date
64720         Note: getdate.h is not renamed, to minimize client impact.
64721         * modules/getdate: Mark obsolete.  Move old contents...
64722         * modules/get_date: ...to new module name.
64723         * modules/getdate-tests: Move...
64724         * modules/get_date-tests: ...here.
64725         * m4/getdate.m4: Move...
64726         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
64727         * lib/getdate.y: Move...
64728         * lib/get_date.y: ...here.
64729         * tests/test-getdate.c: Move...
64730         * tests/test-get_date.c: ...here.
64731         * doc/posix-functions/getdate.texi (getdate): Update name.
64732         * NEWS: Mention the change.
64734 2010-09-29  Bruno Haible  <bruno@clisp.org>
64736         Separate the module 'waitpid' from the module 'sys_wait'.
64737         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
64738         present.
64739         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
64740         gl_MODULE_INDICATOR_FOR_TESTS.
64741         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
64742         * modules/sys_wait (Depends-on): Remove waitpid.
64743         (Makefile.am): Substitute GNULIB_WAITPID.
64744         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
64745         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
64746         signature only if the 'waitpid' module is present.
64747         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
64748         * NEWS: Mention the change.
64749         * modules/grantpt (Depends-on): Add waitpid.
64750         * modules/wait-process (Depends-on): Likewise.
64752 2010-09-29  Bruno Haible  <bruno@clisp.org>
64754         More tests for module 'sys_wait'.
64755         * modules/sys_wait-c++-tests: New file.
64756         * tests/test-sys_wait-c++.cc: New file.
64757         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
64758         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
64760 2010-09-29  Bruno Haible  <bruno@clisp.org>
64762         New module 'waitpid'.
64763         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
64764         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
64765         Don't include <process.h>.
64766         (waitpid): Declare only, using modern idiom.
64767         * m4/waitpid.m4: New file.
64768         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
64769         * modules/waitpid: New file.
64770         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
64771         (Makefile.am): Update.
64772         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
64774 2010-09-28  Bruno Haible  <bruno@clisp.org>
64776         poll: Assume ANSI C.
64777         * lib/poll.c (poll): Use an ANSI C declaration.
64779 2010-09-28  Bruno Haible  <bruno@clisp.org>
64781         poll-h: Create poll.h on all platforms.
64782         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
64783         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
64784         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
64785         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
64786         (gl_REPLACE_POLL_H): Don't set POLL_H.
64787         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
64788         * modules/poll-h (Depends-on): Add include_next.
64789         (Makefile.am): Create poll.h unconditionally. Substitute also
64790         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
64792 2010-09-28  Bruno Haible  <bruno@clisp.org>
64794         Tests for module 'poll-h'.
64795         * modules/poll-h-c++-tests: New file.
64796         * tests/test-poll-h-c++.cc: New file.
64798         Tests for module 'poll-h'.
64799         * modules/poll-h-tests: New file.
64800         * tests/test-poll-h.c: New file.
64802 2010-09-28  Bruno Haible  <bruno@clisp.org>
64804         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
64805         * modules/poll-h (Depends-on): Add 'extensions'.
64807 2010-09-28  Bruno Haible  <bruno@clisp.org>
64809         New module 'poll-h'.
64810         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
64811         (poll): Use modern idiom.
64812         * modules/poll-h: New file.
64813         * modules/poll (Files): Remove lib/poll.in.h.
64814         (Depends-on): Add poll-h.
64815         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
64816         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
64817         * m4/poll_h.m4: New file.
64818         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
64819         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
64820         and invoke gl_REPLACE_POLL_H.
64821         * lib/poll.c: Use common idiom.
64822         * tests/test-poll.c: Likewise.
64823         * doc/posix-headers/poll.texi: Mention the poll-h module.
64824         Suggested by Eric Blake.
64826 2010-09-26  Bruno Haible  <bruno@clisp.org>
64828         sys_wait: Implement WSTOPSIG.
64829         * lib/sys_wait.in.h (WSTOPSIG): New macro.
64830         Reported by Simon Josefsson.
64832 2010-09-26  Simon Josefsson  <simon@josefsson.org>
64834         stdlib, sys_wait: Avoid compilation error on mingw.
64835         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
64837 2010-09-26  Bruno Haible  <bruno@clisp.org>
64839         stdlib tests: Avoid code duplication.
64840         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
64841         * modules/sys_wait-tests (Files): Likewise.
64842         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
64843         * tests/test-stdlib.c: Include test-sys_wait.h.
64844         (main): Invoke test_sys_wait_macros.
64845         * tests/test-sys_wait.c: Include test-sys_wait.h.
64846         (main): Invoke test_sys_wait_macros.
64848 2010-09-25  Simon Josefsson  <simon@josefsson.org>
64850         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
64851         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
64852         sure Windows sockets are working before calling getaddrinfo.
64853         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
64854         * doc/gnulib.texi (Windows sockets): Fix typo.
64856 2010-09-25  Bruno Haible  <bruno@clisp.org>
64858         Tests for module 'regex-quote'.
64859         * modules/regex-quote-tests: New file.
64860         * tests/test-regex-quote.c: New file.
64862         New module 'regex-quote'.
64863         * lib/regex-quote.h: New file.
64864         * lib/regex-quote.c: New file.
64865         * modules/regex-quote: New file.
64866         Suggested by Reuben Thomas <rrt@sc3d.org>.
64868 2010-09-24  Bruno Haible  <bruno@clisp.org>
64870         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
64871         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
64873 2010-09-23  Bruno Haible  <bruno@clisp.org>
64875         setenv: Relax license.
64876         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
64877         Blake.
64878         Requested by Eric Blake.
64880 2010-09-22  Bruno Haible  <bruno@clisp.org>
64882         termios: Relax license.
64883         * modules/termios (License): Change to LGPLv2+.
64884         Requested by Eric Blake.
64886 2010-09-22  Bruno Haible  <bruno@clisp.org>
64888         threadlib: Allow the package to change the default to 'no'.
64889         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
64890         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
64891         Reported by Paul Eggert.
64893 2010-09-22  Pádraig Brady  <P@draigbrady.com>
64894             Bruno Haible  <bruno@clisp.org>
64896         Fix endless loop in mbmemcasecoll.
64897         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
64898         byte.
64899         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
64901 2010-09-22  Bruno Haible  <bruno@clisp.org>
64903         Tests for module 'memcoll'.
64904         * modules/memcoll-tests: New file.
64905         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
64907         memcoll, xmemcoll: Clarify size vs. length.
64908         * modules/memcoll.c (memcoll0): Clarify specification.
64909         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
64910         passed to collate_error.
64912 2010-09-22  Bruno Haible  <bruno@clisp.org>
64914         Tests for module 'memcasecmp'.
64915         * modules/memcasecmp-tests: New file.
64916         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
64918 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64920         * lib/pthread.in.h: Add split double-inclusion guard, and include
64921         system <pthread.h> if there is one.  Use @@-style as in other
64922         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
64923         pthread.h doesn't.
64924         (pthread_mutexattr_destroy, pthread_mutexattr_init):
64925         (pthread_mutexattr_settype, pthread_mutex_trylock):
64926         New static inline functions, if there's no system <pthread.h>.
64927         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
64928         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
64929         Approximate with mutexes if the system lacks spinlocks, as in
64930         MacOS.
64931         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
64932         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
64933         @@-style.  Check for spinlocks separately.
64934         (gl_PTHREAD_DEFAULTS): New macro.
64935         * modules/pthread: Redo to use a more typical style for in.h files.
64937 2010-09-21  Eric Blake  <eblake@redhat.com>
64939         net_if: enhance tests
64940         * tests/test-net_if.c (main): Move signature checks earlier.
64941         Print failures to stderr.
64942         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
64943         Document the bug that we do not yet fix.
64945 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
64947         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
64948         about gnulib, not GSS.
64950 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
64952         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
64953         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
64954         for Emacs.
64955         * build-aux/pmccabe2html: Make Makefile.am example code more
64956         cut-and-paste friendly.
64958 2010-09-21  Simon Josefsson  <simon@josefsson.org>
64960         * tests/test-net_if.c: New file.
64961         * modules/net_if-tests: New file.
64963 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
64965         pthread: add pthread_spin_destroy
64966         * lib/pthread.in.h (pthread_spin_destroy): New function.
64968 2010-09-19  Bruno Haible  <bruno@clisp.org>
64970         gnulib-tool: Fix --help output.
64971         * gnulib-tool (func_usage): Fix help message.
64972         Reported by Reuben Thomas <rrt@sc3d.org>.
64974 2010-09-18  Jim Meyering  <meyering@redhat.com>
64976         maint.mk: avoid unexpanded \n in two diagnostics
64977         * top/maint.mk (sc_prohibit_always_true_header_tests):
64978         Don't use a literal \n in a halt=... assignment.  It would not be
64979         expanded, and the two \n bytes would appear in the diagnostic output
64980         rather than the desired newline.  Use halt=$$(printf ... instead.
64981         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
64983 2010-09-18  Bruno Haible  <bruno@clisp.org>
64985         netinet_in: Doc tweak.
64986         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
64987         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64989 2010-09-18  Jim Meyering  <meyering@redhat.com>
64991         init.sh: correct an outdated comment
64992         * tests/init.sh (create_exe_shims_):  s/function/alias/
64994         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
64995         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
64996         a file named "*.exe" is removed between the glob expansion and the
64997         processing of that oddly named file.
64999 2010-09-17  Eric Blake  <eblake@redhat.com>
65001         mirbsd: add some more support
65002         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
65003         in BSD family.
65004         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
65005         devices as OpenBSD.
65006         * m4/host-os.m4 (mirbsd): Add MirBSD.
65008         tests: fix unportable assumption on sys/wait.h
65009         * tests/test-sys_wait.c (main): Relax test.
65010         * tests/test-stdlib.c (main): Likewise.
65012         init.sh: accommodate directory with no .exes
65013         * tests/init.sh: Accomodate directory containing only scripts.
65015         tests: avoid compiler warning
65016         * tests/test-stdlib.c (main): Use the variable.
65018         fdutimens, fdutimensat: update signature, again
65019         * lib/utimens.h (gl_futimens): Delete, and move signature...
65020         (fdutimens): ...here.
65021         (fdutimensat): Rearrange signature.
65022         (lutimensat): Rename variable for clarity.
65023         * lib/fdutimensat.c (fdutimensat): Update signature.
65024         * lib/utimens.c (fdutimens): Likewise.
65025         (gl_futimens): Delete.
65026         (utimens, lutimens): Update callers.
65027         * lib/futimens.c (futimens): Likewise.
65028         * tests/test-fdutimensat.c: Likewise.
65029         * tests/test-utimens.c: Likewise.
65030         * tests/test-futimens.h: Update comment.
65031         * NEWS: Mention this.
65032         Suggested by Paul Eggert.
65034 2010-09-17  Bruno Haible  <bruno@clisp.org>
65036         Take over the maintenance of some older macros from Autoconf.
65037         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
65038         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
65039         GNU Autoconf.
65040         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
65041         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
65043 2010-09-17  Eric Blake  <eblake@redhat.com>
65045         fdutimensat: drop atflag validation
65046         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
65047         with valid fd, to close a race scenario where futimens is
65048         unsupported and FILE was replaced by a symlink.
65049         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
65050         accordingly.
65051         Suggested by Paul Eggert.
65053 2010-09-16  Bruno Haible  <bruno@clisp.org>
65055         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
65056         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
65058 2010-09-16  Bruno Haible  <bruno@clisp.org>
65060         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
65061         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
65062         login_tty exists.
65063         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65065 2010-09-16  Bruno Haible  <bruno@clisp.org>
65067         login_tty: Make the replacement code work on BSD systems.
65068         * lib/login_tty.c: Include <sys/ioctl.h>.
65069         (login_tty): Use ioctl TIOCSCTTY when available.
65070         * modules/login_tty (Depends-on): Add sys_ioctl.
65071         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65073 2010-09-16  Bruno Haible  <bruno@clisp.org>
65075         login_tty: Stricter unit test.
65076         * modules/login_tty-tests (Depends-on): Add tcgetsid.
65077         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
65078         and tcgetsid() after login_tty.
65079         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65081 2010-09-16  Bruno Haible  <bruno@clisp.org>
65083         New module 'tcgetsid'.
65084         * lib/tcgetsid.c: New file.
65085         * m4/tcgetsid.m4: New file.
65086         * modules/tcgetsid: New file.
65087         * modules/termios (Depends-on): Add c++defs, warn-on-use.
65088         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
65089         GNULIB_TCGETSID, HAVE_TCGETSID.
65090         * lib/termios.in.h: Include <sys/types.h>.
65091         (tcgetsid): New declaration.
65092         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
65093         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
65094         * doc/posix-functions/tcgetsid.texi: Mention the new module.
65095         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
65097 2010-09-16  Bruno Haible  <bruno@clisp.org>
65099         Tests for module 'termios'.
65100         * modules/termios-c++-tests: New file.
65101         * modules/termios-tests: New file.
65102         * tests/test-termios-c++.cc: New file.
65103         * tests/test-termios.c: New file.
65105         New module 'termios'.
65106         * modules/termios: New file.
65107         * lib/termios.in.h: New file.
65108         * m4/termios_h.m4: New file.
65109         * doc/posix-headers/termios.texi: Mention the new module.
65111 2010-09-16  Eric Blake  <eblake@redhat.com>
65113         fdutimensat: add an atflag parameter
65114         * lib/fdutimensat.c (fdutimensat): Add new parameter.
65115         * lib/utimens.h (fdutimensat): Update prototype.
65116         * tests/test-fdutimensat.c: Adjust test to match.
65117         * NEWS: Document the change.
65118         Suggested by Paul Eggert.
65120 2010-09-16  Bruno Haible  <bruno@clisp.org>
65122         Fix typos in comments.
65123         * lib/striconveh.h: Fix typo in comment.
65124         * lib/login_tty.c (login_tty): Likewise.
65126 2010-09-15  Bruno Haible  <bruno@clisp.org>
65128         stdlib: clarify MirBSD WEXITSTATUS bug
65129         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
65130         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
65132 2010-09-15  Eric Blake  <eblake@redhat.com>
65134         stdlib: work around MirBSD WEXITSTATUS bug
65135         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
65136         * modules/stdlib (Depends-on): Add sys_wait.
65137         * tests/test-sys_wait.c (main): Enhance test.
65138         * tests/test-stdlib.c (main): Likewise.
65139         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
65141         docs: mention MacOS issue with WEXITSTATUS(constant)
65142         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
65143         issue.
65144         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
65146         strnlen: add tests
65147         * modules/strnlen-tests: New file.
65148         * tests/test-strnlen.c: Likewise.
65150 2010-09-14  Bruno Haible  <bruno@clisp.org>
65152         unistr/base: Avoid link errors when module 'libunistring' is also used.
65153         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
65154         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
65155         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
65156         Declare also when HAVE_LIBUNISTRING is set.
65157         Reported by Pádraig Brady <P@draigbrady.com>.
65159 2010-09-14  Eric Blake  <eblake@redhat.com>
65161         test-rawmemchr: make more robust
65162         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
65163         (Depends-on, configure.ac): Add needed prerequisites to use it.
65164         * modules/memchr-tests (Files, Depends-on, configure.ac):
65165         Likewise, to avoid implicit reliance on memchr module prereqs.
65166         * tests/test-memchr.c (main): Ensure proper masking.
65167         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
65168         reads.
65170         memchr: detect glibc Alpha bug
65171         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
65172         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
65173         Alpha.
65174         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
65175         * tests/test-memchr.c (main): Enhance test.
65176         Reported by Nelson H. F. Beebe.
65178 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
65180         fts, getcwd, glob: audit for dirfd returning -1
65181         * lib/fts.c (opendir): Remove #define; no longer used.
65182         (opendirat): New arg PDIR_FD.  All callers changed.
65183         (fts_build, _opendir2): Use new opendirat to avoid the need for
65184         dirfd, or for checking whether dirfd returns a negative value.
65185         Don't use opendir; always use openat followed by fdopendir.
65186         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
65187         it.
65188         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
65189         returns -1 here.
65190         * modules/fts (Depends-on): Remove dirfd.
65191         * modules/getcwd (Depends-on): Likewise.
65193 2010-09-13  Eric Blake  <eblake@redhat.com>
65195         float: fix broken MirBSD header
65196         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
65197         * doc/posix-headers/float.texi (float.h): Document it.
65199 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
65201         fts: use O_NOFOLLOW to avoid race condition when opening a directory
65202         * lib/fts.c (opendirat): New arg extra_flags.
65203         (__opendir2): Use it to avoid following symlinks when opening
65204         a directory, if symlinks are not supposed to be followed.  See
65205         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
65207         fdopendir: preserve argument fd before returning
65208         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
65209         (fdopendir_with_dup, fd_clone_opendir): New static functions.
65210         (fdopendir): Use them, arranging for FD to be open to the same
65211         directory that it was when it started.  (It might be temporarily
65212         closed while fdopendir is running, so this not thread- or
65213         signal-safe.)  Be careful to do the right thing even when file
65214         descriptors are scarce and dup fails with errno == EMFILE.  See
65215         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
65217 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
65219         regex: Pass the system regex if its only problem is 32-bit regoff_t.
65220         * NEWS: Document change.
65221         * m4/regex.m4: Disable test for regoff_t size.
65223 2010-09-13  Jim Meyering  <meyering@redhat.com>
65225         fts: don't operate on an invalid file descriptor after failed dup
65226         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
65227         negative file descriptor.
65229 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
65231         savedir: add streamsavedir, deprecate fdsavedir
65232         * NEWS: Mention deprecation of fdsavedir.
65233         * lib/savedir.c (streamsavedir): New extern function, whose name
65234         ends in "savedir" to be consistent with the others.  This differs
65235         from savedirstream in that it doesn't close its argument.  The
65236         next version of GNU tar will use this instead of fdsavedir, to
65237         avoid some race conditions and conserve file descriptors.
65238         (savedirstream): Reimplement as a wrapper around streamsavedir.
65239         (fdsavedir): Add a comment deprecating this function.  As far as
65240         I know, only GNU tar used it, and GNU tar doesn't need it any more.
65241         * lib/savedir.h (streamsavedir): New decl.
65242         (fdsavedir): Add a comment deprecating this.
65244 2010-09-10  Bruno Haible  <bruno@clisp.org>
65246         langinfo: Fix last commit.
65247         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
65248         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
65249         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65251 2010-09-10  Bruno Haible  <bruno@clisp.org>
65253         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
65254         * lib/progreloc.c (O_EXEC): Define fallback.
65256 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
65258         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
65259         * NEWS: Document recent changes to fcntl-h.
65260         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
65261         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
65262         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
65263         Similarly for O_SEARCH; this last was already true, but not documented.
65264         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
65265         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
65266         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
65267         Likewise.
65268         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
65269         is zero, not whether it is defined.
65270         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
65271         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
65272         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
65274 2010-09-10  Bruno Haible  <bruno@clisp.org>
65276         langinfo, nl_langinfo: Fix for IRIX 5.3.
65277         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
65278         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
65279         HAVE_LANGINFO_YESEXPR.
65280         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
65281         HAVE_LANGINFO_YESEXPR.
65282         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
65283         HAVE_LANGINFO_T_FMT_AMPM is 0.
65284         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
65285         HAVE_LANGINFO_YESEXPR is 0.
65286         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
65287         NOEXPR.
65288         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
65289         * doc/posix-functions/nl_langinfo.texi: Likewise.
65290         Reported by Eric Blake.
65292 2010-09-10  Bruno Haible  <bruno@clisp.org>
65294         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
65295         * doc/glibc-functions/login_tty.texi: Mention the include file problem
65296         on FreeBSD 8.0 and OpenBSD 4.6.
65297         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
65298         * m4/pty_h.m4 (gl_PTY_H): Likewise.
65299         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
65300         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
65301         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
65302         ac_includes_default.
65303         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65305 2010-09-09  Eric Blake  <eblake@redhat.com>
65307         strsignal: work around NetBSD bug
65308         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
65309         * lib/string.in.h (includes): Likewise.
65310         * doc/posix-functions/strsignal.texi (strsignal): Document the
65311         bug.
65312         Reported by Nelson H. F. Beebe.
65314         gnulib-tool: work with NetBSD /bin/sh
65315         * gnulib-tool (func_cache_var, func_cache_lookup_module)
65316         (func_get_description, func_get_comment, func_get_status)
65317         (func_get_notice, func_get_applicability, func_get_filelist)
65318         (func_get_dependencies, func_get_autoconf_early_snippet)
65319         (func_get_autoconf_snippet, func_get_automake_snippet)
65320         (func_get_include_directive, func_get_link_directive)
65321         (func_get_license, func_get_maintainer, func_import): Avoid
65322         shell syntax errors from parsing syntax extensions.
65324 2010-09-09  Bruno Haible  <bruno@clisp.org>
65326         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
65327         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
65328         a reliable way to determine whether the 'alias' command works.
65330 2010-09-08  Jim Meyering  <meyering@redhat.com>
65332         init.sh: penalize a set-x-impaired shell; don't disqualify it
65333         * tests/init.sh: Too many shells corrupt application stderr when
65334         you set -x, so we can't afford to disqualify them, since at least
65335         on Irix-6.5, that would disqualify all bourne shells.
65336         Instead, use a two-pass approach.
65337         On the first pass, try to find a shell that meets the stricter
65338         condition that set -x does not corrupt stderr.
65339         If no shell meets the stricter condition, retest each candidate
65340         shell, but without that extra condition.  Finally, when
65341         VERBOSE=yes is requested and set -x might cause trouble, simply
65342         issue a warning and refrain from enabling debug output.
65344 2010-09-08  Eric Blake  <eblake@redhat.com>
65346         unsetenv: fix OpenBSD bug
65347         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
65348         * doc/posix-functions/unsetenv.texi (unsetenv): Update
65349         documentation.
65350         Reported by Jim Meyering.
65352         strtod: work around IRIX 6.5 bug
65353         * lib/strtod.c (strtod): Reparse number on shorter string if
65354         exponent parse was invalid.
65355         * tests/test-strtod.c (main): Add check for "0x1p 2".
65356         Reported by Tom G. Christensen.
65358         getopt: optimize previous patch
65359         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
65360         empty variable.  Speed up awk script.
65361         Reported by Paolo Bonzini.
65363 2010-09-08  Jim Meyering  <meyering@redhat.com>
65365         test.sh: disqualify shells for which set -x corrupts stderr
65366         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
65367         and OpenBSD 4.7.  They make it so with "set -x", environment settings
65368         appear in stderr output.  For example, this command:
65369             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
65370         prints "P=1" on those two systems:
65372 2010-09-08  Bruno Haible  <bruno@clisp.org>
65374         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
65375         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
65376         commands, because some shells ignore redirections when there is an
65377         error in the command lookup.
65378         Reported by Eric Blake.
65380 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
65382         * lib/regex.h: Fix a mention of `regex_compile' (should be
65383         `re_compile_pattern').
65384         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
65385         (re_set_registers): Correct name of parameter in comment.
65387         * doc/regex.texi: Add documentation for missing syntax flags.
65388         Remove commented-out documentation of defunct syntax option
65389         RE_NO_EMPTY_ALTS.
65390         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
65391         Add documentation of re_set_registers.
65392         Document trick to re-use a pattern buffer by setting fastmap manually.
65393         Update documentation of struct re_pattern_buffer per public members.
65394         Uncomment documentation of equivalence class operators and
65395         collating symbol operators, since they are now implemented,
65396         Explain leftmost-longest matching in relation to alternatives.
65397         Tidy documentation of substring matching.
65398         Remove POSIX documentation, which is done better in
65399         glibc, and refer the reader there. Keep BSD API documentation, as
65400         that is not readily available elsewhere.
65402 2010-09-07  Eric Blake  <eblake@redhat.com>
65404         getopt: handle POSIXLY_CORRECT set but not exported
65405         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
65406         export state of POSIXLY_CORRECT, due to bash set -o posix.
65407         Reported by Dustin J. Mitchell.
65409 2010-09-05  Bruno Haible  <bruno@clisp.org>
65411         gnulib-tool: Highlight the changed options.
65412         * gnulib-tool (func_usage): Display the --import, --add-import,
65413         --remove-import explanations in bold font.
65415 2010-09-06  Karl Berry  <karl@gnu.org>
65417         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
65419 2010-09-05  Bruno Haible  <bruno@clisp.org>
65421         uniwidth/width: Update comment.
65422         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
65423         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
65425 2010-09-05  Bruno Haible  <bruno@clisp.org>
65427         isinf, isnan: Relax license.
65428         * modules/isinf (License): Change from GPL to LGPL, with consent from
65429         Ben Pfaff.
65430         * modules/isnan (License): Likewise.
65431         Requested by Ludovic Courtès.
65433 2010-09-04  Bruno Haible  <bruno@clisp.org>
65435         gnulib-tool: Help migration from --import to --add-import or --update.
65436         * gnulib-tool: Emit a verbose error message when --import is used
65437         without any module name.
65439 2010-09-04  Bruno Haible  <bruno@clisp.org>
65441         Update doc about gnulib-tool.
65442         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
65443         'gnulib-tool --update' in more detail.
65444         Reported by Eric Blake.
65446 2010-09-04  Bruno Haible  <bruno@clisp.org>
65448         gnulib-tool: Change --import. New options --add/remove-import.
65449         * gnulib-tool: New options --add-import, --remove-import.
65450         (func_usage): Document them.
65451         (have_associative): Define always.
65452         (func_import): In import mode, don't merge the specified settings with
65453         the cached settings. Implement remove-import mode.
65454         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
65455         Explain when to use them versus --import.
65456         (Simple update): Use --add-import instead of --import.
65457         * NEWS: Mention the change.
65459 2010-09-04  Bruno Haible  <bruno@clisp.org>
65461         * doc/gnulib-tool.texi (Initial import): Update paragraph about
65462         separate gnulib.mk.
65464 2010-09-04  Bruno Haible  <bruno@clisp.org>
65466         gnulib-tool: Don't talk about CVS any more.
65467         * gnulib-tool (func_usage, func_import): Write "version control"
65468         instead of CVS.
65470 2010-09-04  Jim Meyering  <meyering@redhat.com>
65472         maint.mk: avoid obscure sc_copyright_check failure in coreutils
65473         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
65474         false positives (whose names may be ill-chosen) when searching
65475         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
65476         would cause a false-positive.
65478         avoid coreutils "make distcheck" failure
65479         Coreutils tests with an absolute build directory name that contains
65480         a space.  Not quoting this directory name caused a failure.
65481         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
65482         * tests/test-vc-list-files-cvs.sh: Likewise.
65484 2010-09-04  Bruno Haible  <bruno@clisp.org>
65486         gnulib-tool: Avoid error when run in a package without Makefile.am.
65487         * gnulib-tool: When collecting the m4dirs in a package that does not
65488         have a Makefile.am, eliminate those directories that contain no
65489         gnulib-cache.m4. Fix expression that counts these directories.
65491 2010-09-04  Bruno Haible  <bruno@clisp.org>
65493         update-copyright test: Improve output when perl is missing or too old.
65494         * tests/test-update-copyright.sh: Move test of Perl version down after
65495         the test whether Perl exists. Provide an explanation relating Perl's
65496         error message to Automake's SKIP: message.
65498 2010-09-04  Bruno Haible  <bruno@clisp.org>
65500         Don't augment PATH in TESTS_ENVIRONMENT.
65501         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
65502         set abs_aux_dir instead of augmenting PATH.
65503         * modules/vc-list-files-tests (Makefile.am): Likewise.
65504         * tests/test-update-copyright.sh: Augment PATH here.
65505         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
65506         path_prepend_.
65507         * tests/test-vc-list-files-git.sh: Likewise.
65509 2010-09-04  Jim Meyering  <meyering@redhat.com>
65511         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
65512         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
65514 2010-09-04  Bruno Haible  <bruno@clisp.org>
65516         strdup: Fix compilation error in C++ mode.
65517         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
65518         the macro.
65520 2010-09-04  Bruno Haible  <bruno@clisp.org>
65522         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
65523         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
65524         macro into a function.
65525         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
65527 2010-09-04  Bruno Haible  <bruno@clisp.org>
65529         Set PATH_SEPARATOR the same way autoconf does.
65530         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
65531         the value of PATH_SEPARATOR the same way autoconf-generated configure
65532         scripts do.
65533         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
65534         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
65536 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
65538         Set PATH_SEPARATOR the same way autoconf does.
65539         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
65540         the same way autoconf-generated configure scripts do.
65541         * posix-modules: Likewise.
65543 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
65545         hash: fix safe_hasher const typo
65546         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
65547         const; otherwise, there is a type error later.
65549 2010-09-02  Jim Meyering  <meyering@redhat.com>
65551         test-update-copyright.sh: require perl 5.8.0
65552         * tests/test-update-copyright.sh: Require 5.8.0,
65553         which Tom G. Christensen has confirmed is adequate,
65554         while 5.6.1 is not.
65556 2010-09-02  Eric Blake  <eblake@redhat.com>
65558         tests: init.sh improvements for re-exec'ing with zsh
65559         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
65560         -vx through shell re-exec.
65561         Reported by Tom G. Christensen.
65563         wctype: fix typo in previous commit
65564         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
65565         Reported by Ludovic Courtès.
65567 2010-09-02  Jim Meyering  <meyering@redhat.com>
65569         test-update-copyright.sh: skip test if Perl is too old
65570         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
65571         Reported by Tom G. Christensen.
65573 2010-09-02  Bruno Haible  <bruno@clisp.org>
65575         wctype: Avoid compilation error on IRIX 6.5.30.
65576         * lib/wctype.in.h (iswblank): Declare with a replacement if
65577         REPLACE_ISWBLANK is set.
65578         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
65579         declared. Set REPLACE_ISWBLANK.
65580         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
65581         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
65582         * doc/posix-headers/wctype.texi: Likewise.
65583         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65585 2010-09-01  Bruno Haible  <bruno@clisp.org>
65587         New module 'socketlib'.
65588         * modules/socketlib: New file.
65589         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
65590         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
65591         * modules/sockets (Depends-on): Add socketlib.
65592         Suggested by Sam Steingold <sds@gnu.org>.
65594 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65596         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
65598         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
65599         when one needs search access to a directory but not read access.
65600         On systems where it is available, it works in some cases where
65601         O_RDONLY does not, namely on directories that are searchable but
65602         not readable, and which need only to be searchable.  If O_SEARCH
65603         is not available, fall back to the traditional method of using
65604         O_RDONLY.
65606         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
65607         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
65608         when opening a directory that needs only to be searchable.
65609         * lib/chdir-safer.c (chdir_no_follow): Likewise.
65610         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
65611         * lib/openat-proc.c (openat_proc_name): Likewise.
65612         * lib/openat.c (openat_needs_fchdir): Likewise.
65613         * lib/save-cwd.c (save_cwd): Likewise.
65614         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
65616 2010-08-28  Bruno Haible  <bruno@clisp.org>
65618         New module 'host-cpu-c-abi'.
65619         * modules/host-cpu-c-abi: New file.
65620         * m4/host-cpu-c-abi.m4: New file, based on part of
65621         clisp/src/m4/general.m4.
65622         Requested by Sam Steingold <sds@gnu.org>.
65624 2010-08-31  Eric Blake  <eblake@redhat.com>
65625         and Jim Meyering  <meyering@redhat.com>
65627         hash: factor, and guard against misbehaving hasher function
65628         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
65629         of table->hasher's return value.  Also protect against a hash value
65630         so large that adding it to table->bucket results in a NULL pointer.
65631         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
65632         Use it in place of open-coded check-and-abort.
65634 2010-08-30  Bruno Haible  <bruno@clisp.org>
65636         hash: silence spurious clang warning
65637         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
65638         Reported by Eric Blake.
65640 2010-08-30  Eric Blake  <eblake@redhat.com>
65642         strstr, memmem, strcasestr: avoid leaked shell message
65643         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
65644         FreeBSD.
65645         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
65646         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
65648         tests: silence clang warning
65649         * tests/test-malloca.c (do_allocation): Avoid dead store.
65651 2010-08-29  Bruno Haible  <bruno@clisp.org>
65653         gettext: Fix recent mistake.
65654         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
65656 2010-08-29  Bruno Haible  <bruno@clisp.org>
65658         selinux-h: Offer a --without-selinux option.
65659         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
65660         --without-selinux was specified, skip all tests and define
65661         HAVE_SELINUX_SELINUX_H to 0.
65662         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
65663         set LIB_SELINUX to empty.
65664         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
65665         gl_LIBSELINUX. If --without-selinux was specified, replace
65666         selinux/context.h.
65667         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
65669 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65670             Bruno Haible  <bruno@clisp.org>
65672         Make the module 'realloc-gnu' work again on AIX and OSF/1.
65673         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
65674         of HAVE_REALLOC.
65675         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
65676         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
65677         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
65678         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
65680 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65681             Bruno Haible  <bruno@clisp.org>
65683         Make the module 'calloc-gnu' work again on AIX and OSF/1.
65684         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
65685         HAVE_CALLOC.
65686         * lib/xmalloc.c: Update accordingly.
65687         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
65688         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
65689         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
65691 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65692             Bruno Haible  <bruno@clisp.org>
65694         Make the module 'malloc-gnu' work again on AIX and OSF/1.
65695         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
65696         HAVE_MALLOC.
65697         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
65698         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
65699         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
65701 2010-08-29  Bruno Haible  <bruno@clisp.org>
65703         Update modules list.
65704         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
65705         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
65706         (String handling <string.h>): Add astrxfrm.
65707         (File system functions): Add readlinkat.
65709 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65711         Tests for module 'realloc-gnu'.
65712         * modules/realloc-gnu-tests: New file.
65713         * tests/test-realloc-gnu.c: New file.
65715         Tests for module 'calloc-gnu'.
65716         * modules/calloc-gnu-tests: New file.
65717         * tests/test-calloc-gnu.c: New file.
65719         Tests for module 'malloc-gnu'.
65720         * modules/malloc-gnu-tests: New file.
65721         * tests/test-malloc-gnu.c: New file.
65723 2010-08-28  Bruno Haible  <bruno@clisp.org>
65725         Rename module 'realloc' -> 'realloc-gnu'.
65726         * modules/realloc-gnu: New file, copied from modules/realloc.
65727         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
65728         obsolete.
65729         * modules/mgetgroups (Depends-on): Update.
65730         * doc/posix-functions/realloc.texi: Update.
65731         * NEWS: Mention the change.
65733         Rename module 'calloc' -> 'calloc-gnu'.
65734         * modules/calloc-gnu: New file, copied from modules/calloc.
65735         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
65736         obsolete.
65737         * doc/posix-functions/calloc.texi: Update.
65738         * NEWS: Mention the change.
65740         Rename module 'malloc' -> 'malloc-gnu'.
65741         * modules/malloc-gnu: New file, copied from modules/malloc.
65742         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
65743         obsolete.
65744         * modules/argp (Depends-on): Update.
65745         * modules/regex (Depends-on): Update.
65746         * doc/posix-functions/malloc.texi: Update.
65747         * NEWS: Mention the change.
65749 2010-08-28  Eric Blake  <eblake@redhat.com>
65751         pread, pwrite: add missing dependency
65752         * modules/pread (Depends-on): Add extensions.
65753         * modules/pwrite (Depends-on): Likewise.
65755 2010-08-28  Bruno Haible  <bruno@clisp.org>
65757         unistr/u*-strchr: Fix tests dependencies.
65758         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
65759         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
65760         Reported by Ian Beckwith <ianb@erislabs.net>.
65762 2010-08-28  Bruno Haible  <bruno@clisp.org>
65764         read-file: Don't occupy too much unused memory.
65765         * lib/read-file.c (fread_file): Shrink the buffer at the end.
65767 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
65768             Eric Blake  <eblake@redhat.com>
65769             Bruno Haible  <bruno@clisp.org>
65771         read-file: Avoid memory reallocations with regular files.
65772         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
65773         (fread_file): With regular files, use the remaining length as the
65774         initial buffer size.  Check against overflow.
65775         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
65776         sys_stat.
65778 2010-08-28  Bruno Haible  <bruno@clisp.org>
65780         ftello: Relax license.
65781         * modules/ftello (License): Relax to LGPLv2+.
65782         Reported by Eric Blake.
65784 2010-08-28  Bruno Haible  <bruno@clisp.org>
65786         Avoid relocwrapper link errors due to gnulib replacement functions.
65787         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
65788         function.
65789         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65791 2010-08-28  Bruno Haible  <bruno@clisp.org>
65793         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
65794         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
65795         defined.
65796         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
65797         Suggested by Eric Blake.
65799 2010-08-28  Bruno Haible  <bruno@clisp.org>
65801         sys_socket, netdb: Ensure socklen_t gets defined.
65802         * modules/sys_socket (Depends-on): Add socklen.
65803         * modules/netdb (Depends-on): Likewise.
65804         * modules/getaddrinfo (Depends-on): Remove socklen.
65805         * modules/getsockopt (Depends-on): Likewise.
65806         * modules/setsockopt (Depends-on): Likewise.
65807         * tests/test-sys_socket.c: Check that socklen_t is defined.
65808         * tests/test-netdb.c: Likewise.
65809         * m4/socklen.m4: Update comments.
65810         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65812 2010-08-27  Eric Blake  <eblake@redhat.com>
65814         login_tty: add missing dependency
65815         * modules/login_tty (Depends-on): Add pty.
65817 2010-08-26  Eric Blake  <eblake@redhat.com>
65819         lib-symbol-versions: fix m4 quoting
65820         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
65821         format for AC_LINK_IFELSE.
65823         glob: fix compile test
65824         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
65826         btowc: fix missing file
65827         * modules/btowc (Files): Also ship locale-fr.m4.
65829         lseek: fix link test
65830         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
65831         AC_LINK_IFELSE.
65833         include_next: silence autoconf 2.68 warning
65834         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
65835         AC_COMPILE_IFELSE as special.
65836         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
65837         autoconf < 2.68.
65839         acl: fix compilation test
65840         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
65841         AC_COMPILE_IFELSE.
65843 2010-08-26  Bruno Haible  <bruno@clisp.org>
65845         Modernize AC_TRY_RUN invocations.
65846         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
65847         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
65848         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
65849         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
65850         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
65851         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
65852         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
65853         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
65854         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
65855         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
65856         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
65857         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
65858         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
65859         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
65860         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
65861         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
65862         gl_MBRLEN_NUL_RETVAL): Likewise.
65863         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
65864         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
65865         Likewise.
65866         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
65867         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
65868         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
65869         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
65870         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
65871         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
65872         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
65873         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
65874         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
65875         Likewise.
65876         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
65877         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
65878         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
65879         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
65880         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
65881         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
65882         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
65883         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
65884         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
65885         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
65887 2010-08-26  Bruno Haible  <bruno@clisp.org>
65889         Modernize AC_TRY_LINK invocations.
65890         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
65891         AC_TRY_LINK.
65892         * m4/argp.m4 (gl_ARGP): Likewise.
65893         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
65894         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
65895         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
65896         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
65897         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
65898         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
65899         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
65900         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
65901         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
65902         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
65903         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
65904         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
65905         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
65906         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
65907         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
65908         * m4/hostent.m4 (gl_HOSTENT): Likewise.
65909         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
65910         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
65911         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
65912         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
65913         Likewise.
65914         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
65915         Likewise.
65916         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
65917         Likewise.
65918         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
65919         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
65920         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
65921         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
65922         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
65923         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
65924         * m4/servent.m4 (gl_SERVENT): Likewise.
65925         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
65926         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
65927         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
65928         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
65929         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
65930         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
65931         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
65932         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
65933         * modules/tsearch-tests (configure.ac): Likewise.
65935 2010-08-26  Bruno Haible  <bruno@clisp.org>
65937         Modernize AC_TRY_COMPILE invocations.
65938         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
65939         AC_TRY_COMPILE.
65940         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
65941         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
65942         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
65943         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
65944         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
65945         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
65946         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
65947         * m4/lock.m4 (gl_LOCK): Likewise.
65948         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
65949         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
65950         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
65951         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
65952         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
65953         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
65954         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
65955         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
65956         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
65957         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
65958         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
65959         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
65960         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
65961         extraneous semicolon.
65963 2010-08-26  Jim Meyering  <meyering@redhat.com>
65965         stat-time: relax license LGPL
65966         * modules/stat-time (License): Change from GPL to LGPL,
65967         with consent from all contributors, for use in libguile.
65968         Requested by Ludovic Courtès.
65970 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
65972         poll: return immediately on POLLHUP.
65973         * lib/poll.c (poll): Always set timeout before wait_timeout is
65974         computed.
65976 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65978         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
65979         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
65980         rmdir ("dir/.//"), unlinkat.
65982 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65984         stdbool: avoid spurious failure with modern xlc
65985         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
65987 2010-08-24  Bruno Haible  <bruno@clisp.org>
65989         getloadavg: simplify code
65990         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
65991         gl_have_func. Update comments.
65993 2010-08-24  Eric Blake  <eblake@redhat.com>
65995         getloadavg: don't define SVR4 on cygwin
65996         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
65997         only define SVR4 when -lkvm is required.
65998         Reported by Yaakov Selkowitz.
66000 2010-08-24  Bruno Haible  <bruno@clisp.org>
66002         priv-set: fix comment
66003         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
66005 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66007         priv-set: fix comments
66008         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
66009         to match code, as suggested by David Bartley in:
66010         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
66012 2010-08-23  Eric Blake  <eblake@redhat.com>
66014         stdbool: avoid rejecting clang
66015         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
66016         * tests/test-stdbool.c: Enable more tests if using the system
66017         <stdbool.h> instead of the gnulib replacement.
66018         (main): Move xlc bug test to a runtime test for all compilers.
66019         Reported by Anders Kaseorg.
66021         argz: fix shell quoting issue
66022         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
66023         Reported by Charles Wilson.
66025 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
66026             Erik Faye-Lund <kusmabite@gmail.com>
66028         poll, select: handle ERROR_BROKEN_PIPE.
66029         * lib/poll.c (win32_compute_revents): Return POLLHUP when
66030         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
66031         * lib/select.c (win32_compute_revents): Do not mark a pipe
66032         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
66034 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
66036         fts: allow compilation with C++
66037         * lib/fts_.h: Specify extern "C" linkage with C++.
66039 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66041         Fix gnulib-tool sed script de-commentation for AIX sed.
66042         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
66043         sed.
66045 2010-08-17  Eric Blake  <eblake@redhat.com>
66047         test-stddef: test for (some) offsetof bugs
66048         * tests/test-stddef.c: Enhance test to ensure correct type of
66049         offsetof.
66050         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
66051         that we are not fixing at this time.
66053 2010-08-15  Bruno Haible  <bruno@clisp.org>
66055         stpncpy: Allow stpncpy to be defined as a macro.
66056         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
66057         if it's already correctly declared.
66058         * lib/string.in.h (stpncpy): Undefine before redefining.
66059         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
66061 2010-08-14  Bruno Haible  <bruno@clisp.org>
66063         Rename module 'memxfrm' to 'amemxfrm'.
66064         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
66065         (amemxfrm): Renamed from memxfrm.
66066         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
66067         (amemxfrm): Renamed from memxfrm.
66068         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
66069         * NEWS: Mention the change.
66070         * MODULES.html.sh (String handling <string.h>): Update.
66071         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
66072         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
66073         * lib/unicase/u16-casexfrm.c: Likewise.
66074         * lib/unicase/u32-casexfrm.c: Likewise.
66075         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
66076         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
66077         * lib/uninorm/u16-normxfrm.c: Likewise.
66078         * lib/uninorm/u32-normxfrm.c: Likewise.
66079         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
66080         memxfrm.
66081         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
66082         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
66083         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
66084         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
66085         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
66086         Suggested by Paul Eggert.
66088 2010-08-14  Bruno Haible  <bruno@clisp.org>
66090         Tests for module 'astrxfrm'.
66091         * modules/astrxfrm-tests: New file.
66092         * tests/test-astrxfrm.c: New file.
66094         New module 'astrxfrm'.
66095         * lib/astrxfrm.h: New file.
66096         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
66097         * modules/astrxfrm: New file.
66099 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
66101         regex: Tweak doc.
66102         * doc/regex.texi (Overview): Don't mention regex.c.
66103         (GNU Regular Expression Compiling): Likewise.
66104         (Match-end-of-line Operator): Mention 'not_eol'.
66106 2010-08-14  Brian Gough  <bjg@gnu.org>
66107             Bruno Haible  <bruno@clisp.org>
66109         git-merge-changelog: add doc relating to use with bzr and hg.
66110         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
66112 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
66114         pthread: fix pthread.h creation for srcdir != builddir
66115         * modules/pthread (Makefile.am): Fix the rule to work also in a
66116         non-srcdir build.
66118 2010-08-13  Karl Berry  <karl@gnu.org>
66120         * doc/regex.texi (Predefined Syntaxes): @smallexample.
66121         * doc/posix-*/*: force line break before @url of POSIX
66122         specifications.
66123         Suggested by Werner Lemberg.
66125 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
66127         strtod: fix const diagnostic
66128         * lib/strtod.c (strtod): Don't assign const char * to char *,
66129         as this elicits a warning from GCC when warnings are enabled.
66131 2010-08-10  Pádraig Brady  <P@draigbrady.com>
66132         and Eric Blake  <eblake@redhat.com>
66134         copy-acl: ignore ENOTSUP on HP-UX
66135         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
66136         so that it is available for HP-UX.
66137         * lib/copy-acl.c (qcopy_acl): Use it.
66138         Reported by Patrick M. Callahan.
66140 2010-08-10  Eric Blake  <eblake@redhat.com>
66142         open, chown: relax license
66143         * modules/open (License): Change to LGPLv2+, with consent by all
66144         authors, for use in augeas.
66145         * modules/chown (License): Likewise.
66146         * modules/lchown (Likewise): Likewise.
66147         Requested by Adam Stokes.
66149 2010-08-09  Karl Berry  <karl@gnu.org>
66151         * build-aux/ar-lib: new file, import from Automake.
66152         * config/srclist.txt: autocheck for updates.
66154 2010-08-09  Eric Blake  <eblake@redhat.com>
66156         readlinkat: adjust client modules
66157         * modules/areadlinkat (Depends-on): Use readlinkat, not
66158         symlinkat.
66159         * modules/areadlinkat-with-size (Depends-on): Likewise.
66161         mknod: be more vocal about danger of running tests as root
66162         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
66163         root, since that is just asking for problems.
66164         Suggested by Bruno Haible, based on a report by Rainer Tammer.
66166         readlinkat: split into its own module
66167         * modules/symlinkat: Split readlinkat...
66168         * modules/readlinkat: ...into separate module.
66169         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
66170         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
66171         * lib/symlinkat.c (readlinkat): Move...
66172         * lib/readlinkat.c: ...into new file.
66173         * modules/symlinkat-tests: Split readlinkat test...
66174         * modules/readlinkat-tests: ...into separate module.
66175         * tests/test-symlinkat.c: Split...
66176         * tests/test-readlinkat.c: ...into new file.
66177         * NEWS: Document the split.
66178         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
66179         * lib/unistd.in.h (readlinkat): Likewise.
66180         Suggested by Bruno Haible.
66182 2010-08-08  Bruno Haible  <bruno@clisp.org>
66184         memxfrm: Speed up.
66185         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
66186         that usually only one call to strxfrm is necessary for each string
66187         part.
66188         Reported by Paul Eggert <eggert@cs.ucla.edu>.
66190 2010-08-07  Karl Berry  <karl@gnu.org>
66192         * doc/posix-headers/limits.texi,
66193         * doc/posix-functions/malloc.texi,
66194         * doc/posix-functions/strsignal.texi: missing @item.
66195         * doc/ld-version-script.texi: spurious leading i.
66196         * doc/regex.texi (Interval Operators): no commas inside @var.
66198 2010-08-01  Bruno Haible  <bruno@clisp.org>
66200         Integrate the regex documentation.
66201         * doc/gnulib.texi: Define 'cn' index.
66202         (Regular expressions): New a chapter that includes regex.texi and
66203         regexprops-generic.texi.
66204         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
66205         syntax.
66207         Whitespace cleanup.
66208         * doc/regex.texi: Remove trailing spaces.
66210         Add regex documentation.
66211         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
66212         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
66213         Written by Kathy A. Hargreaves and Karl Berry.
66215 2010-08-01  Bruno Haible  <bruno@clisp.org>
66217         link: Update documentation.
66218         * doc/posix-functions/link.texi: Update regarding Solaris.
66220 2010-07-31  Bruno Haible  <bruno@clisp.org>
66222         Update modules list.
66223         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
66224         (String handling <string.h>): Add memcmp2, memxfrm.
66225         (Container data structures): Add xlist, xsublist, xoset.
66226         (Core language properties): Add alignof, unused-parameter.
66227         (Process control, Numeric conversion functions <stdlib.h>): Renamed
66228         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
66229         (Unibyte characters <ctype.h>): New section.
66230         (String handling <string.h>): New section.
66231         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
66232         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
66233         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
66234         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
66235         tan, tanh, tanl, y0, y1, yn.
66236         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
66237         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
66238         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
66239         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
66240         unlockpt, vdprintf, vdprintf-posix.
66241         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
66242         (File system functions): Add concat-filename, sys_file, sys_ioctl,
66243         xconcat-filename.
66244         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
66245         getdtablesize, pipe2, pipe2-safer.
66246         (Security): New section.
66247         (Networking functions): Add accept4.
66248         (Signal handling): Add sigpipe.
66249         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
66250         mbmemcasecoll.
66251         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
66252         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
66253         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
66254         pipe-filter-ii.
66255         (Misc): Add argp-version-etc, login_tty, parse-duration.
66257 2010-07-31  Bruno Haible  <bruno@clisp.org>
66259         Improve doc in MODULES.html.
66260         * modules/linkat (Description): Add the word "function".
66261         * modules/mkfifo (Description): Likewise.
66262         * modules/mknod (Description): Likewise.
66263         * modules/remove (Description): Likewise.
66264         * modules/renameat (Description): Likewise.
66265         * modules/stat (Description): Likewise.
66266         * modules/symlink (Description): Likewise.
66267         * modules/unlink (Description): Likewise.
66269 2010-07-31  Bruno Haible  <bruno@clisp.org>
66271         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
66272         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
66273         option --enable/disable-c++ instead of --enable/disable-cxx.
66274         * NEWS: Mention the change.
66276 2010-07-31  Bruno Haible  <bruno@clisp.org>
66278         readlink, areadlink: Relax test a bit.
66279         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
66280         alternative to ENOTDIR.
66281         * tests/test-areadlink.h (test_areadlink): Likewise.
66282         Reported by Rainer Tammer.
66284 2010-07-31  Bruno Haible  <bruno@clisp.org>
66286         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
66287         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
66288         character, perform the search using U_STRCHR.
66289         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
66290         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
66291         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
66292         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
66293         Suggested by Paolo Bonzini.
66295 2010-07-31  Bruno Haible  <bruno@clisp.org>
66297         unistr/u*-strstr: Fix dependencies.
66298         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
66299         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
66300         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
66302 2010-07-31  Bruno Haible  <bruno@clisp.org>
66304         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
66305         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
66306         the beginning of the loop.
66307         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
66308         cases in 'switch' statement.
66310         unistr/u8-strchr: Fix several bugs.
66311         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
66312         the string. When not found, return NULL, not a pointer near the end.
66314         More tests for unistr/u8-strchr.
66315         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
66316         that the function does not read past the first occurrence of the byte
66317         being searched.
66318         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
66319         * tests/unistr/test-u16-strchr.c (main): New function.
66320         * tests/unistr/test-u32-strchr.c (main): New function.
66322 2010-07-31  Bruno Haible  <bruno@clisp.org>
66324         posix-modules: Ignore backup files of documentation files.
66325         * posix-modules: grep only through files named *.texi.
66327 2010-07-31  Bruno Haible  <bruno@clisp.org>
66329         symlinkat: Fix documentation.
66330         * doc/posix-functions/readlinkat.texi: Fix module name.
66332 2010-07-31  Bruno Haible  <bruno@clisp.org>
66334         fchownat: Replace also when chown has the trailing slash bug.
66335         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
66336         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
66337         introduced on 2010-04-10.
66338         Reported by Rainer Tammer.
66340 2010-07-31  Bruno Haible  <bruno@clisp.org>
66342         linkat: Work around AIX 7.1 bug.
66343         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
66344         whether linkat handles trailing slash correctly. If not, replace linkat
66345         and define LINKAT_TRAILING_SLASH_BUG.
66346         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
66347         check whether (fd1,file1) points to a directory if file1 or file2 ends
66348         in a slash. Code taken from lib/link.c.
66349         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
66350         Reported by Rainer Tammer.
66352 2010-07-31  Bruno Haible  <bruno@clisp.org>
66354         Correctly determine whether pow is available in libc on AIX 7 with xlc.
66355         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
66356         This disables an xlc optimization that was causing wrong test results.
66357         Reported by Rainer Tammer.
66359 2010-07-31  Bruno Haible  <bruno@clisp.org>
66361         iconv: Work around AIX 6.1..7.1 bug.
66362         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
66363         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
66364         cross-compiling, guess no on all versions of AIX.
66365         Reported by Rainer Tammer.
66367 2010-07-31  Bruno Haible  <bruno@clisp.org>
66369         readlink: Relax test a bit.
66370         * tests/test-readlink.h (test_readlink): Allow different errno value
66371         when readlink is called with a file name that ends in / and refers to
66372         a file.
66373         Suggested by Eric Blake.
66374         Reported by Rainer Tammer.
66376 2010-07-31  Bruno Haible  <bruno@clisp.org>
66378         copysign: Does not require -lm on glibc systems.
66379         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
66380         gl_COMMON_DOUBLE_MATHFUNC.
66381         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
66383 2010-07-31  Bruno Haible  <bruno@clisp.org>
66385         duplocale: Work around AIX 7.1 bug.
66386         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
66387         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
66388         * lib/duplocale.c (rpl_duplocale): Update comment.
66389         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
66390         Reported by Rainer Tammer.
66392 2010-07-30  Bruno Haible  <bruno@clisp.org>
66394         dirfd: Avoid link error on AIX 7.1.
66395         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
66396         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
66397         exist, set REPLACE_DIRFD.
66398         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
66399         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
66400         * doc/posix-functions/dirfd.texi: Update.
66401         Reported by Rainer Tammer.
66403 2010-07-30  Eric Blake  <eblake@redhat.com>
66405         strtod: next round of AIX fixes
66406         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
66407         exponent.
66408         * tests/test-strtod.c (main): Enhance tests.
66409         * doc/posix-functions/strtod.texi (strtod): Document next bug.
66410         Reported by Rainer Tammer.
66412         futimens: fix configure check
66413         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
66414         Reported by Bruno Haible.
66416 2010-07-30  Bruno Haible  <bruno@clisp.org>
66418         getline: Update regarding AIX.
66419         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
66420         Reported by Rainer Tammer.
66422 2010-07-30  Bruno Haible  <bruno@clisp.org>
66424         wcwidth: Drop replacement on AIX 7.
66425         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
66426         AIX 7.
66427         Reported by Rainer Tammer.
66429 2010-07-30  Bruno Haible  <bruno@clisp.org>
66431         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
66432         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
66433         a 'char *'.
66434         Reported by Rainer Tammer.
66436 2010-07-30  Bruno Haible  <bruno@clisp.org>
66438         unlink: Update regarding AIX.
66439         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
66440         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
66441         Reported by Rainer Tammer.
66443 2010-07-30  Bruno Haible  <bruno@clisp.org>
66445         symlink: Update regarding AIX.
66446         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
66447         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
66448         Reported by Rainer Tammer.
66450 2010-07-30  Bruno Haible  <bruno@clisp.org>
66452         strndup: Update regarding AIX.
66453         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
66454         AIX 7.
66455         Reported by Rainer Tammer.
66457 2010-07-30  Bruno Haible  <bruno@clisp.org>
66459         stat: Update regarding AIX.
66460         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
66461         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
66462         Reported by Rainer Tammer.
66464 2010-07-30  Bruno Haible  <bruno@clisp.org>
66466         truncl: Fix autoconf test.
66467         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
66468         whether truncl works.
66469         Reported by Rainer Tammer.
66471 2010-07-30  Bruno Haible  <bruno@clisp.org>
66473         round: Update regarding AIX.
66474         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
66475         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
66476         Reported by Rainer Tammer.
66478 2010-07-30  Bruno Haible  <bruno@clisp.org>
66480         rename: Update regarding AIX.
66481         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
66482         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
66483         Reported by Rainer Tammer.
66485 2010-07-30  Bruno Haible  <bruno@clisp.org>
66487         printf.m4: Update regarding AIX.
66488         * m4/printf.m4: Update comments regarding AIX.
66489         Reported by Rainer Tammer.
66491 2010-07-30  Bruno Haible  <bruno@clisp.org>
66493         iconv: Update regarding AIX.
66494         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
66495         AIX 7.
66496         Reported by Rainer Tammer.
66498 2010-07-30  Bruno Haible  <bruno@clisp.org>
66500         getopt: Update regarding AIX.
66501         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
66502         no on AIX.
66503         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
66504         Reported by Rainer Tammer.
66506 2010-07-30  Bruno Haible  <bruno@clisp.org>
66508         ldexpl; Update regarding AIX.
66509         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
66510         on AIX 7.
66511         Reported by Rainer Tammer.
66513 2010-07-30  Bruno Haible  <bruno@clisp.org>
66515         frexpl: Update regarding AIX.
66516         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
66517         on AIX 7.
66518         Reported by Rainer Tammer.
66520 2010-07-30  Bruno Haible  <bruno@clisp.org>
66522         open, fopen: Update regarding AIX.
66523         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
66524         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
66525         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
66526         * doc/posix-functions/fopen.texi: Likewise.
66527         Reported by Rainer Tammer.
66529 2010-07-30  Bruno Haible  <bruno@clisp.org>
66531         chown: Update doc regarding AIX.
66532         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
66533         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
66534         Reported by Rainer Tammer.
66536 2010-07-30  Eric Blake  <eblake@redhat.com>
66538         strtod: fix bug in replacement function on AIX
66539         * lib/strtod.c (strtod): Special case broken "0x" parse in
66540         underlying strtod.
66541         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
66542         * doc/posix-functions/strtod.texi (strtod): Likewise.
66543         Reported by Rainer Tammer.
66545 2010-07-30  Bruno Haible  <bruno@clisp.org>
66547         mbrlen: Fix cross-compilation guess for AIX.
66548         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
66549         guess. Leftover from 2008-12-22.
66551 2010-07-30  Bruno Haible  <bruno@clisp.org>
66553         mbrtowc: Fix cross-compilation guess for AIX.
66554         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
66555         guess. Leftover from 2008-12-21.
66557 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
66559         init.sh: work around trap limitation of some shells
66560         * tests/init.sh (setup_): Move exit trap outside of shell function.
66562 2010-07-29  Eric Blake  <eblake@redhat.com>
66564         strtod: aid debugging
66565         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
66566         understanding why strtod is rejected.
66568 2010-07-28  Bruno Haible  <bruno@clisp.org>
66570         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
66571         * lib/unistr/u8-chr.c: Include <string.h>.
66572         * tests/unistr/test-u8-chr.c: Likewise.
66573         * tests/unistr/test-u16-chr.c: Likewise.
66574         * tests/unistr/test-u32-chr.c: Likewise.
66575         * tests/unistr/test-u8-strchr.c: Likewise.
66576         * tests/unistr/test-u16-strchr.c: Likewise.
66577         * tests/unistr/test-u32-strchr.c: Likewise.
66578         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
66579         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
66580         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
66581         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
66583 2010-07-28  Bruno Haible  <bruno@clisp.org>
66585         Use spaces for indentation, not tabs.
66586         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
66588 2010-07-27  Bruno Haible  <bruno@clisp.org>
66590         mbspcasecmp: Fix function specification.
66591         * lib/string.in.h (mbspcasecmp): Fix specification comment.
66592         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
66593         Reported by Eric Blake <eblake@redhat.com>.
66595 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
66597         timespec: use cast and not conditional, as truncation isn't possible
66598         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
66599         instead of a conditional.  Comment about the situation in more detail.
66600         This undoes most of the 2009-10-29 patch.
66602 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
66604         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
66605         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
66606         * lib/unistr/u8-strchr.c: Likewise.
66607         * modules/unistr/u8-chr: Depend on memchr.
66609         unistr/u*-strchr: add tests
66610         * modules/unistr/u8-strchr-tests: New file.
66611         * modules/unistr/u16-strchr-tests: New file.
66612         * modules/unistr/u32-strchr-tests: New file.
66613         * tests/unistr/test-strchr.h: New file.
66614         * tests/unistr/test-u8-strchr.c: New file.
66615         * tests/unistr/test-u16-strchr.c: New file.
66616         * tests/unistr/test-u32-strchr.c: New file.
66618         unistr/u*-chr: test multibyte sequences more
66619         * tests/unistr/test-chr.h: Do complete testing of the characters in the
66620         test vector.
66621         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
66622         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
66623         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
66625         unistr/u*-chr: test multibyte sequences
66626         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
66628         unistr/u*-chr: prepare for multibyte tests
66629         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
66630         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
66631         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
66632         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
66633         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
66634         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
66636 2010-07-18  Bruno Haible  <bruno@clisp.org>
66638         unistr/u8-strchr: Optimize non-ASCII argument case.
66639         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
66640         because the first byte often matches anyway.
66641         Reported by Pádraig Brady <P@draigbrady.com>.
66643 2010-07-15  Karl Berry  <karl@gnu.org>
66645         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
66647 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
66649         getcwd: on Solaris, work better if ancestors are inaccessible
66650         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
66651         buffer and size, try again with a large buffer.  This works better
66652         on Solaris, since its getcwd succeeds even if the path to the root
66653         is inaccessible, and this is helpful in common cases such as .zfs
66654         hidden directories.  Problem reported by J Chapman Flack in
66655         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
66656         Use system getcwd if it's declared, not merely if it's partly
66657         working; use the partly-working test only to avoid needless effort
66658         if the system getcwd fails.
66659         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
66660         comment that was already obsolete and is now even more obsolete.
66661         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
66662         now might call strdup.
66664 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
66666         pthread: Add enough so that coreutils/src/sort.c compiles.
66667         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
66668         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
66669         gnulib. Include <sched.h> and <time.h>, as per POSIX.
66670         Include <sys/types.h>, in case it defines pthread_t.
66671         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
66672         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
66673         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
66674         (pthread_rwlockattr_t, pthread_spinlock_t):
66675         New typedefs, if HAVE_PTHREAD_T is not defined.
66676         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
66677         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
66678         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
66679         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
66680         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
66681         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
66682         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
66683         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
66684         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
66685         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
66686         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
66687         New macros.
66688         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
66689         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
66690         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
66691         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
66692         (pthread_spin_unlock): New dummy functions.
66693         (pthread_create): Return EAGAIN; don't set errno.
66694         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
66695         require AC_C_INLINE.
66696         * modules/pthread (Depends-on): Add sched, time.
66697         (pthread.h): Use AM_V_GEN.
66699 2010-07-13  Bruno Haible  <bruno@clisp.org>
66701         striconveh: Don't malloc memory if the result buffer is sufficient.
66702         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
66703         buffer if its size is sufficient.
66704         Reported by Ludovic Courtès <ludo@gnu.org>.
66706 2010-07-13  Bruno Haible  <bruno@clisp.org>
66708         strtod: Add safety check.
66709         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
66711 2010-07-12  Bruno Haible  <bruno@clisp.org>
66713         Unify tests that set gl_cv_func_ldexpl_no_libm.
66714         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
66715         gl_FUNC_LDEXPL.
66716         (gl_FUNC_LDEXPL): Invoke it.
66717         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
66719 2010-07-12  Bruno Haible  <bruno@clisp.org>
66721         Unify tests that set gl_cv_func_ldexp_no_libm.
66722         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
66723         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
66724         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
66725         (configure.ac): Simply invoke gl_FUNC_LDEXP.
66726         * modules/strtod (Files): Add m4/ldexp.m4.
66728 2010-07-12  Bruno Haible  <bruno@clisp.org>
66730         Unify tests that set gl_cv_func_frexpl_no_libm.
66731         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
66732         gl_FUNC_FREXPL_NO_LIBM.
66733         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
66734         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
66736 2010-07-12  Bruno Haible  <bruno@clisp.org>
66738         Unify tests that set gl_cv_func_frexp_no_libm.
66739         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
66740         gl_FUNC_FREXP_NO_LIBM.
66741         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
66742         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
66744 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
66746         memcoll: clarify sizes versus lengths, document better, and tweak perf
66747         * lib/memcoll.c (strcoll_loop, memcoll0):
66748         Improve quality of descriptive comments.  Name variables
66749         consistently as to whether they are lengths (which do not include
66750         terminating null) versus sizes (which do).
66751         * lib/xmemcoll.c (xmemcoll0): Likewise.
66752         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
66753         returned when s1size == 0; this is easier to compile and saves
66754         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
66756 2010-07-12  Bruno Haible  <bruno@clisp.org>
66758         Tests for module '_Exit'.
66759         * modules/_Exit-tests: New file.
66760         * tests/test-_Exit.sh: New file.
66761         * tests/test-_Exit.c: New file.
66763         New module '_Exit'.
66764         * lib/stdlib.in.h (__attribute__): New macro.
66765         (_Exit): New declaration.
66766         * lib/_Exit.c: New file.
66767         * m4/_Exit.m4: New file.
66768         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
66769         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
66770         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
66771         * modules/_Exit: New file.
66772         * tests/test-stdlib-c++.cc (_Exit): Check signature.
66773         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
66775 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
66777         strtod: make it more-accurate typically, and don't require libm
66778         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
66779         Include limits.h.  Don't include string.h.
66780         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
66781         (locale_isspace): New function, so that no casts are needed to
66782         check whether *s is a space.
66783         (ldexp): Provide an unused dummy if not available.
66784         (scale_radix_exp, parse_number, underlying_strtod): New functions.
66785         (strtod): Use them.  This implementation prefers to use the
66786         underlying strtod if available, falling back on our own code
66787         only to fix known bugs.  This is more likely to produce an
66788         accurate result.  Also, it avoids the use of libm functions.
66789         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
66790         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
66791         was absent, but it caused a test failure with coreutils.
66792         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
66793         with libm.
66794         * modules/strtod (Makefile.am, Link): libm is no longer needed.
66795         * modules/strtod-tests (Makefile.am): Likewise.
66797 2010-07-11  Pádraig Brady  <P@draigBrady.com>
66798             Bruno Haible  <bruno@clisp.org>
66800         unistr/u8-strchr: Optimize ASCII argument case.
66801         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
66803 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
66805         (x)memcoll: minor tweaks
66806         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
66807         is after the type that it qualifies.
66808         (memcoll0): Likewise.
66809         * lib/memcoll.h (memcoll0): Likewise.
66810         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
66811         * lib/xmemcoll.h (xmemcoll0): Likewise.
66812         * lib/memcoll.c (memcoll0): Correct the comment.  This function
66813         differs from memcoll in that the NUL byte is part of the argument.
66814         Omit the abort-checks, as performance is a real issue here.  Plus,
66815         the checks were wrong anyway (an off-by-one error).  Omit local
66816         variable 'diff', as it's a bit clearer that way.
66817         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
66818         no longer needed.
66820 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
66822         (x)memcoll: speedup when input is known to be NUL delimited
66823         * lib/memcoll.c: Include stdlib.
66824         (memcoll0): New function.
66825         (strcoll_loop): New function, refactored for use in both memcoll
66826         and memcoll0.
66827         * lib/memcoll.h (memcoll0): Add prototype.
66828         * lib/xmemcoll.c (xmemcoll0): New function.
66829         (collate_error): New function, refactored for use in both xmemcoll
66830         and xmemcoll0.
66831         * lib/xmemcoll.h (xmemcoll0): Add prototype.
66832         * m4/memcoll.m4: add inline invocation.
66834 2010-07-06  Pádraig Brady  <P@draigBrady.com>
66836         * build-aux/bootstrap: Remove any local translations
66837         from the translation project synchronization directory,
66838         so that local only translations are not distributed.
66840 2010-07-04  Bruno Haible  <bruno@clisp.org>
66842         fsusage: Clarify which code applies to which platforms.
66843         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
66844         platform.
66845         * lib/fsusage.c (get_fs_usage): Likewise.
66847 2010-07-04  Bruno Haible  <bruno@clisp.org>
66849         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
66850         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
66851         Reported by Martin Lambers <marlam@marlam.de>.
66853 2010-07-04  Jim Meyering  <meyering@redhat.com>
66855         hash: once again explicitly disallow insertion of NULL
66856         * lib/hash.c (hash_insert0): Reinstate just-removed test:
66857         inserting a NULL pointer cannot work with these functions.
66858         Add a comment with details.
66859         This reverts part of the 2010-07-01 commit, 5bef1a35
66860         "hash: extend module to deal with non-pointer keys".
66862 2010-07-01  Bruno Haible  <bruno@clisp.org>
66864         stdbool: Update doc.
66865         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
66866         Info from Christian Weisgerber <naddy@mips.inka.de>.
66868 2010-07-01  Jim Meyering  <meyering@redhat.com>
66870         hash: extend module to deal with non-pointer keys
66871         * lib/hash.c (hash_insert0): New interface, much like hash_insert
66872         but that allows insertion of non-pointer entries.
66873         Do not disallow an ENTRY value of NULL.
66874         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
66875         * lib/hash.h (hash_insert0): Declare.
66877 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
66879         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
66880         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
66881         not present (i.e. with autoconf 2.59 and when using gettextize, not
66882         gnulib), require AC_GNU_SOURCE instead.
66884 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
66886         idpriv-drop: Fix tests.
66887         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
66888         not to the test-idpriv-droptemp program.
66890 2010-06-29  Bruno Haible  <bruno@clisp.org>
66892         string: Fix syntax error with g++ 2.96.
66893         * lib/string.in.h (__pure__): Remove definition.
66894         (_GL_ATTRIBUTE_PURE): New macro.
66895         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
66896         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
66897         Reported by Christian Weisgerber <naddy@mips.inka.de>.
66899 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
66901         unitypes: Fix bug introduced on 2010-05-18.
66902         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
66904 2010-06-22  Eric Blake  <eblake@redhat.com>
66906         memmem: slight optimization
66907         * lib/str-two-way.h (critical_factorization): Update comments.
66908         Reduce work during factorization phase.
66909         Reported by Carlos Bueno <carlos@bueno.org>.
66911 2010-06-21  Bruno Haible  <bruno@clisp.org>
66913         Fix HAVE_CALLOC_POSIX misnomer.
66914         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
66915         !HAVE_CALLOC_POSIX.
66916         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
66917         HAVE_CALLOC_POSIX.
66918         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
66919         instead of HAVE_CALLOC_POSIX.
66920         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
66921         HAVE_CALLOC_POSIX.
66923         Use modern idiom for calloc() replacement.
66924         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
66925         AC_FUNC_CALLOC.
66926         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
66927         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
66928         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
66929         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
66930         (gl_REPLACE_CALLOC): New macro.
66932 2010-06-21  Bruno Haible  <bruno@clisp.org>
66934         Fix HAVE_REALLOC_POSIX misnomer.
66935         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
66936         !HAVE_REALLOC_POSIX.
66937         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
66938         HAVE_REALLOC_POSIX.
66939         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
66940         instead of HAVE_REALLOC_POSIX.
66941         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
66942         HAVE_REALLOC_POSIX.
66944         Use modern idiom for realloc() replacement.
66945         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
66946         AC_FUNC_REALLOC.
66947         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
66948         Autoconf's AC_FUNC_REALLOC.
66949         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
66950         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
66951         (gl_REPLACE_REALLOC): New macro.
66952         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
66954 2010-06-21  Bruno Haible  <bruno@clisp.org>
66956         Fix HAVE_MALLOC_POSIX misnomer.
66957         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
66958         !HAVE_MALLOC_POSIX.
66959         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
66960         HAVE_MALLOC_POSIX.
66961         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
66962         instead of HAVE_MALLOC_POSIX.
66963         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
66964         HAVE_MALLOC_POSIX.
66966         Use modern idiom for malloc() replacement.
66967         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
66968         AC_FUNC_MALLOC.
66969         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
66970         Autoconf's AC_FUNC_MALLOC.
66971         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
66972         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
66973         (gl_REPLACE_MALLOC): New macro.
66974         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
66976 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
66978         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
66979         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
66980         This macro takes 3 arguments, not 4.
66982 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
66984         ipv6: fix detection under mingw
66985         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
66986         in6_addr.
66988 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
66990         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
66991         that strtod() works when cross-compiling to a glibc version known
66992         to work.
66994 2010-06-15  Bruno Haible  <bruno@clisp.org>
66996         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
66998 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
67000         select: Correct timeout.
67001         * lib/select.c (rpl_select): Compute wait_timeout correctly.
67003 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
67005         git-version-gen: init shell var to avoid env var influence
67006         * build-aux/git-version-gen (v): Init shell var to empty.
67008 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
67010         priv-set: Don't assume that priv.h exists merely because getppriv does.
67011         See Jan Andersen's bug report about AIX 5L in
67012         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
67013         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
67014         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
67015         * lib/priv-set.h: Likewise.
67016         * tests/test-priv-set.c: Likewise.
67018 2010-06-13  Bruno Haible  <bruno@clisp.org>
67020         relocatable: Make it easier to test whether to install wrappers.
67021         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
67022         RELOCATABLE_VIA_WRAPPER.
67024 2010-06-13  Bruno Haible  <bruno@clisp.org>
67026         gnulib-tool: Display specified modules and dependencies differently.
67027         * gnulib-tool (func_show_module_list): New function.
67028         (func_import, func_create_testdir): Invoke it.
67029         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
67031 2010-06-13  Bruno Haible  <bruno@clisp.org>
67033         gnulib-tool: Align code of func_import and func_create_testdir.
67034         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
67035         specified_modules.
67037 2010-06-12  Jim Meyering  <meyering@redhat.com>
67039         test-inttostr: avoid spurious failure on Solaris 9
67040         * tests/test-inttostr.c (main): Skip the test when snprintf fails
67041         to accept "%ju".  Reported by Bruno Haible.
67043 2010-06-11  Jim Meyering  <meyering@redhat.com>
67045         test-sys_socket: mark variables as used more readably
67046         * tests/test-sys_socket.c (main): Mark otherwise unused variables
67047         as "used" explicitly via (void) statement casts.  This is more
67048         readable than using them in an artificial return expression.
67049         Suggestion from Bruno Haible.
67051 2010-06-11  Bruno Haible  <bruno@clisp.org>
67053         Avoid some more warnings from "gcc -Wwrite-strings".
67054         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
67055         to 'const char *'.
67056         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
67057         * tests/test-c-strcasestr.c (main): Likewise.
67058         * tests/test-mbscasestr1.c (main): Likewise.
67059         * tests/test-mbscasestr2.c (main): Likewise.
67060         * tests/test-memmem.c (main): Likewise.
67061         * tests/test-strstr.c (main): Likewise.
67062         * tests/test-strcasestr.c (main): Likewise.
67064 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67066         init.sh: change framework_failure_ to fail with status 99, not 1
67067         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
67068         automake's parallel-tests rule that this is an unexpected failure,
67069         even if the test is listed in XFAIL_TESTS.
67071 2010-06-11  Jim Meyering  <meyering@redhat.com>
67073         test-inttostr: avoid warnings about 4-6KB literal strings
67074         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
67075         Include "macros.h", for its definition of ASSERT.
67076         (CK): s/assert/ASSERT/
67077         * modules/inttostr-tests (Files): Add macros.h.
67079         init.sh: don't use $ME_ or skip_ before they are defined
67080         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
67081         their first uses.  Also hoist their companions: warn_, fail_,
67082         framework_failure_, $stderr_fileno.  Prompted by a patch from
67083         Stefano Lattarini.
67085         test-sys_socket: avoid set-but-not-used warnings from gcc
67086         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
67087         avoid warning about set-but-not-used variables.
67089         test-xvasprintf: avoid 'const' discard warnings
67090         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
67091         "const" when assigning from literal strings.
67092         (test_xasprintf): Add "void" in function argument list to placate
67093         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
67095         tests: avoid compilation warnings in argmatch and exclude tests...
67096         in packages that define ARGMATCH_DIE_DECL, like coreutils.
67097         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
67098         Since it always exits, declare with the "noreturn" attribute.
67099         * tests/test-argmatch.c: Likewise.
67101         tests: avoid 'const' discard warnings in mbsstr tests
67102         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
67103         * tests/test-mbsstr2.c (main): Likewise.
67105         test-verify: avoid warning from gcc's -Wmissing-declarations
67106         * tests/test-verify.c (function): Declare to be static.
67108         test-inttostr.c: include <string.h> for use of strcmp
67109         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
67111         test-linkat: avoid failed assertion on "other" architectures
67112         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
67113         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
67114         sparc: https://bugs.launchpad.net/bugs/591968
67116 2010-06-11  Jim Meyering  <meyering@redhat.com>
67118         printf.m4: avoid autoconf's "Expanded Before Required" warning
67119         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
67120         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
67121         autoconf warning.
67123 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
67125         Replacement header templates are now named with ".in", not "_".
67126         * doc/gnulib-intro.texi: Correct.
67128 2010-06-10  Jim Meyering  <meyering@redhat.com>
67130         inttostr-tests: depend on snprintf, not snprintf-posix
67131         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
67132         snprintf-posix, to avoid this aclocal failure:
67133           missing file gnulib-tests/vasnprintf.c
67134           configure.ac:45: error: expected source file, required through \
67135           AC_LIBSOURCES, not found
67137 2010-06-10  Jim Meyering  <meyering@redhat.com>
67139         inttostr: add a new function, inttostr, and tests
67140         The namesake function was not available.  The existence of the
67141         template file, inttostr.c makes its addition nontrivial.
67142         * lib/anytostr.c: Rename from inttostr.c.
67143         (anytostr): Rename from inttostr.
67144         * lib/inttostr.c: New file.
67145         * modules/inttostr (Files): Add anytostr.c.
67146         (Makefile.am): Set lib_SOURCES instead of ...
67147         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
67148         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
67149         * lib/offtostr.c: Likewise.
67150         * lib/uinttostr.c: Likewise.
67151         * lib/umaxtostr.c: Likewise.
67152         * modules/inttostr-tests: New file.
67153         * tests/test-inttostr.c: New file.  Test these functions.
67155 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
67156             Bruno Haible  <bruno@clisp.org>
67158         Add "Extending Gnulib" chapter to manual.
67159         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
67160         chapter.
67161         (Extending Gnulib): New chapter.
67162         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
67163         chapter.
67165 2010-06-09  Bruno Haible  <bruno@clisp.org>
67167         Avoid relocwrapper link errors due to gnulib replacement functions.
67168         * lib/areadlink.c: Use the system's malloc, realloc functions.
67169         (areadlink): Set errno to ENOMEM explicitly.
67170         * modules/areadlink (Depends-on): Remove malloc-posix.
67171         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67173 2010-06-09  Bruno Haible  <bruno@clisp.org>
67175         Avoid relocwrapper link errors due to gnulib replacement functions.
67176         * lib/canonicalize-lgpl.c: Use the system's malloc function.
67177         * lib/malloca.c: Likewise.
67178         * lib/relocatable.c: Likewise.
67179         * lib/progreloc.c: Use the system's malloc, sprintf functions.
67180         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
67181         * lib/setenv.c: Use the system's malloc, realloc functions.
67182         * lib/strerror.c: Use the system's sprintf function.
67183         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67185 2010-06-04  Bruno Haible  <bruno@clisp.org>
67187         Prefer documented low-level autoconf macro names.
67188         * m4/lib-link.m4: Use m4_translit instead of translit.
67189         * m4/environ.m4: Likewise.
67190         * m4/mathfunc.m4: Likewise.
67191         * m4/onceonly.m4: Likewise.
67192         * m4/stdint.m4: Likewise.
67193         Suggested by Eric Blake.
67195 2010-06-04  Martin Lambers  <marlam@marlam.de>
67196             Bruno Haible  <bruno@clisp.org>
67198         havelib: Allow library names with '+' characters.
67199         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
67200         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
67202 2010-06-09  Bruno Haible  <bruno@clisp.org>
67204         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
67205         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
67206         realloc failed.
67208 2010-06-08  Peter Simons  <simons@cryp.to>
67210         maint.mk: make the news-check rule more configurable
67211         * top/maint.mk (news-check-lines-spec): New variable.
67212         (news-check): Use "sed -n 1,10p" in place of "head".
67214 2010-06-07  Jim Meyering  <meyering@redhat.com>
67216         do-release-commit-and-tag: fix typo in --help
67217         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
67219         regex: avoid new dead-code warning with gcc-4.6.0
67220         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
67221         if-block containing a while-loop.  It's been unused for at least
67222         5 years.
67224 2010-06-05  Bruno Haible  <bruno@clisp.org>
67226         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
67227         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
67229 2010-06-04  Bruno Haible  <bruno@clisp.org>
67231         Update to GNU gettext 0.18.1.
67232         * modules/gettext (configure.ac): Require gettext infrastructure from
67233         version 0.18.1.
67235 2010-06-03  Bruno Haible  <bruno@clisp.org>
67237         Don't use AC_LIBOBJ with file names in subdirectories.
67238         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
67239         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
67240         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
67241         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
67242         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
67243         gl_LIBUNISTRING_LIBSOURCE.
67244         (Makefile.am): Augment lib_SOURCES here, conditionally.
67245         * NEWS: Drop requirement for Automake option 'subdir-objects'.
67247 2010-06-03  Bruno Haible  <bruno@clisp.org>
67249         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
67250         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
67251         expansion does not end with a newline.
67252         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
67253         unnecessary newline.
67255 2010-06-03  Bruno Haible  <bruno@clisp.org>
67257         Reduce dependencies.
67258         * tests/test-quotearg.h: New file, extracted from
67259         tests/test-quotearg.c.
67260         * tests/test-quotearg-simple.c: New file, extracted from
67261         tests/test-quotearg.c.
67262         * tests/test-quotearg.c: Don't include <ctype.h>.
67263         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
67264         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
67265         use_quote_double_quotes, use_quotearg_colon): Moved to
67266         tests/test-quotearg.h.
67267         (results_g, flag_results, custom_quotes, custom_results): Moved
67268         to tests/test-quotearg-simple.c.
67269         (main): Moved the part that does not depend on gettext to
67270         tests/test-quotearg-simple.c. Return 77 if the test cannot be
67271         performed.
67272         * modules/quotearg-simple: New file.
67273         * modules/quotearg-simple-tests: New file.
67274         * modules/quotearg (Depends-on): Add quotearg-simple.
67275         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
67276         (Files): Add tests/test-quotearg.h.
67277         Reported by Paolo Bonzini.
67279 2010-06-03  Bruno Haible  <bruno@clisp.org>
67281         Reduce dependencies.
67282         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
67284 2010-06-03  Bruno Haible  <bruno@clisp.org>
67286         time: Undefine more broken macros.
67287         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
67288         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
67289         Reported by Eric Blake.
67291 2010-06-03  Bruno Haible  <bruno@clisp.org>
67293         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
67294         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
67295         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
67296         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
67297         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
67298         Reported by Ludovic Courtès <ludo@gnu.org>.
67300 2010-06-02  Eric Blake  <eblake@redhat.com>
67302         time: work with mingw + pthreads-win32 library
67303         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
67304         if timespec is defined only in pthread.h.
67305         * modules/time (Makefile.am): Substitute it.
67306         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
67307         <pthread.h>, when needed.
67308         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
67309         from the library.
67311 2010-05-31  Bruno Haible  <bruno@clisp.org>
67313         Avoid expanding two macros in the wrong order.
67314         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
67315         gl_LIBUNISTRING if it is defined.
67316         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
67317         autoconf >= 2.64.
67318         Reported by Ludovic Courtès <ludo@gnu.org>.
67320 2010-05-27  Jim Meyering  <meyering@redhat.com>
67322         maint.mk: also prohibit "#undef" of always-defined symbols
67323         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
67324         Allow more than one space before the symbol name.
67325         (sc_prohibit_always-defined_macros): Use grep's -E, now that
67326         the regexp uses alternation.
67328 2010-05-26  Eric Blake  <eblake@redhat.com>
67330         maint.mk: avoid echo -e
67331         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
67332         Convert all uses of echo -* to printf.
67333         Reported by Matthias Bolte.
67335 2010-05-25  Bruno Haible  <bruno@clisp.org>
67337         Update to GNU gettext 0.18, part 2.
67338         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
67339         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
67341 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67343         Add missing include in test-pwrite.c.
67344         * tests/test-pwrite.c: Include string.h, for strcmp.
67346 2010-05-24  Bruno Haible  <bruno@clisp.org>
67348         * NEWS: Mention requirement for Automake option 'subdir-objects'.
67350 2010-05-24  Bruno Haible  <bruno@clisp.org>
67352         Don't use conversion with transliteration in u{8,16,32}_strcoll.
67353         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
67354         iconveh_error argument.
67355         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
67356         U_STRCONV_TO_LOCALE.
67357         * lib/unistr/u16-strcoll.c: Likewise.
67358         * lib/unistr/u32-strcoll.c: Likewise.
67359         * modules/unistr/u8-strcoll (Depends-on): Add
67360         uniconv/u8-strconv-to-enc, localcharset. Remove
67361         uniconv/u8-strconv-to-locale.
67362         (configure.ac): Bump version number.
67363         * modules/unistr/u16-strcoll (Depends-on): Add
67364         uniconv/u16-strconv-to-enc, localcharset. Remove
67365         uniconv/u16-strconv-to-locale.
67366         (configure.ac): Bump version number.
67367         * modules/unistr/u32-strcoll (Depends-on): Add
67368         uniconv/u32-strconv-to-enc, localcharset. Remove
67369         uniconv/u32-strconv-to-locale.
67370         (configure.ac): Bump version number.
67372 2010-05-24  Bruno Haible  <bruno@clisp.org>
67374         Avoid a test failure on NetBSD 5.0.
67375         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
67376         an iconv() bug.
67378 2010-05-24  Bruno Haible  <bruno@clisp.org>
67380         Adjust #include directive style.
67381         * modules/regex (Includes): Recommend to write <regex.h>.
67383 2010-05-24  Bruno Haible  <bruno@clisp.org>
67385         regex: Don't require alloca.
67386         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
67387         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
67388         only inside if (0).
67390 2010-05-23  Jim Meyering  <meyering@redhat.com>
67392         test-renameat.c: include <sys/stat.h>
67393         * tests/test-renameat.c: Include <sys/stat.h>; required for
67394         definition of S_IS* macros.
67396 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
67398         Update maintainer documentation for 'relocatable-prog' module.
67399         * doc/relocatable-maint.texi: Update.
67400         Comments by Bruno Haible.
67402 2010-05-23  Bruno Haible  <bruno@clisp.org>
67404         git-merge-changelog: Enable --split-merged-entry by default.
67405         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
67406         (usage): Don't mention this option any more.
67407         Reported by Ralf Wildenhues.
67409 2010-05-23  Jim Meyering  <meyering@redhat.com>
67411         test-pwrite: do not leave behind a test file named "out"
67412         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
67413         The trivial-looking use of init.sh is really necessary.
67414         It ensures that the temporary file, "out", is created in
67415         a temporary directory, and removed upon termination.
67416         * tests/test-pwrite.sh: Re-add file.
67417         * modules/pwrite-tests: Reference it.
67419 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67421         Fix output redirection buglet in init.sh.
67422         * tests/init.sh: Fix redirection of stderr.
67424 2010-05-20  Simon Josefsson  <simon@josefsson.org>
67426         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
67428 2010-05-17  Simon Josefsson  <simon@josefsson.org>
67430         * modules/valgrind-tests: New file.
67431         * m4/valgrind-tests.m4: New file.
67432         * doc/valgrind-tests.texi: New file.
67433         * doc/gnulib.texi (Running self-tests under valgrind): New
67434         section.
67436 2010-05-19  Bruno Haible  <bruno@clisp.org>
67438         Clean up dead code in recent commit.
67439         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
67440         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
67441         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
67442         Suggested by Paolo Bonzini.
67444 2010-05-19  Bruno Haible  <bruno@clisp.org>
67446         Avoid valgrind error reports from libunistring.
67447         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
67448         * modules/libunistring (Files): Add it.
67449         * modules/libunistring-optional (Files): Likewise.
67451 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
67452             Bruno Haible  <bruno@clisp.org>
67454         New module 'libunistring-optional'.
67455         * modules/libunistring-optional: New file.
67456         * m4/libunistring-base.m4: New file.
67457         * m4/libunistring-optional.m4: New file.
67458         * lib/unicase.in.h: Renamed from lib/unicase.h.
67459         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
67460         * lib/unictype.in.h: Renamed from lib/unictype.h.
67461         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
67462         * lib/uniname.in.h: Renamed from lib/uniname.h.
67463         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
67464         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
67465         * lib/unistr.in.h: Renamed from lib/unistr.h.
67466         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
67467         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
67468         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
67469         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
67470         gl_LIBUNISTRING. If the library was found, determine the installed
67471         version and set LIBUNISTRING_VERSION.
67472         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
67473         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
67474         handle a configuration option --with-included-libunistring.
67475         * modules/libunistring (Files): Add m4/absolute-header.m4.
67476         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
67477         Add m4/libunistring-base.m4.
67478         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67479         (Makefile.am): Build unicase.h from unicase.in.h.
67480         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
67481         Add m4/libunistring-base.m4.
67482         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67483         (Makefile.am): Build uniconv.h from uniconv.in.h.
67484         * modules/unictype/base (Files): Use unictype.in.h instead of
67485         unictype.h. Add m4/libunistring-base.m4.
67486         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67487         (Makefile.am): Build unictype.h from unictype.in.h.
67488         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
67489         Add m4/libunistring-base.m4.
67490         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67491         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
67492         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
67493         Add m4/libunistring-base.m4.
67494         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67495         (Makefile.am): Build uniname.h from uniname.in.h.
67496         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
67497         Add m4/libunistring-base.m4.
67498         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67499         (Makefile.am): Build uninorm.h from uninorm.in.h.
67500         * modules/unistdio/base (Files): Use unistdio.in.h instead of
67501         unistdio.h. Add m4/libunistring-base.m4.
67502         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67503         (Makefile.am): Build unistdio.h from unistdio.in.h.
67504         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
67505         Add m4/libunistring-base.m4.
67506         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67507         (Makefile.am): Build unistr.h from unistr.in.h.
67508         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
67509         Add m4/libunistring-base.m4.
67510         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67511         (Makefile.am): Build unitypes.h from unitypes.in.h.
67512         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
67513         Add m4/libunistring-base.m4.
67514         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67515         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
67516         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
67517         uniwidth.h. Add m4/libunistring-base.m4.
67518         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67519         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
67520         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
67521         instead of augmenting lib_SOURCES.
67522         * modules/unicase/empty-suffix-context: Likewise.
67523         * modules/unicase/locale-language: Likewise.
67524         * modules/unicase/tolower: Likewise.
67525         * modules/unicase/totitle: Likewise.
67526         * modules/unicase/toupper: Likewise.
67527         * modules/unicase/u8-casecmp: Likewise.
67528         * modules/unicase/u8-casecoll: Likewise.
67529         * modules/unicase/u8-casefold: Likewise.
67530         * modules/unicase/u8-casexfrm: Likewise.
67531         * modules/unicase/u8-ct-casefold: Likewise.
67532         * modules/unicase/u8-ct-tolower: Likewise.
67533         * modules/unicase/u8-ct-totitle: Likewise.
67534         * modules/unicase/u8-ct-toupper: Likewise.
67535         * modules/unicase/u8-is-cased: Likewise.
67536         * modules/unicase/u8-is-casefolded: Likewise.
67537         * modules/unicase/u8-is-lowercase: Likewise.
67538         * modules/unicase/u8-is-titlecase: Likewise.
67539         * modules/unicase/u8-is-uppercase: Likewise.
67540         * modules/unicase/u8-prefix-context: Likewise.
67541         * modules/unicase/u8-suffix-context: Likewise.
67542         * modules/unicase/u8-tolower: Likewise.
67543         * modules/unicase/u8-totitle: Likewise.
67544         * modules/unicase/u8-toupper: Likewise.
67545         * modules/unicase/u16-casecmp: Likewise.
67546         * modules/unicase/u16-casecoll: Likewise.
67547         * modules/unicase/u16-casefold: Likewise.
67548         * modules/unicase/u16-casexfrm: Likewise.
67549         * modules/unicase/u16-ct-casefold: Likewise.
67550         * modules/unicase/u16-ct-tolower: Likewise.
67551         * modules/unicase/u16-ct-totitle: Likewise.
67552         * modules/unicase/u16-ct-toupper: Likewise.
67553         * modules/unicase/u16-is-cased: Likewise.
67554         * modules/unicase/u16-is-casefolded: Likewise.
67555         * modules/unicase/u16-is-lowercase: Likewise.
67556         * modules/unicase/u16-is-titlecase: Likewise.
67557         * modules/unicase/u16-is-uppercase: Likewise.
67558         * modules/unicase/u16-prefix-context: Likewise.
67559         * modules/unicase/u16-suffix-context: Likewise.
67560         * modules/unicase/u16-tolower: Likewise.
67561         * modules/unicase/u16-totitle: Likewise.
67562         * modules/unicase/u16-toupper: Likewise.
67563         * modules/unicase/u32-casecmp: Likewise.
67564         * modules/unicase/u32-casecoll: Likewise.
67565         * modules/unicase/u32-casefold: Likewise.
67566         * modules/unicase/u32-casexfrm: Likewise.
67567         * modules/unicase/u32-ct-casefold: Likewise.
67568         * modules/unicase/u32-ct-tolower: Likewise.
67569         * modules/unicase/u32-ct-totitle: Likewise.
67570         * modules/unicase/u32-ct-toupper: Likewise.
67571         * modules/unicase/u32-is-cased: Likewise.
67572         * modules/unicase/u32-is-casefolded: Likewise.
67573         * modules/unicase/u32-is-lowercase: Likewise.
67574         * modules/unicase/u32-is-titlecase: Likewise.
67575         * modules/unicase/u32-is-uppercase: Likewise.
67576         * modules/unicase/u32-prefix-context: Likewise.
67577         * modules/unicase/u32-suffix-context: Likewise.
67578         * modules/unicase/u32-tolower: Likewise.
67579         * modules/unicase/u32-totitle: Likewise.
67580         * modules/unicase/u32-toupper: Likewise.
67581         * modules/unicase/ulc-casecmp: Likewise.
67582         * modules/unicase/ulc-casecoll: Likewise.
67583         * modules/unicase/ulc-casexfrm: Likewise.
67584         * modules/uniconv/u8-conv-from-enc: Likewise.
67585         * modules/uniconv/u8-conv-to-enc: Likewise.
67586         * modules/uniconv/u8-strconv-from-enc: Likewise.
67587         * modules/uniconv/u8-strconv-from-locale: Likewise.
67588         * modules/uniconv/u8-strconv-to-enc: Likewise.
67589         * modules/uniconv/u8-strconv-to-locale: Likewise.
67590         * modules/uniconv/u16-conv-from-enc: Likewise.
67591         * modules/uniconv/u16-conv-to-enc: Likewise.
67592         * modules/uniconv/u16-strconv-from-enc: Likewise.
67593         * modules/uniconv/u16-strconv-from-locale: Likewise.
67594         * modules/uniconv/u16-strconv-to-enc: Likewise.
67595         * modules/uniconv/u16-strconv-to-locale: Likewise.
67596         * modules/uniconv/u32-conv-from-enc: Likewise.
67597         * modules/uniconv/u32-conv-to-enc: Likewise.
67598         * modules/uniconv/u32-strconv-from-enc: Likewise.
67599         * modules/uniconv/u32-strconv-from-locale: Likewise.
67600         * modules/uniconv/u32-strconv-to-enc: Likewise.
67601         * modules/uniconv/u32-strconv-to-locale: Likewise.
67602         * modules/unictype/bidicategory-byname: Likewise.
67603         * modules/unictype/bidicategory-name: Likewise.
67604         * modules/unictype/bidicategory-of: Likewise.
67605         * modules/unictype/bidicategory-test: Likewise.
67606         * modules/unictype/block-list: Likewise.
67607         * modules/unictype/block-test: Likewise.
67608         * modules/unictype/category-C: Likewise.
67609         * modules/unictype/category-Cc: Likewise.
67610         * modules/unictype/category-Cf: Likewise.
67611         * modules/unictype/category-Cn: Likewise.
67612         * modules/unictype/category-Co: Likewise.
67613         * modules/unictype/category-Cs: Likewise.
67614         * modules/unictype/category-L: Likewise.
67615         * modules/unictype/category-Ll: Likewise.
67616         * modules/unictype/category-Lm: Likewise.
67617         * modules/unictype/category-Lo: Likewise.
67618         * modules/unictype/category-Lt: Likewise.
67619         * modules/unictype/category-Lu: Likewise.
67620         * modules/unictype/category-M: Likewise.
67621         * modules/unictype/category-Mc: Likewise.
67622         * modules/unictype/category-Me: Likewise.
67623         * modules/unictype/category-Mn: Likewise.
67624         * modules/unictype/category-N: Likewise.
67625         * modules/unictype/category-Nd: Likewise.
67626         * modules/unictype/category-Nl: Likewise.
67627         * modules/unictype/category-No: Likewise.
67628         * modules/unictype/category-P: Likewise.
67629         * modules/unictype/category-Pc: Likewise.
67630         * modules/unictype/category-Pd: Likewise.
67631         * modules/unictype/category-Pe: Likewise.
67632         * modules/unictype/category-Pf: Likewise.
67633         * modules/unictype/category-Pi: Likewise.
67634         * modules/unictype/category-Po: Likewise.
67635         * modules/unictype/category-Ps: Likewise.
67636         * modules/unictype/category-S: Likewise.
67637         * modules/unictype/category-Sc: Likewise.
67638         * modules/unictype/category-Sk: Likewise.
67639         * modules/unictype/category-Sm: Likewise.
67640         * modules/unictype/category-So: Likewise.
67641         * modules/unictype/category-Z: Likewise.
67642         * modules/unictype/category-Zl: Likewise.
67643         * modules/unictype/category-Zp: Likewise.
67644         * modules/unictype/category-Zs: Likewise.
67645         * modules/unictype/category-and: Likewise.
67646         * modules/unictype/category-and-not: Likewise.
67647         * modules/unictype/category-byname: Likewise.
67648         * modules/unictype/category-name: Likewise.
67649         * modules/unictype/category-none: Likewise.
67650         * modules/unictype/category-of: Likewise.
67651         * modules/unictype/category-or: Likewise.
67652         * modules/unictype/category-test: Likewise.
67653         * modules/unictype/combining-class: Likewise.
67654         * modules/unictype/ctype-alnum: Likewise.
67655         * modules/unictype/ctype-alpha: Likewise.
67656         * modules/unictype/ctype-blank: Likewise.
67657         * modules/unictype/ctype-cntrl: Likewise.
67658         * modules/unictype/ctype-digit: Likewise.
67659         * modules/unictype/ctype-graph: Likewise.
67660         * modules/unictype/ctype-lower: Likewise.
67661         * modules/unictype/ctype-print: Likewise.
67662         * modules/unictype/ctype-punct: Likewise.
67663         * modules/unictype/ctype-space: Likewise.
67664         * modules/unictype/ctype-upper: Likewise.
67665         * modules/unictype/ctype-xdigit: Likewise.
67666         * modules/unictype/decimal-digit: Likewise.
67667         * modules/unictype/digit: Likewise.
67668         * modules/unictype/mirror: Likewise.
67669         * modules/unictype/numeric: Likewise.
67670         * modules/unictype/property-alphabetic: Likewise.
67671         * modules/unictype/property-ascii-hex-digit: Likewise.
67672         * modules/unictype/property-bidi-arabic-digit: Likewise.
67673         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
67674         * modules/unictype/property-bidi-block-separator: Likewise.
67675         * modules/unictype/property-bidi-boundary-neutral: Likewise.
67676         * modules/unictype/property-bidi-common-separator: Likewise.
67677         * modules/unictype/property-bidi-control: Likewise.
67678         * modules/unictype/property-bidi-embedding-or-override: Likewise.
67679         * modules/unictype/property-bidi-eur-num-separator: Likewise.
67680         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
67681         * modules/unictype/property-bidi-european-digit: Likewise.
67682         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
67683         * modules/unictype/property-bidi-left-to-right: Likewise.
67684         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
67685         * modules/unictype/property-bidi-other-neutral: Likewise.
67686         * modules/unictype/property-bidi-pdf: Likewise.
67687         * modules/unictype/property-bidi-segment-separator: Likewise.
67688         * modules/unictype/property-bidi-whitespace: Likewise.
67689         * modules/unictype/property-byname: Likewise.
67690         * modules/unictype/property-combining: Likewise.
67691         * modules/unictype/property-composite: Likewise.
67692         * modules/unictype/property-currency-symbol: Likewise.
67693         * modules/unictype/property-dash: Likewise.
67694         * modules/unictype/property-decimal-digit: Likewise.
67695         * modules/unictype/property-default-ignorable-code-point: Likewise.
67696         * modules/unictype/property-deprecated: Likewise.
67697         * modules/unictype/property-diacritic: Likewise.
67698         * modules/unictype/property-extender: Likewise.
67699         * modules/unictype/property-format-control: Likewise.
67700         * modules/unictype/property-grapheme-base: Likewise.
67701         * modules/unictype/property-grapheme-extend: Likewise.
67702         * modules/unictype/property-grapheme-link: Likewise.
67703         * modules/unictype/property-hex-digit: Likewise.
67704         * modules/unictype/property-hyphen: Likewise.
67705         * modules/unictype/property-id-continue: Likewise.
67706         * modules/unictype/property-id-start: Likewise.
67707         * modules/unictype/property-ideographic: Likewise.
67708         * modules/unictype/property-ids-binary-operator: Likewise.
67709         * modules/unictype/property-ids-trinary-operator: Likewise.
67710         * modules/unictype/property-ignorable-control: Likewise.
67711         * modules/unictype/property-iso-control: Likewise.
67712         * modules/unictype/property-join-control: Likewise.
67713         * modules/unictype/property-left-of-pair: Likewise.
67714         * modules/unictype/property-line-separator: Likewise.
67715         * modules/unictype/property-logical-order-exception: Likewise.
67716         * modules/unictype/property-lowercase: Likewise.
67717         * modules/unictype/property-math: Likewise.
67718         * modules/unictype/property-non-break: Likewise.
67719         * modules/unictype/property-not-a-character: Likewise.
67720         * modules/unictype/property-numeric: Likewise.
67721         * modules/unictype/property-other-alphabetic: Likewise.
67722         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
67723         * modules/unictype/property-other-grapheme-extend: Likewise.
67724         * modules/unictype/property-other-id-continue: Likewise.
67725         * modules/unictype/property-other-id-start: Likewise.
67726         * modules/unictype/property-other-lowercase: Likewise.
67727         * modules/unictype/property-other-math: Likewise.
67728         * modules/unictype/property-other-uppercase: Likewise.
67729         * modules/unictype/property-paired-punctuation: Likewise.
67730         * modules/unictype/property-paragraph-separator: Likewise.
67731         * modules/unictype/property-pattern-syntax: Likewise.
67732         * modules/unictype/property-pattern-white-space: Likewise.
67733         * modules/unictype/property-private-use: Likewise.
67734         * modules/unictype/property-punctuation: Likewise.
67735         * modules/unictype/property-quotation-mark: Likewise.
67736         * modules/unictype/property-radical: Likewise.
67737         * modules/unictype/property-sentence-terminal: Likewise.
67738         * modules/unictype/property-soft-dotted: Likewise.
67739         * modules/unictype/property-space: Likewise.
67740         * modules/unictype/property-terminal-punctuation: Likewise.
67741         * modules/unictype/property-test: Likewise.
67742         * modules/unictype/property-titlecase: Likewise.
67743         * modules/unictype/property-unassigned-code-value: Likewise.
67744         * modules/unictype/property-unified-ideograph: Likewise.
67745         * modules/unictype/property-uppercase: Likewise.
67746         * modules/unictype/property-variation-selector: Likewise.
67747         * modules/unictype/property-white-space: Likewise.
67748         * modules/unictype/property-xid-continue: Likewise.
67749         * modules/unictype/property-xid-start: Likewise.
67750         * modules/unictype/property-zero-width: Likewise.
67751         * modules/unictype/scripts: Likewise.
67752         * modules/unictype/syntax-c-ident: Likewise.
67753         * modules/unictype/syntax-c-whitespace: Likewise.
67754         * modules/unictype/syntax-java-ident: Likewise.
67755         * modules/unictype/syntax-java-whitespace: Likewise.
67756         * modules/unilbrk/u8-possible-linebreaks: Likewise.
67757         * modules/unilbrk/u8-width-linebreaks: Likewise.
67758         * modules/unilbrk/u16-possible-linebreaks: Likewise.
67759         * modules/unilbrk/u16-width-linebreaks: Likewise.
67760         * modules/unilbrk/u32-possible-linebreaks: Likewise.
67761         * modules/unilbrk/u32-width-linebreaks: Likewise.
67762         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
67763         * modules/unilbrk/ulc-width-linebreaks: Likewise.
67764         * modules/uniname/uniname: Likewise.
67765         * modules/uninorm/canonical-decomposition: Likewise.
67766         * modules/uninorm/composition: Likewise.
67767         * modules/uninorm/decomposing-form: Likewise.
67768         * modules/uninorm/decomposition: Likewise.
67769         * modules/uninorm/filter: Likewise.
67770         * modules/uninorm/nfc: Likewise.
67771         * modules/uninorm/nfd: Likewise.
67772         * modules/uninorm/nfkc: Likewise.
67773         * modules/uninorm/nfkd: Likewise.
67774         * modules/uninorm/u8-normalize: Likewise.
67775         * modules/uninorm/u8-normcmp: Likewise.
67776         * modules/uninorm/u8-normcoll: Likewise.
67777         * modules/uninorm/u8-normxfrm: Likewise.
67778         * modules/uninorm/u16-normalize: Likewise.
67779         * modules/uninorm/u16-normcmp: Likewise.
67780         * modules/uninorm/u16-normcoll: Likewise.
67781         * modules/uninorm/u16-normxfrm: Likewise.
67782         * modules/uninorm/u32-normalize: Likewise.
67783         * modules/uninorm/u32-normcmp: Likewise.
67784         * modules/uninorm/u32-normcoll: Likewise.
67785         * modules/uninorm/u32-normxfrm: Likewise.
67786         * modules/unistdio/u8-asnprintf: Likewise.
67787         * modules/unistdio/u8-asprintf: Likewise.
67788         * modules/unistdio/u8-snprintf: Likewise.
67789         * modules/unistdio/u8-sprintf: Likewise.
67790         * modules/unistdio/u8-u8-asnprintf: Likewise.
67791         * modules/unistdio/u8-u8-asprintf: Likewise.
67792         * modules/unistdio/u8-u8-snprintf: Likewise.
67793         * modules/unistdio/u8-u8-sprintf: Likewise.
67794         * modules/unistdio/u8-u8-vasnprintf: Likewise.
67795         * modules/unistdio/u8-u8-vasprintf: Likewise.
67796         * modules/unistdio/u8-u8-vsnprintf: Likewise.
67797         * modules/unistdio/u8-u8-vsprintf: Likewise.
67798         * modules/unistdio/u8-vasnprintf: Likewise.
67799         * modules/unistdio/u8-vasprintf: Likewise.
67800         * modules/unistdio/u8-vsnprintf: Likewise.
67801         * modules/unistdio/u8-vsprintf: Likewise.
67802         * modules/unistdio/u16-asnprintf: Likewise.
67803         * modules/unistdio/u16-asprintf: Likewise.
67804         * modules/unistdio/u16-snprintf: Likewise.
67805         * modules/unistdio/u16-sprintf: Likewise.
67806         * modules/unistdio/u16-u16-asnprintf: Likewise.
67807         * modules/unistdio/u16-u16-asprintf: Likewise.
67808         * modules/unistdio/u16-u16-snprintf: Likewise.
67809         * modules/unistdio/u16-u16-sprintf: Likewise.
67810         * modules/unistdio/u16-u16-vasnprintf: Likewise.
67811         * modules/unistdio/u16-u16-vasprintf: Likewise.
67812         * modules/unistdio/u16-u16-vsnprintf: Likewise.
67813         * modules/unistdio/u16-u16-vsprintf: Likewise.
67814         * modules/unistdio/u16-vasnprintf: Likewise.
67815         * modules/unistdio/u16-vasprintf: Likewise.
67816         * modules/unistdio/u16-vsnprintf: Likewise.
67817         * modules/unistdio/u16-vsprintf: Likewise.
67818         * modules/unistdio/u32-asnprintf: Likewise.
67819         * modules/unistdio/u32-asprintf: Likewise.
67820         * modules/unistdio/u32-snprintf: Likewise.
67821         * modules/unistdio/u32-sprintf: Likewise.
67822         * modules/unistdio/u32-u32-asnprintf: Likewise.
67823         * modules/unistdio/u32-u32-asprintf: Likewise.
67824         * modules/unistdio/u32-u32-snprintf: Likewise.
67825         * modules/unistdio/u32-u32-sprintf: Likewise.
67826         * modules/unistdio/u32-u32-vasnprintf: Likewise.
67827         * modules/unistdio/u32-u32-vasprintf: Likewise.
67828         * modules/unistdio/u32-u32-vsnprintf: Likewise.
67829         * modules/unistdio/u32-u32-vsprintf: Likewise.
67830         * modules/unistdio/u32-vasnprintf: Likewise.
67831         * modules/unistdio/u32-vasprintf: Likewise.
67832         * modules/unistdio/u32-vsnprintf: Likewise.
67833         * modules/unistdio/u32-vsprintf: Likewise.
67834         * modules/unistdio/ulc-asnprintf: Likewise.
67835         * modules/unistdio/ulc-asprintf: Likewise.
67836         * modules/unistdio/ulc-fprintf: Likewise.
67837         * modules/unistdio/ulc-snprintf: Likewise.
67838         * modules/unistdio/ulc-sprintf: Likewise.
67839         * modules/unistdio/ulc-vasnprintf: Likewise.
67840         * modules/unistdio/ulc-vasprintf: Likewise.
67841         * modules/unistdio/ulc-vfprintf: Likewise.
67842         * modules/unistdio/ulc-vsnprintf: Likewise.
67843         * modules/unistdio/ulc-vsprintf: Likewise.
67844         * modules/unistr/u8-check: Likewise.
67845         * modules/unistr/u8-chr: Likewise.
67846         * modules/unistr/u8-cmp: Likewise.
67847         * modules/unistr/u8-cmp2: Likewise.
67848         * modules/unistr/u8-cpy: Likewise.
67849         * modules/unistr/u8-cpy-alloc: Likewise.
67850         * modules/unistr/u8-endswith: Likewise.
67851         * modules/unistr/u8-mblen: Likewise.
67852         * modules/unistr/u8-mbsnlen: Likewise.
67853         * modules/unistr/u8-mbtouc: Likewise.
67854         * modules/unistr/u8-mbtouc-unsafe: Likewise.
67855         * modules/unistr/u8-mbtoucr: Likewise.
67856         * modules/unistr/u8-move: Likewise.
67857         * modules/unistr/u8-next: Likewise.
67858         * modules/unistr/u8-prev: Likewise.
67859         * modules/unistr/u8-set: Likewise.
67860         * modules/unistr/u8-startswith: Likewise.
67861         * modules/unistr/u8-stpcpy: Likewise.
67862         * modules/unistr/u8-stpncpy: Likewise.
67863         * modules/unistr/u8-strcat: Likewise.
67864         * modules/unistr/u8-strchr: Likewise.
67865         * modules/unistr/u8-strcmp: Likewise.
67866         * modules/unistr/u8-strcoll: Likewise.
67867         * modules/unistr/u8-strcpy: Likewise.
67868         * modules/unistr/u8-strcspn: Likewise.
67869         * modules/unistr/u8-strdup: Likewise.
67870         * modules/unistr/u8-strlen: Likewise.
67871         * modules/unistr/u8-strmblen: Likewise.
67872         * modules/unistr/u8-strmbtouc: Likewise.
67873         * modules/unistr/u8-strncat: Likewise.
67874         * modules/unistr/u8-strncmp: Likewise.
67875         * modules/unistr/u8-strncpy: Likewise.
67876         * modules/unistr/u8-strnlen: Likewise.
67877         * modules/unistr/u8-strpbrk: Likewise.
67878         * modules/unistr/u8-strrchr: Likewise.
67879         * modules/unistr/u8-strspn: Likewise.
67880         * modules/unistr/u8-strstr: Likewise.
67881         * modules/unistr/u8-strtok: Likewise.
67882         * modules/unistr/u8-to-u16: Likewise.
67883         * modules/unistr/u8-to-u32: Likewise.
67884         * modules/unistr/u8-uctomb: Likewise.
67885         * modules/unistr/u16-check: Likewise.
67886         * modules/unistr/u16-chr: Likewise.
67887         * modules/unistr/u16-cmp: Likewise.
67888         * modules/unistr/u16-cmp2: Likewise.
67889         * modules/unistr/u16-cpy: Likewise.
67890         * modules/unistr/u16-cpy-alloc: Likewise.
67891         * modules/unistr/u16-endswith: Likewise.
67892         * modules/unistr/u16-mblen: Likewise.
67893         * modules/unistr/u16-mbsnlen: Likewise.
67894         * modules/unistr/u16-mbtouc: Likewise.
67895         * modules/unistr/u16-mbtouc-unsafe: Likewise.
67896         * modules/unistr/u16-mbtoucr: Likewise.
67897         * modules/unistr/u16-move: Likewise.
67898         * modules/unistr/u16-next: Likewise.
67899         * modules/unistr/u16-prev: Likewise.
67900         * modules/unistr/u16-set: Likewise.
67901         * modules/unistr/u16-startswith: Likewise.
67902         * modules/unistr/u16-stpcpy: Likewise.
67903         * modules/unistr/u16-stpncpy: Likewise.
67904         * modules/unistr/u16-strcat: Likewise.
67905         * modules/unistr/u16-strchr: Likewise.
67906         * modules/unistr/u16-strcmp: Likewise.
67907         * modules/unistr/u16-strcoll: Likewise.
67908         * modules/unistr/u16-strcpy: Likewise.
67909         * modules/unistr/u16-strcspn: Likewise.
67910         * modules/unistr/u16-strdup: Likewise.
67911         * modules/unistr/u16-strlen: Likewise.
67912         * modules/unistr/u16-strmblen: Likewise.
67913         * modules/unistr/u16-strmbtouc: Likewise.
67914         * modules/unistr/u16-strncat: Likewise.
67915         * modules/unistr/u16-strncmp: Likewise.
67916         * modules/unistr/u16-strncpy: Likewise.
67917         * modules/unistr/u16-strnlen: Likewise.
67918         * modules/unistr/u16-strpbrk: Likewise.
67919         * modules/unistr/u16-strrchr: Likewise.
67920         * modules/unistr/u16-strspn: Likewise.
67921         * modules/unistr/u16-strstr: Likewise.
67922         * modules/unistr/u16-strtok: Likewise.
67923         * modules/unistr/u16-to-u32: Likewise.
67924         * modules/unistr/u16-to-u8: Likewise.
67925         * modules/unistr/u16-uctomb: Likewise.
67926         * modules/unistr/u32-check: Likewise.
67927         * modules/unistr/u32-chr: Likewise.
67928         * modules/unistr/u32-cmp: Likewise.
67929         * modules/unistr/u32-cmp2: Likewise.
67930         * modules/unistr/u32-cpy: Likewise.
67931         * modules/unistr/u32-cpy-alloc: Likewise.
67932         * modules/unistr/u32-endswith: Likewise.
67933         * modules/unistr/u32-mblen: Likewise.
67934         * modules/unistr/u32-mbsnlen: Likewise.
67935         * modules/unistr/u32-mbtouc: Likewise.
67936         * modules/unistr/u32-mbtouc-unsafe: Likewise.
67937         * modules/unistr/u32-mbtoucr: Likewise.
67938         * modules/unistr/u32-move: Likewise.
67939         * modules/unistr/u32-next: Likewise.
67940         * modules/unistr/u32-prev: Likewise.
67941         * modules/unistr/u32-set: Likewise.
67942         * modules/unistr/u32-startswith: Likewise.
67943         * modules/unistr/u32-stpcpy: Likewise.
67944         * modules/unistr/u32-stpncpy: Likewise.
67945         * modules/unistr/u32-strcat: Likewise.
67946         * modules/unistr/u32-strchr: Likewise.
67947         * modules/unistr/u32-strcmp: Likewise.
67948         * modules/unistr/u32-strcoll: Likewise.
67949         * modules/unistr/u32-strcpy: Likewise.
67950         * modules/unistr/u32-strcspn: Likewise.
67951         * modules/unistr/u32-strdup: Likewise.
67952         * modules/unistr/u32-strlen: Likewise.
67953         * modules/unistr/u32-strmblen: Likewise.
67954         * modules/unistr/u32-strmbtouc: Likewise.
67955         * modules/unistr/u32-strncat: Likewise.
67956         * modules/unistr/u32-strncmp: Likewise.
67957         * modules/unistr/u32-strncpy: Likewise.
67958         * modules/unistr/u32-strnlen: Likewise.
67959         * modules/unistr/u32-strpbrk: Likewise.
67960         * modules/unistr/u32-strrchr: Likewise.
67961         * modules/unistr/u32-strspn: Likewise.
67962         * modules/unistr/u32-strstr: Likewise.
67963         * modules/unistr/u32-strtok: Likewise.
67964         * modules/unistr/u32-to-u16: Likewise.
67965         * modules/unistr/u32-to-u8: Likewise.
67966         * modules/unistr/u32-uctomb: Likewise.
67967         * modules/uniwbrk/u8-wordbreaks: Likewise.
67968         * modules/uniwbrk/u16-wordbreaks: Likewise.
67969         * modules/uniwbrk/u32-wordbreaks: Likewise.
67970         * modules/uniwbrk/ulc-wordbreaks: Likewise.
67971         * modules/uniwbrk/wordbreak-property: Likewise.
67972         * modules/uniwidth/u8-strwidth: Likewise.
67973         * modules/uniwidth/u8-width: Likewise.
67974         * modules/uniwidth/u16-strwidth: Likewise.
67975         * modules/uniwidth/u16-width: Likewise.
67976         * modules/uniwidth/u32-strwidth: Likewise.
67977         * modules/uniwidth/u32-width: Likewise.
67978         * modules/uniwidth/width: Likewise.
67979         * modules/unicase/cased-tests (Makefile.am): Link all test programs
67980         with $(LIBUNISTRING).
67981         * modules/unicase/ignorable-tests: Likewise.
67982         * modules/unicase/locale-language-tests: Likewise.
67983         * modules/unicase/tolower-tests: Likewise.
67984         * modules/unicase/totitle-tests: Likewise.
67985         * modules/unicase/toupper-tests: Likewise.
67986         * modules/unicase/u8-casecmp-tests: Likewise.
67987         * modules/unicase/u8-casecoll-tests: Likewise.
67988         * modules/unicase/u8-casefold-tests: Likewise.
67989         * modules/unicase/u8-is-cased-tests: Likewise.
67990         * modules/unicase/u8-is-casefolded-tests: Likewise.
67991         * modules/unicase/u8-is-lowercase-tests: Likewise.
67992         * modules/unicase/u8-is-titlecase-tests: Likewise.
67993         * modules/unicase/u8-is-uppercase-tests: Likewise.
67994         * modules/unicase/u8-tolower-tests: Likewise.
67995         * modules/unicase/u8-totitle-tests: Likewise.
67996         * modules/unicase/u8-toupper-tests: Likewise.
67997         * modules/unicase/u16-casecmp-tests: Likewise.
67998         * modules/unicase/u16-casecoll-tests: Likewise.
67999         * modules/unicase/u16-casefold-tests: Likewise.
68000         * modules/unicase/u16-is-cased-tests: Likewise.
68001         * modules/unicase/u16-is-casefolded-tests: Likewise.
68002         * modules/unicase/u16-is-lowercase-tests: Likewise.
68003         * modules/unicase/u16-is-titlecase-tests: Likewise.
68004         * modules/unicase/u16-is-uppercase-tests: Likewise.
68005         * modules/unicase/u16-tolower-tests: Likewise.
68006         * modules/unicase/u16-totitle-tests: Likewise.
68007         * modules/unicase/u16-toupper-tests: Likewise.
68008         * modules/unicase/u32-casecmp-tests: Likewise.
68009         * modules/unicase/u32-casecoll-tests: Likewise.
68010         * modules/unicase/u32-casefold-tests: Likewise.
68011         * modules/unicase/u32-is-cased-tests: Likewise.
68012         * modules/unicase/u32-is-casefolded-tests: Likewise.
68013         * modules/unicase/u32-is-lowercase-tests: Likewise.
68014         * modules/unicase/u32-is-titlecase-tests: Likewise.
68015         * modules/unicase/u32-is-uppercase-tests: Likewise.
68016         * modules/unicase/u32-tolower-tests: Likewise.
68017         * modules/unicase/u32-totitle-tests: Likewise.
68018         * modules/unicase/u32-toupper-tests: Likewise.
68019         * modules/unicase/ulc-casecmp-tests: Likewise.
68020         * modules/unicase/ulc-casecoll-tests: Likewise.
68021         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
68022         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
68023         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
68024         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
68025         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
68026         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
68027         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
68028         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
68029         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
68030         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
68031         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
68032         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
68033         * modules/unictype/bidicategory-byname-tests: Likewise.
68034         * modules/unictype/bidicategory-name-tests: Likewise.
68035         * modules/unictype/bidicategory-of-tests: Likewise.
68036         * modules/unictype/bidicategory-test-tests: Likewise.
68037         * modules/unictype/block-list-tests: Likewise.
68038         * modules/unictype/block-of-tests: Likewise.
68039         * modules/unictype/block-test-tests: Likewise.
68040         * modules/unictype/category-C-tests: Likewise.
68041         * modules/unictype/category-Cc-tests: Likewise.
68042         * modules/unictype/category-Cf-tests: Likewise.
68043         * modules/unictype/category-Cn-tests: Likewise.
68044         * modules/unictype/category-Co-tests: Likewise.
68045         * modules/unictype/category-Cs-tests: Likewise.
68046         * modules/unictype/category-L-tests: Likewise.
68047         * modules/unictype/category-Ll-tests: Likewise.
68048         * modules/unictype/category-Lm-tests: Likewise.
68049         * modules/unictype/category-Lo-tests: Likewise.
68050         * modules/unictype/category-Lt-tests: Likewise.
68051         * modules/unictype/category-Lu-tests: Likewise.
68052         * modules/unictype/category-M-tests: Likewise.
68053         * modules/unictype/category-Mc-tests: Likewise.
68054         * modules/unictype/category-Me-tests: Likewise.
68055         * modules/unictype/category-Mn-tests: Likewise.
68056         * modules/unictype/category-N-tests: Likewise.
68057         * modules/unictype/category-Nd-tests: Likewise.
68058         * modules/unictype/category-Nl-tests: Likewise.
68059         * modules/unictype/category-No-tests: Likewise.
68060         * modules/unictype/category-P-tests: Likewise.
68061         * modules/unictype/category-Pc-tests: Likewise.
68062         * modules/unictype/category-Pd-tests: Likewise.
68063         * modules/unictype/category-Pe-tests: Likewise.
68064         * modules/unictype/category-Pf-tests: Likewise.
68065         * modules/unictype/category-Pi-tests: Likewise.
68066         * modules/unictype/category-Po-tests: Likewise.
68067         * modules/unictype/category-Ps-tests: Likewise.
68068         * modules/unictype/category-S-tests: Likewise.
68069         * modules/unictype/category-Sc-tests: Likewise.
68070         * modules/unictype/category-Sk-tests: Likewise.
68071         * modules/unictype/category-Sm-tests: Likewise.
68072         * modules/unictype/category-So-tests: Likewise.
68073         * modules/unictype/category-Z-tests: Likewise.
68074         * modules/unictype/category-Zl-tests: Likewise.
68075         * modules/unictype/category-Zp-tests: Likewise.
68076         * modules/unictype/category-Zs-tests: Likewise.
68077         * modules/unictype/category-and-not-tests: Likewise.
68078         * modules/unictype/category-and-tests: Likewise.
68079         * modules/unictype/category-byname-tests: Likewise.
68080         * modules/unictype/category-name-tests: Likewise.
68081         * modules/unictype/category-none-tests: Likewise.
68082         * modules/unictype/category-of-tests: Likewise.
68083         * modules/unictype/category-or-tests: Likewise.
68084         * modules/unictype/category-test-withtable-tests: Likewise.
68085         * modules/unictype/combining-class-tests: Likewise.
68086         * modules/unictype/ctype-alnum-tests: Likewise.
68087         * modules/unictype/ctype-alpha-tests: Likewise.
68088         * modules/unictype/ctype-blank-tests: Likewise.
68089         * modules/unictype/ctype-cntrl-tests: Likewise.
68090         * modules/unictype/ctype-digit-tests: Likewise.
68091         * modules/unictype/ctype-graph-tests: Likewise.
68092         * modules/unictype/ctype-lower-tests: Likewise.
68093         * modules/unictype/ctype-print-tests: Likewise.
68094         * modules/unictype/ctype-punct-tests: Likewise.
68095         * modules/unictype/ctype-space-tests: Likewise.
68096         * modules/unictype/ctype-upper-tests: Likewise.
68097         * modules/unictype/ctype-xdigit-tests: Likewise.
68098         * modules/unictype/decimal-digit-tests: Likewise.
68099         * modules/unictype/digit-tests: Likewise.
68100         * modules/unictype/mirror-tests: Likewise.
68101         * modules/unictype/numeric-tests: Likewise.
68102         * modules/unictype/property-alphabetic-tests: Likewise.
68103         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
68104         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
68105         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
68106         * modules/unictype/property-bidi-block-separator-tests: Likewise.
68107         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
68108         * modules/unictype/property-bidi-common-separator-tests: Likewise.
68109         * modules/unictype/property-bidi-control-tests: Likewise.
68110         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
68111         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
68112         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
68113         * modules/unictype/property-bidi-european-digit-tests: Likewise.
68114         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
68115         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
68116         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
68117         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
68118         * modules/unictype/property-bidi-pdf-tests: Likewise.
68119         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
68120         * modules/unictype/property-bidi-whitespace-tests: Likewise.
68121         * modules/unictype/property-byname-tests: Likewise.
68122         * modules/unictype/property-combining-tests: Likewise.
68123         * modules/unictype/property-composite-tests: Likewise.
68124         * modules/unictype/property-currency-symbol-tests: Likewise.
68125         * modules/unictype/property-dash-tests: Likewise.
68126         * modules/unictype/property-decimal-digit-tests: Likewise.
68127         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
68128         * modules/unictype/property-deprecated-tests: Likewise.
68129         * modules/unictype/property-diacritic-tests: Likewise.
68130         * modules/unictype/property-extender-tests: Likewise.
68131         * modules/unictype/property-format-control-tests: Likewise.
68132         * modules/unictype/property-grapheme-base-tests: Likewise.
68133         * modules/unictype/property-grapheme-extend-tests: Likewise.
68134         * modules/unictype/property-grapheme-link-tests: Likewise.
68135         * modules/unictype/property-hex-digit-tests: Likewise.
68136         * modules/unictype/property-hyphen-tests: Likewise.
68137         * modules/unictype/property-id-continue-tests: Likewise.
68138         * modules/unictype/property-id-start-tests: Likewise.
68139         * modules/unictype/property-ideographic-tests: Likewise.
68140         * modules/unictype/property-ids-binary-operator-tests: Likewise.
68141         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
68142         * modules/unictype/property-ignorable-control-tests: Likewise.
68143         * modules/unictype/property-iso-control-tests: Likewise.
68144         * modules/unictype/property-join-control-tests: Likewise.
68145         * modules/unictype/property-left-of-pair-tests: Likewise.
68146         * modules/unictype/property-line-separator-tests: Likewise.
68147         * modules/unictype/property-logical-order-exception-tests: Likewise.
68148         * modules/unictype/property-lowercase-tests: Likewise.
68149         * modules/unictype/property-math-tests: Likewise.
68150         * modules/unictype/property-non-break-tests: Likewise.
68151         * modules/unictype/property-not-a-character-tests: Likewise.
68152         * modules/unictype/property-numeric-tests: Likewise.
68153         * modules/unictype/property-other-alphabetic-tests: Likewise.
68154         * modules/unictype/property-other-default-ignorable-code-point-tests:
68155         Likewise.
68156         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
68157         * modules/unictype/property-other-id-continue-tests: Likewise.
68158         * modules/unictype/property-other-id-start-tests: Likewise.
68159         * modules/unictype/property-other-lowercase-tests: Likewise.
68160         * modules/unictype/property-other-math-tests: Likewise.
68161         * modules/unictype/property-other-uppercase-tests: Likewise.
68162         * modules/unictype/property-paired-punctuation-tests: Likewise.
68163         * modules/unictype/property-paragraph-separator-tests: Likewise.
68164         * modules/unictype/property-pattern-syntax-tests: Likewise.
68165         * modules/unictype/property-pattern-white-space-tests: Likewise.
68166         * modules/unictype/property-private-use-tests: Likewise.
68167         * modules/unictype/property-punctuation-tests: Likewise.
68168         * modules/unictype/property-quotation-mark-tests: Likewise.
68169         * modules/unictype/property-radical-tests: Likewise.
68170         * modules/unictype/property-sentence-terminal-tests: Likewise.
68171         * modules/unictype/property-soft-dotted-tests: Likewise.
68172         * modules/unictype/property-space-tests: Likewise.
68173         * modules/unictype/property-terminal-punctuation-tests: Likewise.
68174         * modules/unictype/property-test-tests: Likewise.
68175         * modules/unictype/property-titlecase-tests: Likewise.
68176         * modules/unictype/property-unassigned-code-value-tests: Likewise.
68177         * modules/unictype/property-unified-ideograph-tests: Likewise.
68178         * modules/unictype/property-uppercase-tests: Likewise.
68179         * modules/unictype/property-variation-selector-tests: Likewise.
68180         * modules/unictype/property-white-space-tests: Likewise.
68181         * modules/unictype/property-xid-continue-tests: Likewise.
68182         * modules/unictype/property-xid-start-tests: Likewise.
68183         * modules/unictype/property-zero-width-tests: Likewise.
68184         * modules/unictype/scripts-tests: Likewise.
68185         * modules/unictype/syntax-c-ident-tests: Likewise.
68186         * modules/unictype/syntax-c-whitespace-tests: Likewise.
68187         * modules/unictype/syntax-java-ident-tests: Likewise.
68188         * modules/unictype/syntax-java-whitespace-tests: Likewise.
68189         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
68190         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
68191         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
68192         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
68193         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
68194         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
68195         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
68196         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
68197         * modules/uniname/uniname-tests: Likewise.
68198         * modules/uninorm/canonical-decomposition-tests: Likewise.
68199         * modules/uninorm/compat-decomposition-tests: Likewise.
68200         * modules/uninorm/composition-tests: Likewise.
68201         * modules/uninorm/decomposing-form-tests: Likewise.
68202         * modules/uninorm/decomposition-tests: Likewise.
68203         * modules/uninorm/filter-tests: Likewise.
68204         * modules/uninorm/nfc-tests: Likewise.
68205         * modules/uninorm/nfd-tests: Likewise.
68206         * modules/uninorm/nfkc-tests: Likewise.
68207         * modules/uninorm/nfkd-tests: Likewise.
68208         * modules/uninorm/u8-normcmp-tests: Likewise.
68209         * modules/uninorm/u8-normcoll-tests: Likewise.
68210         * modules/uninorm/u16-normcmp-tests: Likewise.
68211         * modules/uninorm/u16-normcoll-tests: Likewise.
68212         * modules/uninorm/u32-normcmp-tests: Likewise.
68213         * modules/uninorm/u32-normcoll-tests: Likewise.
68214         * modules/unistdio/u8-asnprintf-tests: Likewise.
68215         * modules/unistdio/u8-vasnprintf-tests: Likewise.
68216         * modules/unistdio/u8-vasprintf-tests: Likewise.
68217         * modules/unistdio/u8-vsnprintf-tests: Likewise.
68218         * modules/unistdio/u8-vsprintf-tests: Likewise.
68219         * modules/unistdio/u16-asnprintf-tests: Likewise.
68220         * modules/unistdio/u16-vasnprintf-tests: Likewise.
68221         * modules/unistdio/u16-vasprintf-tests: Likewise.
68222         * modules/unistdio/u16-vsnprintf-tests: Likewise.
68223         * modules/unistdio/u16-vsprintf-tests: Likewise.
68224         * modules/unistdio/u32-asnprintf-tests: Likewise.
68225         * modules/unistdio/u32-vasnprintf-tests: Likewise.
68226         * modules/unistdio/u32-vasprintf-tests: Likewise.
68227         * modules/unistdio/u32-vsnprintf-tests: Likewise.
68228         * modules/unistdio/u32-vsprintf-tests: Likewise.
68229         * modules/unistdio/ulc-asnprintf-tests: Likewise.
68230         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
68231         * modules/unistdio/ulc-vasprintf-tests: Likewise.
68232         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
68233         * modules/unistdio/ulc-vsprintf-tests: Likewise.
68234         * modules/unistr/u8-check-tests: Likewise.
68235         * modules/unistr/u8-chr-tests: Likewise.
68236         * modules/unistr/u8-cmp-tests: Likewise.
68237         * modules/unistr/u8-cmp2-tests: Likewise.
68238         * modules/unistr/u8-cpy-alloc-tests: Likewise.
68239         * modules/unistr/u8-cpy-tests: Likewise.
68240         * modules/unistr/u8-mblen-tests: Likewise.
68241         * modules/unistr/u8-mbsnlen-tests: Likewise.
68242         * modules/unistr/u8-mbtouc-tests: Likewise.
68243         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
68244         * modules/unistr/u8-mbtoucr-tests: Likewise.
68245         * modules/unistr/u8-move-tests: Likewise.
68246         * modules/unistr/u8-next-tests: Likewise.
68247         * modules/unistr/u8-prev-tests: Likewise.
68248         * modules/unistr/u8-set-tests: Likewise.
68249         * modules/unistr/u8-stpcpy-tests: Likewise.
68250         * modules/unistr/u8-stpncpy-tests: Likewise.
68251         * modules/unistr/u8-strcat-tests: Likewise.
68252         * modules/unistr/u8-strcmp-tests: Likewise.
68253         * modules/unistr/u8-strcoll-tests: Likewise.
68254         * modules/unistr/u8-strcpy-tests: Likewise.
68255         * modules/unistr/u8-strdup-tests: Likewise.
68256         * modules/unistr/u8-strlen-tests: Likewise.
68257         * modules/unistr/u8-strmblen-tests: Likewise.
68258         * modules/unistr/u8-strmbtouc-tests: Likewise.
68259         * modules/unistr/u8-strncat-tests: Likewise.
68260         * modules/unistr/u8-strncmp-tests: Likewise.
68261         * modules/unistr/u8-strncpy-tests: Likewise.
68262         * modules/unistr/u8-strnlen-tests: Likewise.
68263         * modules/unistr/u8-to-u16-tests: Likewise.
68264         * modules/unistr/u8-to-u32-tests: Likewise.
68265         * modules/unistr/u8-uctomb-tests: Likewise.
68266         * modules/unistr/u16-check-tests: Likewise.
68267         * modules/unistr/u16-chr-tests: Likewise.
68268         * modules/unistr/u16-cmp-tests: Likewise.
68269         * modules/unistr/u16-cmp2-tests: Likewise.
68270         * modules/unistr/u16-cpy-alloc-tests: Likewise.
68271         * modules/unistr/u16-cpy-tests: Likewise.
68272         * modules/unistr/u16-mblen-tests: Likewise.
68273         * modules/unistr/u16-mbsnlen-tests: Likewise.
68274         * modules/unistr/u16-mbtouc-tests: Likewise.
68275         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
68276         * modules/unistr/u16-mbtoucr-tests: Likewise.
68277         * modules/unistr/u16-move-tests: Likewise.
68278         * modules/unistr/u16-next-tests: Likewise.
68279         * modules/unistr/u16-prev-tests: Likewise.
68280         * modules/unistr/u16-set-tests: Likewise.
68281         * modules/unistr/u16-stpcpy-tests: Likewise.
68282         * modules/unistr/u16-stpncpy-tests: Likewise.
68283         * modules/unistr/u16-strcat-tests: Likewise.
68284         * modules/unistr/u16-strcmp-tests: Likewise.
68285         * modules/unistr/u16-strcoll-tests: Likewise.
68286         * modules/unistr/u16-strcpy-tests: Likewise.
68287         * modules/unistr/u16-strdup-tests: Likewise.
68288         * modules/unistr/u16-strlen-tests: Likewise.
68289         * modules/unistr/u16-strmblen-tests: Likewise.
68290         * modules/unistr/u16-strmbtouc-tests: Likewise.
68291         * modules/unistr/u16-strncat-tests: Likewise.
68292         * modules/unistr/u16-strncmp-tests: Likewise.
68293         * modules/unistr/u16-strncpy-tests: Likewise.
68294         * modules/unistr/u16-strnlen-tests: Likewise.
68295         * modules/unistr/u16-to-u32-tests: Likewise.
68296         * modules/unistr/u16-to-u8-tests: Likewise.
68297         * modules/unistr/u16-uctomb-tests: Likewise.
68298         * modules/unistr/u32-check-tests: Likewise.
68299         * modules/unistr/u32-chr-tests: Likewise.
68300         * modules/unistr/u32-cmp-tests: Likewise.
68301         * modules/unistr/u32-cmp2-tests: Likewise.
68302         * modules/unistr/u32-cpy-alloc-tests: Likewise.
68303         * modules/unistr/u32-cpy-tests: Likewise.
68304         * modules/unistr/u32-mblen-tests: Likewise.
68305         * modules/unistr/u32-mbsnlen-tests: Likewise.
68306         * modules/unistr/u32-mbtouc-tests: Likewise.
68307         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
68308         * modules/unistr/u32-mbtoucr-tests: Likewise.
68309         * modules/unistr/u32-move-tests: Likewise.
68310         * modules/unistr/u32-next-tests: Likewise.
68311         * modules/unistr/u32-prev-tests: Likewise.
68312         * modules/unistr/u32-set-tests: Likewise.
68313         * modules/unistr/u32-stpcpy-tests: Likewise.
68314         * modules/unistr/u32-stpncpy-tests: Likewise.
68315         * modules/unistr/u32-strcat-tests: Likewise.
68316         * modules/unistr/u32-strcmp-tests: Likewise.
68317         * modules/unistr/u32-strcoll-tests: Likewise.
68318         * modules/unistr/u32-strcpy-tests: Likewise.
68319         * modules/unistr/u32-strdup-tests: Likewise.
68320         * modules/unistr/u32-strlen-tests: Likewise.
68321         * modules/unistr/u32-strmblen-tests: Likewise.
68322         * modules/unistr/u32-strmbtouc-tests: Likewise.
68323         * modules/unistr/u32-strncat-tests: Likewise.
68324         * modules/unistr/u32-strncmp-tests: Likewise.
68325         * modules/unistr/u32-strncpy-tests: Likewise.
68326         * modules/unistr/u32-strnlen-tests: Likewise.
68327         * modules/unistr/u32-to-u16-tests: Likewise.
68328         * modules/unistr/u32-to-u8-tests: Likewise.
68329         * modules/unistr/u32-uctomb-tests: Likewise.
68330         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
68331         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
68332         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
68333         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
68334         * modules/uniwidth/u8-strwidth-tests: Likewise.
68335         * modules/uniwidth/u8-width-tests: Likewise.
68336         * modules/uniwidth/u16-strwidth-tests: Likewise.
68337         * modules/uniwidth/u16-width-tests: Likewise.
68338         * modules/uniwidth/u32-strwidth-tests: Likewise.
68339         * modules/uniwidth/u32-width-tests: Likewise.
68340         * modules/uniwidth/width-tests: Likewise.
68342 2010-05-18  Richard Jones  <rjones@redhat.com>
68344         doc: users.txt: list hivex
68345         * users.txt: Add hivex.
68347 2010-05-18  Richard Jones  <rjones@redhat.com>
68349         doc: users.txt: list febootstrap
68350         * users.txt: Add febootstrap.
68352 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
68354         bootstrap: fix an error when gnulib is not used as a git submodule
68355         * build-aux/bootstrap (gnulib_path): If its length is zero then
68356         assign "gnulib" to it.
68357         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
68359 2010-05-16  Bruno Haible  <bruno@clisp.org>
68361         Avoid autoconf warnings about AM_ICONV.
68362         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
68363         2.64.
68365 2010-05-16  Bruno Haible  <bruno@clisp.org>
68367         absolute-header: Make the macro usable in more situations.
68368         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
68369         from gl_ABSOLUTE_HEADER.
68370         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
68372 2010-05-16  James Youngman  <jay@gnu.org>
68374         doc: update users.txt
68375         * users.txt: Add CSSC.
68377 2010-05-16  Jim Meyering  <meyering@redhat.com>
68379         init.sh: fix an error in the previous change; add more comments
68380         * tests/init.sh: Compare exit code in loop against 9, not 2.
68381         Patch by Bruno Haible.
68382         Make the two tests more similar by adding an empty "then" clause.
68383         Add comments.
68385         init.sh: avoid unnecessary shell re-exec
68386         * tests/init.sh: Improve the re-exec-required check to first test the
68387         current shell.  If it passes the test, do not search for a shell that
68388         does pass, and do not re-exec.  This test is particularly contorted to
68389         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
68390         of $(...) evokes a syntax error and causes immediate shell exit with
68391         status 2.  Bruno Haible reported that the re-exec made it impossible
68392         to single-step through any init.sh-using script.
68394 2010-05-16  Bruno Haible  <bruno@clisp.org>
68396         Fix collision between gnulib's and libintl's printf replacements.
68397         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
68398         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
68399         (printf): When using GNU C, map the __printf__ function to rpl_printf
68400         via __asm__. When not using GNU C, define rpl_printf instead of
68401         __printf__.
68402         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
68403         commit.
68404         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
68405         commit.
68406         * m4/asm-underscore.m4: New file.
68407         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
68408         * modules/stdio (Files): Add m4/asm-underscore.m4.
68409         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
68410         Reported by Ben Pfaff.
68412 2010-05-16  Bruno Haible  <bruno@clisp.org>
68414         verify: Avoid skipping the test on openSUSE 11.0.
68415         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
68417 2010-05-13  Bruno Haible  <bruno@clisp.org>
68419         Avoid useless warnings from G++.
68420         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
68421         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
68422         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
68424 2010-05-11  Jim Meyering  <meyering@redhat.com>
68426         maint.mk: tweak preceding change
68427         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
68428         regexps tighter by anchoring at EOL, and make the new group "shy"
68429         for slightly decreased overhead.
68431 2010-05-11  Eric Blake  <eblake@redhat.com>
68433         maint.mk: gnulib doesn't guarantee NSIG
68434         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
68436 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
68438         test-pwrite.c: Remove unused variable declaration.
68439         * tests/test-pwrite.c (main): Remove read_buf declaration.
68441         Remove useless test-pwrite.sh file.
68442         * tests/test-pwrite.sh: Delete file.
68443         * modules/pwrite-tests: Remove references.
68444         Reported by Bruno Haible.
68446 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
68448         init.sh: fix a typo
68449         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
68451 2010-05-10  Jim Meyering  <meyering@redhat.com>
68453         maint.mk: avoid using a temporary file in the always-defined-macros check
68454         * top/maint.mk (.re-defmac): Remove rule.
68455         (gl_trap_): Remove definition.
68456         (sc_prohibit_always-defined_macros): Rewrite not to create and
68457         depend on a temporary file.  Instead, depend on GNU grep's ability
68458         to read a list of regular expressions from stdin when given "-f -".
68460 2010-05-09  Bruno Haible  <bruno@clisp.org>
68462         Update to GNU gettext 0.18, part 1.
68463         * m4/gettext.m4: Update to GNU gettext 0.18.
68464         * m4/intl.m4: Likewise.
68465         * m4/po.m4: Likewise.
68466         * modules/gettext (Files): Add m4/fcntl-o.m4.
68467         (configure.ac): Require gettext infrastructure from version 0.18.
68469 2010-05-09  Jim Meyering  <meyering@redhat.com>
68471         init.sh: enable MALLOC_PERTURB_
68472         * tests/init.sh: Enable glibc's malloc-perturbing option.
68474         maint.mk: improve sc_cross_check_PATH_usage_in_tests
68475         With my recent change in init.sh from the two-line form:
68476             -#   : ${srcdir=.}
68477             -#   . "$srcdir/init.sh"; path_prepend_ .
68478             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
68479         I noticed that using the one-line form would cause this test
68480         to fail with a false-positive, or to stop working altogether,
68481         depending on whether help-version changed or all the tests did.
68482         * top/maint.mk (_hv_regex): Remove this definition.
68483         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
68484         (_hv_regex_strong): Use a stronger regex to check for conformance.
68485         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
68486         Give a separate diagnostic for lack of conforming use.
68488         maint.mk: prohibit definition of symbols defined by gnulib
68489         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
68490         definition of symbols defined by gnulib.
68492 2010-05-09  Bruno Haible  <bruno@clisp.org>
68494         acl: Avoid test failure on Cygwin-hosted mingw.
68495         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
68497 2010-05-09  Bruno Haible  <bruno@clisp.org>
68499         error: Use system's fcntl function.
68500         * lib/error.c (fcntl): Undefine.
68502 2010-05-09  Jim Meyering  <meyering@redhat.com>
68504         verify: adjust formatting to be more consistent
68505         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
68506         argument-list '('s, and after one comma.
68508 2010-05-09  Bruno Haible  <bruno@clisp.org>
68510         error: More reliable output on mingw.
68511         * lib/error.c: Include <windows.h>.
68512         (is_open): New function.
68513         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
68514         defined.
68516 2010-05-09  Bruno Haible  <bruno@clisp.org>
68518         vasnprintf: Fix syntax errors in libintl build on mingw.
68519         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
68520         pad_ourselves and prec_ourselves after use.
68522 2010-05-08  Bruno Haible  <bruno@clisp.org>
68524         * lib/config.charset: Update comments for Cygwin 1.7.
68525         * lib/localcharset.c: Likewise.
68527 2010-05-07  Jim Meyering  <meyering@redhat.com>
68529         init.sh: improve comments
68530         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
68531         . "${srcdir=.}/init.sh"; path_prepend_ .
68532         Add a note about path_prepend_ and the alternative of using
68533         TESTS_ENVIRONMENT.
68535 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
68537         exclude: Unescape hashed patterns in wildcard mode.
68538         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
68539         to the hash list.
68540         * tests/test-exclude8.sh: New test case.
68541         * modules/exclude-tests: Add new test.
68543 2010-05-05  Eric Blake  <eblake@redhat.com>
68545         verify: automate tests
68546         * modules/verify-tests: New module.
68547         * tests/test-verify.sh: New file.
68548         * tests/test-verify.c: Guard each negative test with a unique id.
68549         Also avoid warning about unused left hand of comma expressions.
68551 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
68553         Further improvements to verify.h, suggested by Eric Blake.
68554         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
68555         the GL_* versions, to avoid collision with OpenGL.
68556         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
68557         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
68558         than testing merely whether it's defined.
68560         Modify verify.h to pacify gcc -Wredundant_decls.
68561         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
68562         These use the prefix "GL_" since they're likely to be useful elsewhere.
68563         We may need to break them out into a different .h file.
68564         (__COUNTER__): Define to 0 if the compiler doesn't support it.
68565         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
68566         of verify_function__.
68568 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
68570         Tests for module pwrite.
68571         * modules/pwrite-tests: New file.
68572         * tests/test-pwrite.sh: New file.
68573         * tests/test-pwrite.c: New file.
68575         New module pwrite.
68576         * lib/unistd.in.h (pwrite): New declaration.
68577         * lib/pwrite.c: New file, from glibc with modifications.
68578         * m4/pwrite.m4: New file.
68579         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
68580         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
68581         REPLACE_PWRITE.
68582         * modules/pwrite: New file.
68583         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
68584         REPLACE_PWRITE.
68585         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
68586         * doc/posix-functions/pwrite.texi: Mention the new module.
68588 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
68590         pread: Update documentation.
68591         * doc/posix-functions/pread.texi: Mention the 'pread' module.
68593 2010-05-04  Eric Blake  <eblake@redhat.com>
68595         docs: update cygwin progress
68596         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
68597         this bug.
68598         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
68599         Added in cygwin 1.7.2.
68600         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
68601         Likewise.
68602         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
68603         Likewise.
68604         * doc/glibc-functions/dup3.texi (dup3): Likewise.
68605         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
68606         * doc/glibc-functions/accept4.texi (accept4): Likewise.
68607         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
68608         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
68609         Mention nproc module.
68610         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
68611         bug in cygwin 1.7.5 addition.
68612         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
68613         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
68614         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
68615         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
68616         1.7.5.
68617         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
68618         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
68619         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
68620         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
68621         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
68622         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
68623         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
68624         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
68625         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
68626         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
68627         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
68628         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
68629         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
68630         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
68631         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
68632         Likewise.
68633         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
68634         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
68635         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
68636         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
68637         Likewise.
68638         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
68639         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
68640         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
68641         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
68642         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
68643         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
68644         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
68645         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
68646         Likewise.
68647         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
68648         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
68649         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
68650         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
68651         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
68652         Likewise.
68653         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
68654         Likewise.
68655         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
68656         Likewise.
68657         * doc/glibc-functions/xdrrec_endofrecord.texi
68658         (xdrrec_endofrecord): Likewise.
68659         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
68660         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
68661         Likewise.
68662         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
68663         Likewise.
68665 2010-05-04  Jim Meyering  <meyering@redhat.com>
68667         gendocs.sh: make its "-s FILE" option more useful
68668         * build-aux/gendocs.sh: When honoring the -s FILE option, update
68669         $PACKAGE to reflect the probably-different basename of "FILE".
68671 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
68673         bootstrap: don't ignore download_po_files failure
68674         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
68675         failure.
68677 2010-05-03  Jim Meyering  <meyering@redhat.com>
68679         maint.mk: allow to pass options to gendocs.sh
68680         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
68681         (gendocs_options_): New overridable variable.
68683         gnu-web-doc-update: don't ignore configure or build failure
68684         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
68686         announce-gen: backslash-escape '@'s in --help output
68687         * build-aux/announce-gen: Fix syntax errors.
68689         maint.mk, announce-gen: allow project-specific announcement mail headers
68690         * top/maint.mk (translation_project_): Define default.
68691         (announcement_Cc_, announcement_mail_headers_): Likewise.
68692         (announcement): Invoke announce-gen with new --mail-headers option.
68693         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
68695         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
68696         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
68697         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
68698         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
68699         line in the "err2" output file when running "make check" in verbose
68700         mode (i.e., with set -x enabled).
68702 2010-05-03  Bruno Haible  <bruno@clisp.org>
68704         wctob: Fix for weird platforms.
68705         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
68706         argument value.
68708 2010-05-03  Jim Meyering  <meyering@redhat.com>
68710         maint.mk: prohibit unwarranted use of <strings.h>
68711         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
68712         strings.h in a file that does not also use strcasecmp, strncasecmp,
68713         ffs or ffsll.
68715         maint.mk: remove obsolete comments
68716         * top/maint.mk: Remove stale, commented-out rules.
68718 2010-05-02  Bruno Haible  <bruno@clisp.org>
68720         wcwidth: Declare also when it's aliased.
68721         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
68722         macro.
68724 2010-05-02  Bruno Haible  <bruno@clisp.org>
68726         Fix regression from 2010-04-25.
68727         * gnulib-tool (func_modules_transitive_closure): Check the status of
68728         all modules, not only of the tests that are of the form foo-tests where
68729         foo is a module.
68731 2010-05-02  Bruno Haible  <bruno@clisp.org>
68733         wctob: Work around nasty Cygwin 1.7.2 bug.
68734         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
68735         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
68737 2010-05-01  Bruno Haible  <bruno@clisp.org>
68739         fpurge: Sharper test.
68740         * tests/test-fpurge.c (main): Add one more ftell check.
68741         * modules/fpurge-tests (Depends-on): Add ftell.
68742         Suggested by Eric Blake.
68744 2010-05-01  Bruno Haible  <bruno@clisp.org>
68746         ftello: Another test.
68747         * tests/test-ftello3.c: New file.
68748         * modules/ftello-tests (Files): Add it.
68749         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
68750         MOSTLYCLEANFILES.
68752         ftell: Another test.
68753         * tests/test-ftell3.c: New file.
68754         * modules/ftell-tests (Files): Add it.
68755         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
68756         MOSTLYCLEANFILES.
68758 2010-05-01  Bruno Haible  <bruno@clisp.org>
68760         ftell, ftello: Work around Solaris bug.
68761         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
68762         * lib/ftello.c: Include stdio-impl.h.
68763         (ftello): On Solaris, when _IOWRT is set, compute the result without
68764         looking at _IOREAD.
68765         * modules/ftello (Files): Add lib/stdio-impl.h.
68766         * doc/posix-functions/ftell.texi: Mention Solaris bug.
68767         * doc/posix-functions/ftello.texi: Likewise.
68768         Reported by Eric Blake.
68770 2010-05-01  Bruno Haible  <bruno@clisp.org>
68772         freading: Adapt to special meaning of _IOREAD flag on Solaris.
68773         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
68774         the _IOWRT flag is also set.
68776 2010-05-01  Bruno Haible  <bruno@clisp.org>
68778         Fix doc about a HP-UX stdio bug.
68779         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
68780         * doc/posix-functions/ftello.texi: Likewise.
68782 2010-05-01  Bruno Haible  <bruno@clisp.org>
68784         lseek test: Fix failure on Solaris.
68785         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
68786         output.
68788 2010-04-30  Jim Meyering  <meyering@redhat.com>
68790         bootstrap: don't ignore failure to generate po*/Makevars
68791         * build-aux/bootstrap (with_gettext): Don't ignore failure
68792         to create po/Makevars or runtime-po/Makevars.
68794 2010-04-29  Eric Blake  <eblake@redhat.com>
68796         headers: relax license to LGPLv2+
68797         * modules/fcntl-h (License): Relax license.
68798         * modules/getopt-posix (License): Likewise.
68799         * modules/locale (License): Likewise.
68800         * modules/math (License): Likewise.
68801         * modules/pty (License): Likewise.
68802         * modules/sched (License): Likewise.
68803         * modules/search (License): Likewise.
68804         * modules/spawn (License): Likewise.
68805         * modules/stdarg (License): Likewise.
68806         * modules/sysexits (License): Likewise.
68808 2010-04-29  Jim Meyering  <meyering@redhat.com>
68810         inttypes: relax license to LGPLv2+
68811         * modules/inttypes (License): Relax license.
68813 2010-04-29  Simon Josefsson  <simon@josefsson.org>
68815         * top/maint.mk (indent): Run twice to produce idempotent results.
68817 2010-04-28  Bruno Haible  <bruno@clisp.org>
68819         getdate: Generate getdate.c in the source directory.
68820         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
68821         MOSTLYCLEANFILES.
68822         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
68824 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
68826         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
68827         is not declared as a const *; avoid warnings in that case.
68829 2010-04-28  Eric Blake  <eblake@redhat.com>
68831         canonicalize-lgpl: avoid compiler warning
68832         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
68833         declaration' / 'extraneous semicolon' warning with some compilers.
68834         Reported by Andreas Gruenbacher.
68836 2010-04-28  Jim Meyering  <meyering@redhat.com>
68838         init.sh: ensure a more reliable exit status when exiting via trap
68839         * tests/init.sh (setup_): Don't rely on $? in signal handler.
68840         Inspired by patches from Dmitry V. Levin.
68841         Also trap on signal 3 (SIGQUIT).
68843 2010-04-27  Bruno Haible  <bruno@clisp.org>
68845         Update doc about utimes().
68846         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
68847         'utimens' module.
68848         Reported by Andreas Gruenbacher <agruen@suse.de>.
68850 2010-04-27  Eric Blake  <eblake@redhat.com>
68852         full-read, full-write: relax license
68853         * modules/full-read (License): Drop to LGPLv2+.
68854         * modules/full-write (License): Likewise.
68855         * modules/safe-read (License): Likewise.
68856         * modules/safe-write (License): Likewise.
68858         pthread: mention library for linking
68859         * modules/pthread (Link): Mention $(LIB_PTHREAD).
68861 2010-04-27  Jim Meyering  <meyering@redhat.com>
68863         maint.mk: fix a bug introduced in last change
68864         * top/maint.mk (gl_assured_headers_): Now that all names are on
68865         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
68866         is not anchored to end of word, it should be adequate.
68868         maint.mk: avoid side-effect in latest syntax-check
68869         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
68870         to run commands via $(shell...), and hence to incur cost only when
68871         the new rule is actually run.
68873         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
68874         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
68875         and use that to create a regexp used to detect all #if HAVE_..._H uses.
68876         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
68877         (gl_assured_headers_, az_, AZ_): Define.
68878         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
68880 2010-04-26  Jim Meyering  <jim@meyering.net>
68881             Bruno Haible  <bruno@clisp.org>
68883         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
68884         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
68885         Prompted by an exchange with Gilles Espinasse.
68887 2010-04-26  Jim Meyering  <meyering@redhat.com>
68889         git-version-gen: aesthetic tweak
68890         * build-aux/git-version-gen: Use "$nl" rather than a literal,
68891         so that the command remains on a single line.
68893 2010-04-26  Eric Blake  <eblake@redhat.com>
68895         git-version-gen: allow use on EBCDIC hosts
68896         * build-aux/git-version-gen (dirty): Use literal rather than tying
68897         ourselves to ascii.
68898         Reported by Steve Goetze.
68900 2010-04-25  Bruno Haible  <bruno@clisp.org>
68902         netdb: Add support for GNULIB_POSIXCHECK.
68903         * lib/netdb.in.h: Include warn-on-use.h.
68904         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
68905         functions are used when GNULIB_POSIXCHECK is defined and the
68906         getaddrinfo module is not in use.
68907         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
68908         freeaddrinfo, gai_strerror, getnameinfo are declared.
68909         * modules/netdb (Depends-on): Add warn-on-use.
68910         (Makefile.am): Include warn-on-use.h in netdb.h.
68912 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
68914         build: avoid "make check" failure without .git/ directory
68915         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
68916         there is no .git/ directory.
68918 2010-04-25  Bruno Haible  <bruno@clisp.org>
68920         ptsname: Fix misuse of ttyname_r.
68921         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
68922         of errno.
68924 2010-04-25  Bruno Haible  <bruno@clisp.org>
68926         ttyname_r: Make it work on Solaris 10.
68927         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
68928         if the system function has the POSIX declaration. Test whether the
68929         function fails if the buffer is less than 128 bytes large.
68930         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
68931         system's ttyname_r function. Provide a reasonably large buffer.
68932         * modules/ttyname_r (Depends-on): Add extensions.
68933         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
68935 2010-04-25  Bruno Haible  <bruno@clisp.org>
68937         Use the 'extensions' module for some more functions on Solaris.
68938         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
68939         module.
68940         * doc/posix-functions/ctime_r.texi: Likewise.
68941         * doc/posix-functions/getgrgid_r.texi: Likewise.
68942         * doc/posix-functions/getgrnam_r.texi: Likewise.
68943         * doc/posix-functions/getpwnam_r.texi: Likewise.
68944         * doc/posix-functions/getpwuid_r.texi: Likewise.
68945         * doc/posix-functions/readdir_r.texi: Likewise.
68946         * doc/posix-functions/sigwait.texi: Likewise.
68947         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
68948         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
68950 2010-04-25  Bruno Haible  <bruno@clisp.org>
68952         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
68953         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
68954         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
68955         * lib/ttyname_r.c: Include <limits.h>.
68956         (ttyname_r): Define using the system's ttyname_r function, if it exists
68957         and not on Solaris.
68958         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
68959         set.
68960         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
68961         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
68962         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
68963         Reported by Simon Josefsson.
68965 2010-04-25  Bruno Haible  <bruno@clisp.org>
68967         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
68968         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
68969         * doc/posix-functions/ctime_r.texi: Likewise.
68970         * doc/posix-functions/getgrgid_r.texi: Likewise.
68971         * doc/posix-functions/getgrnam_r.texi: Likewise.
68972         * doc/posix-functions/getlogin_r.texi: Likewise.
68973         * doc/posix-functions/getpwnam_r.texi: Likewise.
68974         * doc/posix-functions/getpwuid_r.texi: Likewise.
68975         * doc/posix-functions/readdir_r.texi: Likewise.
68976         * doc/posix-functions/sigwait.texi: Likewise.
68977         * doc/posix-functions/ttyname_r.texi: Likewise.
68978         Reported by Simon Josefsson.
68980 2010-04-25  Bruno Haible  <bruno@clisp.org>
68982         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
68983         * gnulib-tool (func_usage): Document that --with-*-tests options apply
68984         also to --create-testdir.
68985         (func_acceptable): Don't consider the status of *-tests modules here.
68986         (func_modules_transitive_closure): Consider it here, before including a
68987         test module.
68988         (func_import, func_create_testdir): Set inc_all_direct_tests,
68989         inc_all_indirect_tests.
68990         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
68991         --create-testdir and --create-megatestdir.
68993 2010-04-25  Bruno Haible  <bruno@clisp.org>
68995         gnulib-tool: Add --without-*-tests options.
68996         * gnulib-tool (func_usage): Document the --without-*-tests options.
68997         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
68998         excl_unportable_tests): New variables.
68999         Fail if they are specified with --import or --update.
69000         (func_acceptable): Respect the excl_*_tests variables.
69001         (func_import): Set the excl_*_tests variables to empty.
69003 2010-04-25  Simon Josefsson  <simon@josefsson.org>
69004             Bruno Haible  <bruno@clisp.org>
69006         Work around a MacOS X 10.4 bug with openpty.
69007         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
69008         * tests/test-openpty.c (main): Close the master side explicitly.
69010 2010-04-25  Bruno Haible  <bruno@clisp.org>
69012         strnlen: Fix a C++ test error on MacOS X and Solaris.
69013         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
69014         the function is not declared.
69015         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
69016         Simon Josefsson.
69018 2010-04-24  Bruno Haible  <bruno@clisp.org>
69020         Avoid a gcc warning.
69021         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
69022         of correct type for %08lx directive.
69023         Reported by Eric Blake.
69025 2010-04-24  Bruno Haible  <bruno@clisp.org>
69027         vasnprintf: Correct errno value in case of out-of-memory.
69028         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
69029         or sprintf. Use the errno value from SNPRINTF or sprintf.
69030         Reported by Ian Beckwith <ianb@erislabs.net>.
69032 2010-04-24  Bruno Haible  <bruno@clisp.org>
69034         ansi-c++-opt: Find correct compiler when cross-compiling.
69035         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
69036         AC_CHECK_PROGS.
69037         Reported by Simon Josefsson.
69039 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
69041         vc-list-files: Add support for subversion
69042         * build-aux/vc-list-files: Use "svn list" to generate the list of
69043         files controlled by subversion.
69045 2010-04-23  Jim Meyering  <meyering@redhat.com>
69047         vc-list-files tests: convert to use init.sh
69048         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
69049         path_prepend_.
69050         Use Exit, not exit.
69051         Use skip_ rather than open coding it.
69052         Remove trap set-up and compare definitions.
69053         * tests/test-vc-list-files-git.sh: Likewise.
69054         * modules/vc-list-files-tests (Files): Add tests/init.sh.
69056 2010-04-22  Simon Josefsson  <simon@josefsson.org>
69058         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
69059         backup files.
69061 2010-04-21  Simon Josefsson  <simon@josefsson.org>
69063         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
69065 2010-04-20  Eric Blake  <eblake@redhat.com>
69067         tests: be robust to ignored SIGPIPE
69068         * tests/test-select-in.sh: Consume all output.
69069         * tests/test-lseek.sh: Check correct exit status, while avoiding
69070         EPIPE.
69072 2010-04-20  Simon Josefsson  <simon@josefsson.org>
69073             Bruno Haible  <bruno@clisp.org>
69075         visibility: Don't use -fvisibility if it leads to a warning.
69076         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
69077         yes, don't pretend that visibility works if it leads to a warning.
69078         Reported by Mike Gran <spk121@yahoo.com>.
69080 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
69082         * build-aux/bootstrap: Use "git -h" for testing for supported options
69083         instead of "git --help".  The short-form option only shows a summary,
69084         and doesn't layout the full man page.  Grep for the full option name
69085         in the summary, too.
69087 2010-04-19  Bruno Haible  <bruno@clisp.org>
69089         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
69090         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
69091         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
69092         mention of RELOCATABLE_STRIP.
69093         Reported by Sylvain Beucler <beuc@beuc.net>.
69095 2010-04-19  Bruno Haible  <bruno@clisp.org>
69097         * lib/diffseq.h: Fix typo in comment.
69098         Reported by Eric Blake.
69100 2010-04-19  Bruno Haible  <bruno@clisp.org>
69102         ioctl: Move autoconf macro to a .m4 file.
69103         * m4/ioctl.m4: New file, extracted from modules/ioctl.
69104         * modules/ioctl (Files): Add it.
69105         (configure.ac): Simply invoke gl_FUNC_IOCTL.
69106         Reported by Ian Beckwith <ianb@erislabs.net>.
69108 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
69109             Bruno Haible  <bruno@clisp.org>
69111         diffseq: Accommodate use-case with abstract arrays.
69112         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
69113         is not defined.
69114         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
69115         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
69117 2010-04-18  Bruno Haible  <bruno@clisp.org>
69119         * doc/posix-headers/stdbool.texi: More precise wording.
69121 2010-04-17  Jim Meyering  <meyering@redhat.com>
69123         maint.mk: use gnu-style indentation in an embedded perl script
69124         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
69125         Rename variable: s/two/last_two_bytes/
69127 2010-04-16  Eric Blake  <eblake@redhat.com>
69129         test-stdbool: skip test that fails with Solaris CC
69130         * tests/test-stdbool.c (f): Skip test that causes compilation
69131         error under buggy C++ compiler.
69132         * lib/stdbool.in.h: Document the limitation.
69133         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
69135         setenv: allow compilation with C++
69136         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
69137         register keyword.
69139         stdint: allow test to pass with C++
69140         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
69142         getopt: allow compilation with C++
69143         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
69144         struct.
69145         * lib/getopt.c (_getopt_internal_r): Use correct type.
69146         Reported by Dagobert Michelson, via Joel E. Denny.
69148 2010-04-16  Bruno Haible  <bruno@clisp.org>
69150         Override netdb.h always.
69151         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
69152         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
69153         Reported by Ludovic Courtès <ludo@gnu.org>.
69155 2010-04-15  Bruno Haible  <bruno@clisp.org>
69157         openpty: Fix mistake from 2010-03-21.
69158         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
69159         Reported by Simon Josefsson.
69161 2010-04-15  Eric Blake  <eblake@redhat.com>
69163         test-forkpty: fix expected signature
69164         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
69165         Reported by Simon Josefsson.
69167 2010-04-15  Jim Meyering  <meyering@redhat.com>
69169         maint.mk: texinfo_suffix_re_: correct the default regexp
69170         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
69172         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
69173         make it configurable via texinfo_suffix_re_.
69175 2010-04-14  Eric Blake  <eblake@redhat.com>
69177         strtok_r: relax license to LGPLv2+
69178         * modules/strtok_r (License): Relax license.
69179         Reported by Matthias Bolte.
69181 2010-04-14  Simon Josefsson  <simon@josefsson.org>
69183         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
69184         version 1.4.4 by default instead of requiring the libgcrypt
69185         version used during build.  This makes it possible to use the
69186         application with older but still binary compatible libgcrypt
69187         versions.
69189 2010-04-13  Eric Blake  <eblake@redhat.com>
69191         getopt-gnu: match recent glibc fixes and posix ruling
69192         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
69193         '+' handling, when requesting extensions.
69194         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
69195         'W;' handling.
69196         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
69197         * doc/posix-functions/getopt.texi (getopt): Document this.
69198         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
69199         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
69200         Likewise.
69202         getopt: merge bug fixes from glibc
69203         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
69204         diagnostics.  Honor '+:' correctly.  Reject ';'.
69206         getopt-posix: detect MacOS bug
69207         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
69208         optind when missing a required argument.
69209         * doc/posix-functions/getopt.texi (getopt): Document the bug.
69210         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
69211         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
69212         Likewise.
69214         getopt-posix: avoid spurious failure on Solaris
69215         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
69216         an indicator that setting optind=1 is sufficient for reset.
69218         getopt-posix: avoid spurious failure on FreeBSD
69219         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
69220         in POSIX mode, since the m4 test uses it.
69222         gnulib-tool: silence warning on BSD sh
69223         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
69225 2010-04-13  Jim Meyering  <meyering@redhat.com>
69227         doc: users.txt: GNU patch now uses gnulib
69228         * users.txt: Add patch.
69230 2010-04-12  Jim Meyering  <meyering@redhat.com>
69232         maint.mk: generate more concise timing data for syntax-check rules
69233         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
69234         " done" from each line that reports a syntax-check test duration.
69236 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
69238         git-version-gen: use "git update-index..." rather than "git status"
69239         * build-aux/git-version-gen: Use git update-index --refresh, not
69240         "git status".  With some versions of git, "git status" would fail
69241         to update the index and result in an unwarranted "-dirty" suffix.
69243 2010-04-11  Jim Meyering  <meyering@redhat.com>
69245         openat: correct formatting (no semantic change)
69246         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
69247         Suggested by Bruno Haible.
69249 2010-04-11  Bruno Haible  <bruno@clisp.org>
69251         Stricter declaration checking in testdirs.
69252         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69253         If for_tests is true, augment AM_CPPFLAGS to define
69254         GNULIB_STRICT_CHECKING.
69255         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
69256         GNULIB_STRICT_CHECKING is defined, verify that the function is
69257         declared.
69259 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
69260             Bruno Haible  <bruno@clisp.org>
69262         libunistring: Improve configure output.
69263         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
69264         Don't say "consider installing GNU libunistring" when checking again
69265         with libiconv.
69267 2010-04-11  Bruno Haible  <bruno@clisp.org>
69269         libunistring: Correct value of $LTLIBUNISTRING.
69270         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
69271         correct the value of $LTLIBUNISTRING.
69273 2010-04-11  Bruno Haible  <bruno@clisp.org>
69275         havelib: Add static libraries to LIBS in the right order.
69276         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
69277         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
69279 2010-04-11  Bruno Haible  <bruno@clisp.org>
69281         libunistring: Detect libunistring also when it depends on libiconv.
69282         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
69283         the second AC_LIB_HAVE_LINKFLAGS invocation.
69285 2010-04-11  James Youngman  <jay@gnu.org>
69287         close-stream: declare local scalars to be "const"
69288         * lib/close-stream.c (close_stream): Make boolean variables const
69289         to document the fact that we set but do not change them.
69291 2010-04-11  Bruno Haible  <bruno@clisp.org>
69293         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
69295 2010-04-11  Jim Meyering  <meyering@redhat.com>
69297         maint.mk: don't include dist-check.mk
69298         * top/maint.mk: Remove bogus include directive.
69300         maint.mk: improve empty-line-at-EOF check
69301         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
69302         solution, rather than tail+Perl-based one.  The latter would read
69303         a few kilobytes from the end of each file, and did not handle empty
69304         files properly.
69306         maint.mk: print the elapsed time for each syntax-check rule
69307         * top/maint.mk (sc_m_rules_): Save start time in a file.
69308         (sc_z_rules_): New rules: remove temp file and print elapsed time.
69309         (local-check): Interpose the .z rules
69311 2010-04-11  Jim Meyering  <meyering@redhat.com>
69313         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
69314         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
69315         empty file with one that ends in an empty line.
69317 2010-04-10  Bruno Haible  <bruno@clisp.org>
69319         mkdir: Make it work on mingw64.
69320         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
69321         * lib/mkdir.c: Update comment.
69322         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
69324 2010-04-10  Bruno Haible  <bruno@clisp.org>
69326         Don't override improved macro from newer autoconf.
69327         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
69328         autoconf >= 2.62.
69329         Reported by Joel E. Denny <jdenny@clemson.edu>.
69331 2010-04-10  Jim Meyering  <meyering@redhat.com>
69333         maint.mk: new syntax-check rule: prohibit empty lines at end of file
69334         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
69336         maint.mk: correct a diagnostic
69337         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
69338         in diagnostic; now use $prohibit.
69340 2010-04-10  Bruno Haible  <address@hidden>
69342         fchownat: Fix a C++ test error on Solaris 8.
69343         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
69344         the function does not exist.
69346 2010-04-10  Bruno Haible  <bruno@clisp.org>
69348         vasnprintf: Add more tests.
69349         * tests/test-vasnprintf-posix.c: Include <errno.h>.
69350         (test_function): Test converting an invalid wide string.
69352         vasnprintf: Correct handling of unconvertible wide string arguments.
69353         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
69354         VASNPRINTF.
69355         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
69356         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
69357         smaller than the expected maximum need for the directive. Set errno to
69358         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
69359         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
69360         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
69361         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
69362         * modules/vasnprintf (Files): Add m4/printf.m4.
69363         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69365 2010-04-10  Bruno Haible  <bruno@clisp.org>
69367         vasnprintf: Fix crash in %ls directive.
69368         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
69369         string is passed as argument to %ls, with no precision and no width.
69370         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69372 2010-04-10  Bruno Haible  <bruno@clisp.org>
69374         vasnprintf: Fix multiple test failures on mingw.
69375         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
69376         _snprintf, or snwprintf, not _snwprintf.
69378 2010-04-10  Bruno Haible  <bruno@clisp.org>
69380         write: Fix a C++ test error on mingw.
69381         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
69383 2010-04-10  Bruno Haible  <bruno@clisp.org>
69385         vasnprintf test: Reduce code duplication.
69386         * tests/test-vasnprintf.c (test_function): New function, extracted from
69387         test_vasnprintf.
69388         (test_vasnprintf, test_asnprintf): Invoke it.
69390 2010-04-10  Bruno Haible  <bruno@clisp.org>
69392         strnlen: Fix warning in C++ mode on MacOS X.
69393         * lib/string.in.h (strnlen): Use the modern idiom.
69394         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
69395         defining strnlen as a macro already in <config.h>.
69396         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69397         REPLACE_STRNLEN.
69398         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
69399         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69401 2010-04-08  James Youngman  <jay@gnu.org>
69403         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
69404         the example.
69406 2010-04-09  Jim Meyering  <meyering@redhat.com>
69408         maint.mk: print better diagnostic when there is no $(_hv_file)
69409         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
69410         announce that when $(_hv_file) (aka help-version) does not exist.
69412         init.sh: run tr in the "C" locale to avoid multibyte interpretation
69413         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
69414         not try to interpret its random input bytes.  Jarno Rajahalme reported
69415         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
69416         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
69417         (mktempd_): Likewise, just in case.
69419         ftruncate: add two years to projected module removal date: 2012
69420         * m4/ftruncate.m4: Adjust comments.
69422         ftruncate: mark module as obsolete; even MinGW provides it, now
69423         * modules/ftruncate (Status): Obsolete.
69424         (Notice): Say that.
69425         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
69426         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
69428 2010-04-08  Bruno Haible  <bruno@clisp.org>
69430         Fix side effects from tests-related modules.
69431         * modules/dprintf-posix (Comment): New section.
69432         * modules/fprintf-posix (Comment): Likewise.
69433         * modules/obstack-printf-posix (Comment): Likewise.
69434         * modules/printf-posix (Comment): Likewise.
69435         * modules/snprintf-posix (Comment): Likewise.
69436         * modules/sprintf-posix (Comment): Likewise.
69437         * modules/vasnprintf-posix (Comment): Likewise.
69438         * modules/vasprintf-posix (Comment): Likewise.
69439         * modules/vdprintf-posix (Comment): Likewise.
69440         * modules/vfprintf-posix (Comment): Likewise.
69441         * modules/vprintf-posix (Comment): Likewise.
69442         * modules/vsnprintf-posix (Comment): Likewise.
69443         * modules/vsprintf-posix (Comment): Likewise.
69444         * modules/xprintf-posix (Comment): Likewise.
69445         * modules/xvasprintf-posix (Comment): Likewise.
69446         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
69447         * modules/floorf-tests (Depends-on): Likewise.
69448         * modules/round-tests (Depends-on): Likewise.
69449         * modules/roundf-tests (Depends-on): Likewise.
69450         * modules/trunc-tests (Depends-on): Likewise.
69451         * modules/truncf-tests (Depends-on): Likewise.
69452         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
69453         'fprintf-posix' module is not present.
69454         * tests/test-floorf2.c (check): Likewise.
69455         * tests/test-trunc2.c (check): Likewise.
69456         * tests/test-truncf2.c (check): Likewise.
69457         * tests/test-round2.c (equal): Likewise.
69458         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69460 2010-04-07  Karl Berry  <karl@gnu.org>
69462         * config/srclist.txt,
69463         * config/srclistvars.sh,
69464         * config/srclist-update: doc fixes.
69466 2010-04-07  Jim Meyering  <meyering@redhat.com>
69468         maint.mk: add a PATH crosschecking syntax-check rule
69469         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
69470         Useful if you use a test like the one in help-version (coreutils,
69471         diffutils, grep, gzip) that ensures $(VERSION) matches what is
69472         printed by prog --version.
69474 2010-04-06  Bruno Haible  <bruno@clisp.org>
69476         Fix link error on mingw.
69477         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
69478         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
69480 2010-04-06  Bruno Haible  <bruno@clisp.org>
69482         Assume rmdir exists.
69483         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
69485 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
69487         doc: update users.txt
69488         * users.txt: Add gcal.
69490 2010-04-06  Jim Meyering  <meyering@redhat.com>
69492         init.sh: simply unset TMPDIR rather than risking env -i
69493         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
69494         although it probably works fine on all Unix-based systems, some
69495         systems (Cygwin?) cannot tolerate a totally cleared environment.
69496         Suggestion from Eric Blake.
69498 2010-04-06  Jim Meyering  <meyering@redhat.com>
69500         init.sh: portability fix: use env's POSIX-specified -i option not -u
69501         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
69502         than unportable env -u.  Solaris 5.11's env lacks support for -u.
69504 2010-04-05  Bruno Haible  <bruno@clisp.org>
69506         btowc: Work around Cygwin 1.7.2 bug.
69507         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
69508         does not map NUL to 0.
69509         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
69511 2010-04-05  Bruno Haible  <bruno@clisp.org>
69513         Make the multithread modules work on Cygwin 1.7.2.
69514         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
69515         imported symbols can be declared weak, so that it returns "no" on
69516         Cygwin 1.7.2.
69518 2010-04-05  Bruno Haible  <bruno@clisp.org>
69520         Use the module 'strncat'.
69521         * modules/unistr/u8-strncat (Depends-on): Add strncat.
69523         Tests for module 'strncat'.
69524         * modules/strncat-tests: New file.
69525         * tests/test-strncat.c: New file.
69527         New module 'strncat'.
69528         * lib/string.in.h (strncat): New declaration.
69529         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
69530         * m4/strncat.m4: New file, based on m4/memchr.m4.
69531         * modules/strncat: New file.
69532         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
69533         is declared.
69534         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
69535         REPLACE_STRNCAT.
69536         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
69537         REPLACE_STRNCAT.
69538         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
69539         module.
69540         * tests/test-string-c++.cc: Check signature of strncat.
69542 2010-04-05  Jim Meyering  <meyering@redhat.com>
69544         xstrtoumax-tests: convert to use init.sh
69545         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
69546         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69547         Use Exit, not exit.
69548         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69550         xstrtoimax-tests: convert to use init.sh
69551         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
69552         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69553         Use Exit, not exit.
69554         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69556 2010-04-05  Bruno Haible  <bruno@clisp.org>
69558         sys_socket: Avoid #define replacements in C++ mode.
69559         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
69560         warning to the function if possible, rather than #defining the symbol
69561         to a dysfunctional alias.
69563 2010-04-05  Bruno Haible  <bruno@clisp.org>
69565         fseeko: Fix C++ test error on mingw.
69566         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
69567         gl_FUNC_FSEEKO.
69568         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
69569         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
69570         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
69571         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
69573 2010-04-05  Bruno Haible  <bruno@clisp.org>
69575         duplocale: Improve test output.
69576         * tests/test-duplocale.c (main): Print reason for skipped test.
69578 2010-04-05  Bruno Haible  <bruno@clisp.org>
69580         Assume rmdir exists.
69581         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
69582         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
69584 2010-04-05  Bruno Haible  <bruno@clisp.org>
69586         Fix link error on Solaris 8 with cc.
69587         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
69589 2010-04-05  Bruno Haible  <bruno@clisp.org>
69591         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
69592         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
69594 2010-04-05  Bruno Haible  <bruno@clisp.org>
69596         vasprintf: Update documentation.
69597         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
69599 2010-04-05  Bruno Haible  <bruno@clisp.org>
69601         ptsname: Improve test.
69602         * tests/test-ptsname.c (main): Also try the various master names of BSD
69603         systems.
69605 2010-04-05  Bruno Haible  <bruno@clisp.org>
69607         memchr: Avoid a possible C++ test error.
69608         * lib/string.in.h (memchr): Provide declaration if function is missing.
69609         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
69610         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
69611         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
69612         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
69614 2010-04-05  Bruno Haible  <bruno@clisp.org>
69616         strtok_r: Improve idiom.
69617         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
69618         AC_LIBOBJ is used.
69620 2010-04-05  Bruno Haible  <bruno@clisp.org>
69622         strdup: Improve idiom.
69623         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
69624         AC_LIBOBJ is used.
69625         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
69626         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
69627         when AC_LIBOBJ is used.
69629 2010-04-05  Bruno Haible  <bruno@clisp.org>
69631         mbsinit, mbrtowc, wcrtomb: Improve idioms.
69632         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
69633         don't set REPLACE_MBSINIT to 1.
69634         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
69635         don't set REPLACE_MBRTOWC to 1.
69636         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
69637         exist, don't set REPLACE_MBSRTOWCS to 1.
69638         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
69639         exist, don't set REPLACE_MBSNRTOWCS to 1.
69640         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
69641         don't set REPLACE_WCRTOMB to 1.
69642         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
69643         exist, don't set REPLACE_WCSRTOMBS to 1.
69644         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
69645         exist, don't set REPLACE_WCSNRTOMBS to 1.
69647 2010-04-05  Bruno Haible  <bruno@clisp.org>
69649         ldexpl: Improve idiom.
69650         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
69651         make sure to set HAVE_DECL_LDEXPL to 0.
69653 2010-04-05  Jim Meyering  <meyering@redhat.com>
69655         xstrtol-tests: convert to use init.sh
69656         * modules/xstrtol-tests (Files): Add tests/init.sh.
69657         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69658         Use Exit, not exit.
69659         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69661         atexit-tests: convert to use init.sh
69662         * modules/atexit-tests (Files): Add tests/init.sh.
69663         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69664         Use Exit, not exit.
69665         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69667         init.sh: fix typo
69668         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
69670         init.sh: make it easier for a test script to write to the tty, ...
69671         when using automake's parallel-tests mode.
69672         * tests/init.sh (stderr_fileno_): Define overridable variable.
69673         (warn_): New function, to use it.
69674         (fail_, skip_, framework_failure_): Use warn_.
69676 2010-04-04  Bruno Haible  <bruno@clisp.org>
69678         btowc: Avoid warning.
69679         * lib/btowc.c: Include <stdlib.h>.
69680         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
69682 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
69683             Bruno Haible  <bruno@clisp.org>
69685         wchar: Port to NetBSD 1.5.
69686         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
69687         * lib/wctype.in.h (WEOF): Likewise.
69689 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
69690             Bruno Haible  <bruno@clisp.org>
69692         Port extended stdio to NetBSD 1.5.
69693         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
69694         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
69695         older.
69697 2010-04-04  Bruno Haible  <bruno@clisp.org>
69699         string: Remove unused substitution.
69700         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
69701         HAVE_DECL_STRERROR.
69702         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
69704 2010-04-04  Bruno Haible  <bruno@clisp.org>
69706         strtod: Avoid a possible C++ test error.
69707         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
69708         set REPLACE_STRTOD.
69710 2010-04-04  Bruno Haible  <bruno@clisp.org>
69712         strerror: Update documentation.
69713         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
69715 2010-04-04  Bruno Haible  <bruno@clisp.org>
69717         stdio: Fix some C++ test errors on Solaris 8 with GCC.
69718         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
69719         _GL_CXXALIAS_SYS_CAST.
69721 2010-04-04  Bruno Haible  <bruno@clisp.org>
69723         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
69724         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
69725         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
69726         REPLACE_FREXPL to 1.
69727         * doc/posix-functions/frexpl.texi: Update documentation.
69729 2010-04-04  Bruno Haible  <bruno@clisp.org>
69731         math: Fix some C++ test errors on Solaris 8 and Cygwin.
69732         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
69734 2010-04-04  Bruno Haible  <bruno@clisp.org>
69736         Implement nanosleep for native Windows.
69737         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
69739 2010-04-04  Bruno Haible  <bruno@clisp.org>
69741         math: Fix some C++ test errors on Solaris 8.
69742         * lib/math.in.h (truncf, trunc): Use simpler idiom.
69744 2010-04-04  Bruno Haible  <bruno@clisp.org>
69746         math: Fix some C++ test errors on Cygwin.
69747         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
69748         truncl): Provide declaration if the system does not have it.
69749         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
69750         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
69751         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
69752         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
69753         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
69754         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
69755         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
69756         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
69757         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
69758         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
69759         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
69760         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
69761         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
69762         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
69763         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
69764         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
69765         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
69766         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
69767         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
69768         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
69769         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
69770         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
69772 2010-04-04  Bruno Haible  <bruno@clisp.org>
69774         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
69775         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
69776         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
69777         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
69778         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
69779         * m4/isinf.m4 (gl_ISINF): Likewise.
69780         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
69782 2010-04-04  Bruno Haible  <bruno@clisp.org>
69784         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
69785         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
69787 2010-04-04  Bruno Haible  <bruno@clisp.org>
69789         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
69790         * modules/tmpfile (configure.ac): Update.
69792         tmpfile: Fix C++ test error on mingw.
69793         * lib/stdio.in.h (tmpfile): New declaration.
69794         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
69795         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
69796         * modules/tmpfile (Depends-on): Add stdio.
69797         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
69798         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
69799         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
69800         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
69801         REPLACE_TMPFILE.
69802         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
69804 2010-04-04  Bruno Haible  <bruno@clisp.org>
69806         ioctl: Fix C++ test error on mingw.
69807         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
69808         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
69809         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
69811 2010-04-03  Bruno Haible  <bruno@clisp.org>
69813         wcwidth: Fix C++ test error on mingw.
69814         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
69815         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
69816         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
69818 2010-04-03  Bruno Haible  <bruno@clisp.org>
69820         nanosleep: Fix C++ test error on mingw.
69821         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
69822         * lib/time.in.h (nanosleep): Use modern idiom.
69823         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
69824         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
69825         REPLACE_NANOSLEEP to 1.
69826         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
69827         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
69829 2010-04-03  Bruno Haible  <bruno@clisp.org>
69831         strptime: Fix C++ test error on mingw.
69832         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
69833         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
69834         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
69835         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
69836         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
69837         not REPLACE_STRPTIME.
69838         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
69839         REPLACE_STRPTIME.
69841 2010-04-03  Bruno Haible  <bruno@clisp.org>
69843         timegm: Fix C++ test error on mingw.
69844         * lib/time.in.h (timegm): Use modern idiom.
69845         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
69846         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
69847         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
69848         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
69850 2010-04-03  Bruno Haible  <bruno@clisp.org>
69852         timegm: Assume declaration if function exists.
69853         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
69854         if it exists. Don't clobber ac_cv_func_timegm.
69856 2010-04-03  Bruno Haible  <bruno@clisp.org>
69858         time_r: Fix C++ test error on mingw.
69859         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
69860         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
69861         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
69862         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
69863         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
69865 2010-04-03  Bruno Haible  <bruno@clisp.org>
69867         time_r: Minor updates.
69868         * modules/time_r (Description): Mention the provided functions.
69869         * lib/time_r.c: Don't include <string.h>.
69870         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
69871         * doc/posix-functions/localtime_r.texi: Likewise.
69873 2010-04-03  Bruno Haible  <bruno@clisp.org>
69875         time: Fix regression introduced on 2010-03-08.
69876         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
69877         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
69879 2010-04-03  Jim Meyering  <meyering@redhat.com>
69881         maint.mk: don't silently disable project-specific syntax-check rules
69882         * top/maint.mk (_prohibit_regexp): Define, to help people realize
69883         that they need to convert their project-specific syntax-check rules
69884         to use the new _sc_search_regexp.
69886 2010-04-03  Bruno Haible  <bruno@clisp.org>
69888         fchdir: Fix regression introduced on 2010-03-08.
69889         * lib/unistd.in.h (fchdir): Fix declaration.
69890         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
69891         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
69892         REPLACE_FCHDIR.
69893         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
69894         REPLACE_FCHDIR.
69896 2010-04-03  Bruno Haible  <bruno@clisp.org>
69898         getpagesize: Fix C++ test error on mingw.
69899         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
69900         system does not declare the function.
69901         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
69902         declared.
69903         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
69904         HAVE_DECL_GETPAGESIZE.
69905         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
69907 2010-04-03  Bruno Haible  <bruno@clisp.org>
69909         stdio: Make C++ tests work on mingw.
69910         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
69911         does not declare the function.
69913 2010-04-03  Bruno Haible  <bruno@clisp.org>
69915         ftello: Fix C++ test error on mingw.
69916         * lib/stdio.in.h (ftello): Use modern idiom.
69917         * lib/ftello.c (ftello): Renamed from rpl_ftello.
69918         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
69919         is missing and that it needs to be replaced.
69920         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
69921         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
69922         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
69924 2010-04-03  Bruno Haible  <bruno@clisp.org>
69926         fseeko: Fix C++ test error on mingw.
69927         * lib/stdio.in.h (fseeko): Use modern idiom.
69928         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
69929         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
69930         is missing and that it needs to be replaced.
69931         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
69932         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
69933         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
69935 2010-04-03  Bruno Haible  <bruno@clisp.org>
69937         mkstemp: Fix C++ test error on mingw.
69938         * lib/stdlib.in.h (mkstemp): Use modern idiom.
69939         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
69940         function is missing and that it needs to be replaced.
69941         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
69942         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
69944 2010-04-03  Bruno Haible  <bruno@clisp.org>
69946         stpncpy: Fix C++ test error on mingw.
69947         * lib/string.in.h (stpncpy): Use modern idiom.
69948         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
69949         function is missing and that it needs to be replaced.
69950         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69951         REPLACE_STPNCPY.
69952         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
69954 2010-04-03  Bruno Haible  <bruno@clisp.org>
69956         sys_stat: Fix C++ test error on mingw.
69957         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
69958         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
69960 2010-04-03  Bruno Haible  <bruno@clisp.org>
69962         pty: Update doc.
69963         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
69965 2010-04-03  Bruno Haible  <bruno@clisp.org>
69967         unistd: Fix C++ test error on mingw.
69968         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
69970 2010-04-03  Bruno Haible  <bruno@clisp.org>
69972         Update doc regarding mingw.
69973         * doc/glibc-functions/openpty.texi: Update regarding mingw.
69974         * doc/glibc-functions/login_tty.texi: Likewise.
69975         * doc/glibc-functions/forkpty.texi: Likewise.
69977 2010-04-03  Bruno Haible  <bruno@clisp.org>
69979         stdlib: Avoid compilation failure of c-strtold on mingw.
69980         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
69982 2010-04-03  Bruno Haible  <bruno@clisp.org>
69984         locale: Make C++ tests work on Cygwin and mingw.
69985         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
69986         cannot provide the function.
69987         Reported by Simon Josefsson.
69989 2010-04-03  Bruno Haible  <bruno@clisp.org>
69991         localename: Port to MacOS X 10.6.
69992         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
69993         memory layout of the locales in MacOS X 10.6 as well.
69994         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
69996 2010-04-02  Bruno Haible  <bruno@clisp.org>
69998         gnulib-tool: Ensure that long-running tests are executed last.
69999         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
70000         running tests after the one for the other tests.
70002 2010-04-02  Bruno Haible  <bruno@clisp.org>
70004         gnulib-tool: Ensure the tests in the main directory are executed first.
70005         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
70006         start with the current directory.
70008 2010-04-02  Bruno Haible  <bruno@clisp.org>
70010         Tests for module 'havelib', moved here from GNU gettext.
70011         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
70012         modifications.
70013         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
70014         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
70015         with modifications.
70016         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
70017         modifications.
70018         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
70019         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
70020         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
70021         with modifications.
70022         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
70023         with modifications.
70024         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
70025         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
70026         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
70027         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
70028         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
70029         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
70030         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
70031         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
70032         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
70033         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
70034         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
70035         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
70036         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
70037         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
70038         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
70039         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
70040         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
70041         with modifications.
70042         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
70043         with modifications.
70044         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
70045         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
70046         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
70047         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
70048         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
70049         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
70050         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
70051         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
70052         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
70053         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
70054         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
70055         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
70056         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
70057         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
70058         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
70059         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
70060         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
70061         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
70062         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
70063         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
70064         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
70065         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
70066         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
70067         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
70068         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
70069         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
70070         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
70071         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
70072         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
70073         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
70074         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
70075         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
70076         * tests/havelib/rpathx/rpathx.c: New file, from
70077         gettext/autoconf-lib-link.
70078         * tests/havelib/rpathx/Makefile.am: New file, from
70079         gettext/autoconf-lib-link.
70080         * tests/havelib/rpathx/configure.ac: New file, from
70081         gettext/autoconf-lib-link with modifications.
70082         * tests/havelib/rpathy/rpathy.c: New file, from
70083         gettext/autoconf-lib-link.
70084         * tests/havelib/rpathy/Makefile.am: New file, from
70085         gettext/autoconf-lib-link.
70086         * tests/havelib/rpathy/configure.ac: New file, from
70087         gettext/autoconf-lib-link with modifications.
70088         * tests/havelib/rpathz/rpathz.c: New file, from
70089         gettext/autoconf-lib-link.
70090         * tests/havelib/rpathz/Makefile.am: New file, from
70091         gettext/autoconf-lib-link.
70092         * tests/havelib/rpathz/configure.ac: New file, from
70093         gettext/autoconf-lib-link with modifications.
70094         * tests/havelib/rpathlx/usex.c: New file, from
70095         gettext/autoconf-lib-link.
70096         * tests/havelib/rpathlx/Makefile.am: New file, from
70097         gettext/autoconf-lib-link.
70098         * tests/havelib/rpathlx/configure.ac: New file, from
70099         gettext/autoconf-lib-link with modifications.
70100         * tests/havelib/rpathly/usey.c: New file, from
70101         gettext/autoconf-lib-link.
70102         * tests/havelib/rpathly/Makefile.am: New file, from
70103         gettext/autoconf-lib-link.
70104         * tests/havelib/rpathly/configure.ac: New file, from
70105         gettext/autoconf-lib-link with modifications.
70106         * tests/havelib/rpathlz/usez.c: New file, from
70107         gettext/autoconf-lib-link.
70108         * tests/havelib/rpathlz/Makefile.am: New file, from
70109         gettext/autoconf-lib-link.
70110         * tests/havelib/rpathlz/configure.ac: New file, from
70111         gettext/autoconf-lib-link with modifications.
70112         * tests/havelib/rpathlyx/usey.c: New file, from
70113         gettext/autoconf-lib-link.
70114         * tests/havelib/rpathlyx/Makefile.am: New file, from
70115         gettext/autoconf-lib-link.
70116         * tests/havelib/rpathlyx/configure.ac: New file, from
70117         gettext/autoconf-lib-link with modifications.
70118         * tests/havelib/rpathlzyx/usez.c: New file, from
70119         gettext/autoconf-lib-link.
70120         * tests/havelib/rpathlzyx/Makefile.am: New file, from
70121         gettext/autoconf-lib-link.
70122         * tests/havelib/rpathlzyx/configure.ac: New file, from
70123         gettext/autoconf-lib-link with modifications.
70124         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
70125         with modifications.
70127 2010-04-02  Bruno Haible  <bruno@clisp.org>
70129         gnulib-tool: Create distributed built sources also for the tests.
70130         * gnulib-tool (func_create_testdir): Also generate distributed built
70131         sources in the tests directory.
70133 2010-04-02  Bruno Haible  <bruno@clisp.org>
70135         gnulib-tool: Obey user's environment variables.
70136         * gnulib-tool (func_create_testdir): When creating built sources,
70137         respect the environment variables for autoconf, automake, etc. given by
70138         the user.
70140 2010-04-02  Bruno Haible  <bruno@clisp.org>
70142         gnulib-tool: Provide the value of --m4-base to modules.
70143         * gnulib-tool (func_import, func_create_testdir): Emit a definition
70144         of gl_m4_base.
70146 2010-04-02  Eric Blake  <eblake@redhat.com>
70148         maint.mk: fix some fallout
70149         * NEWS: Document the incompatible change, and its effect on cfg.mk.
70150         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
70152 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
70154         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
70155         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
70156         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
70157         (sc_cast_of_x_alloc_return_value): Likewise.
70158         (sc_cast_of_alloca_return_value): Likewise.
70159         (sc_space_tab): Likewise.
70160         (sc_prohibit_atoi_atof): Likewise.
70161         (sc_prohibit_magic_number_exit): Likewise.
70162         (sc_error_exit_success): Likewise.
70163         (sc_file_system): Likewise.
70164         (sc_prohibit_have_config_h): Likewise.
70165         (sc_require_config_h): Likewise.
70166         (sc_prohibit_HAVE_MBRTOWC): Likewise.
70167         (sc_obsolete_symbols): Likewise.
70168         (sc_changelog): Likewise.
70169         (sc_program_name): Likewise.
70170         (sc_the_the): Likewise.
70171         (sc_trailing_blank): Likewise.
70172         (sc_two_space_separator_in_usage): Likewise.
70173         (sc_useless_cpp_parens): Likewise.
70174         (sc_GPL_version): Likewise.
70175         (sc_GFDL_version): Likewise.
70176         (sc_texinfo_acronym): Likewise.
70177         (sc_prohibit_cvs_keyword): Likewise.
70178         (sc_prohibit_stat_st_blocks): Likewise.
70179         (sc_prohibit_S_IS_definition): Likewise.
70180         (sc_redundant_const): Likewise.
70181         (sc_makefile_TAB_only_indentation): Likewise.
70182         (sc_m4_quote_check): Likewise.
70183         (sc_makefile_path_separator_check): Likewise.
70184         (sc_copyright_check): Likewise.
70185         (sc_Wundef_boolean): Likewise.
70186         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
70188         maint.mk: match 0 or more whitespace-before-function-call '('
70189         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
70190         that have zero or two-and-more spaces between the function name
70191         and the open parenthesis.
70192         (sc_error_message_warn_fatal): Likewise.
70193         (sc_error_message_uppercase): Likewise.
70194         (sc_error_message_period): Likewise.
70196 2010-03-31  Eric Blake  <eblake@redhat.com>
70198         maint.mk: check for [ as well as test
70199         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
70200         Based on a libvirt report by Matthias Bolte.
70202         gnumakefile: don't squelch _version output
70203         * top/GNUmakefile (_version): Create one-shot dependency rather
70204         than using $(shell) when version must be regenerated.
70205         (_autoreconf): Run verbosely, by default.
70207         sys_time: avoid compiler warnings
70208         * lib/sys_time.in.h (includes): Ensure gcc pragma is
70209         unconditional, fixing regression from 2010-03-29.
70210         Reported by Simon Josefsson.
70212 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
70214         maint.mk: s/_header_without_use/_sc_header_without_use/
70215         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
70216         (sc_prohibit_assert_without_use): Use the new name.
70217         (sc_prohibit_close_stream_without_use): Likewise.
70218         (sc_prohibit_getopt_without_use): Likewise.
70219         (sc_prohibit_quotearg_without_use): Likewise.
70220         (sc_prohibit_quote_without_use): Likewise.
70221         (sc_prohibit_long_options_without_use): Likewise.
70222         (sc_prohibit_inttostr_without_use): Likewise.
70223         (sc_prohibit_ignore_value_without_use): Likewise.
70224         (sc_prohibit_error_without_use): Likewise.
70225         (sc_prohibit_xalloc_without_use): Likewise.
70226         (sc_prohibit_hash_without_use): Likewise.
70227         (sc_prohibit_hash_pjw_without_use): Likewise.
70228         (sc_prohibit_safe_read_without_use): Likewise.
70229         (sc_prohibit_argmatch_without_use): Likewise.
70230         (sc_prohibit_canonicalize_without_use): Likewise.
70231         (sc_prohibit_root_dev_ino_without_use): Likewise.
70232         (sc_prohibit_openat_without_use): Likewise.
70233         (sc_prohibit_c_ctype_without_use): Likewise.
70234         (sc_prohibit_signal_without_use): Likewise.
70235         (sc_prohibit_intprops_without_use): Likewise.
70237 2010-03-30  Eric Blake  <eblake@redhat.com>
70239         maint: improve module indicators
70240         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
70241         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
70242         columns, and avoid extra macro expansion.
70244         fdopendir: work around FreeBSD bug
70245         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
70246         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
70247         * modules/dirent (Makefile.am): Substitute it.
70248         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
70249         declaration.
70250         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
70251         fix.
70252         Reported by Christian Weisgerber <naddy@mips.inka.de>.
70254 2010-03-29  Bruno Haible  <bruno@clisp.org>
70256         Emit #pragma system_header after the inclusion guard, not before.
70257         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
70258         guard that spans the entire file, not before. This enables an
70259         optimization in GCC's preprocessor.
70260         * lib/ctype.in.h: Likewise.
70261         * lib/dirent.in.h: Likewise.
70262         * lib/errno.in.h: Likewise.
70263         * lib/float.in.h: Likewise.
70264         * lib/getopt.in.h: Likewise.
70265         * lib/iconv.in.h: Likewise.
70266         * lib/langinfo.in.h: Likewise.
70267         * lib/locale.in.h: Likewise.
70268         * lib/math.in.h: Likewise.
70269         * lib/netdb.in.h: Likewise.
70270         * lib/netinet_in.in.h: Likewise.
70271         * lib/pty.in.h: Likewise.
70272         * lib/sched.in.h: Likewise.
70273         * lib/se-selinux.in.h: Likewise.
70274         * lib/search.in.h: Likewise.
70275         * lib/spawn.in.h: Likewise.
70276         * lib/stdarg.in.h: Likewise.
70277         * lib/stdint.in.h: Likewise.
70278         * lib/string.in.h: Likewise.
70279         * lib/strings.in.h: Likewise.
70280         * lib/sys_file.in.h: Likewise.
70281         * lib/sys_ioctl.in.h: Likewise.
70282         * lib/sys_time.in.h: Likewise.
70283         * lib/sys_times.in.h: Likewise.
70284         * lib/sys_utsname.in.h: Likewise.
70285         * lib/sys_wait.in.h: Likewise.
70286         * lib/sysexits.in.h: Likewise.
70287         * lib/wctype.in.h: Likewise.
70289 2010-03-28  James Youngman  <jay@gnu.org>
70291         save-cwd: don't leak a file descriptor when the caller execs.
70292         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
70293         saved file descriptor.
70294         * modules/save-cwd (Depends-on): Depend on cloexec.
70296 2010-03-29  Bruno Haible  <bruno@clisp.org>
70298         Remove vestiges of fts-lgpl module.
70299         * lib/fts_.h: Assume GNULIB_FTS is 1.
70300         * lib/fts.c: Likewise.
70301         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
70303 2010-03-28  Bruno Haible  <bruno@clisp.org>
70305         Fix definition of tests witness macro.
70306         * gnulib-tool (func_import): Fix definition of witness macro.
70308 2010-03-28  Bruno Haible  <bruno@clisp.org>
70310         Fix ioctl's protoype on glibc systems.
70311         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
70312         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
70313         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
70314         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
70315         signature. If not, arrange to replace the ioctl function.
70316         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
70317         REPLACE_IOCTL.
70318         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
70319         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
70320         Reported by Ludovic Courtès <ludo@gnu.org>.
70322 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
70324         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
70325         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
70326         made it so grep -r --include=GLOB* ... did not work.
70328 2010-03-26  Jim Meyering  <meyering@redhat.com>
70329             Eric Blake  <eblake@redhat.com>
70331         maint.mk: prohibit use of test's -o and -a operators
70332         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
70334 2010-03-28  Bruno Haible  <bruno@clisp.org>
70336         Remove unused GNULIB_XYZ macro definitions.
70337         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
70338         invocation.
70340 2010-03-28  Bruno Haible  <bruno@clisp.org>
70342         Mark privileged tests modules.
70343         * modules/idpriv-drop-tests (Status): New section.
70344         * modules/idpriv-droptemp-tests (Status): New section.
70346 2010-03-28  Bruno Haible  <bruno@clisp.org>
70348         Split C++ tests into separate tests modules.
70349         * modules/dirent-c++-tests: New file, extracted from
70350         modules/dirent-tests.
70351         * modules/dirent-tests: Depend on it.
70352         * modules/fcntl-h-c++-tests: New file, extracted from
70353         modules/fcntl-h-tests.
70354         * modules/fcntl-h-tests: Depend on it.
70355         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
70356         * modules/glob-tests: Depend on it.
70357         * modules/iconv-h-c++-tests: New file, extracted from
70358         modules/iconv-h-tests.
70359         * modules/iconv-h-tests: Depend on it.
70360         * modules/langinfo-c++-tests: New file, extracted from
70361         modules/langinfo-tests.
70362         * modules/langinfo-tests: Depend on it.
70363         * modules/locale-c++-tests: New file, extracted from
70364         modules/locale-tests.
70365         * modules/locale-tests: Depend on it.
70366         * modules/math-c++-tests: New file, extracted from modules/math-tests.
70367         * modules/math-tests: Depend on it.
70368         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
70369         * modules/pty-tests: Depend on it.
70370         * modules/search-c++-tests: New file, extracted from
70371         modules/search-tests.
70372         * modules/search-tests: Depend on it.
70373         * modules/signal-c++-tests: New file, extracted from
70374         modules/signal-tests.
70375         * modules/signal-tests: Depend on it.
70376         * modules/spawn-c++-tests: New file, extracted from
70377         modules/spawn-tests.
70378         * modules/spawn-tests: Depend on it.
70379         * modules/stdio-c++-tests: New file, extracted from
70380         modules/stdio-tests.
70381         * modules/stdio-tests: Depend on it.
70382         * modules/stdlib-c++-tests: New file, extracted from
70383         modules/stdlib-tests.
70384         * modules/stdlib-tests: Depend on it.
70385         * modules/string-c++-tests: New file, extracted from
70386         modules/string-tests.
70387         * modules/string-tests: Depend on it.
70388         * modules/sys_ioctl-c++-tests: New file, extracted from
70389         modules/sys_ioctl-tests.
70390         * modules/sys_ioctl-tests: Depend on it.
70391         * modules/sys_select-c++-tests: New file, extracted from
70392         modules/sys_select-tests.
70393         * modules/sys_select-tests: Depend on it.
70394         * modules/sys_socket-c++-tests: New file, extracted from
70395         modules/sys_socket-tests.
70396         * modules/sys_socket-tests: Depend on it.
70397         * modules/sys_stat-c++-tests: New file, extracted from
70398         modules/sys_stat-tests.
70399         * modules/sys_stat-tests: Depend on it.
70400         * modules/sys_time-c++-tests: New file, extracted from
70401         modules/sys_time-tests.
70402         * modules/sys_time-tests: Depend on it.
70403         * modules/time-c++-tests: New file, extracted from modules/time-tests.
70404         * modules/time-tests: Depend on it.
70405         * modules/unistd-c++-tests: New file, extracted from
70406         modules/unistd-tests.
70407         * modules/unistd-tests: Depend on it.
70408         * modules/wchar-c++-tests: New file, extracted from
70409         modules/wchar-tests.
70410         * modules/wchar-tests: Depend on it.
70411         * modules/wctype-c++-tests: New file, extracted from
70412         modules/wctype-tests.
70413         * modules/wctype-tests: Depend on it.
70414         Reported by Simon Josefsson.
70416 2010-03-28  Bruno Haible  <bruno@clisp.org>
70418         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
70419         * gnulib-tool (func_exists_module): New function, extracted from
70420         func_verify_module.
70421         (func_verify_module): Use it.
70422         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
70423         'foo' only if 'foo' exists.
70424         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
70425         module.
70427 2010-03-28  Bruno Haible  <bruno@clisp.org>
70429         gnulib-tool: Add support for special categories of tests.
70430         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
70431         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
70432         (func_usage): Document them.
70433         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
70434         inc_unportable_tests, inc_all_tests): New variables.
70435         (func_acceptable): Consider these variables.
70436         (func_modules_transitive_closure): Make it work when the 'Status' field
70437         consists of multiple words.
70438         (func_import): Store and restore the values of inc_cxx_tests,
70439         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
70440         inc_all_tests in gnulib-comp.m4.
70441         (func_create_testdir): Set inc_all_tests to true.
70442         * doc/gnulib.texi (Extra tests modules): New section.
70443         Suggested by Jim Meyering.
70445 2010-03-28  Bruno Haible  <bruno@clisp.org>
70447         ansi-c++-opt: Allow turning off the C++ build by default.
70448         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
70449         gl_CXX_CHOICE_DEFAULT_NO is defined.
70450         Requested by Eric Blake.
70452 2010-03-28  Bruno Haible  <bruno@clisp.org>
70454         unistd: Avoid #define replacements in C++ mode.
70455         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
70456         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
70457         setsockopt, shutdown, select): In C++, attach a warning to the function
70458         if possible, rather than #defining the symbol to a dysfunctional alias.
70459         Reported by John W. Eaton <jwe@gnu.org>.
70461 2010-03-28  Bruno Haible  <bruno@clisp.org>
70463         Fix link errors on mingw.
70464         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
70465         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
70466         $(LIBSOCKET).
70467         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
70468         $(LIBSOCKET).
70470 2010-03-28  Bruno Haible  <bruno@clisp.org>
70471             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70473         lib-ignore: Determine different options for different compilers.
70474         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
70475         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
70476         Add comments.
70477         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
70478         * NEWS: Mention the change.
70480 2010-03-27  Bruno Haible  <bruno@clisp.org>
70482         Remove unused GNULIB_XYZ macro definitions.
70483         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
70484         * modules/fseek (configure.ac): Likewise.
70485         * modules/ioctl (configure.ac): Likewise.
70486         * modules/open (configure.ac): Likewise.
70487         * modules/stdlib-safer (configure.ac): Likewise.
70489 2010-03-27  Bruno Haible  <bruno@clisp.org>
70491         Add a remark about certain modules.
70492         * modules/malloc (Comment): New section.
70493         * modules/realloc (Comment): Likewise.
70494         * modules/sigpipe (Comment): Likewise.
70496 2010-03-27  Bruno Haible  <bruno@clisp.org>
70498         Resolve conflict between the two kinds of module indicators.
70499         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
70500         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
70501         * modules/canonicalize (configure.ac): Invoke
70502         gl_MODULE_INDICATOR_FOR_TESTS.
70503         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
70504         GNULIB_XYZ.
70505         * tests/test-dirent-c++.cc: Likewise.
70506         * tests/test-dirent-safer.c: Likewise.
70507         * tests/test-dup2.c: Likewise.
70508         * tests/test-fchdir.c: Likewise.
70509         * tests/test-fcntl-h-c++.cc: Likewise.
70510         * tests/test-getopt.c: Likewise.
70511         * tests/test-getopt.h: Likewise.
70512         * tests/test-langinfo-c++.cc: Likewise.
70513         * tests/test-locale-c++.cc: Likewise.
70514         * tests/test-math-c++.cc: Likewise.
70515         * tests/test-pty-c++.cc: Likewise.
70516         * tests/test-search-c++.cc: Likewise.
70517         * tests/test-signal-c++.cc: Likewise.
70518         * tests/test-spawn-c++.cc: Likewise.
70519         * tests/test-stdio-c++.cc: Likewise.
70520         * tests/test-stdlib-c++.cc: Likewise.
70521         * tests/test-string-c++.cc: Likewise.
70522         * tests/test-sys_ioctl-c++.cc: Likewise.
70523         * tests/test-sys_select-c++.cc: Likewise.
70524         * tests/test-sys_socket-c++.cc: Likewise.
70525         * tests/test-sys_stat-c++.cc: Likewise.
70526         * tests/test-sys_time-c++.cc: Likewise.
70527         * tests/test-time-c++.cc: Likewise.
70528         * tests/test-unistd-c++.cc: Likewise.
70529         * tests/test-wchar-c++.cc: Likewise.
70530         * tests/uninorm/test-u8-nfc.c: Likewise.
70531         * tests/uninorm/test-u8-nfd.c: Likewise.
70532         * tests/uninorm/test-u8-nfkc.c: Likewise.
70533         * tests/uninorm/test-u8-nfkd.c: Likewise.
70534         * tests/uninorm/test-u16-nfc.c: Likewise.
70535         * tests/uninorm/test-u16-nfd.c: Likewise.
70536         * tests/uninorm/test-u16-nfkc.c: Likewise.
70537         * tests/uninorm/test-u16-nfkd.c: Likewise.
70538         * tests/uninorm/test-u32-nfc.c: Likewise.
70539         * tests/uninorm/test-u32-nfc-big.c: Likewise.
70540         * tests/uninorm/test-u32-nfd.c: Likewise.
70541         * tests/uninorm/test-u32-nfd-big.c: Likewise.
70542         * tests/uninorm/test-u32-nfkc.c: Likewise.
70543         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
70544         * tests/uninorm/test-u32-nfkd.c: Likewise.
70545         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
70546         * tests/uninorm/test-u32-normalize-big.c: Likewise.
70548 2010-03-27  Bruno Haible  <bruno@clisp.org>
70550         Distinguish two kinds of module indicators.
70551         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
70552         gl_MODULE_INDICATOR.
70553         (gl_MODULE_INDICATOR): New macro.
70554         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
70555         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
70556         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
70557         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
70558         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
70559         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
70560         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
70561         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
70562         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
70563         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
70564         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
70565         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
70566         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
70567         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
70568         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
70569         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
70570         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
70571         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
70572         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
70573         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
70574         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
70575         * modules/cloexec (configure.ac): Likewise.
70576         * modules/getopt-gnu (configure.ac): Likewise.
70577         * modules/uninorm/u8-normalize (configure.ac): Likewise.
70578         * modules/uninorm/u16-normalize (configure.ac): Likewise.
70579         * modules/uninorm/u32-normalize (configure.ac): Likewise.
70580         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
70582 2010-03-27  Bruno Haible  <bruno@clisp.org>
70584         New module description field 'Comment'.
70585         * gnulib-tool: New option --extract-comment.
70586         (func_usage): Document it.
70587         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
70588         (func_get_comment): New function.
70589         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
70591 2010-03-27  Bruno Haible  <bruno@clisp.org>
70593         Addendum to 2010-02-07 commit.
70594         * gnulib-tool (func_usage): Document --extract-applicability option.
70596 2010-03-27  Bruno Haible  <bruno@clisp.org>
70598         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
70599         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
70600         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
70601         rather than link errors.
70603 2010-03-27  Bruno Haible  <bruno@clisp.org>
70605         Avoid side effects from tests-related modules on the compilation of lib.
70606         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
70607         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
70608         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
70609         parameter. Emit into AM_CPPFLAGS a definition of the designated C
70610         macro.
70611         (func_import): Define a witness macro. Assign it a value that depends
70612         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
70613         tests-related modules.
70614         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
70615         Reported by Jim Meyering.
70617 2010-03-27  Bruno Haible  <bruno@clisp.org>
70619         Factorize common .m4 code.
70620         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
70621         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
70622         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
70623         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
70624         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
70625         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
70626         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
70627         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
70628         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
70629         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
70630         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
70631         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
70632         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
70633         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
70634         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
70635         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
70636         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
70637         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
70638         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
70639         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
70640         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
70641         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
70642         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
70643         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
70644         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
70645         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
70646         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
70647         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
70648         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
70649         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
70650         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
70651         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
70653 2010-03-27  Bruno Haible  <bruno@clisp.org>
70655         Fix a compilation error on Cygwin with g++ >= 4.3.
70656         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
70657         if it is undefined or if we alias it to chmod.
70658         (lstat): Don't warn about the use of this function if it is undefined
70659         or if we alias it to stat.
70660         Reported by Simon Josefsson.
70662 2010-03-27  Bruno Haible  <bruno@clisp.org>
70664         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
70665         * modules/getlogin (configure.ac): Update.
70667         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
70668         * modules/getlogin_r (configure.ac): Update.
70670         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
70671         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
70672         * modules/inet_ntop (configure.ac): Update.
70674         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
70675         * modules/inet_pton (configure.ac): Update.
70677         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
70678         * modules/mbslen (configure.ac): Update.
70680         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
70681         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
70682         * modules/forkpty (configure.ac): Update.
70683         * modules/openpty (configure.ac): Update.
70685 2010-03-26  Simon Josefsson  <simon@josefsson.org>
70687         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
70688         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
70690 2010-03-25  Eric Blake  <eblake@redhat.com>
70692         maint: use pragma consistently across replacement headers
70693         * lib/ctype.in.h (system_header): Hoist for consistent placement.
70694         * lib/dirent.in.h (system_header): Likewise.
70695         * lib/errno.in.h (system_header): Likewise.
70696         * lib/float.in.h (system_header): Likewise.
70697         * lib/getopt.in.h (system_header): Likewise.
70698         * lib/iconv.in.h (system_header): Likewise.
70699         * lib/inttypes.in.h (system_header): Likewise.
70700         * lib/langinfo.in.h (system_header): Likewise.
70701         * lib/locale.in.h (system_header): Likewise.
70702         * lib/math.in.h (system_header): Likewise.
70703         * lib/netdb.in.h (system_header): Likewise.
70704         * lib/netinet_in.in.h (system_header): Likewise.
70705         * lib/pty.in.h (system_header): Likewise.
70706         * lib/sched.in.h (system_header): Likewise.
70707         * lib/se-selinux.in.h (system_header): Likewise.
70708         * lib/search.in.h (system_header): Likewise.
70709         * lib/spawn.in.h (system_header): Likewise.
70710         * lib/stdarg.in.h (system_header): Likewise.
70711         * lib/stdint.in.h (system_header): Likewise.
70712         * lib/string.in.h (system_header): Likewise.
70713         * lib/strings.in.h (system_header): Likewise.
70714         * lib/sys_file.in.h (system_header): Likewise.
70715         * lib/sys_ioctl.in.h (system_header): Likewise.
70716         * lib/sys_socket.in.h (system_header): Likewise.
70717         * lib/sys_times.in.h (system_header): Likewise.
70718         * lib/sys_utsname.in.h (system_header): Likewise.
70719         * lib/sys_wait.in.h (system_header): Likewise.
70720         * lib/sysexits.in.h (system_header): Likewise.
70721         * lib/unistd.in.h (system_header): Likewise.
70722         * lib/wctype.in.h (system_header): Likewise.
70724         arpa/inet: fix mingw compilation warning
70725         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
70726         Reported by Matthew Bolte.
70728 2010-03-25  Bruno Haible  <bruno@clisp.org>
70730         Avoid collision between gnulib wrapper and libintl wrapper.
70731         * lib/printf.c (printf): Don't define if a printf wrapper is already
70732         defined in intl/printf.c.
70733         Reported by Michel Boaventura <michel@michelboaventura.com>.
70735 2010-03-25  Bruno Haible  <bruno@clisp.org>
70737         Use ANSI C.
70738         * lib/readutmp.h (getutent): Provide ANSI C prototype.
70740 2010-03-25  Bruno Haible  <bruno@clisp.org>
70742         Minor formatting changes.
70743         * lib/acosl.c: Insert space before function argument list.
70744         * lib/argz.c: Likewise.
70745         * lib/asinl.c: Likewise.
70746         * lib/expl.c: Likewise.
70747         * lib/gen-uni-tables.c: Likewise.
70748         * lib/gettext.h: Likewise.
70749         * lib/glthread/lock.h: Likewise.
70750         * lib/tanl.c: Likewise.
70751         * lib/uniname/uniname.c: Likewise.
70752         * tests/test-idpriv-drop.c: Likewise.
70753         * tests/test-idpriv-droptemp.c: Likewise.
70754         * tests/test-lock.c: Likewise.
70755         * tests/test-tls.c: Likewise.
70756         * lib/argp-help.c: Insert space before function-like macro argument
70757         list.
70758         * lib/memcmp.c: Likewise.
70759         * tests/test-base64.c: Likewise.
70760         * lib/localename.c: Insert space before sizeof's argument list.
70761         * lib/safe-alloc.h: Likewise.
70762         * lib/file-set.h: Insert space before macro argument list.
70763         * tests/test-argp.c: Likewise.
70764         * lib/argp-namefrob.h: Insert space before function parameter list.
70765         * lib/getaddrinfo.c: Likewise.
70766         * lib/netdb.in.h: Likewise.
70767         * lib/parse-duration.h: Likewise.
70768         * lib/parse-duration.c: Likewise.
70769         * lib/poll.c: Likewise.
70770         * lib/select.c: Likewise.
70771         * lib/trim.h: Likewise.
70772         * tests/test-usleep.c: Likewise.
70773         * lib/ldexpl.c: Insert space before function parameter list and before
70774         function argument list.
70775         * lib/logl.c: Likewise.
70776         * lib/sqrtl.c: Likewise.
70777         * lib/trim.c: Likewise.
70778         * lib/cosl.c: Use GNU style indentation. Insert space before function
70779         argument list.
70780         * lib/sinl.c: Likewise.
70781         * lib/tsearch.c: Insert space after 'for'.
70782         Reported by Jim Meyering.
70784 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
70786         * maint.mk (sc_Wundef_boolean): Check for the presence of the
70787         config header before grepping, as it's not present before
70788         autoreconf/configure are run.  Reported by Simon Josefsson.
70790 2010-03-23  Bruno Haible  <bruno@clisp.org>
70792         pt_chown: Make it work with automake < 1.11.
70793         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
70794         Reported by Simon Josefsson.
70796 2010-03-23  Bruno Haible  <bruno@clisp.org>
70798         pt_chown: Don't depend on GPLed modules.
70799         * lib/pt_chown.c: Don't include idpriv.h.
70800         (main): Don't drop privileges.
70801         * modules/pt_chown (Depends-on): Remove idpriv-drop.
70802         Reported by Simon Josefsson.
70804 2010-03-24  Simon Josefsson  <simon@josefsson.org>
70806         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
70807         suggestions from karl@freefriends.org (Karl Berry).
70809 2010-03-22  Eric Blake  <eblake@redhat.com>
70811         gethostname: further tweaks
70812         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
70813         are overriding gethostname.
70814         Suggested by Bruno Haible.
70816 2010-03-21  Bruno Haible  <bruno@clisp.org>
70818         Fix comments.
70819         * lib/forkpty.c (rpl_forkpty): Fix comment.
70820         * lib/openpty.c (rpl_openpty): Likewise.
70821         Reported by Eric Blake.
70823 2010-03-22  Eric Blake  <eblake@redhat.com>
70825         gethostname: fix build on mingw
70826         * lib/unistd.in.h (includes): Work around fact that mingw
70827         <winsock2.h> re-includes <unistd.h>, by avoiding any
70828         redeclarations if we are being included by <winsock2.h>.
70829         Reported by Matthias Bolte.
70831 2010-03-21  Bruno Haible  <bruno@clisp.org>
70833         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
70834         * lib/forkpty.c (forkpty): New replacement function, from glibc with
70835         modifications.
70836         * lib/pty.in.h (forkpty): Update declaration. Add comments.
70837         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
70838         provide the replacement.
70839         * modules/forkpty (Depends-on): Add openpty, login_tty.
70840         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
70841         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
70842         * doc/glibc-functions/forkpty.texi: More supported platforms.
70843         * config/srclist.txt: Add forkpty.c (commented).
70845 2010-03-21  Bruno Haible  <bruno@clisp.org>
70847         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
70848         (Makefile.am): Verify that PTY_LIB is defined.
70850         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
70852 2010-03-21  Bruno Haible  <bruno@clisp.org>
70854         Tests for module 'login_tty'.
70855         * modules/login_tty-tests: New file.
70856         * tests/test-login_tty.c: New file.
70858         New module 'login_tty'.
70859         * lib/login_tty.c: New file.
70860         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
70861         * modules/login_tty: New file.
70862         * doc/glibc-functions/login_tty.texi: Mention the new module.
70864 2010-03-21  Bruno Haible  <bruno@clisp.org>
70866         login_tty: Documentation.
70867         * doc/glibc-functions/login_tty.texi: New file.
70868         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
70870 2010-03-21  Bruno Haible  <bruno@clisp.org>
70872         pty: Consistent macro naming.
70873         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
70874         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
70875         * modules/pty (configure.ac): Update.
70877 2010-03-21  Bruno Haible  <bruno@clisp.org>
70879         Tests for openpty: Make stricter.
70880         * tests/test-openpty.c (main): Add test of canonical processing and
70881         erase.
70882         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
70884         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
70885         * lib/openpty.c (openpty): New replacement function.
70886         * lib/pty.in.h: Include <termios.h>.
70887         (openpty): Update declaration. Add comments.
70888         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
70889         is not declared, arrange to provide the replacement. Check for _getpty
70890         and posix_openpt.
70891         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
70892         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
70893         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
70894         * modules/pty-tests (test_pty_c___LDADD): New variable.
70895         * doc/glibc-functions/openpty.texi: More supported platforms.
70897 2010-03-21  Bruno Haible  <bruno@clisp.org>
70899         setenv: Tweaks.
70900         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
70901         the test program.
70902         * doc/posix-functions/setenv.texi: Update platforms list.
70904 2010-03-21  Bruno Haible  <bruno@clisp.org>
70906         New module 'unlockpt'.
70907         * lib/unlockpt.c: New file, from glibc with modifications.
70908         * m4/unlockpt.m4: New file.
70909         * modules/unlockpt: New file.
70910         * lib/stdlib.in.h (unlockpt): New declaration.
70911         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
70912         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
70913         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
70914         HAVE_UNLOCKPT.
70915         * doc/posix-functions/unlockpt.texi: Mention the new module.
70916         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
70917         * config/srclist.txt: Add unlockpt.c (commented).
70919 2010-03-21  Jim Meyering  <meyering@redhat.com>
70921         maint.mk: prohibit inclusion of "intprops.h" without use
70922         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
70924 2010-03-21  Bruno Haible  <bruno@clisp.org>
70926         New module 'grantpt'.
70927         * lib/grantpt.c: New file, from glibc with modifications.
70928         * m4/grantpt.m4: New file.
70929         * modules/grantpt: New file.
70930         * lib/stdlib.in.h (grantpt): New declaration.
70931         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
70932         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
70933         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
70934         HAVE_GRANTPT.
70935         * doc/posix-functions/grantpt.texi: Mention the new module.
70936         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
70937         * config/srclist.txt: Add grantpt.c (commented).
70939 2010-03-21  Bruno Haible  <bruno@clisp.org>
70941         New module 'pt_chown'.
70942         * lib/pt_chown.c: New file, from glibc with modifications.
70943         * lib/pty-private.h: New file, from glibc with modifications.
70944         * modules/pt_chown: New file.
70945         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
70947 2010-03-21  Bruno Haible  <bruno@clisp.org>
70949         Tests for module 'ptsname'.
70950         * modules/ptsname-tests: New file.
70951         * tests/test-ptsname.c: New file.
70953         New module 'ptsname'.
70954         * lib/ptsname.c: New file, from glibc with modifications.
70955         * m4/ptsname.m4: New file.
70956         * modules/ptsname: New file.
70957         * lib/stdlib.in.h (ptsname): New declaration.
70958         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
70959         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
70960         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
70961         HAVE_PTSNAME.
70962         * doc/posix-functions/ptsname.texi: Mention the new module.
70963         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
70964         * config/srclist.txt: Add ptsname.c (commented).
70966 2010-03-21  Bruno Haible  <bruno@clisp.org>
70968         Tests for module 'ttyname_r'.
70969         * modules/ttyname_r-tests: New file.
70970         * tests/test-ttyname_r.c: New file.
70972         New module 'ttyname_r'.
70973         * lib/ttyname_r.c: New file.
70974         * m4/ttyname_r.m4: New file.
70975         * modules/ttyname_r: New file.
70976         * lib/unistd.in.h (ttyname_r): New declaration.
70977         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
70978         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
70979         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
70980         HAVE_TTYNAME_R.
70981         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
70982         * doc/posix-functions/ttyname_r.texi: Mention the new module.
70984 2010-03-20  Bruno Haible  <bruno@clisp.org>
70986         signal: Undefine macro definitions in C++ mode.
70987         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
70988         sigfillset): Undefine macro definitions from the system header in C++
70989         mode.
70990         Reported by John W. Eaton <jwe@gnu.org>.
70992 2010-03-20  Bruno Haible  <bruno@clisp.org>
70994         Ensure no #include statements inside extern "C" { ... }.
70995         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
70996         contain #include statements.
70997         * lib/time.in.h: Likewise.
70999 2010-03-20  Bruno Haible  <bruno@clisp.org>
71001         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
71002         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
71003         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
71004         Reported by John W. Eaton <jwe@gnu.org>.
71006 2010-03-20  Bruno Haible  <bruno@clisp.org>
71008         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
71009         Reported by Jim Meyering.
71011 2010-03-20  Bruno Haible  <bruno@clisp.org>
71013         pipe: Set errno upon failure.
71014         * lib/pipe.h: Specify that when -1 is returned, errno is set.
71015         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
71016         errno value in error message.
71018 2010-03-20  Bruno Haible  <bruno@clisp.org>
71019             Jim Meyering  <meyering@redhat.com>
71021         lchown: Avoid "unused variable" warning.
71022         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
71024 2010-03-20  Bruno Haible  <bruno@clisp.org>
71026         Work around unlink() bug on MacOS X 10.5.6.
71027         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
71028         attempting to unlink a parent directory.
71029         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
71030         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
71031         activate for the replacement function.
71032         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
71034 2010-03-20  Bruno Haible  <bruno@clisp.org>
71036         Fix link errors on Solaris 8.
71037         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
71038         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
71040 2010-03-19  Jim Meyering  <meyering@redhat.com>
71042         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
71043         The _LIBC implementation of build_range_exp correctly honors the
71044         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
71045         However, the non-_LIBC implementation would ignore that syntax-bit
71046         flag and return REG_ERANGE unconditionally.
71047         This change makes it honor that flag.
71048         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
71049         Make two pointer parameters "const".
71050         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
71051         (parse_bracket_exp): Update caller.
71053         regex.m4: correct the reversed range endpoint ([b-a]) test
71054         * m4/regex.m4: When requiring that [b-a] evoke failure,
71055         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
71056         test pass once again for x86-based systems.
71058 2010-03-19  Bruno Haible  <bruno@clisp.org>
71060         scandir: Fix link error on Solaris 8.
71061         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
71062         macros.
71064 2010-03-19  Bruno Haible  <bruno@clisp.org>
71066         getusershell: Fix documentation.
71067         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
71068         module.
71069         * doc/glibc-functions/setusershell.texi: Likewise.
71071         getusershell: Provide declaration, missing on Solaris 9.
71072         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
71073         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
71074         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
71075         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
71076         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
71077         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
71078         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
71079         HAVE_GETUSERSHELL.
71080         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
71082 2010-03-19  Bruno Haible  <bruno@clisp.org>
71084         wctype: Provide iswblank function.
71085         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
71086         exists and is fine.
71087         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
71088         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
71089         * tests/test-wctype.c (main): Re-enable the iswblank tests.
71090         * doc/posix-functions/iswblank.texi: Update.
71092 2010-03-19  Bruno Haible  <bruno@clisp.org>
71094         Tests of module 'pty' in C++ mode.
71095         * modules/pty-tests: New file.
71096         * tests/test-pty-c++.cc: New file.
71097         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
71099 2010-03-19  Eric Blake  <eblake@redhat.com>
71101         logb: fix documentation
71102         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
71103         1.5 declaration bug.
71105         forkpty, openpty: prefer glibc's const-safe prototype
71106         * lib/forkpty.c (rpl_forkpty): New file.
71107         * lib/openpty.c (rpl_openpty): Likewise.
71108         * modules/forkpty (Files): Distribute it.
71109         * modules/openpty (Files): Likewise.
71110         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
71111         check...
71112         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
71113         replacement for non-const BSD signature.
71114         * modules/pty (Makefile.am): Substitute witnesses.
71115         * lib/pty.in.h (forkpty, openpty): Declare replacements.
71116         * tests/test-forkpty.c: Update signature check.
71117         * tests/test-openpty.c: Likewise.
71118         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
71119         * doc/glibc-functions/openpty.texi (openpty): Likewise.
71121         forkpty, openpty: split functions into new modules
71122         * modules/pty (Makefile.am): Substitute new witnesses.
71123         (Libraries): Move library detection...
71124         * modules/forkpty: ...into new module.
71125         * modules/openpty: Another new module.
71126         * modules/pty-tests: Rename and split...
71127         * modules/forkpty-tests: ...to this...
71128         * modules/openpty-tests: ...and this.
71129         * tests/test-pty.c: Rename and split...
71130         * tests/test-forkpty.c: ...to this...
71131         * tests/test-openpty.c: ...and this.
71132         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
71133         (gl_PTY): Split library searching...
71134         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
71135         (gl_FORKPTY, gl_OPENPTY): New macros.
71136         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
71137         * NEWS: Mention the split.
71138         * MODULES.html.sh (Misc): Document the modules.
71139         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
71140         * doc/glibc-functions/openpty.texi (openpty): Likewise.
71142         pty: improve replacement header
71143         * lib/pty.in.h: New file.
71144         * modules/pty (Files): Ship it.
71145         (Makefile.am): Always build replacement.
71146         * m4/pty.m4: Rename...
71147         * m4/pty_h.m4: ...to this.
71148         (gl_PTY): Modernize setting of witness macros; update check of
71149         forkpty to take proper advantage of cache.
71150         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
71152         getopt: avoid compiler warning
71153         * lib/getopt.c (attribute_hidden): Remove unused macro.
71155 2010-03-18  Bruno Haible  <bruno@clisp.org>
71157         Fix link errors on Solaris 8.
71158         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
71159         * modules/search-tests (test_search_c___LDADD): Likewise.
71160         * modules/signal-tests (test_signal_c___LDADD): Likewise.
71161         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
71162         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
71163         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
71164         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
71165         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
71166         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
71168 2010-03-18  Bruno Haible  <bruno@clisp.org>
71170         Fix bug introduced on 2010-03-14.
71171         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
71172         (gl_SPAWN_H): Require it.
71173         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
71174         Reported by Simon Josefsson.
71176 2010-03-18  Bruno Haible  <bruno@clisp.org>
71178         Fix typo introduced on 2009-12-31.
71179         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
71180         posix_spawn_file_actions_adddup2.
71182 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
71183         and Eric Blake  <eblake@redhat.com>
71185         test-vc-list-files-git: make more robust
71186         * tests/test-vc-list-files-git.sh: Unset problematic environment
71187         variables.  Chain commands together.
71189 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
71191         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
71192         `AC_CHECK_DECL' invocation.
71194 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
71196         * lib/inttostr.c (inttostr): Make sure the invocation of verify
71197         appears before executable statements. Suggested by Petr Sumbera
71198         <Petr.Sumbera@Sun.COM>.
71200 2010-03-14  Bruno Haible  <bruno@clisp.org>
71202         * tests/test-flock.c (test_exclusive): Comment out a test that causes
71203         portability problems. Instead use a simpler test.
71204         (main): Check that invalid arguments are rejected only on Linux.
71206 2010-03-14  Bruno Haible  <bruno@clisp.org>
71208         Fix bug introduced on 2009-12-31.
71209         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
71210         gl_PREREQ_SYS_H_WINSOCK2 always.
71211         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
71212         SYS_SOCKET_H variable.
71213         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
71214         Update comments.
71215         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
71216         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
71217         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
71218         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
71219         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
71221 2010-03-14  Bruno Haible  <bruno@clisp.org>
71223         Fix values returned by sinl, cosl.
71224         * lib/trigl.h: Add specification comments.
71225         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
71226         that combines the values from the precomputed table with the values of
71227         the Chebyshev polynomials.
71229 2010-03-14  Bruno Haible  <bruno@clisp.org>
71231         Fix compilation error when modules 'posix_spawn[p]' are not used.
71232         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
71233         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
71235 2010-03-14  Bruno Haible  <bruno@clisp.org>
71237         Fix compilation error on mingw when module 'time_r' is not used.
71238         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
71239         is 1.
71240         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
71241         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
71242         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
71243         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
71245 2010-03-14  Bruno Haible  <bruno@clisp.org>
71247         Fix compilation error with Sun C.
71248         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
71249         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
71250         instead of GCC specific ULONG_LONG_MAX.
71251         * lib/xstrtoll.c: Likewise.
71252         * lib/xstrtoull.c: Likewise.
71254 2010-03-13  Bruno Haible  <bruno@clisp.org>
71256         Allow the user to disable C++ code and tests.
71257         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
71258         (gl_PROG_ANSI_CXX): Require it.
71260 2010-03-13  Bruno Haible  <bruno@clisp.org>
71262         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
71263         cases.
71265 2010-03-13  Bruno Haible  <bruno@clisp.org>
71267         Test that gnulib does not break the standard C++ headers.
71268         * tests/test-locale-c++2.cc: New file.
71269         * modules/locale-tests (Files): Add it.
71270         (Makefile.am): Compile it for test-locale-c++.
71271         * tests/test-math-c++2.cc: New file.
71272         * modules/math-tests (Files): Add it.
71273         (Makefile.am): Compile it for test-math-c++.
71274         * tests/test-signal-c++2.cc: New file.
71275         * modules/signal-tests (Files): Add it.
71276         (Makefile.am): Compile it for test-signal-c++.
71277         * tests/test-stdio-c++2.cc: New file.
71278         * modules/stdio-tests (Files): Add it.
71279         (Makefile.am): Compile it for test-stdio-c++.
71280         * tests/test-stdlib-c++2.cc: New file.
71281         * modules/stdlib-tests (Files): Add it.
71282         (Makefile.am): Compile it for test-stdlib-c++.
71283         * tests/test-string-c++2.cc: New file.
71284         * modules/string-tests (Files): Add it.
71285         (Makefile.am): Compile it for test-string-c++.
71286         * tests/test-time-c++2.cc: New file.
71287         * modules/time-tests (Files): Add it.
71288         (Makefile.am): Compile it for test-time-c++.
71289         Reported by John W. Eaton <jwe@gnu.org>.
71291 2010-03-13  Bruno Haible  <bruno@clisp.org>
71293         * gnulib-tool (func_usage): Clarify which options are available for
71294         --create-testdir and --create-megatestdir.
71296 2010-03-13  Bruno Haible  <bruno@clisp.org>
71298         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
71299         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
71300         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
71301         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
71302         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
71303         when appropriate.
71304         Reported by Jim Meyering.
71306 2010-03-12  Simon Josefsson  <simon@josefsson.org>
71308         * gnulib-tool (func_import): Explain origin of code.
71310 2010-03-12  Bruno Haible  <bruno@clisp.org>
71312         Fix problem with automake's definition of CXXLINK.
71313         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
71314         Reported by Simon Josefsson and Ludovic Courtès.
71316 2010-03-12  Bruno Haible  <bruno@clisp.org>
71318         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
71319         stable releases.
71321 2010-03-11  Bruno Haible  <bruno@clisp.org>
71323         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
71324         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
71325         whether the system provides one variant or multiple variants of the
71326         function.
71327         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
71328         C++ compilers.
71329         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
71330         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
71331         Reported by Jim Meyering.
71333 2010-03-09  Simon Josefsson  <simon@josefsson.org>
71335         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
71337 2010-03-08  Bruno Haible  <bruno@clisp.org>
71339         gnulib-tool: Add support for --libtool in --create-testdir.
71340         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
71341         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
71343 2010-03-08  Eric Blake  <eblake@redhat.com>
71345         gnulib-tool.texi: mention possibility of git submodule
71346         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
71347         submodules.
71348         * doc/.gitignore: Ignore another generated file.
71350 2010-03-08  Karl Berry  <karl@gnu.org>
71352         * doc/gnulib-tool.texi (VCS Issues): Mention third option
71353         of committing gnulib files while skipping others.
71355 2010-03-07  Bruno Haible  <bruno@clisp.org>
71357         Tests of module 'wctype' in C++ mode.
71358         * tests/test-wctype-c++.cc: New file.
71359         * modules/wctype-tests (Files): Add it and tests/signature.h.
71360         (Depends-on): Add ansi-c++-opt.
71361         (Makefile.am): Arrange to compile and run test-wctype-c++.
71363         Tests of module 'wchar' in C++ mode.
71364         * tests/test-wchar-c++.cc: New file.
71365         * modules/wchar-tests (Files): Add it and tests/signature.h.
71366         (Depends-on): Add ansi-c++-opt.
71367         (Makefile.am): Arrange to compile and run test-wchar-c++.
71368         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
71369         gl_MODULE_INDICATOR.
71371         Tests of module 'unistd' in C++ mode.
71372         * tests/test-unistd-c++.cc: New file.
71373         * modules/unistd-tests (Files): Add it and tests/signature.h.
71374         (Depends-on): Add ansi-c++-opt.
71375         (Makefile.am): Arrange to compile and run test-unistd-c++.
71376         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
71377         gl_MODULE_INDICATOR.
71379         Tests of module 'time' in C++ mode.
71380         * tests/test-time-c++.cc: New file.
71381         * modules/time-tests (Files): Add it and tests/signature.h.
71382         (Depends-on): Add ansi-c++-opt.
71383         (Makefile.am): Arrange to compile and run test-time-c++.
71384         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
71386         Tests of module 'sys_time' in C++ mode.
71387         * tests/test-sys_time-c++.cc: New file.
71388         * modules/sys_time-tests (Files): Add it and tests/signature.h.
71389         (Depends-on): Add ansi-c++-opt.
71390         (Makefile.am): Arrange to compile and run test-sys_time-c++.
71391         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
71392         gl_MODULE_INDICATOR.
71394         Tests of module 'sys_stat' in C++ mode.
71395         * tests/test-sys_stat-c++.cc: New file.
71396         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
71397         (Depends-on): Add ansi-c++-opt.
71398         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
71399         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
71400         gl_MODULE_INDICATOR.
71402         Tests of module 'sys_socket' in C++ mode.
71403         * tests/test-sys_socket-c++.cc: New file.
71404         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
71405         (Depends-on): Add ansi-c++-opt.
71406         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
71407         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
71408         gl_MODULE_INDICATOR.
71410         Tests of module 'sys_select' in C++ mode.
71411         * tests/test-sys_select-c++.cc: New file.
71412         * modules/sys_select-tests (Files): Add it and tests/signature.h.
71413         (Depends-on): Add ansi-c++-opt.
71414         (Makefile.am): Arrange to compile and run test-sys_select-c++.
71415         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
71416         gl_MODULE_INDICATOR.
71418         Tests of module 'sys_ioctl' in C++ mode.
71419         * tests/test-sys_ioctl-c++.cc: New file.
71420         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
71421         (Depends-on): Add ansi-c++-opt.
71422         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
71423         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
71424         gl_MODULE_INDICATOR.
71426         Tests of module 'string' in C++ mode.
71427         * tests/test-string-c++.cc: New file.
71428         * modules/string-tests (Files): Add it and tests/signature.h.
71429         (Depends-on): Add ansi-c++-opt.
71430         (Makefile.am): Arrange to compile and run test-string-c++.
71431         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
71432         gl_MODULE_INDICATOR.
71434         Tests of module 'stdlib' in C++ mode.
71435         * tests/test-stdlib-c++.cc: New file.
71436         * modules/stdlib-tests (Files): Add it and tests/signature.h.
71437         (Depends-on): Add ansi-c++-opt.
71438         (Makefile.am): Arrange to compile and run test-stdlib-c++.
71439         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
71440         gl_MODULE_INDICATOR.
71442         Tests of module 'stdio' in C++ mode.
71443         * tests/test-stdio-c++.cc: New file.
71444         * modules/stdio-tests (Files): Add it and tests/signature.h.
71445         (Depends-on): Add ansi-c++-opt.
71446         (Makefile.am): Arrange to compile and run test-stdio-c++.
71447         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
71448         gl_MODULE_INDICATOR.
71450         Tests of module 'spawn' in C++ mode.
71451         * tests/test-spawn-c++.cc: New file.
71452         * modules/spawn-tests (Files): Add it and tests/signature.h.
71453         (Depends-on): Add ansi-c++-opt.
71454         (Makefile.am): Arrange to compile and run test-spawn-c++.
71455         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
71456         gl_MODULE_INDICATOR.
71458         Tests of module 'signal' in C++ mode.
71459         * tests/test-signal-c++.cc: New file.
71460         * modules/signal-tests (Files): Add it and tests/signature.h.
71461         (Depends-on): Add ansi-c++-opt.
71462         (Makefile.am): Arrange to compile and run test-signal-c++.
71463         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
71464         gl_MODULE_INDICATOR.
71466         Tests of module 'search' in C++ mode.
71467         * tests/test-search-c++.cc: New file.
71468         * modules/search-tests (Files): Add it and tests/signature.h.
71469         (Depends-on): Add ansi-c++-opt.
71470         (Makefile.am): Arrange to compile and run test-search-c++.
71471         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
71472         gl_MODULE_INDICATOR.
71474         Tests of module 'math' in C++ mode.
71475         * tests/test-math-c++.cc: New file.
71476         * modules/math-tests (Files): Add it and tests/signature.h.
71477         (Depends-on): Add ansi-c++-opt.
71478         (Makefile.am): Arrange to compile and run test-math-c++.
71479         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
71481         Tests of module 'locale' in C++ mode.
71482         * tests/test-locale-c++.cc: New file.
71483         * modules/locale-tests (Files): Add it and tests/signature.h.
71484         (Depends-on): Add ansi-c++-opt.
71485         (Makefile.am): Arrange to compile and run test-locale-c++.
71486         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
71487         gl_MODULE_INDICATOR.
71489         Tests of module 'langinfo' in C++ mode.
71490         * tests/test-langinfo-c++.cc: New file.
71491         * modules/langinfo-tests (Files): Add it and tests/signature.h.
71492         (Depends-on): Add ansi-c++-opt.
71493         (Makefile.am): Arrange to compile and run test-langinfo-c++.
71494         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
71495         gl_MODULE_INDICATOR.
71497         Tests of module 'iconv-h' in C++ mode.
71498         * tests/test-iconv-h-c++.cc: New file.
71499         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
71500         (Depends-on): Add ansi-c++-opt.
71501         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
71503         Tests of module 'glob' in C++ mode.
71504         * tests/test-glob-c++.cc: New file.
71505         * modules/glob-tests (Files): Add it.
71506         (Depends-on): Add ansi-c++-opt.
71507         (Makefile.am): Arrange to compile and run test-glob-c++.
71509         Tests of module 'fcntl-h' in C++ mode.
71510         * tests/test-fcntl-h-c++.cc: New file.
71511         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
71512         (Depends-on): Add ansi-c++-opt.
71513         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
71514         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
71515         gl_MODULE_INDICATOR.
71517         Tests of module 'dirent' in C++ mode.
71518         * tests/test-dirent-c++.cc: New file.
71519         * modules/dirent-tests (Files): Add it and tests/signature.h.
71520         (Depends-on): Add ansi-c++-opt.
71521         (Makefile.am): Arrange to compile and run test-dirent-c++.
71522         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
71523         gl_MODULE_INDICATOR.
71525         New module 'ansi-c++-opt'.
71526         * modules/ansi-c++-opt: New file.
71527         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
71529         Document C++ namespace mode.
71530         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
71532         wctype: Avoid #define replacements in C++ mode.
71533         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
71534         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
71535         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
71536         In C++, define a namespaced alias symbol.
71537         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
71538         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
71539         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
71540         rule.
71542         wchar: Avoid #define replacements in C++ mode.
71543         * lib/wchar.in.h: Include c++defs.h.
71544         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
71545         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
71546         symbol.
71547         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
71548         * modules/wchar (Depends-on): Add c++defs.
71549         (Makefile.am): Update wchar.h rule.
71551         unistd: Avoid #define replacements in C++ mode.
71552         * lib/unistd.in.h: Include c++defs.h.
71553         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
71554         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
71555         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
71556         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
71557         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
71558         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
71559         symbol.
71560         (environ): Update.
71561         * modules/unistd (Depends-on): Add c++defs.
71562         (Makefile.am): Update unistd.h rule.
71564         time: Avoid #define replacements in C++ mode.
71565         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
71566         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
71567         define a namespaced alias symbol.
71568         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
71569         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
71570         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
71571         * modules/time (Depends-on): Add c++defs, warn-on-use.
71572         (Makefile.am): Update time.h rule.
71573         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
71574         * modules/nanosleep (configure.ac): Likewise.
71575         * modules/strptime (configure.ac): Likewise.
71576         * modules/timegm (configure.ac): Likewise.
71578         sys_time: Avoid #define replacements in C++ mode.
71579         * lib/sys_time.in.h: Include c++defs.h.
71580         (gettimeofday): In C++, define a namespaced alias symbol.
71581         * modules/sys_time (Depends-on): Add c++defs.
71582         (Makefile.am): Update sys/time.h rule.
71584         sys_stat: Avoid #define replacements in C++ mode.
71585         * lib/sys_stat.in.h: Include c++defs.h.
71586         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
71587         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
71588         namespaced alias symbol.
71589         In C++, define a namespaced alias symbol.
71590         * modules/sys_stat (Depends-on): Add c++defs.
71591         (Makefile.am): Update sys/stat.h rule.
71593         sys_socket: Avoid #define replacements in C++ mode.
71594         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
71595         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
71596         definitions also when the system has a <sys/socket.h>.
71597         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
71598         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
71599         In C++, define a namespaced alias symbol.
71600         * modules/sys_socket (Depends-on): Add c++defs.
71601         (Makefile.am): Update sys/socket.h rule.
71603         sys_select: Avoid #define replacements in C++ mode.
71604         * lib/sys_select.in.h: Include c++defs.h. Enable the function
71605         definitions also when the system has a <sys/select.h>.
71606         (select): In C++, define a namespaced alias symbol.
71607         * modules/sys_select (Depends-on): Add c++defs.
71608         (Makefile.am): Update sys/select.h rule.
71610         sys_ioctl: Avoid #define replacements in C++ mode.
71611         * lib/sys_ioctl.in.h: Include c++defs.h.
71612         (ioctl): In C++, define a namespaced alias symbol.
71613         * modules/sys_ioctl (Depends-on): Add c++defs.
71614         (Makefile.am): Update sys/ioctl.h rule.
71616         string: Avoid #define replacements in C++ mode.
71617         * lib/string.in.h: Include c++defs.h.
71618         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
71619         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
71620         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
71621         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
71622         strsignal, strverscmp): In C++, define a namespaced alias symbol.
71623         * modules/string (Depends-on): Add c++defs.
71624         (Makefile.am): Update string.h rule.
71626         stdlib: Avoid #define replacements in C++ mode.
71627         * lib/stdlib.in.h: Include c++defs.h.
71628         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
71629         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
71630         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
71631         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
71632         symbol.
71633         * modules/stdlib (Depends-on): Add c++defs.
71634         (Makefile.am): Update stdlib.h rule.
71636         stdio: Avoid #define replacements in C++ mode.
71637         * lib/stdio.in.h: Include c++defs.h.
71638         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
71639         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
71640         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
71641         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
71642         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
71643         namespaced alias symbol.
71644         * modules/stdio (Depends-on): Add c++defs.
71645         (Makefile.am): Update stdio.h rule.
71647         spawn: Avoid #define replacements in C++ mode.
71648         * lib/spawn.in.h: Include c++defs.h.
71649         (posix_spawn, posix_spawnp, posix_spawnattr_init,
71650         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
71651         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
71652         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
71653         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
71654         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
71655         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
71656         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
71657         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
71658         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
71659         In C++, define a namespaced alias symbol.
71660         * modules/spawn (Depends-on): Add c++defs.
71661         (Makefile.am): Update spawn.h rule.
71663         signal: Avoid #define replacements in C++ mode.
71664         * lib/signal.in.h: Include c++defs.h.
71665         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
71666         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
71667         namespaced alias symbol.
71668         * modules/signal (Depends-on): Add c++defs.
71669         (Makefile.am): Update signal.h rule.
71671         search: Avoid #define replacements in C++ mode.
71672         * lib/search.in.h: Include c++defs.h.
71673         (_gl_search_compar_fn, _gl_search_action_fn): New types.
71674         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
71675         symbol.
71676         * modules/search (Depends-on): Add c++defs.
71677         (Makefile.am): Update search.h rule.
71679         math: Avoid #define replacements in C++ mode.
71680         * lib/math.in.h: Include c++defs.h.
71681         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
71682         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
71683         trunc, truncl): In C++, define a namespaced alias symbol.
71684         * modules/math (Depends-on): Add c++defs.
71685         (Makefile.am): Update math.h rule.
71687         locale: Avoid #define replacements in C++ mode.
71688         * lib/locale.in.h: Include c++defs.h.
71689         (duplocale): In C++, define a namespaced alias symbol.
71690         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
71691         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
71692         * modules/locale (Depends-on): Add c++defs.
71693         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
71695         langinfo: Avoid #define replacements in C++ mode.
71696         * lib/langinfo.in.h: Include c++defs.h.
71697         (nl_langinfo): In C++, define a namespaced alias symbol.
71698         * modules/langinfo (Depends-on): Add c++defs.
71699         (Makefile.am): Update langinfo.h rule.
71701         iconv-h: Avoid #define replacements in C++ mode.
71702         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
71703         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
71704         symbol.
71705         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
71706         whenever iconv is present.
71707         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
71708         (Makefile.am): Update iconv.h rule.
71710         glob: Avoid #define replacements in C++ mode.
71711         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
71712         (_gl_glob_errfunc_fn): New type.
71713         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
71714         symbol.
71715         * modules/glob (Depends-on): Add c++defs, warn-on-use.
71716         (Makefile.am): Update glob.h rule.
71718         fcntl-h: Avoid #define replacements in C++ mode.
71719         * lib/fcntl.in.h: Include c++defs.h.
71720         (fcntl, open, openat): In C++, define a namespaced alias symbol.
71721         * modules/fcntl-h (Depends-on): Add c++defs.
71722         (Makefile.am): Update fcntl.h rule.
71724         dirent: Avoid #define replacements in C++ mode.
71725         * lib/dirent.in.h: Include c++defs.h.
71726         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
71727         namespaced alias symbol.
71728         (dirfd): Update declaration.
71729         * modules/dirent (Depends-on): Add c++defs.
71730         (Makefile.am): Update dirent.h rule.
71732         ctype: Make it usable in C++ code.
71733         * lib/ctype.in.h: Include c++defs.h.
71734         (isblank): Declare as extern "C".
71735         * modules/ctype (Depends-on): Add c++defs.
71736         (Makefile.am): Update ctype.h rule.
71738         New module 'c++defs'.
71739         * modules/c++defs: New file.
71740         * build-aux/c++defs.h: New file.
71741         Reported by John W. Eaton <jwe@gnu.org>.
71743 2010-03-07  Bruno Haible  <bruno@clisp.org>
71745         logb: Provide missing declaration for Cygwin.
71746         * lib/math.in.h (logb): New declaration.
71747         * m4/logb.m4: New file.
71748         * modules/logb (Files): Add m4/logb.m4.
71749         (Depends-on): Add math.
71750         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
71751         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
71752         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
71753         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
71754         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
71756 2010-03-07  Bruno Haible  <bruno@clisp.org>
71758         Fix test-cond link error.
71759         * tests/test-cond.c: Include <stdio.h>.
71761 2010-03-07  Bruno Haible  <bruno@clisp.org>
71763         Fix test-dirent-safer link error.
71764         * modules/dirent-safer-tests (Makefile.am): Define
71765         test_dirent_safer_LDADD.
71767 2010-03-07  Bruno Haible  <bruno@clisp.org>
71769         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
71770         among default module list.
71772 2010-03-07  Bruno Haible  <bruno@clisp.org>
71774         Fix link error on platforms with GNU libiconv.
71775         * modules/unistr/u8-strcoll-tests (Makefile): Define
71776         test_u8_strcoll_LDADD.
71777         * modules/unistr/u16-strcoll-tests (Makefile): Define
71778         test_u16_strcoll_LDADD.
71779         * modules/unistr/u32-strcoll-tests (Makefile): Define
71780         test_u32_strcoll_LDADD.
71782 2010-03-07  Bruno Haible  <bruno@clisp.org>
71784         Use POSIX declarations for socket functions.
71785         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
71786         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
71787         rpl_sendto): Change declaration to match POSIX.
71788         * lib/connect.c (rpl_connect): Likewise.
71789         * lib/accept.c (rpl_accept): Likewise.
71790         * lib/bind.c (rpl_bind): Likewise.
71791         * lib/getpeername.c (rpl_getpeername): Likewise.
71792         * lib/getsockname.c (rpl_getsockname): Likewise.
71793         * lib/recv.c (rpl_recv): Likewise.
71794         * lib/send.c (rpl_send): Likewise.
71795         * lib/recvfrom.c (rpl_recvfrom): Likewise.
71796         * lib/sendto.c (rpl_sendto): Likewise.
71798 2010-03-06  Bruno Haible  <bruno@clisp.org>
71800         Clarify access, euidaccess, faccessat.
71801         * doc/posix-functions/faccessat.texi: Mention security problem under
71802         "Other problems", not "Portability problems".
71803         * doc/posix-functions/access.texi: Likewise. Mention a related security
71804         problem.
71805         * doc/glibc-functions/euidaccess.texi: Mention security problems.
71806         * lib/euidaccess.c: Add comments about platforms.
71807         * lib/unistd.in.h (access, euidaccess): Add warnings.
71809 2010-03-07  Bruno Haible  <bruno@clisp.org>
71811         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
71812         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
71813         (POSIX_SPAWN_SETSCHEDULER): Likewise.
71814         (POSIX_SPAWN_USEVFORK): Define in a way that works when
71815         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
71816         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
71817         declare when POSIX_SPAWN_SETSCHEDULER is zero.
71818         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
71819         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
71820         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
71821         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
71822         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
71823         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
71824         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
71825         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
71826         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
71827         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
71828         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
71829         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
71830         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
71831         Likewise.
71832         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
71833         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
71834         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
71835         Likewise.
71836         * tests/test-spawn.c (main): Make it work when
71837         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
71839 2010-03-07  Bruno Haible  <bruno@clisp.org>
71841         Fix incorrect Makefile.am generation in German locale.
71842         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71843         Execute sed command with character range in C locale.
71845 2010-03-06  Bruno Haible  <bruno@clisp.org>
71847         Tests for module 'iconv-h'.
71848         * modules/iconv-h-tests: New file.
71849         * tests/test-iconv-h.c: New file.
71851         New module 'iconv-h'.
71852         * modules/iconv-h: New file.
71853         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
71854         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
71855         (configure.ac): Remove gl_ICONV_H.
71856         (Makefile.am): Remove rule for iconv.h.
71858 2010-03-06  Bruno Haible  <bruno@clisp.org>
71860         More consistent naming of *.m4 files.
71861         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
71862         * modules/wctype (Files): Update.
71864         More consistent naming of *.m4 files.
71865         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
71866         * modules/wchar (Files): Update.
71868 2010-03-06  Jim Meyering  <meyering@redhat.com>
71870         euidaccess: relax license to LGPLv2+
71871         * modules/euidaccess (License): Relax to LGPLv2+.
71873 2010-03-06  Bruno Haible  <bruno@clisp.org>
71875         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
71876         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
71877         (Makefile.am): Augment lib_SOURCES instead.
71879 2010-03-04  Jim Meyering  <meyering@redhat.com>
71881         utime: remove obsolete module
71882         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
71883         unnecessary for years, and has been marked as obsolete for 10 months.
71884         * modules/utime: Remove file.
71885         * lib/utime.c: Remove file.
71886         * m4/utime.m4: Remove file.
71887         * m4/utimes-null.m4: Remove file.
71888         * doc/posix-functions/utime.texi (utime): Remove reference to
71889         the module.  Move the sole "fixed by gnulib" item into the
71890         "problems not fixed by Gnulib" list.
71891         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
71893 2010-03-05  Simon Josefsson  <simon@josefsson.org>
71895         * modules/exit (License): Relax license to LGPLv2+.
71896         (Status): Mark as obsolete.
71897         * NEWS: Mention deprecated 'exit' module.
71898         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
71899         of now obsolete 'exit'.
71901 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71903         fts-lgpl: remove unused module
71904         * modules/fts-lgpl: Remove.
71905         * MODULES.html.sh (func_all_modules): Adjust.
71906         * check-module (find_included_lib_files): Adjust.
71907         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
71909 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
71911         copy-acl: enhance Solaris ACL error handling
71912         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
71913         * lib/set-mode-acl.c (qset_acl): Likewise.
71915 2010-03-02  Bruno Haible  <bruno@clisp.org>
71917         spawn: Don't override the system defined values on FreeBSD 8.
71918         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
71919         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
71920         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
71921         if HAVE_POSIX_SPAWN is 1.
71922         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
71924 2010-03-01  Bruno Haible  <bruno@clisp.org>
71926         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
71927         regarding Automake.
71929 2010-02-25  Bruno Haible  <bruno@clisp.org>
71931         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
71932         * gnulib-tool: Define 'echo' as a function only before the ksh alias
71933         setting, not afterwards.
71934         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
71936 2010-02-24  Eric Blake  <eblake@redhat.com>
71938         bootstrap, git-version-gen: use timestamp
71939         * build-aux/git-version-gen (scriptversion): Force UTC.
71940         * build-aux/bootstrap (scriptversion): New variable.
71942         bootstrap: allow older git
71943         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
71944         older than 1.6.4.  Requested by the libvirt project.
71946 2010-02-23  Eric Blake  <eblake@redhat.com>
71948         warn-on-use: work with old autoconf
71949         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
71950         AS_VAR semantics of autoconf 2.60.
71951         Reported by Bruno Haible.
71953         bootstrap: improve some comments
71954         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
71955         clarification comments.
71957         gettimeofday: provide correct function
71958         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
71959         when replacement is declared, otherwise provide gettimeofday.
71960         Reported by Michael Goffioul.
71962 2010-02-23  Jim Meyering  <meyering@redhat.com>
71964         lib-ignore: relax license to "unlimited", not LGPLv2+
71965         * modules/lib-ignore (License): Relax to "unlimited".
71967 2010-02-23  Jim Meyering  <meyering@redhat.com>
71969         lib-ignore: relax license to LGPLv2+
71970         * modules/lib-ignore (License): Relax to LGPLv2+.
71972 2010-02-22  Eric Blake  <eblake@redhat.com>
71974         lseek: avoid bash 3.2 broken pipe bug
71975         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
71976         warning from bash 3.2.
71977         Reported by Ben Pfaff, with analysis from Bruno Haible.
71979         bootstrap: support non-FSF copyright holder
71980         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
71981         bootstrap.conf override of COPYRIGHT_HOLDER.
71982         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
71984         bootstrap: interoperate with gettext 0.14.1
71985         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
71987         bootstrap: allow for alternate submodule location
71988         * build-aux/bootstrap (gnulib_path): New variable; use instead of
71989         hardcoding submodule location.
71990         (gnulib_mk): Allow direct use of Makefile.am.
71992         bootstrap: use GNULIB_SRCDIR to reduce disk usage
71993         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
71994         rather than reconfiguring where the submodule points.
71996         gettimeofday: restore support for platforms that lack function
71997         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
71998         replacement if function is missing.
71999         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
72000         * modules/sys_time (Makefile.am): Substitute it.
72001         * lib/sys_time.in.h (gettimeofday): Check it.
72002         Reported by Michael Goffioul.
72004 2010-02-21  Bruno Haible  <bruno@clisp.org>
72006         * lib/stdio.in.h (obstack_printf): Fix typo.
72008 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
72010         vc-list-files: use bzr ls's -R option
72011         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
72012         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
72014 2010-02-21  Jim Meyering  <meyering@redhat.com>
72016         init.sh: fix EXEEXT shims to work also for names like test-prog
72017         * tests/init.sh: Re-exec a better shell, when needed.
72018         If the current shell lacks support for posix $(...), an init.sh-using
72019         test will now try to find a shell that supports that.  If EXEEXT is
72020         nonempty, we also require support for hyphen-in-alias-name and shell
72021         substitutions like ${var#glob}.  Failure to find such a shell results
72022         in a skipped test.
72024 2010-02-21  Bruno Haible  <bruno@clisp.org>
72026         Really work around "broken pipe" error message from bash 3.2.
72027         * gnulib-tool (func_reset_sigpipe): Remove function.
72028         (echo): In bash 3.2, define to a function that uses printf.
72029         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
72031 2010-02-20  Bruno Haible  <bruno@clisp.org>
72033         Restore support for automake 1.9.6 with autoconf 2.61.
72034         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
72035         Reported by James Youngman <jay@gnu.org>.
72037 2010-02-20  Bruno Haible  <bruno@clisp.org>
72039         Improve *printf warning condition.
72040         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
72041         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
72042         and the function is overridden due to SIGPIPE emulation.
72044 2010-02-20  Bruno Haible  <bruno@clisp.org>
72046         * lib/stdio.in.h: Tweak comments.
72048 2010-02-19  Bruno Haible  <bruno@clisp.org>
72050         Make it easier to find modules. New gnulib-tool option '--find'.
72051         * gnulib-tool: New option --find.
72052         (func_usage): Document it.
72053         (func_sanitize_modulelist): New function, extracted from
72054         func_all_modules.
72055         (func_all_modules): Invoke it.
72056         * doc/gnulib-tool.texi (Which modules?): New node.
72058 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
72060         * lib/sys_select.in.h: Provide select replacement even if
72061         sys/select.h exists on a system, for Interix.
72063 2010-02-18  Jim Meyering  <meyering@redhat.com>
72065         init.sh: don't use $(...) just yet
72066         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
72067         to accommodate e.g., Solaris' /bin/sh.
72069 2010-02-17  Bruno Haible  <bruno@clisp.org>
72071         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
72072         Reported by Ludovic Courtès <ludo@gnu.org>.
72074 2010-02-16  Simon Josefsson  <simon@josefsson.org>
72076         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
72077         linking with -lintl.
72079 2010-02-17  Simon Josefsson  <simon@josefsson.org>
72081         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
72082         if not provided by the system's netdb.h.  Reported by
72083         ludo@gnu.org (Ludovic Courtès).
72085 2010-02-15  Jim Meyering  <meyering@redhat.com>
72087         init.sh: improve portability and efficiency
72088         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
72089         "dummy" in a for loop.
72090         Use '!', not '^' to select the complement of a character set used
72091         in a "case" statement.
72092         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
72093         Suggestions from Eric Blake.
72095         init.sh: automatically accommodate programs with the .exe suffix
72096         Automatically arrange for an invocation of "prog" to execute the
72097         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
72098         may use the simpler "prog", yet still work when built on a system
72099         that requires specifying the added suffix.
72100         Do this by constructing a function named "prog" that invokes
72101         "prog.exe" for each .exe file in selected directories.
72102         * tests/init.sh (find_exe_basenames_): New function.
72103         (create_exe_shim_functions_): New function.
72104         (path_prepend_): Use it.
72106         maint.mk: mark syntax-check sc_*.m rules as .PHONY
72107         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
72108         "make -t syntax-check" doesn't create a ton of sc_*.m files.
72110 2010-02-14  Jim Meyering  <meyering@redhat.com>
72112         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
72113         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
72114         (sc_prohibit_hash_pjw_without_use): New rule.
72116         maint.mk: allow the default upload destination dir to be overridden
72117         * top/maint.mk (upload_dest_dir_): Define with a default that
72118         preserves the status quo.
72119         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
72120         Reported by Peter Simons.
72122         maint.mk: prohibit inclusion of "hash.h" without_use
72123         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
72125 2010-02-10  Jim Meyering  <meyering@redhat.com>
72127         maint.mk: prohibit inclusion of "ignore-value.h" without_use
72128         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
72130 2010-02-09  Eric Blake  <ebb9@byu.net>
72131         and Bruno Haible  <bruno@clisp.org>
72133         obstack-printf-posix: ensure declaration
72134         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
72135         extracted from gl_FUNC_OBSTACK_PRINTF.
72136         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
72137         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
72138         Likewise.
72139         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
72140         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
72141         0.
72143 2010-02-08  Bruno Haible  <bruno@clisp.org>
72145         gnulib-tool: Fix typo in 2010-02-07 commit.
72146         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
72147         Reported by Eric Blake.
72149 2010-02-07  Bruno Haible  <bruno@clisp.org>
72151         gnulib-tool: Fix up caching patches.
72152         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
72153         option --no-cache. Use associative arrays when supported by the shell.
72154         (sed_comments): New variable.
72155         (modcache): Renamed from do_cache.
72156         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
72157         abbreviate unnecessarily.
72158         (have_associative): New variable.
72159         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
72160         way also for ksh and zsh.
72161         (func_init_sed_convert_to_cache_statements): New function, extracted
72162         from func_cache_lookup_module. Add support for associative arrays.
72163         Don't set the c_MODULE_cached variable here. Ignore all lines before
72164         the first field header. Remove only the final newline, not all trailing
72165         newlines. Support empty fields correctly. Limit the use of 'eval' to
72166         assignments.
72167         (func_get_description, func_get_status, func_get_notice,
72168         func_get_applicability, func_get_filelist, func_get_dependencies,
72169         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
72170         func_get_automake_snippet, func_get_include_directive,
72171         func_get_link_directive, func_get_license, func_get_maintainer):
72172         Update documentation. List the unoptimized code first. Add support for
72173         associative arrays. Limit the use of 'eval' to assignments.
72174         (func_get_applicability): Undo stylistic pessimisations.
72175         (func_get_automake_snippet, func_get_include_directive): Reduce code
72176         duplication.
72177         (func_modules_transitive_closure, func_modules_add_dummy,
72178         func_modules_notice, func_modules_to_filelist, func_add_file,
72179         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
72180         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
72181         func_create_testdir, func_create_megatestdir): Update documentation.
72183 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72185         * gnulib-tool (func_cache_lookup_module): Store the module name
72186         belonging to the cache variable; error out if two different
72187         module names map to the same cache variable name.
72189 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72191         gnulib-tool: Make caching optional.
72192         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
72193         Update matching short versions of --no-changelog.
72194         (func_usage): Update.
72195         (sed_extract_cache_prog): Renamed from ...
72196         (sed_extract_prog): ... this; revert to old extraction script.
72197         (func_get_description, func_get_status)
72198         (func_get_notice, func_get_applicability, func_get_filelist)
72199         (func_get_dependencies, func_get_autoconf_early_snippet)
72200         (func_get_autoconf_snippet, func_get_automake_snippet)
72201         (func_get_include_directive, func_get_link_directive)
72202         (func_get_license, func_get_maintainer): If $do_cache is false,
72203         use old, non-caching extraction scripts.
72204         Suggestion by Bruno Haible.
72206 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72208         gnulib-tool: cache module metainformation.
72209         * gnulib-tool (sed_extract_prog): Match newline before each
72210         header, and rewrite header to a shell variable suffix.
72211         (func_cache_var, func_cache_lookup_module): New functions,
72212         to turn a module name into a cache variable prefix, and to
72213         look up and cache module metainformation.
72214         (func_get_description, func_get_status)
72215         (func_get_notice, func_get_applicability, func_get_filelist)
72216         (func_get_dependencies, func_get_autoconf_early_snippet)
72217         (func_get_autoconf_snippet, func_get_automake_snippet)
72218         (func_get_include_directive, func_get_link_directive)
72219         (func_get_license, func_get_maintainer): Use
72220         func_cache_lookup_module.
72222 2010-02-07  Bruno Haible  <bruno@clisp.org>
72224         fnctl: Fix missing dependency.
72225         * modules/fcntl (Depends-on): Add getdtablesize.
72226         Reported by John W. Eaton <jwe@gnu.org>.
72228 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
72230         Argp: fix recognition of short alias options.
72232         * lib/argp-parse.c (convert_options): Fix improper use of
72233         `|' between character values.
72234         * tests/test-argp.c (group1_option): New alias option
72235         --read (-r).
72236         (group1_parser): Special handling for 'r'.
72237         (test15): New test case.
72238         (test_fun): Add test15.
72239         * tests/test-argp-2.sh: Update expected --help and --usage
72240         outputs.
72242 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
72244         * tests/test-argp.c: Fix indentation.
72246 2010-02-04  Eric Blake  <ebb9@byu.net>
72248         gettimeofday: expose type of second argument
72249         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
72250         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
72251         * tests/test-gettimeofday.c: Use it to silence warning.
72252         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
72253         the issue.
72255 2010-02-03  Jim Meyering  <meyering@redhat.com>
72257         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
72258         * lib/regcomp.c (TYPE_SIGNED): Define.
72259         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
72261         regcomp.c: avoid a new -Wshadow warning
72262         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
72264 2010-02-01  Jim Meyering  <meyering@redhat.com>
72266         removing useless parentheses in cpp #define directives
72267         For motivation, see commit c0221df4, "define STREQ(a,b)
72268         consistently, removing useless parentheses"
72269         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
72270         * lib/mountlist.c (MNT_IGNORE): Likewise.
72271         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
72273 2010-02-01  Eric Blake  <ebb9@byu.net>
72275         sys_time: use link-warning
72276         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
72277         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
72278         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
72279         * modules/sys_time (Depends-on): Add warn-on-use.
72280         (Makefile.am): Always build replacement.
72281         (configure.ac): Update substitutions.
72282         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
72283         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
72284         bother with SYS_TIME_H.
72285         * modules/gettimeofday (configure.ac): Declare indicator.
72286         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
72287         in use.
72289         closein-tests: silence compiler warning
72290         * tests/test-closein.c (main): Ignore fread result.
72291         * modules/closein-tests (Depends-on): Add ignore-value.
72293         tests: silence warning about system return
72294         * tests/test-areadlink-with-size.c (main): Ignore system result.
72295         * tests/test-areadlink.c (main): Likewise.
72296         * tests/test-areadlinkat-with-size.c (main): Likewise.
72297         * tests/test-areadlinkat.c (main): Likewise.
72298         * tests/test-canonicalize-lgpl.c (main): Likewise.
72299         * tests/test-canonicalize.c (main): Likewise.
72300         * tests/test-chown.c (main): Likewise.
72301         * tests/test-fchownat.c (main): Likewise.
72302         * tests/test-fdutimensat.c (main): Likewise.
72303         * tests/test-fstatat.c (main): Likewise.
72304         * tests/test-futimens.c (main): Likewise.
72305         * tests/test-lchown.c (main): Likewise.
72306         * tests/test-link.c (main): Likewise.
72307         * tests/test-linkat.c (main): Likewise.
72308         * tests/test-lstat.c (main): Likewise.
72309         * tests/test-mkdir.c (main): Likewise.
72310         * tests/test-mkdirat.c (main): Likewise.
72311         * tests/test-mkfifo.c (main): Likewise.
72312         * tests/test-mkfifoat.c (main): Likewise.
72313         * tests/test-mknod.c (main): Likewise.
72314         * tests/test-readlink.c (main): Likewise.
72315         * tests/test-remove.c (main): Likewise.
72316         * tests/test-rename.c (main): Likewise.
72317         * tests/test-renameat.c (main): Likewise.
72318         * tests/test-rmdir.c (main): Likewise.
72319         * tests/test-symlink.c (main): Likewise.
72320         * tests/test-symlinkat.c (main): Likewise.
72321         * tests/test-unlink.c (main): Likewise.
72322         * tests/test-unlinkat.c (main): Likewise.
72323         * tests/test-utimens.c (main): Likewise.
72324         * tests/test-utimensat.c (main): Likewise.
72325         * modules/areadlink-tests (Depends-on): Add ignore-value.
72326         * modules/areadlink-with-size-tests (Depends-on): Likewise.
72327         * modules/areadlinkat-tests (Depends-on): Likewise.
72328         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
72329         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
72330         * modules/canonicalize-tests (Depends-on): Likewise.
72331         * modules/chown-tests (Depends-on): Likewise.
72332         * modules/fdutimensat-tests (Depends-on): Likewise.
72333         * modules/futimens-tests (Depends-on): Likewise.
72334         * modules/lchown-tests (Depends-on): Likewise.
72335         * modules/link-tests (Depends-on): Likewise.
72336         * modules/linkat-tests (Depends-on): Likewise.
72337         * modules/lstat-tests (Depends-on): Likewise.
72338         * modules/mkdir-tests (Depends-on): Likewise.
72339         * modules/mkfifo-tests (Depends-on): Likewise.
72340         * modules/mkfifoat-tests (Depends-on): Likewise.
72341         * modules/mknod-tests (Depends-on): Likewise.
72342         * modules/openat-tests (Depends-on): Likewise.
72343         * modules/readlink-tests (Depends-on): Likewise.
72344         * modules/remove-tests (Depends-on): Likewise.
72345         * modules/rename-tests (Depends-on): Likewise.
72346         * modules/renameat-tests (Depends-on): Likewise.
72347         * modules/rmdir-tests (Depends-on): Likewise.
72348         * modules/symlink-tests (Depends-on): Likewise.
72349         * modules/symlinkat-tests (Depends-on): Likewise.
72350         * modules/unlink-tests (Depends-on): Likewise.
72351         * modules/utimens-tests (Depends-on): Likewise.
72352         * modules/utimensat-tests (Depends-on): Likewise.
72354 2010-01-31  Bruno Haible  <bruno@clisp.org>
72356         Perform the same test for many <math.h> functions.
72357         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
72358         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
72359         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
72360         of gl_MATHFUNC.
72361         * modules/acos (configure.ac): Likewise.
72362         * modules/asin (configure.ac): Likewise.
72363         * modules/atan (configure.ac): Likewise.
72364         * modules/atan2 (configure.ac): Likewise.
72365         * modules/cbrt (configure.ac): Likewise.
72366         * modules/copysign (configure.ac): Likewise.
72367         * modules/cos (configure.ac): Likewise.
72368         * modules/cosh (configure.ac): Likewise.
72369         * modules/erf (configure.ac): Likewise.
72370         * modules/erfc (configure.ac): Likewise.
72371         * modules/exp (configure.ac): Likewise.
72372         * modules/fmod (configure.ac): Likewise.
72373         * modules/hypot (configure.ac): Likewise.
72374         * modules/j0 (configure.ac): Likewise.
72375         * modules/j1 (configure.ac): Likewise.
72376         * modules/jn (configure.ac): Likewise.
72377         * modules/lgamma (configure.ac): Likewise.
72378         * modules/log (configure.ac): Likewise.
72379         * modules/log10 (configure.ac): Likewise.
72380         * modules/log1p (configure.ac): Likewise.
72381         * modules/pow (configure.ac): Likewise.
72382         * modules/remainder (configure.ac): Likewise.
72383         * modules/sin (configure.ac): Likewise.
72384         * modules/sinh (configure.ac): Likewise.
72385         * modules/tan (configure.ac): Likewise.
72386         * modules/tanh (configure.ac): Likewise.
72387         * modules/y0 (configure.ac): Likewise.
72388         * modules/y1 (configure.ac): Likewise.
72389         * modules/yn (configure.ac): Likewise.
72390         Suggested by Paolo Bonzini.
72392 2010-01-31  Bruno Haible  <bruno@clisp.org>
72394         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
72396 2010-01-31  Bruno Haible  <bruno@clisp.org>
72398         Work around getdelim() bug on FreeBSD 8.0.
72399         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
72400         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
72401         not work.
72402         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
72403         is 1.
72404         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
72405         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
72406         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
72407         a non-zero size.
72408         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
72410 2010-01-31  Bruno Haible  <bruno@clisp.org>
72412         Work around getline() bug on FreeBSD 8.0.
72413         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
72414         and a non-zero size.
72415         * tests/test-getline.c (main): Likewise.
72416         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
72417         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
72419 2010-01-28  Eric Blake  <ebb9@byu.net>
72421         regex: fix build failure
72422         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
72423         platforms.
72425 2010-01-28  Jim Meyering  <meyering@redhat.com>
72427         regex: do not ignore memory allocation failure
72428         * lib/regex_internal.c (create_cd_newstate): Detect
72429         re_node_set_init_copy failure.   Extracted from glibc commit
72430         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
72432         regex: sync more white-space changes from libc
72433         * lib/regex_internal.c: White-space only changes.
72434         * lib/regexec.c: Likewise.
72436         regex: add many uses of __attribute_warn_unused_result__
72437         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
72438         * lib/regexec.c: Likewise.
72439         Extracted from a messy glibc commit.
72441         regcomp.c: spelling and merge-artifact from glibc
72442         * lib/regcomp.c: Merge remainder of glibc's
72443         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
72445         regcomp.c: sync white-space changes from glibc
72446         * lib/regcomp.c: Merge to accommodate white space
72447         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
72449         regcomp.c: do not ignore internal return values
72450         * lib/regcomp.c: Do not ignore internal return values.
72451         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
72452         but without its white-space changes and spelling fixes.
72454         regex_internal.h: define __attribute_warn_unused_result__
72455         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
72457         maint: add a syntax-check rule to check for vulnerable Makefile.in
72458         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
72460 2010-01-27  Jim Meyering  <meyering@redhat.com>
72462         ncftpput-ftp: clean up spaces
72463         * build-aux/ncftpput-ftp: Make Copyright line consistent.
72464         Remove trailing blanks.
72466 2010-01-27  Simon Josefsson  <simon@josefsson.org>
72468         * build-aux/git-version-gen: Fix copyright statement.
72469         * build-aux/gnupload: Likewise.
72470         * tests/test-arcfour.c: Likewise.
72471         * tests/test-arctwo.c: Likewise.
72472         * tests/test-count-one-bits.c: Likewise.
72473         * tests/test-crc.c: Likewise.
72474         * tests/test-des.c: Likewise.
72475         * tests/test-gc-arcfour.c: Likewise.
72476         * tests/test-gc-arctwo.c: Likewise.
72477         * tests/test-gc-des.c: Likewise.
72478         * tests/test-gc-hmac-md5.c: Likewise.
72479         * tests/test-gc-hmac-sha1.c: Likewise.
72480         * tests/test-gc-md2.c: Likewise.
72481         * tests/test-gc-md4.c: Likewise.
72482         * tests/test-gc-md5.c: Likewise.
72483         * tests/test-gc-pbkdf2-sha1.c: Likewise.
72484         * tests/test-gc-rijndael.c: Likewise.
72485         * tests/test-gc-sha1.c: Likewise.
72486         * tests/test-gc.c: Likewise.
72487         * tests/test-gethostname.c: Likewise.
72488         * tests/test-gettimeofday.c: Likewise.
72489         * tests/test-hash.c: Likewise.
72490         * tests/test-hmac-md5.c: Likewise.
72491         * tests/test-hmac-sha1.c: Likewise.
72492         * tests/test-md2.c: Likewise.
72493         * tests/test-md4.c: Likewise.
72494         * tests/test-md5.c: Likewise.
72495         * tests/test-memchr.c: Likewise.
72496         * tests/test-memchr2.c: Likewise.
72497         * tests/test-memcmp.c: Likewise.
72498         * tests/test-memmem.c: Likewise.
72499         * tests/test-memrchr.c: Likewise.
72500         * tests/test-rawmemchr.c: Likewise.
72501         * tests/test-read-file.c: Likewise.
72502         * tests/test-rijndael.c: Likewise.
72503         * tests/test-sockets.c: Likewise.
72504         * tests/test-strchrnul.c: Likewise.
72505         * tests/test-strstr.c: Likewise.
72506         * tests/test-strtod.c: Likewise.
72507         * build-aux/ncftpput-ftp: Likewise.
72509 2010-01-26  Eric Blake  <ebb9@byu.net>
72511         ignore-value: update recommended header name
72512         * modules/ignore-value (Include): Only use <> for headers that
72513         exist in glibc.
72515 2010-01-26  Jim Meyering  <meyering@redhat.com>
72517         test-userspec.c: avoid compiler warnings
72518         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
72519         and "initialization discards qualifiers..." warnings.
72520         Put the first "uid" in its own scope, and make char* members "const".
72522 2010-01-25  Bruno Haible  <bruno@clisp.org>
72524         gnulib-tool: Make warning diagnostics consistent.
72525         * gnulib-tool (func_warning): New function.
72526         Use it everywhere where gnulib-tool produces output to stderr and it is
72527         not a fatal error.
72529 2010-01-25  Bruno Haible  <bruno@clisp.org>
72531         Fix test dependencies.
72532         * modules/xstrtol-tests (Depends-on): Add inttypes.
72533         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
72535 2010-01-25  Pádraig Brady  <P@draigBrady.com>
72537         syntax-check: detect incorrect boolean macro values in config.h
72538         * modules/maintainer-makefile (configure.ac): Parameterize the location
72539         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
72540         The logic is from Eric Blake and the location indicated by Jim Meyering.
72541         Note the more natural CONFIG_HEADER name is prohibited by automake
72542         for backwards compatibility reasons.
72543         * top/maint.mk (sc_Wundef_boolean): New rule.
72545 2010-01-25  Jim Meyering  <meyering@redhat.com>
72547         bootstrap: detect MacOS 10.6's shasum, too
72548         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
72549         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
72551 2010-01-23  Jim Meyering  <meyering@redhat.com>
72553         xstrtoll: new module
72554         * modules/xstrtoll: New file.
72555         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
72556         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
72557         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
72558         ./configure fails if you use this module and lack "long long".
72559         * modules/xstrtoll-tests: New module.
72560         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
72561         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
72562         new init.sh-based test framework.
72564 2010-01-24  Bruno Haible  <bruno@clisp.org>
72566         Tests for module 'yn'.
72567         * modules/yn-tests: New file.
72568         * tests/test-yn.c: New file.
72570         Tests for module 'y1'.
72571         * modules/y1-tests: New file.
72572         * tests/test-y1.c: New file.
72574         Tests for module 'y0'.
72575         * modules/y0-tests: New file.
72576         * tests/test-y0.c: New file.
72578         Tests for module 'tanh'.
72579         * modules/tanh-tests: New file.
72580         * tests/test-tanh.c: New file.
72582         Tests for module 'tan'.
72583         * modules/tan-tests: New file.
72584         * tests/test-tan.c: New file.
72586         Tests for module 'sqrt'.
72587         * modules/sqrt-tests: New file.
72588         * tests/test-sqrt.c: New file.
72590         Tests for module 'sinh'.
72591         * modules/sinh-tests: New file.
72592         * tests/test-sinh.c: New file.
72594         Tests for module 'sin'.
72595         * modules/sin-tests: New file.
72596         * tests/test-sin.c: New file.
72598         Tests for module 'rint'.
72599         * modules/rint-tests: New file.
72600         * tests/test-rint.c: New file.
72602         Tests for module 'remainder'.
72603         * modules/remainder-tests: New file.
72604         * tests/test-remainder.c: New file.
72606         Tests for module 'pow'.
72607         * modules/pow-tests: New file.
72608         * tests/test-pow.c: New file.
72610         Tests for module 'nextafter'.
72611         * modules/nextafter-tests: New file.
72612         * tests/test-nextafter.c: New file.
72614         Tests for module 'modf'.
72615         * modules/modf-tests: New file.
72616         * tests/test-modf.c: New file.
72618         Tests for module 'logb'.
72619         * modules/logb-tests: New file.
72620         * tests/test-logb.c: New file.
72622         Tests for module 'log1p'.
72623         * modules/log1p-tests: New file.
72624         * tests/test-log1p.c: New file.
72626         Tests for module 'log10'.
72627         * modules/log10-tests: New file.
72628         * tests/test-log10.c: New file.
72630         Tests for module 'log'.
72631         * modules/log-tests: New file.
72632         * tests/test-log.c: New file.
72634         Tests for module 'lgamma'.
72635         * modules/lgamma-tests: New file.
72636         * tests/test-lgamma.c: New file.
72638         Tests for module 'ldexp'.
72639         * modules/ldexp-tests: New file.
72640         * tests/test-ldexp.c: New file.
72642         Tests for module 'jn'.
72643         * modules/jn-tests: New file.
72644         * tests/test-jn.c: New file.
72646         Tests for module 'j1'.
72647         * modules/j1-tests: New file.
72648         * tests/test-j1.c: New file.
72650         Tests for module 'j0'.
72651         * modules/j0-tests: New file.
72652         * tests/test-j0.c: New file.
72654         Tests for module 'hypot'.
72655         * modules/hypot-tests: New file.
72656         * tests/test-hypot.c: New file.
72658         Tests for module 'fmod'.
72659         * modules/fmod-tests: New file.
72660         * tests/test-fmod.c: New file.
72662         Tests for module 'fabs'.
72663         * modules/fabs-tests: New file.
72664         * tests/test-fabs.c: New file.
72666         Tests for module 'exp'.
72667         * modules/exp-tests: New file.
72668         * tests/test-exp.c: New file.
72670         Tests for module 'erfc'.
72671         * modules/erfc-tests: New file.
72672         * tests/test-erfc.c: New file.
72674         Tests for module 'erf'.
72675         * modules/erf-tests: New file.
72676         * tests/test-erf.c: New file.
72678         Tests for module 'cosh'.
72679         * modules/cosh-tests: New file.
72680         * tests/test-cosh.c: New file.
72682         Tests for module 'cos'.
72683         * modules/cos-tests: New file.
72684         * tests/test-cos.c: New file.
72686         Tests for module 'copysign'.
72687         * modules/copysign-tests: New file.
72688         * tests/test-copysign.c: New file.
72690         Tests for module 'cbrt'.
72691         * modules/cbrt-tests: New file.
72692         * tests/test-cbrt.c: New file.
72694         Tests for module 'atan2'.
72695         * modules/atan2-tests: New file.
72696         * tests/test-atan2.c: New file.
72698         Tests for module 'atan'.
72699         * modules/atan-tests: New file.
72700         * tests/test-atan.c: New file.
72702         Tests for module 'asin'.
72703         * modules/asin-tests: New file.
72704         * tests/test-asin.c: New file.
72706         Tests for module 'acos'.
72707         * modules/acos-tests: New file.
72708         * tests/test-acos.c: New file.
72710 2010-01-24  Bruno Haible  <bruno@clisp.org>
72712         Fix tests for common <math.h> functions.
72713         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
72714         code snippet that references the function pointer, rather than merely
72715         calling the function. Substitute the FUNC_LIBM variable.
72716         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
72717         * modules/acos (configure.ac): Likewise.
72718         * modules/asin (configure.ac): Likewise.
72719         * modules/atan (configure.ac): Likewise.
72720         * modules/atan2 (configure.ac): Likewise.
72721         * modules/cbrt (configure.ac): Likewise.
72722         * modules/copysign (configure.ac): Likewise.
72723         * modules/cos (configure.ac): Likewise.
72724         * modules/cosh (configure.ac): Likewise.
72725         * modules/erf (configure.ac): Likewise.
72726         * modules/erfc (configure.ac): Likewise.
72727         * modules/exp (configure.ac): Likewise.
72728         * modules/fabs (configure.ac): Likewise.
72729         * modules/fmod (configure.ac): Likewise.
72730         * modules/hypot (configure.ac): Likewise.
72731         * modules/j0 (configure.ac): Likewise.
72732         * modules/j1 (configure.ac): Likewise.
72733         * modules/jn (configure.ac): Likewise.
72734         * modules/ldexp (configure.ac): Likewise.
72735         * modules/lgamma (configure.ac): Likewise.
72736         * modules/log (configure.ac): Likewise.
72737         * modules/log10 (configure.ac): Likewise.
72738         * modules/log1p (configure.ac): Likewise.
72739         * modules/logb (configure.ac): Likewise.
72740         * modules/modf (configure.ac): Likewise.
72741         * modules/nextafter (configure.ac): Likewise.
72742         * modules/pow (configure.ac): Likewise.
72743         * modules/remainder (configure.ac): Likewise.
72744         * modules/rint (configure.ac): Likewise.
72745         * modules/sin (configure.ac): Likewise.
72746         * modules/sinh (configure.ac): Likewise.
72747         * modules/tan (configure.ac): Likewise.
72748         * modules/tanh (configure.ac): Likewise.
72749         * modules/y0 (configure.ac): Likewise.
72750         * modules/y1 (configure.ac): Likewise.
72751         * modules/yn (configure.ac): Likewise.
72753 2010-01-24  Bruno Haible  <bruno@clisp.org>
72755         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
72756         * tests/test-acosl.c (x): New variable.
72757         (main): Store argument in x and fetch it from x.
72758         * tests/test-asinl.c (x): New variable.
72759         (main): Store argument in x and fetch it from x.
72760         * tests/test-atanl.c (x): New variable.
72761         (main): Store argument in x and fetch it from x.
72762         * tests/test-cosl.c (x): New variable.
72763         (main): Store argument in x and fetch it from x.
72764         * tests/test-expl.c (x): New variable.
72765         (main): Store argument in x and fetch it from x.
72766         * tests/test-logl.c (x): New variable.
72767         (main): Store argument in x and fetch it from x.
72768         * tests/test-sinl.c (x): New variable.
72769         (main): Store argument in x and fetch it from x.
72770         * tests/test-sqrtl.c (x): New variable.
72771         (main): Store argument in x and fetch it from x.
72772         * tests/test-tanl.c (x): New variable.
72773         (main): Store argument in x and fetch it from x.
72775 2010-01-24  Bruno Haible  <bruno@clisp.org>
72777         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
72778         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
72779         assignments to the initial TESTS_ENVIRONMENT.
72780         * doc/gnulib.texi (Unit test modules): Document it.
72781         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
72782         TESTS_ENVIRONMENT.
72783         * modules/btowc-tests (Makefile.am): Likewise.
72784         * modules/c-stack-tests (Makefile.am): Likewise.
72785         * modules/c-strcase-tests (Makefile.am): Likewise.
72786         * modules/copy-file-tests (Makefile.am): Likewise.
72787         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
72788         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
72789         * modules/mbrtowc-tests (Makefile.am): Likewise.
72790         * modules/mbscasecmp-tests (Makefile.am): Likewise.
72791         * modules/mbscasestr-tests (Makefile.am): Likewise.
72792         * modules/mbschr-tests (Makefile.am): Likewise.
72793         * modules/mbscspn-tests (Makefile.am): Likewise.
72794         * modules/mbsinit-tests (Makefile.am): Likewise.
72795         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
72796         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
72797         * modules/mbspbrk-tests (Makefile.am): Likewise.
72798         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
72799         * modules/mbsrchr-tests (Makefile.am): Likewise.
72800         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
72801         * modules/mbsspn-tests (Makefile.am): Likewise.
72802         * modules/mbsstr-tests (Makefile.am): Likewise.
72803         * modules/nl_langinfo-tests (Makefile.am): Likewise.
72804         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
72805         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
72806         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
72807         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
72808         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
72809         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
72810         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
72811         * modules/wcrtomb-tests (Makefile.am): Likewise.
72812         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
72813         * modules/wcsrtombs-tests (Makefile.am): Likewise.
72814         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
72815         assignments from TESTS_ENVIRONMENT.
72816         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
72817         augmentation.
72818         * modules/argp-version-etc-tests (Makefile.am): Likewise.
72819         * modules/atexit-tests (Makefile.am): Likewise.
72820         * modules/binary-io-tests (Makefile.am): Likewise.
72821         * modules/closein-tests (Makefile.am): Likewise.
72822         * modules/dprintf-posix-tests (Makefile.am): Likewise.
72823         * modules/exclude-tests (Makefile.am): Likewise.
72824         * modules/fflush-tests (Makefile.am): Likewise.
72825         * modules/fpending-tests (Makefile.am): Likewise.
72826         * modules/fprintf-posix-tests (Makefile.am): Likewise.
72827         * modules/freadahead-tests (Makefile.am): Likewise.
72828         * modules/freadptr-tests (Makefile.am): Likewise.
72829         * modules/freadseek-tests (Makefile.am): Likewise.
72830         * modules/fseek-tests (Makefile.am): Likewise.
72831         * modules/fseeko-tests (Makefile.am): Likewise.
72832         * modules/ftell-tests (Makefile.am): Likewise.
72833         * modules/ftello-tests (Makefile.am): Likewise.
72834         * modules/idpriv-drop-tests (Makefile.am): Likewise.
72835         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
72836         * modules/lseek-tests (Makefile.am): Likewise.
72837         * modules/parse-duration-tests (Makefile.am): Likewise.
72838         * modules/perror-tests (Makefile.am): Likewise.
72839         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
72840         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
72841         * modules/pipe-tests (Makefile.am): Likewise.
72842         * modules/pread-tests (Makefile.am): Likewise.
72843         * modules/printf-posix-tests (Makefile.am): Likewise.
72844         * modules/select-tests (Makefile.am): Likewise.
72845         * modules/sigpipe-tests (Makefile.am): Likewise.
72846         * modules/tsearch-tests (Makefile.am): Likewise.
72847         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
72848         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
72849         * modules/uniname/uniname-tests (Makefile.am): Likewise.
72850         * modules/uniwidth/width-tests (Makefile.am): Likewise.
72851         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
72852         * modules/version-etc-tests (Makefile.am): Likewise.
72853         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
72854         * modules/vprintf-posix-tests (Makefile.am): Likewise.
72855         * modules/xalloc-die-tests (Makefile.am): Likewise.
72856         * modules/xprintf-posix-tests (Makefile.am): Likewise.
72857         * modules/xstrtoimax-tests (Makefile.am): Likewise.
72858         * modules/xstrtol-tests (Makefile.am): Likewise.
72859         * modules/xstrtoumax-tests (Makefile.am): Likewise.
72860         * modules/yesno-tests (Makefile.am): Likewise.
72861         Suggested by Jim Meyering.
72863 2010-01-24  Bruno Haible  <bruno@clisp.org>
72865         More documentation.
72866         * doc/gnulib.texi (Writing modules): New chapter.
72867         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
72868         the new chapter.
72870 2010-01-24  Jim Meyering  <meyering@redhat.com>
72872         maint.mk: do not prepend "./" after filtering
72873         * top/maint.mk (_prepend_srcdir_prefix): New variable
72874         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
72875         "./" when $(srcdir) is ".".
72877         define STREQ(a,b) consistently, removing useless parentheses
72878         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
72879         since the only risk is that "a" or "b" contains an unparenthesized
72880         comma, but if either did that, STREQ would have 3 or more arguments.
72881         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
72882         * lib/fts.c (STREQ): Remove unnecessary parentheses.
72883         * lib/hash-triple.c (STREQ): Likewise.
72884         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
72885         * lib/getugroups.c (STREQ): Likewise.
72887 2010-01-23  Jim Meyering  <meyering@redhat.com>
72889         maint.mk: fix syntax-check in a non-srcdir build directory
72890         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
72891         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
72893 2010-01-22  Jim Meyering  <meyering@redhat.com>
72895         userspec: add unit tests
72896         * tests/test-userspec.c: New file.
72897         * modules/userspec-tests: Likewise.
72899 2010-01-21  Jim Meyering  <meyering@redhat.com>
72901         maint.mk: handle source file names containing "." robustly
72902         * top/maint.mk (_dot_escaped_srcdir): Define.
72903         (VC_LIST): Use it in LHS of sed substitution.
72905 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
72907         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
72908         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
72909         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
72910         from a non-srcdir build.
72912 2010-01-20  Eric Blake  <ebb9@byu.net>
72914         warn-on-use: use instead of link-warning
72915         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
72916         * modules/unistd (Depends-on, Makefile.am): Likewise.
72917         * modules/arpa_inet (Depends-on): Replace link-warning with
72918         warn-on-use.
72919         (Makefile.am): Update rules accordingly.
72920         * modules/ctype (Depends-on, Makefile.am): Likewise.
72921         * modules/dirent (Depends-on, Makefile.am): Likewise.
72922         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
72923         * modules/inttypes (Depends-on, Makefile.am): Likewise.
72924         * modules/langinfo (Depends-on, Makefile.am): Likewise.
72925         * modules/locale (Depends-on, Makefile.am): Likewise.
72926         * modules/math (Depends-on, Makefile.am): Likewise.
72927         * modules/search (Depends-on, Makefile.am): Likewise.
72928         * modules/signal (Depends-on, Makefile.am): Likewise.
72929         * modules/spawn (Depends-on, Makefile.am): Likewise.
72930         * modules/stdlib (Depends-on, Makefile.am): Likewise.
72931         * modules/string (Depends-on, Makefile.am): Likewise.
72932         * modules/strings (Depends-on, Makefile.am): Likewise.
72933         * modules/sys_file (Depends-on, Makefile.am): Likewise.
72934         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
72935         * modules/sys_select (Depends-on, Makefile.am): Likewise.
72936         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
72937         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
72938         * modules/sys_times (Depends-on, Makefile.am): Likewise.
72939         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
72940         * modules/wchar (Depends-on, Makefile.am): Likewise.
72941         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
72942         should be poisoned.
72943         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
72944         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
72945         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
72946         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
72947         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
72948         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
72949         * m4/math_h.m4 (gl_MATH_H): Likewise.
72950         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
72951         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
72952         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
72953         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
72954         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
72955         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
72956         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
72957         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
72958         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
72959         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
72960         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
72961         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
72962         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
72963         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
72964         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
72965         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
72966         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
72967         GL_LINK_WARNING.
72968         * lib/ctype.in.h: Likewise.
72969         * lib/dirent.in.h: Likewise.
72970         * lib/fcntl.in.h: Likewise.
72971         * lib/inttypes.in.h: Likewise.
72972         * lib/langinfo.in.h: Likewise.
72973         * lib/locale.in.h: Likewise.
72974         * lib/math.in.h: Likewise.
72975         * lib/search.in.h: Likewise.
72976         * lib/signal.in.h: Likewise.
72977         * lib/spawn.in.h: Likewise.
72978         * lib/stdio.in.h: Likewise.
72979         * lib/stdlib.in.h: Likewise.
72980         * lib/string.in.h: Likewise.
72981         * lib/strings.in.h: Likewise.
72982         * lib/sys_file.in.h: Likewise.
72983         * lib/sys_ioctl.in.h: Likewise.
72984         * lib/sys_select.in.h: Likewise.
72985         * lib/sys_socket.in.h: Likewise.
72986         * lib/sys_stat.in.h: Likewise.
72987         * lib/sys_times.in.h: Likewise.
72988         * lib/sys_utsname.in.h: Likewise.
72989         * lib/unistd.in.h: Likewise.
72990         * lib/wchar.in.h: Likewise.
72992 2010-01-20  Bruno Haible  <bruno@clisp.org>
72994         Avoid duplicate -lm.
72995         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
72996         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
72997         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
72998         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
72999         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
73000         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
73001         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
73002         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
73003         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
73004         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
73005         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
73006         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
73007         Reported by Paolo Bonzini.
73009 2010-01-19  Bruno Haible  <bruno@clisp.org>
73011         langinfo, nl_langinfo: Relicense under LGPLv2+.
73012         * modules/langinfo (License): Change to LGPLv2+.
73013         * modules/nl_langinfo (License): Likewise.
73014         Patch by David Lutterkort <lutter@redhat.com>.
73016 2010-01-19  Bruno Haible  <bruno@clisp.org>
73018         Avoid compilation error with cc on OSF/1 5.1.
73019         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
73020         statement, not before.
73021         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73023 2010-01-18  Bruno Haible  <bruno@clisp.org>
73025         Avoid a link error due to the __printf__ symbol.
73026         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
73027         and 2.6.x.
73028         (__format__, __printf__): Remove definitions.
73029         * lib/argp-fmtstream.h: Likewise.
73030         * lib/argp.h: Likewise.
73031         * lib/error.h: Likewise.
73032         * lib/vasnprintf.h: Likewise.
73033         * lib/xprintf.h: Likewise.
73034         * lib/xvasprintf.h: Likewise.
73035         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73037 2010-01-18  Bruno Haible  <bruno@clisp.org>
73039         Tests for module 'tanl'.
73040         * modules/tanl-tests: New file.
73041         * tests/test-tanl.c: New file.
73043         Tests for module 'sqrtl'.
73044         * modules/sqrtl-tests: New file.
73045         * tests/test-sqrtl.c: New file.
73047         Tests for module 'sinl'.
73048         * modules/sinl-tests: New file.
73049         * tests/test-sinl.c: New file.
73051         Tests for module 'logl'.
73052         * modules/logl-tests: New file.
73053         * tests/test-logl.c: New file.
73055         Tests for module 'expl'.
73056         * modules/expl-tests: New file.
73057         * tests/test-expl.c: New file.
73059         Tests for module 'cosl'.
73060         * modules/cosl-tests: New file.
73061         * tests/test-cosl.c: New file.
73063         Tests for module 'atanl'.
73064         * modules/atanl-tests: New file.
73065         * tests/test-atanl.c: New file.
73067         Tests for module 'asinl'.
73068         * modules/asinl-tests: New file.
73069         * tests/test-asinl.c: New file.
73071         Tests for module 'acosl'.
73072         * modules/acosl-tests: New file.
73073         * tests/test-acosl.c: New file.
73075         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
73076         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
73077         tanl): Use the standard gnulib idiom.
73078         * lib/cosl.c: Don't include trigl.c and sincosl.c.
73079         * lib/sinl.c: Likewise.
73080         * lib/tanl.c: Don't include trigl.c.
73081         (kernel_tanl): Make static.
73082         * lib/sincosl.c: Include trigl.h first.
73083         * lib/trigl.c: Likewise.
73084         * m4/acosl.m4: New file.
73085         * m4/asinl.m4: New file.
73086         * m4/atanl.m4: New file.
73087         * m4/cosl.m4: New file.
73088         * m4/expl.m4: New file.
73089         * m4/logl.m4: New file.
73090         * m4/sinl.m4: New file.
73091         * m4/sqrtl.m4: New file.
73092         * m4/tanl.m4: New file.
73093         * m4/mathl.m4: Remove file.
73094         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
73095         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
73096         Don't initialize GNULIB_MATHL.
73097         * modules/acosl: New file.
73098         * modules/asinl: New file.
73099         * modules/atanl: New file.
73100         * modules/cosl: New file.
73101         * modules/expl: New file.
73102         * modules/logl: New file.
73103         * modules/sinl: New file.
73104         * modules/sqrtl: New file.
73105         * modules/tanl: New file.
73106         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
73107         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
73108         substitute GNULIB_MATHL.
73109         * modules/mathl: Rewritten.
73110         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
73111         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
73112         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
73113         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
73114         * doc/posix-functions/expl.texi: Mention the 'expl' module.
73115         * doc/posix-functions/logl.texi: Mention the 'logl' module.
73116         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
73117         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
73118         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
73120 2010-01-18  Bruno Haible  <bruno@clisp.org>
73122         sqrt: Make gl_FUNC_SQRT requirable.
73123         * m4/sqrt.m4: New file.
73124         * modules/sqrt (Files): Add it.
73125         (configure.ac): Invoke gl_FUNC_SQRT.
73127 2010-01-18  Bruno Haible  <bruno@clisp.org>
73129         New modules for common <math.h> functions.
73130         * m4/mathfunc.m4: New file.
73131         * modules/acos: New file.
73132         * modules/asin: New file.
73133         * modules/atan: New file.
73134         * modules/atan2: New file.
73135         * modules/cbrt: New file.
73136         * modules/copysign: New file.
73137         * modules/cos: New file.
73138         * modules/cosh: New file.
73139         * modules/erf: New file.
73140         * modules/erfc: New file.
73141         * modules/exp: New file.
73142         * modules/fabs: New file.
73143         * modules/fmod: New file.
73144         * modules/hypot: New file.
73145         * modules/j0: New file.
73146         * modules/j1: New file.
73147         * modules/jn: New file.
73148         * modules/ldexp: New file.
73149         * modules/lgamma: New file.
73150         * modules/log: New file.
73151         * modules/log10: New file.
73152         * modules/log1p: New file.
73153         * modules/logb: New file.
73154         * modules/modf: New file.
73155         * modules/nextafter: New file.
73156         * modules/pow: New file.
73157         * modules/remainder: New file.
73158         * modules/rint: New file.
73159         * modules/sin: New file.
73160         * modules/sinh: New file.
73161         * modules/sqrt: New file.
73162         * modules/tan: New file.
73163         * modules/tanh: New file.
73164         * modules/y0: New file.
73165         * modules/y1: New file.
73166         * modules/yn: New file.
73167         * doc/posix-functions/acos.texi: Mention the 'acos' module.
73168         * doc/posix-functions/asin.texi: Mention the 'asin' module.
73169         * doc/posix-functions/atan.texi: Mention the 'atan' module.
73170         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
73171         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
73172         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
73173         * doc/posix-functions/cos.texi: Mention the 'cos' module.
73174         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
73175         * doc/posix-functions/erf.texi: Mention the 'erf' module.
73176         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
73177         * doc/posix-functions/exp.texi: Mention the 'exp' module.
73178         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
73179         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
73180         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
73181         * doc/posix-functions/j0.texi: Mention the 'j0' module.
73182         * doc/posix-functions/j1.texi: Mention the 'j1' module.
73183         * doc/posix-functions/jn.texi: Mention the 'jn' module.
73184         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
73185         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
73186         * doc/posix-functions/log.texi: Mention the 'log' module.
73187         * doc/posix-functions/log10.texi: Mention the 'log10' module.
73188         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
73189         * doc/posix-functions/logb.texi: Mention the 'logb' module.
73190         * doc/posix-functions/modf.texi: Mention the 'modf' module.
73191         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
73192         * doc/posix-functions/pow.texi: Mention the 'pow' module.
73193         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
73194         * doc/posix-functions/rint.texi: Mention the 'rint' module.
73195         * doc/posix-functions/sin.texi: Mention the 'sin' module.
73196         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
73197         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
73198         * doc/posix-functions/tan.texi: Mention the 'tan' module.
73199         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
73200         * doc/posix-functions/y0.texi: Mention the 'y0' module.
73201         * doc/posix-functions/y1.texi: Mention the 'y1' module.
73202         * doc/posix-functions/yn.texi: Mention the 'yn' module.
73204 2010-01-18  Jim Meyering  <meyering@redhat.com>
73206         ignore-value: relax license to LGPLv2+
73207         * modules/ignore-value (License): Relax to LGPLv2+.
73209         getdate: don't leak when TZ contains two or more '"'s
73210         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
73211         double quote in TZ after the first one.
73213         readtokens: do not leak internal token_lengths buffer
73214         * lib/readtokens.c (readtokens): Free the local, lengths,
73215         when the supplied "token_lengths" parameter is NULL.
73217 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73219         Fix a couple of missing LIBTHREAD link failures on AIX.
73220         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
73221         $(LIBTHREAD).
73222         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
73224         Link test-poll against INET_PTON_LIB.
73225         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
73226         for inet_pton on Solaris 10.
73228 2010-01-17  Bruno Haible  <bruno@clisp.org>
73230         unistdio/*-sprintf: Fix typo in module description.
73231         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
73232         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
73233         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
73234         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
73235         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
73236         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
73237         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
73238         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73240 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73242         gnulib-tool: fix filelist for AIX, HP-UX ksh.
73243         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
73244         variables in shell case patterns, for AIX and HP-UX ksh.
73246         Split large sed scripts, for HP-UX sed.
73247         * modules/stdio: Split sed scripts around 50 sed commands,
73248         to avoid HP-UX limit of 99 commands, in the near future.
73249         * modules/string: Likewise.
73250         * modules/unistd: Likewise.
73252         gnulib-tool: avoid writing in the current directory.
73253         * gnulib-tool (func_emit_lib_Makefile_am)
73254         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
73255         not in the current directory, so concurrent gnulib-tool
73256         instances do not interfere.
73258 2010-01-16  Jim Meyering  <meyering@redhat.com>
73260         doc: update users.txt
73261         * users.txt: Add grep.
73262         (diffutils, gzip): Update URLs.
73264 2010-01-12  Bruno Haible  <bruno@clisp.org>
73266         posix_spawn: Avoid test failure on Cygwin.
73267         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
73268         characters.
73269         Reported by Simon Josefsson.
73271 2010-01-12  Bruno Haible  <bruno@clisp.org>
73273         * tests/test-cond.c (main): When skipping the test, show the reason.
73275 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73277         * lib/striconv.c (str_cd_iconv): Avoid if before free.
73279 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73281         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
73282         VC_LIST_ALWAYS_EXCLUDE_REGEX.
73284 2010-01-12  Eric Blake  <ebb9@byu.net>
73286         build: guarantee AS_VAR_IF
73287         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
73288         (gl_AS_VAR_IF): Move...
73289         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
73290         Reported by Simon Josefsson.
73292 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73294         * lib/stdio.in.h: Fix typo.
73296 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73298         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
73299         libgpg-error.
73301 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73303         * tests/test-xalloc-die.sh: Use $EXEEXT.
73305 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73306             Bruno Haible  <bruno@clisp.org>
73308         getlogin, getlogin_r: Avoid test failure.
73309         * tests/test-getlogin.c: Include <stdio.h>.
73310         (main): Skip the test when the function fails because stdin is not a
73311         tty.
73312         * tests/test-getlogin_r.c: Include <stdio.h>.
73313         (main): Skip the test when the function fails because stdin is not a
73314         tty.
73316 2010-01-11  Eric Blake  <ebb9@byu.net>
73318         tests: avoid more large file warnings
73319         * tests/test-fflush.c: Avoid warning about ftell use.
73320         * tests/test-fseek.c: Avoid warning about fseek use.
73322 2010-01-10  Bruno Haible  <bruno@clisp.org>
73324         nproc: Work better on Linux when /proc and /sys are not mounted.
73325         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
73326         as lower bound when, on glibc/Linux systems,
73327         sysconf (_SC_NPROCESSORS_CONF) returns 1.
73328         Suggested by Pádraig Brady <P@draigbrady.com>.
73329         Reported by Dmitry V. Levin <ldv@altlinux.org>.
73331         nproc: Refactor.
73332         * lib/nproc.c (num_processors_via_affinity_mask): New function,
73333         extracted from num_processors.
73334         (num_processors): Call it.
73336 2010-01-11  Jim Meyering  <meyering@redhat.com>
73338         utimecmp: avoid new warning from upcoming gcc-4.5.0
73339         * lib/utimecmp.c (BILLION): Define using #define rather than an
73340         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
73342 2010-01-11  Eric Blake  <ebb9@byu.net>
73344         math: add portability warnings for classification macros
73345         * modules/math (Depends-on): Add warn-on-use.
73346         (Makefile.am): Provide new substitutions.
73347         * m4/math_h.m4 (gl_MATH_H): Require inline.
73348         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
73349         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
73350         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
73351         implement warnings.
73353         unistd: warn on use of environ without module
73354         * modules/unistd (Depends-on): Add warn-on-use.
73355         (Makefile.am): Provide new substitutions.
73356         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
73357         * lib/unistd.in.h (environ): Wrap with a warning helper function.
73359         stdio: warn on suspicious uses
73360         * modules/stdio (Depends-on): Add warn-on-use.
73361         (Makefile.am): Provide new substitutions.
73362         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
73363         fseeko.
73364         * lib/stdio.in.h (gets): Always warn on use.
73365         (fseek, ftell): Adjust when warnings are issued, and honor
73366         _GL_NO_LARGE_FILES as a way to silence the warning.
73367         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
73368         any warning about large file offsets.
73369         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
73370         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
73371         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
73372         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
73373         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
73374         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
73375         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
73376         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
73378         warn-on-use: new module
73379         * modules/warn-on-use: New file.
73380         * build-aux/warn-on-use.h: Likewise.
73381         * m4/warn-on-use.m4: Likewise.
73382         * MODULES.html.sh (Support for building): Mention it.
73384 2010-01-10  Bruno Haible  <bruno@clisp.org>
73386         Tests for module 'unistr/u32-strdup'.
73387         * modules/unistr/u32-strdup-tests: New file.
73388         * tests/unistr/test-u32-strdup.c: New file.
73390         Tests for module 'unistr/u16-strdup'.
73391         * modules/unistr/u16-strdup-tests: New file.
73392         * tests/unistr/test-u16-strdup.c: New file.
73394         Tests for module 'unistr/u8-strdup'.
73395         * modules/unistr/u8-strdup-tests: New file.
73396         * tests/unistr/test-u8-strdup.c: New file.
73397         * tests/unistr/test-strdup.h: New file.
73399         Tests for module 'unistr/u32-strncmp'.
73400         * modules/unistr/u32-strncmp-tests: New file.
73401         * tests/unistr/test-u32-strncmp.c: New file.
73403         Tests for module 'unistr/u16-strncmp'.
73404         * modules/unistr/u16-strncmp-tests: New file.
73405         * tests/unistr/test-u16-strncmp.c: New file.
73407         Tests for module 'unistr/u8-strncmp'.
73408         * modules/unistr/u8-strncmp-tests: New file.
73409         * tests/unistr/test-u8-strncmp.c: New file.
73410         * tests/unistr/test-strncmp.h: New file.
73412         Tests for module 'unistr/u32-strcoll'.
73413         * modules/unistr/u32-strcoll-tests: New file.
73414         * tests/unistr/test-u32-strcoll.c: New file.
73416         Tests for module 'unistr/u16-strcoll'.
73417         * modules/unistr/u16-strcoll-tests: New file.
73418         * tests/unistr/test-u16-strcoll.c: New file.
73420         Tests for module 'unistr/u8-strcoll'.
73421         * modules/unistr/u8-strcoll-tests: New file.
73422         * tests/unistr/test-u8-strcoll.c: New file.
73424         Tests for module 'unistr/u32-strcmp'.
73425         * modules/unistr/u32-strcmp-tests: New file.
73426         * tests/unistr/test-u32-strcmp.c: New file.
73427         * tests/unistr/test-u32-strcmp.h: New file.
73429         Tests for module 'unistr/u16-strcmp'.
73430         * modules/unistr/u16-strcmp-tests: New file.
73431         * tests/unistr/test-u16-strcmp.c: New file.
73432         * tests/unistr/test-u16-strcmp.h: New file.
73434         Tests for module 'unistr/u8-strcmp'.
73435         * modules/unistr/u8-strcmp-tests: New file.
73436         * tests/unistr/test-u8-strcmp.c: New file.
73437         * tests/unistr/test-u8-strcmp.h: New file.
73438         * tests/unistr/test-strcmp.h: New file.
73440         Tests for module 'unistr/u32-strncat'.
73441         * modules/unistr/u32-strncat-tests: New file.
73442         * tests/unistr/test-u32-strncat.c: New file.
73444         Tests for module 'unistr/u16-strncat'.
73445         * modules/unistr/u16-strncat-tests: New file.
73446         * tests/unistr/test-u16-strncat.c: New file.
73448         Tests for module 'unistr/u8-strncat'.
73449         * modules/unistr/u8-strncat-tests: New file.
73450         * tests/unistr/test-u8-strncat.c: New file.
73451         * tests/unistr/test-strncat.h: New file.
73453         Tests for module 'unistr/u32-strcat'.
73454         * modules/unistr/u32-strcat-tests: New file.
73455         * tests/unistr/test-u32-strcat.c: New file.
73457         Tests for module 'unistr/u16-strcat'.
73458         * modules/unistr/u16-strcat-tests: New file.
73459         * tests/unistr/test-u16-strcat.c: New file.
73461         Tests for module 'unistr/u8-strcat'.
73462         * modules/unistr/u8-strcat-tests: New file.
73463         * tests/unistr/test-u8-strcat.c: New file.
73464         * tests/unistr/test-strcat.h: New file.
73466         Tests for module 'unistr/u32-stpncpy'.
73467         * modules/unistr/u32-stpncpy-tests: New file.
73468         * tests/unistr/test-u32-stpncpy.c: New file.
73470         Tests for module 'unistr/u16-stpncpy'.
73471         * modules/unistr/u16-stpncpy-tests: New file.
73472         * tests/unistr/test-u16-stpncpy.c: New file.
73474         Tests for module 'unistr/u8-stpncpy'.
73475         * modules/unistr/u8-stpncpy-tests: New file.
73476         * tests/unistr/test-u8-stpncpy.c: New file.
73477         * tests/unistr/test-stpncpy.h: New file.
73479         Tests for module 'unistr/u32-strncpy'.
73480         * modules/unistr/u32-strncpy-tests: New file.
73481         * tests/unistr/test-u32-strncpy.c: New file.
73483         Tests for module 'unistr/u16-strncpy'.
73484         * modules/unistr/u16-strncpy-tests: New file.
73485         * tests/unistr/test-u16-strncpy.c: New file.
73487         Tests for module 'unistr/u8-strncpy'.
73488         * modules/unistr/u8-strncpy-tests: New file.
73489         * tests/unistr/test-u8-strncpy.c: New file.
73490         * tests/unistr/test-strncpy.h: New file.
73492         Tests for module 'unistr/u32-stpcpy'.
73493         * modules/unistr/u32-stpcpy-tests: New file.
73494         * tests/unistr/test-u32-stpcpy.c: New file.
73496         Tests for module 'unistr/u16-stpcpy'.
73497         * modules/unistr/u16-stpcpy-tests: New file.
73498         * tests/unistr/test-u16-stpcpy.c: New file.
73500         Tests for module 'unistr/u8-stpcpy'.
73501         * modules/unistr/u8-stpcpy-tests: New file.
73502         * tests/unistr/test-u8-stpcpy.c: New file.
73503         * tests/unistr/test-stpcpy.h: New file.
73505         Tests for module 'unistr/u32-strcpy'.
73506         * modules/unistr/u32-strcpy-tests: New file.
73507         * tests/unistr/test-u32-strcpy.c: New file.
73509         Tests for module 'unistr/u16-strcpy'.
73510         * modules/unistr/u16-strcpy-tests: New file.
73511         * tests/unistr/test-u16-strcpy.c: New file.
73513         Tests for module 'unistr/u8-strcpy'.
73514         * modules/unistr/u8-strcpy-tests: New file.
73515         * tests/unistr/test-u8-strcpy.c: New file.
73516         * tests/unistr/test-strcpy.h: New file.
73518         Tests for module 'unistr/u32-strnlen'.
73519         * modules/unistr/u32-strnlen-tests: New file.
73520         * tests/unistr/test-u32-strnlen.c: New file.
73522         Tests for module 'unistr/u16-strnlen'.
73523         * modules/unistr/u16-strnlen-tests: New file.
73524         * tests/unistr/test-u16-strnlen.c: New file.
73526         Tests for module 'unistr/u8-strnlen'.
73527         * modules/unistr/u8-strnlen-tests: New file.
73528         * tests/unistr/test-u8-strnlen.c: New file.
73529         * tests/unistr/test-strnlen.h: New file.
73531         Tests for module 'unistr/u32-strlen'.
73532         * modules/unistr/u32-strlen-tests: New file.
73533         * tests/unistr/test-u32-strlen.c: New file.
73535         Tests for module 'unistr/u16-strlen'.
73536         * modules/unistr/u16-strlen-tests: New file.
73537         * tests/unistr/test-u16-strlen.c: New file.
73539         Tests for module 'unistr/u8-strlen'.
73540         * modules/unistr/u8-strlen-tests: New file.
73541         * tests/unistr/test-u8-strlen.c: New file.
73543         Tests for module 'unistr/u32-prev'.
73544         * modules/unistr/u32-prev-tests: New file.
73545         * tests/unistr/test-u32-prev.c: New file.
73547         Tests for module 'unistr/u16-prev'.
73548         * modules/unistr/u16-prev-tests: New file.
73549         * tests/unistr/test-u16-prev.c: New file.
73551         Tests for module 'unistr/u8-prev'.
73552         * modules/unistr/u8-prev-tests: New file.
73553         * tests/unistr/test-u8-prev.c: New file.
73555         Tests for module 'unistr/u32-next'.
73556         * modules/unistr/u32-next-tests: New file.
73557         * tests/unistr/test-u32-next.c: New file.
73559         Tests for module 'unistr/u16-next'.
73560         * modules/unistr/u16-next-tests: New file.
73561         * tests/unistr/test-u16-next.c: New file.
73563         Tests for module 'unistr/u8-next'.
73564         * modules/unistr/u8-next-tests: New file.
73565         * tests/unistr/test-u8-next.c: New file.
73567         Tests for module 'unistr/u32-strmbtouc'.
73568         * modules/unistr/u32-strmbtouc-tests: New file.
73569         * tests/unistr/test-u32-strmbtouc.c: New file.
73571         Tests for module 'unistr/u16-strmbtouc'.
73572         * modules/unistr/u16-strmbtouc-tests: New file.
73573         * tests/unistr/test-u16-strmbtouc.c: New file.
73575         Tests for module 'unistr/u8-strmbtouc'.
73576         * modules/unistr/u8-strmbtouc-tests: New file.
73577         * tests/unistr/test-u8-strmbtouc.c: New file.
73579         Tests for module 'unistr/u32-strmblen'.
73580         * modules/unistr/u32-strmblen-tests: New file.
73581         * tests/unistr/test-u32-strmblen.c: New file.
73583         Tests for module 'unistr/u16-strmblen'.
73584         * modules/unistr/u16-strmblen-tests: New file.
73585         * tests/unistr/test-u16-strmblen.c: New file.
73587         Tests for module 'unistr/u8-strmblen'.
73588         * modules/unistr/u8-strmblen-tests: New file.
73589         * tests/unistr/test-u8-strmblen.c: New file.
73591         Tests for module 'unistr/u32-cpy-alloc'.
73592         * modules/unistr/u32-cpy-alloc-tests: New file.
73593         * tests/unistr/test-u32-cpy-alloc.c: New file.
73595         Tests for module 'unistr/u16-cpy-alloc'.
73596         * modules/unistr/u16-cpy-alloc-tests: New file.
73597         * tests/unistr/test-u16-cpy-alloc.c: New file.
73599         Tests for module 'unistr/u8-cpy-alloc'.
73600         * modules/unistr/u8-cpy-alloc-tests: New file.
73601         * tests/unistr/test-u8-cpy-alloc.c: New file.
73602         * tests/unistr/test-cpy-alloc.h: New file.
73604         Tests for module 'unistr/u32-mbsnlen'.
73605         * modules/unistr/u32-mbsnlen-tests: New file.
73606         * tests/unistr/test-u32-mbsnlen.c: New file.
73608         Tests for module 'unistr/u16-mbsnlen'.
73609         * modules/unistr/u16-mbsnlen-tests: New file.
73610         * tests/unistr/test-u16-mbsnlen.c: New file.
73612         Tests for module 'unistr/u8-mbsnlen'.
73613         * modules/unistr/u8-mbsnlen-tests: New file.
73614         * tests/unistr/test-u8-mbsnlen.c: New file.
73616         Tests for module 'unistr/u32-chr'.
73617         * modules/unistr/u32-chr-tests: New file.
73618         * tests/unistr/test-u32-chr.c: New file.
73620         Tests for module 'unistr/u16-chr'.
73621         * modules/unistr/u16-chr-tests: New file.
73622         * tests/unistr/test-u16-chr.c: New file.
73624         Tests for module 'unistr/u8-chr'.
73625         * modules/unistr/u8-chr-tests: New file.
73626         * tests/unistr/test-u8-chr.c: New file.
73627         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
73629         Tests for module 'unistr/u32-cmp2'.
73630         * modules/unistr/u32-cmp2-tests: New file.
73631         * tests/unistr/test-u32-cmp2.c: New file.
73633         Tests for module 'unistr/u16-cmp2'.
73634         * modules/unistr/u16-cmp2-tests: New file.
73635         * tests/unistr/test-u16-cmp2.c: New file.
73637         Tests for module 'unistr/u8-cmp2'.
73638         * modules/unistr/u8-cmp2-tests: New file.
73639         * tests/unistr/test-u8-cmp2.c: New file.
73640         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
73642         Tests for module 'unistr/u32-cmp'.
73643         * modules/unistr/u32-cmp-tests: New file.
73644         * tests/unistr/test-u32-cmp.c: New file.
73646         Tests for module 'unistr/u16-cmp'.
73647         * modules/unistr/u16-cmp-tests: New file.
73648         * tests/unistr/test-u16-cmp.c: New file.
73650         Tests for module 'unistr/u8-cmp'.
73651         * modules/unistr/u8-cmp-tests: New file.
73652         * tests/unistr/test-u8-cmp.c: New file.
73653         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
73655         Tests for module 'unistr/u32-set'.
73656         * modules/unistr/u32-set-tests: New file.
73657         * tests/unistr/test-u32-set.c: New file.
73659         Tests for module 'unistr/u16-set'.
73660         * modules/unistr/u16-set-tests: New file.
73661         * tests/unistr/test-u16-set.c: New file.
73663         Tests for module 'unistr/u8-set'.
73664         * modules/unistr/u8-set-tests: New file.
73665         * tests/unistr/test-u8-set.c: New file.
73666         * tests/unistr/test-set.h: New file.
73668         Tests for module 'unistr/u32-move'.
73669         * modules/unistr/u32-move-tests: New file.
73670         * tests/unistr/test-u32-move.c: New file.
73672         Tests for module 'unistr/u16-move'.
73673         * modules/unistr/u16-move-tests: New file.
73674         * tests/unistr/test-u16-move.c: New file.
73676         Tests for module 'unistr/u8-move'.
73677         * modules/unistr/u8-move-tests: New file.
73678         * tests/unistr/test-u8-move.c: New file.
73679         * tests/unistr/test-move.h: New file.
73681         Tests for module 'unistr/u32-cpy'.
73682         * modules/unistr/u32-cpy-tests: New file.
73683         * tests/unistr/test-u32-cpy.c: New file.
73685         Tests for module 'unistr/u16-cpy'.
73686         * modules/unistr/u16-cpy-tests: New file.
73687         * tests/unistr/test-u16-cpy.c: New file.
73689         Tests for module 'unistr/u8-cpy'.
73690         * modules/unistr/u8-cpy-tests: New file.
73691         * tests/unistr/test-u8-cpy.c: New file.
73692         * tests/unistr/test-cpy.h: New file.
73694 2010-01-09  Bruno Haible  <bruno@clisp.org>
73696         Tests for module 'unistr/u32-uctomb'.
73697         * modules/unistr/u32-uctomb-tests: New file.
73698         * tests/unistr/test-u32-uctomb.c: New file.
73700         Tests for module 'unistr/u16-uctomb'.
73701         * modules/unistr/u16-uctomb-tests: New file.
73702         * tests/unistr/test-u16-uctomb.c: New file.
73704         Tests for module 'unistr/u8-uctomb'.
73705         * modules/unistr/u8-uctomb-tests: New file.
73706         * tests/unistr/test-u8-uctomb.c: New file.
73708         Tests for module 'unistr/u32-mbtoucr'.
73709         * modules/unistr/u32-mbtoucr-tests: New file.
73710         * tests/unistr/test-u32-mbtoucr.c: New file.
73712         Tests for module 'unistr/u16-mbtoucr'.
73713         * modules/unistr/u16-mbtoucr-tests: New file.
73714         * tests/unistr/test-u16-mbtoucr.c: New file.
73716         Tests for module 'unistr/u8-mbtoucr'.
73717         * modules/unistr/u8-mbtoucr-tests: New file.
73718         * tests/unistr/test-u8-mbtoucr.c: New file.
73720         Tests for module 'unistr/u32-mbtouc'.
73721         * modules/unistr/u32-mbtouc-tests: New file.
73722         * tests/unistr/test-u32-mbtouc.c: New file.
73724         Tests for module 'unistr/u16-mbtouc'.
73725         * modules/unistr/u16-mbtouc-tests: New file.
73726         * tests/unistr/test-u16-mbtouc.c: New file.
73728         Tests for module 'unistr/u8-mbtouc'.
73729         * modules/unistr/u8-mbtouc-tests: New file.
73730         * tests/unistr/test-u8-mbtouc.c: New file.
73732         Tests for module 'unistr/u32-mbtouc-unsafe'.
73733         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
73734         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
73735         * tests/unistr/test-u32-mbtouc.h: New file.
73737         Tests for module 'unistr/u16-mbtouc-unsafe'.
73738         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
73739         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
73740         * tests/unistr/test-u16-mbtouc.h: New file.
73742         Tests for module 'unistr/u8-mbtouc-unsafe'.
73743         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
73744         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
73745         * tests/unistr/test-u8-mbtouc.h: New file.
73747         Tests for module 'unistr/u32-mblen'.
73748         * modules/unistr/u32-mblen-tests: New file.
73749         * tests/unistr/test-u32-mblen.c: New file.
73751         Tests for module 'unistr/u16-mblen'.
73752         * modules/unistr/u16-mblen-tests: New file.
73753         * tests/unistr/test-u16-mblen.c: New file.
73755         Tests for module 'unistr/u8-mblen'.
73756         * modules/unistr/u8-mblen-tests: New file.
73757         * tests/unistr/test-u8-mblen.c: New file.
73759         Tests for module 'unistr/u32-to-u16'.
73760         * modules/unistr/u32-to-u16-tests: New file.
73761         * tests/unistr/test-u32-to-u16.c: New file.
73763         Tests for module 'unistr/u32-to-u8'.
73764         * modules/unistr/u32-to-u8-tests: New file.
73765         * tests/unistr/test-u32-to-u8.c: New file.
73767         Tests for module 'unistr/u16-to-u32'.
73768         * modules/unistr/u16-to-u32-tests: New file.
73769         * tests/unistr/test-u16-to-u32.c: New file.
73771         Tests for module 'unistr/u16-to-u8'.
73772         * modules/unistr/u16-to-u8-tests: New file.
73773         * tests/unistr/test-u16-to-u8.c: New file.
73775         Tests for module 'unistr/u8-to-u32'.
73776         * modules/unistr/u8-to-u32-tests: New file.
73777         * tests/unistr/test-u8-to-u32.c: New file.
73779         Tests for module 'unistr/u8-to-u16'.
73780         * modules/unistr/u8-to-u16-tests: New file.
73781         * tests/unistr/test-u8-to-u16.c: New file.
73783         Tests for module 'unistr/u32-check'.
73784         * modules/unistr/u32-check-tests: New file.
73785         * tests/unistr/test-u32-check.c: New file.
73787         Tests for module 'unistr/u16-check'.
73788         * modules/unistr/u16-check-tests: New file.
73789         * tests/unistr/test-u16-check.c: New file.
73791         Tests for module 'unistr/u8-check'.
73792         * modules/unistr/u8-check-tests: New file.
73793         * tests/unistr/test-u8-check.c: New file.
73795         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
73796         (category_equals): New function.
73797         (main): Add more tests.
73798         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
73800         * tests/unictype/test-bidi_byname.c (main): Add more tests.
73802 2010-01-10  Bruno Haible  <bruno@clisp.org>
73804         unistr/u*-strcoll: Try harder to distinguish different strings.
73805         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
73806         compare s1 and s2 to see if they are different.
73808 2010-01-10  Bruno Haible  <bruno@clisp.org>
73810         unistr/u*-stpncpy: Fix the return value.
73811         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
73812         description of the return value consistent with stpncpy in glibc.
73813         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
73814         written non-NUL unit.
73816 2010-01-10  Bruno Haible  <bruno@clisp.org>
73818         unistr/u*-next: Add missing dependencies.
73819         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
73820         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
73821         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
73823 2010-01-10  Bruno Haible  <bruno@clisp.org>
73825         unistr/u8-mbsnlen: Fix return value for incomplete character.
73826         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
73827         u8_mblen.
73828         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
73829         Remove unistr/u8-mblen.
73830         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
73831         u16_mblen.
73832         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
73833         Remove unistr/u16-mblen.
73835 2010-01-10  Bruno Haible  <bruno@clisp.org>
73837         wchar: Fix compilation error when <wchar.h> is used from coreutils.
73838         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
73839         Reported by Brian Gough <bjg@gnu.org> and
73840         Chris Clayton <chris2553@googlemail.com> via
73841         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
73843 2010-01-09  Bruno Haible  <bruno@clisp.org>
73845         unistr/u16-to-u32: Reject invalid input.
73846         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
73847         u16_mbtouc.
73848         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
73849         Remove unistr/u16-mbtouc.
73851         unistr/u16-to-u8: Reject invalid input.
73852         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
73853         u16_mbtouc.
73854         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
73855         Remove unistr/u16-mbtouc.
73857         unistr/u8-to-u32: Reject invalid input.
73858         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
73859         u8_mbtouc.
73860         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
73861         Remove unistr/u8-mbtouc.
73863         unistr/u8-to-u16: Reject invalid input.
73864         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
73865         u8_mbtouc.
73866         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
73867         Remove unistr/u8-mbtouc.
73869 2010-01-09  Bruno Haible  <bruno@clisp.org>
73871         Tests for module 'getlogin'.
73872         * modules/getlogin-tests: New file.
73873         * tests/test-getlogin.c: New file.
73875         New module 'getlogin'.
73876         * lib/unistd.in.h (getlogin): New declaration.
73877         * lib/getlogin.c: New file.
73878         * m4/getlogin.m4: New file.
73879         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
73880         HAVE_GETLOGIN.
73881         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
73882         HAVE_GETLOGIN.
73883         * modules/getlogin: New file.
73884         * doc/posix-functions/getlogin.texi: Mention the new module.
73885         Reported by John W. Eaton <jwe@gnu.org>.
73887 2010-01-09  Bruno Haible  <bruno@clisp.org>
73889         getlogin_r: Support for native Windows.
73890         * lib/getlogin_r.c: Include <windows.h>
73891         (getlogin_r): Implement for native Windows.
73892         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
73893         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
73894         via John W. Eaton <jwe@gnu.org>.
73896 2010-01-09  Bruno Haible  <bruno@clisp.org>
73898         getlogin_r: Small fixes.
73899         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
73900         succeeds.
73901         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
73902         before testing whether getlogin_r is declared. No need to set
73903         HAVE_DECL_GETLOGIN_R to 1.
73904         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
73906 2010-01-09  Bruno Haible  <bruno@clisp.org>
73908         * lib/unistd.in.h (getlogin_r): Add comment.
73910 2010-01-09  Bruno Haible  <bruno@clisp.org>
73912         Tests for module 'getlogin_r'.
73913         * modules/getlogin_r-tests: New file.
73914         * tests/test-getlogin_r.c: New file.
73916 2010-01-09  Jim Meyering  <meyering@redhat.com>
73918         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
73919         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
73920         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
73922 2010-01-08  Simon Josefsson  <simon@josefsson.org>
73924         * lib/dup2.c (rpl_dup2): Improve comment.
73926 2010-01-08  Eric Blake  <ebb9@byu.net>
73928         maint.mk: allow packages to add makefile @@ exceptions
73929         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
73930         (sc_makefile_check): Rename...
73931         (sc_makefile_at_at_check): ...to this, and use hook.
73933         dup2: work around mingw bug
73934         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
73935         Reported by Simon Josefsson.
73937 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
73939         glob: Fix C++ compilation.
73940         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
73941         C++.
73943 2010-01-07  Bruno Haible  <bruno@clisp.org>
73945         Fix indentation of wctype.in.h, broken since 2007-01-06.
73946         * lib/wctype.in.h: Fix indentation of preprocessor directives.
73948 2010-01-07  Bruno Haible  <bruno@clisp.org>
73950         mbslen: Avoid collision with system function.
73951         * lib/string.in.h [MirBSD]: Include <wchar.h>.
73952         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
73953         * m4/mbslen.m4: New file.
73954         * modules/mbslen (Files): Add it.
73955         (configure.ac): Invoke gl_MBSLEN.
73956         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
73957         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
73958         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
73959         via Ian Beckwith <ianb@erislabs.net>.
73961 2010-01-07  Bruno Haible  <bruno@clisp.org>
73963         dirent: Document the last fix.
73964         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
73966 2010-01-07  Bruno Haible  <bruno@clisp.org>
73968         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
73969         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
73970         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
73971         va_list are defined.
73972         * doc/posix-headers/stdio.texi: Document the bug of missing types.
73973         Reported by Eric Blake.
73975 2010-01-07  Bruno Haible  <bruno@clisp.org>
73977         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
73978         * modules/xlist (Depends-on): Add 'list',
73979         * modules/xoset (Depends-on): Add 'oset'.
73980         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73982 2010-01-07  Bruno Haible  <bruno@clisp.org>
73984         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
73985         * doc/posix-functions/strncasecmp.texi: Likewise.
73987 2010-01-07  Bruno Haible  <bruno@clisp.org>
73989         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
73991 2010-01-07  John W. Eaton  <jwe@octave.org>
73993         wctype: allow C++ use
73994         * lib/wctype.in.h: Add extern "C" block for C++.
73996 2010-01-06  Eric Blake  <ebb9@byu.net>
73998         maint.mk: detect incorrect GFDL usage
73999         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
74001 2010-01-06  Jim Meyering  <meyering@redhat.com>
74002         and Eric Blake  <ebb9@byu.net>
74004         maint.mk: ignore multi-line copyright in NEWS
74005         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
74007 2010-01-06  Eric Blake  <ebb9@byu.net>
74009         select: add missing dependency
74010         * modules/select-tests (Depends-on): Move sockets dependency...
74011         * modules/select (Depends-on): ...here.
74012         Reported by Ian Beckwith.
74014         doc: regenerate INSTALL
74015         * doc/INSTALL: Reflect recent autoconf update.
74016         * doc/INSTALL.ISO: Likewise.
74017         * doc/INSTALL.UTF-8: Likewise.
74019         pread: fix compilation on glibc
74020         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
74021         Reported by Ralf Wildenhues.
74023         dirent: fix test failure
74024         * lib/dirent.in.h (includes): Guarantee ino_t.
74025         Reported by Ralf Wildenhues.
74027 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
74029         linkat, renameat: avoid bad free
74030         * lib/at-func2.c (at_func2): Fix typo.
74031         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
74033 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74035         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
74036         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
74037         to avoid failure of symlink test later.
74039 2010-01-06  Eric Blake  <ebb9@byu.net>
74041         stdio, unistd: guarantee ssize_t
74042         * lib/unistd.in.h (includes): Ensure that types required by POSIX
74043         2008 are exposed when needed.
74044         * lib/stdio.in.h (includes): Likewise.
74045         Reported by Ralf Wildenhues.
74047 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
74049         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
74050         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
74051         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
74053 2010-01-06  Jim Meyering  <meyering@redhat.com>
74055         readtokens: this module *does* require xalloc.h
74056         It uses only functions that were omitted by the old syntax-check rule.
74057         * lib/readtokens.c: Include "xalloc.h" once again.
74058         * modules/readtokens (Depends-on): Add xalloc.
74059         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
74061 2010-01-05  Eric Blake  <ebb9@byu.net>
74063         maint: support 'make announcement' from a VPATH build
74064         * top/maint.mk (announcement): Look for correct NEWS file.
74066 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
74068         utimens (fdutimens): ignore a negative FD, per contract
74069         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
74070         when we have a valid file descriptor.  Otherwise, using a brand
74071         new glibc (with just-patched futimens that now fails with EBADF)
74072         would cause this function to fail with ENOSYS.
74073         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
74074         See also http://bugzilla.redhat.com/552320.
74076 2010-01-05  Eric Blake  <ebb9@byu.net>
74078         strcase: document what it provides
74079         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
74080         gnulib module.
74081         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
74082         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
74084 2010-01-05  Jim Meyering  <meyering@redhat.com>
74086         maint: remove useless inclusions of "xalloc.h"
74087         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
74088         * lib/readtokens.c: Likewise.
74089         * lib/same.c: Likewise.
74090         * modules/getloadavg (Depends-on): Remove xalloc.
74091         * modules/readtokens: Likewise.
74092         * modules/same: Likewise.
74094         maint.mk: include 4 more function names in alloca.h-checking regexp
74095         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
74096         regexp.  Before, we would give a false-positive (saying alloca.h
74097         is included unnecessarily) when the only uses involved omitted symbols.
74099         xalloc.h: use consistent formatting
74100         * lib/xalloc.h: Move declarations to start in the first column.
74102 2010-01-05  Eric Blake  <ebb9@byu.net>
74104         mkdir: avoid xalloc
74105         * lib/mkdir.c (includes): Drop unused header.
74106         Reported by John W. Eaton.
74108 2010-01-04  Jim Meyering  <meyering@redhat.com>
74110         nl_langinfo: avoid configure-time syntax error
74111         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
74112         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
74113         the empty string.  Don't let that provoke a shell syntax error.
74115         regcomp, regexec, fnmatch: avoid array bounds read error
74116         * lib/regcomp.c (build_equiv_class): From glibc:
74117         Use only the low 24 bits of a findidx return value as an index
74118         into the weights array.  Patch by Ulrich Drepper:
74119         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
74120         * lib/regexec.c (check_node_accept_bytes): Likewise.
74121         * lib/fnmatch_loop.c (FCT): Likewise.
74123         regcomp: skip collseq lookup when there are no rules
74124         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
74125         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
74127         regcomp: recognize ill-formed { } expressions
74128         * lib/regcomp.c (parse_dup_op): From glibc:
74129         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
74131         regcomp: fix typo in comment
74132         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
74133         s/satisfy/satisfies/.
74135         regcomp: sync from glibc: remove dead store
74136         * lib/regcomp.c (duplicate_node_closure): Remove useless
74137         search_duplicated_node call and dead store.
74139         regcomp: sync from glibc; always use nl_langinfo
74140         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
74141         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
74142         * modules/regex (Depends-on): Add nl_langinfo.
74144 2010-01-04  Eric Blake  <ebb9@byu.net>
74146         fdopendir: fix configure test
74147         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
74149 2010-01-01  Bruno Haible  <bruno@clisp.org>
74151         wchar: Remove unused configure check.
74152         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
74154 2010-01-01  Eric Blake  <ebb9@byu.net>
74156         headers: make check of system header explicit
74157         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
74158         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
74159         ourselves.
74160         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
74161         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
74162         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
74163         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
74164         internals.
74165         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
74166         missing.
74167         Suggested by Bruno Haible.
74169 2010-01-01  Jim Meyering  <meyering@redhat.com>
74171         ChangeLog: tweak to eliminate unnecessary copyright line
74172         * ChangeLog: Remove a copyright line that was mistakenly updated
74173         by today's update-copyright run.  Reported by Eric Blake.
74175         test-update-copyright: don't let envvar setting cause test failure
74176         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
74178 2010-01-01  Bruno Haible  <bruno@clisp.org>
74180         localename: Avoid gcc warning.
74181         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
74182         function if it is not used.
74184 2010-01-01  Jim Meyering  <meyering@redhat.com>
74186         update nearly all FSF copyright year lists to include 2010
74187         Use the same procedure as for 2009, outlined in
74188         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
74190         version-etc: set COPYRIGHT_YEAR to 2010
74191         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
74193 2009-12-31  Eric Blake  <ebb9@byu.net>
74195         doc: correct availability of cygwin 1.5.x getopt
74196         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
74197         variables.
74198         * doc/posix-functions/opterr.texi (opterr): Likewise.
74199         * doc/posix-functions/optind.texi (optind): Likewise.
74200         * doc/posix-functions/optopt.texi (optopt): Likewise.
74201         * doc/posix-functions/tzname.texi (tzname): Likewise.
74203         openat: update maintainer
74204         * modules/openat (Maintainer): Add myself.
74206         utimens: avoid shadowing warning
74207         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
74208         buffers into one, to avoid shadowing, as well as avoiding a
74209         redundant stat.
74210         Reported by Jim Meyering.
74212         test-dup2: avoid compiler warning
74213         * tests/test-dup2.c (is_inheritable): Only define if used.
74215 2010-01-01  Bruno Haible  <bruno@clisp.org>
74217         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
74218         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
74219         defined, use wctomb instead of wcrtomb.
74221 2010-01-01  Bruno Haible  <bruno@clisp.org>
74223         iconv: Reject native Solaris iconv.
74224         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
74225         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
74227 2009-12-31  Bruno Haible  <bruno@clisp.org>
74229         * tests/test-signal.c (main): Remove test of 'SIG'.
74231 2009-12-31  Bruno Haible  <bruno@clisp.org>
74233         spawn: Fix incomplete fix.
74234         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
74235         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
74236         warnings for GNULIB_POSIXCHECK again.
74237         Reported by Eric Blake.
74239 2009-12-31  Bruno Haible  <bruno@clisp.org>
74241         Avoid namespace pollution on glibc systems.
74242         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
74243         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
74244         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
74245         glibc systems.
74247 2009-12-31  Bruno Haible  <bruno@clisp.org>
74249         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
74250         (gl_REPLACE_WCHAR_H): Turn into a no-op.
74251         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
74252         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
74253         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
74254         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
74255         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
74257 2009-12-31  Bruno Haible  <bruno@clisp.org>
74259         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
74260         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
74261         afterwards.
74263 2009-12-31  Bruno Haible  <bruno@clisp.org>
74265         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
74266         SYS_UTSNAME_H.
74268 2009-12-31  Bruno Haible  <bruno@clisp.org>
74270         spawn: Fix misapplied patch.
74271         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
74272         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
74273         warnings for GNULIB_POSIXCHECK.
74275 2009-12-31  Bruno Haible  <bruno@clisp.org>
74277         times: Update after sys_times changed.
74278         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
74279         * modules/times (Files): Add it.
74280         (configure.ac): Invoke gl_FUNC_TIMES.
74282 2009-12-31  Bruno Haible  <bruno@clisp.org>
74284         Use AC_C_INLINE where necessary.
74285         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
74286         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
74287         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
74288         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
74289         * m4/mbfile.m4 (gl_MBFILE): Likewise.
74290         * m4/mbiter.m4 (gl_MBITER): Likewise.
74291         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
74292         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
74293         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
74294         * modules/u64 (configure.ac): Likewise.
74296 2009-12-31  Bruno Haible  <bruno@clisp.org>
74298         Use AC_C_INLINE instead of module 'inline' where possible.
74299         * modules/inline (Description): Clarify purpose.
74300         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
74301         * modules/count-one-bits (Depends-on): Remove inline.
74302         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
74303         * modules/openat (Depends-on): Remove inline.
74304         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
74305         instead of depending on module 'inline'.
74306         * modules/filevercmp (Depends-on, configure.ac): Likewise.
74307         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
74308         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
74309         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
74310         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
74311         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
74312         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
74313         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
74314         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
74315         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
74316         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
74317         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
74318         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
74319         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
74320         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
74321         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
74322         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
74323         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
74324         Likewise.
74325         * modules/unictype/property-ascii-hex-digit (Depends-on,
74326         configure.ac): Likewise.
74327         * modules/unictype/property-bidi-arabic-digit (Depends-on,
74328         configure.ac): Likewise.
74329         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
74330         configure.ac): Likewise.
74331         * modules/unictype/property-bidi-block-separator (Depends-on,
74332         configure.ac): Likewise.
74333         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
74334         configure.ac): Likewise.
74335         * modules/unictype/property-bidi-common-separator (Depends-on,
74336         configure.ac): Likewise.
74337         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
74338         Likewise.
74339         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
74340         configure.ac): Likewise.
74341         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
74342         configure.ac): Likewise.
74343         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
74344         configure.ac): Likewise.
74345         * modules/unictype/property-bidi-european-digit (Depends-on,
74346         configure.ac): Likewise.
74347         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
74348         configure.ac): Likewise.
74349         * modules/unictype/property-bidi-left-to-right (Depends-on,
74350         configure.ac): Likewise.
74351         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
74352         configure.ac): Likewise.
74353         * modules/unictype/property-bidi-other-neutral (Depends-on,
74354         configure.ac): Likewise.
74355         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
74356         Likewise.
74357         * modules/unictype/property-bidi-segment-separator (Depends-on,
74358         configure.ac): Likewise.
74359         * modules/unictype/property-bidi-whitespace (Depends-on,
74360         configure.ac): Likewise.
74361         * modules/unictype/property-combining (Depends-on, configure.ac):
74362         Likewise.
74363         * modules/unictype/property-composite (Depends-on, configure.ac):
74364         Likewise.
74365         * modules/unictype/property-currency-symbol (Depends-on,
74366         configure.ac): Likewise.
74367         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
74368         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
74369         Likewise.
74370         * modules/unictype/property-default-ignorable-code-point (Depends-on,
74371         configure.ac): Likewise.
74372         * modules/unictype/property-deprecated (Depends-on, configure.ac):
74373         Likewise.
74374         * modules/unictype/property-diacritic (Depends-on, configure.ac):
74375         Likewise.
74376         * modules/unictype/property-extender (Depends-on, configure.ac):
74377         Likewise.
74378         * modules/unictype/property-format-control (Depends-on, configure.ac):
74379         Likewise.
74380         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
74381         Likewise.
74382         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
74383         Likewise.
74384         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
74385         Likewise.
74386         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
74387         Likewise.
74388         * modules/unictype/property-hyphen (Depends-on, configure.ac):
74389         Likewise.
74390         * modules/unictype/property-id-continue (Depends-on, configure.ac):
74391         Likewise.
74392         * modules/unictype/property-id-start (Depends-on, configure.ac):
74393         Likewise.
74394         * modules/unictype/property-ideographic (Depends-on, configure.ac):
74395         Likewise.
74396         * modules/unictype/property-ids-binary-operator (Depends-on,
74397         configure.ac): Likewise.
74398         * modules/unictype/property-ids-trinary-operator (Depends-on,
74399         configure.ac): Likewise.
74400         * modules/unictype/property-ignorable-control (Depends-on,
74401         configure.ac): Likewise.
74402         * modules/unictype/property-iso-control (Depends-on, configure.ac):
74403         Likewise.
74404         * modules/unictype/property-join-control (Depends-on, configure.ac):
74405         Likewise.
74406         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
74407         Likewise.
74408         * modules/unictype/property-line-separator (Depends-on, configure.ac):
74409         Likewise.
74410         * modules/unictype/property-logical-order-exception (Depends-on,
74411         configure.ac): Likewise.
74412         * modules/unictype/property-lowercase (Depends-on, configure.ac):
74413         Likewise.
74414         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
74415         * modules/unictype/property-non-break (Depends-on, configure.ac):
74416         Likewise.
74417         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
74418         Likewise.
74419         * modules/unictype/property-numeric (Depends-on, configure.ac):
74420         Likewise.
74421         * modules/unictype/property-other-alphabetic (Depends-on,
74422         configure.ac): Likewise.
74423         * modules/unictype/property-other-default-ignorable-code-point
74424         (Depends-on, configure.ac): Likewise.
74425         * modules/unictype/property-other-grapheme-extend (Depends-on,
74426         configure.ac): Likewise.
74427         * modules/unictype/property-other-id-continue (Depends-on,
74428         configure.ac): Likewise.
74429         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
74430         Likewise.
74431         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
74432         Likewise.
74433         * modules/unictype/property-other-math (Depends-on, configure.ac):
74434         Likewise.
74435         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
74436         Likewise.
74437         * modules/unictype/property-paired-punctuation (Depends-on,
74438         configure.ac): Likewise.
74439         * modules/unictype/property-paragraph-separator (Depends-on,
74440         configure.ac): Likewise.
74441         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
74442         Likewise.
74443         * modules/unictype/property-pattern-white-space (Depends-on,
74444         configure.ac): Likewise.
74445         * modules/unictype/property-private-use (Depends-on, configure.ac):
74446         Likewise.
74447         * modules/unictype/property-punctuation (Depends-on, configure.ac):
74448         Likewise.
74449         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
74450         Likewise.
74451         * modules/unictype/property-radical (Depends-on, configure.ac):
74452         Likewise.
74453         * modules/unictype/property-sentence-terminal (Depends-on,
74454         configure.ac): Likewise.
74455         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
74456         Likewise.
74457         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
74458         * modules/unictype/property-terminal-punctuation (Depends-on,
74459         configure.ac): Likewise.
74460         * modules/unictype/property-titlecase (Depends-on, configure.ac):
74461         Likewise.
74462         * modules/unictype/property-unassigned-code-value (Depends-on,
74463         configure.ac): Likewise.
74464         * modules/unictype/property-unified-ideograph (Depends-on,
74465         configure.ac): Likewise.
74466         * modules/unictype/property-uppercase (Depends-on, configure.ac):
74467         Likewise.
74468         * modules/unictype/property-variation-selector (Depends-on,
74469         configure.ac): Likewise.
74470         * modules/unictype/property-white-space (Depends-on, configure.ac):
74471         Likewise.
74472         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
74473         Likewise.
74474         * modules/unictype/property-xid-start (Depends-on, configure.ac):
74475         Likewise.
74476         * modules/unictype/property-zero-width (Depends-on, configure.ac):
74477         Likewise.
74478         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
74479         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
74480         Likewise.
74482 2009-12-31  Bruno Haible  <bruno@clisp.org>
74484         Remove unnecessary AC_C_INLINE invocation.
74485         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
74486         since 2009-08-21.
74488 2009-12-31  Jim Meyering  <meyering@redhat.com>
74490         maint.mk: don't require explicit gpg_key_ID in cfg.mk
74491         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
74492         With this change, we can all remove the gpg_key_ID = ... definition
74493         from our respective cfg.mk files.
74495         maint.mk: create announcement template in ~/, not in /tmp
74496         * top/maint.mk (emit_upload_commands): Adjust.
74497         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
74498         Remove temporary file, .ci-msg.
74500 2009-12-31  Eric Blake  <ebb9@byu.net>
74502         link-warning: always build headers with link warnings
74503         * modules/arpa_inet (Makefile.am): Always build replacement
74504         header.
74505         * modules/ctype (Makefile.am): Likewise.
74506         * modules/dirent (Makefile.am): Likewise.
74507         * modules/inttypes (Makefile.am): Likewise.
74508         * modules/langinfo (Makefile.am): Likewise.
74509         * modules/locale (Makefile.am): Likewise.
74510         * modules/spawn (Makefile.am): Likewise.
74511         * modules/sys_file (Makefile.am): Likewise.
74512         * modules/sys_ioctl (Makefile.am): Likewise.
74513         * modules/sys_select (Makefile.am): Likewise.
74514         * modules/sys_socket (Makefile.am): Likewise.
74515         * modules/sys_times (Makefile.am): Likewise.
74516         * modules/sys_utsname (Makefile.am): Likewise.
74517         * modules/sys_wait (Makefile.am): Likewise.
74518         * modules/wchar (Makefile.am): Likewise.
74519         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
74520         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
74521         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
74522         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
74523         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
74524         Likewise.
74525         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
74526         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
74527         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
74528         Likewise.
74529         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
74530         Likewise.
74531         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
74532         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
74533         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
74534         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
74535         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
74536         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
74537         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
74538         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
74539         (gl_WCHAR_H_DEFAULTS): Likewise.
74541 2009-12-31  Eric Blake  <ebb9@byu.net>
74543         signal, spawn: use link warnings
74544         * lib/signal.in.h (sigset_t): Make unconditional.
74545         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
74546         (sigpending, sigprocmask, sigaction): Add link warnings.
74547         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
74548         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
74549         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
74550         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
74551         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
74552         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
74553         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
74554         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
74555         (posix_spawn_file_actions_destroy)
74556         (posix_spawn_file_actions_addopen)
74557         (posix_spawn_file_actions_addclose)
74558         (posix_spawn_file_actions_adddup2): Likewise.
74559         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
74560         * tests/test-signal.c (main): Enhance test.
74562         spawn: improve wrapper support
74563         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
74564         (gl_SPAWN_H_DEFAULTS): New defaults.
74565         * modules/spawn (Makefile.am): Substitute them.
74566         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
74567         Only declare if missing or broken.
74569         sys_times, sys_utsname: use include_next
74570         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
74571         header.
74572         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
74573         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
74574         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
74575         * modules/sys_times (Depends-on): Add include_next.
74576         (Makefile.am): Substitute additional values.
74577         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
74578         * lib/sys_times.in.h (includes): Include native header, if
74579         available.
74580         * lib/sys_utsname.in.h (includes): Likewise.
74581         * tests/test-sys_times.c (main): Enhance test.
74583         fdutimensat: revert prior patch
74584         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
74585         utimens.h.
74586         Reported by Bruno Haible.
74588 2009-12-30  Eric Blake  <ebb9@byu.net>
74590         sys_wait: drop link-warning dependency
74591         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
74592         link-warning efforts.
74593         * lib/sys_wait.in.h: Likewise.
74595         fdutimensat: remove bogus dependency
74596         * modules/fdutimensat (Depends-on): Drop inline.
74598         unistd: fix typo
74599         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
74601 2009-12-30  Bruno Haible  <bruno@clisp.org>
74603         Fix compilation error with Solaris cc.
74604         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
74605         * lib/unicase/u16-is-invariant.c: Likewise.
74606         * lib/unicase/u32-is-invariant.c: Likewise.
74607         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
74609 2009-12-30  Bruno Haible  <bruno@clisp.org>
74611         Fix test crash.
74612         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
74613         locales.
74614         Reported by Simon Josefsson <simon@josefsson.org>.
74616 2009-12-30  Bruno Haible  <bruno@clisp.org>
74618         Fix compilation error on most platforms.
74619         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
74620         Reported by Simon Josefsson <simon@josefsson.org>
74621         and Nelson H. F. Beebe <beebe@math.utah.edu>.
74623 2009-12-30  Eric Blake  <ebb9@byu.net>
74625         futimens, utimensat: work around ntfs-3g bug
74626         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
74627         a ctime bug is present, and expand workaround to cover ntfs-3g.
74628         * lib/utimens.c (fdutimens, lutimens): Likewise.
74629         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
74630         (validate_timespec): Adjust return value.
74631         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
74632         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
74633         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
74635 2009-12-29  Eric Blake  <ebb9@byu.net>
74637         link-warning: make usage consistent
74638         * modules/ctype (Depends-on): Add link-warning.
74639         (Makefile.am): Update rules accordingly.
74640         * modules/langinfo (Depends-on, Makefile.am): Likewise.
74641         * modules/locale (Depends-on, Makefile.am): Likewise.
74642         * modules/sys_file (Makefile.am): Likewise.
74643         * modules/getopt-posix (Makefile.am): Delete unused link warning
74644         efforts.
74645         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
74646         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
74647         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
74648         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
74650         stdio: remove unused variables
74651         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
74652         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
74653         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
74655         tests: test more substitute headers
74656         * modules/ctype-tests: New file.
74657         * modules/dirent-tests: Likewise.
74658         * modules/spawn-tests: Likewise.
74659         * modules/sys_file-tests: Likewise.
74660         * modules/sys_ioctl-tests: Likewise.
74661         * modules/sys_wait-tests: Likewise.
74662         * tests/test-ctype.c: Likewise.
74663         * tests/test-dirent.c: Likewise.
74664         * tests/test-spawn.c: Likewise.
74665         * tests/test-sys_file.c: Likewise.
74666         * tests/test-sys_ioctl.c: Likewise.
74667         * tests/test-sys_wait.c: Likewise.
74668         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
74669         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
74670         whether or not flock is in use.
74672         tests: remove License section from module
74673         * modules/arpa_inet-tests: Remove unneeded section.
74674         * modules/byteswap-tests: Likewise.
74675         * modules/ceilf-tests: Likewise.
74676         * modules/ceill-tests: Likewise.
74677         * modules/crypto/des-tests: Likewise.
74678         * modules/crypto/gc-arcfour-tests: Likewise.
74679         * modules/crypto/gc-arctwo-tests: Likewise.
74680         * modules/crypto/gc-des-tests: Likewise.
74681         * modules/crypto/gc-hmac-md5-tests: Likewise.
74682         * modules/crypto/gc-hmac-sha1-tests: Likewise.
74683         * modules/crypto/gc-md2-tests: Likewise.
74684         * modules/crypto/gc-md4-tests: Likewise.
74685         * modules/crypto/gc-md5-tests: Likewise.
74686         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
74687         * modules/crypto/gc-rijndael-tests: Likewise.
74688         * modules/crypto/gc-sha1-tests: Likewise.
74689         * modules/crypto/gc-tests: Likewise.
74690         * modules/crypto/md2-tests: Likewise.
74691         * modules/crypto/md4-tests: Likewise.
74692         * modules/fcntl-h-tests: Likewise.
74693         * modules/floorf-tests: Likewise.
74694         * modules/floorl-tests: Likewise.
74695         * modules/frexp-nolibm-tests: Likewise.
74696         * modules/frexp-tests: Likewise.
74697         * modules/frexpl-nolibm-tests: Likewise.
74698         * modules/frexpl-tests: Likewise.
74699         * modules/getaddrinfo-tests: Likewise.
74700         * modules/inttypes-tests: Likewise.
74701         * modules/isfinite-tests: Likewise.
74702         * modules/isinf-tests: Likewise.
74703         * modules/ldexpl-tests: Likewise.
74704         * modules/locale-tests: Likewise.
74705         * modules/math-tests: Likewise.
74706         * modules/netdb-tests: Likewise.
74707         * modules/netinet_in-tests: Likewise.
74708         * modules/printf-frexp-tests: Likewise.
74709         * modules/printf-frexpl-tests: Likewise.
74710         * modules/priv-set-tests: Likewise.
74711         * modules/random_r-tests: Likewise.
74712         * modules/round-tests: Likewise.
74713         * modules/roundf-tests: Likewise.
74714         * modules/roundl-tests: Likewise.
74715         * modules/search-tests: Likewise.
74716         * modules/select-tests: Likewise.
74717         * modules/signal-tests: Likewise.
74718         * modules/stdbool-tests: Likewise.
74719         * modules/stddef-tests: Likewise.
74720         * modules/stdint-tests: Likewise.
74721         * modules/stdio-tests: Likewise.
74722         * modules/stdlib-tests: Likewise.
74723         * modules/string-tests: Likewise.
74724         * modules/strings-tests: Likewise.
74725         * modules/sys_select-tests: Likewise.
74726         * modules/sys_socket-tests: Likewise.
74727         * modules/sys_stat-tests: Likewise.
74728         * modules/sys_time-tests: Likewise.
74729         * modules/sys_utsname-tests: Likewise.
74730         * modules/sysexits-tests: Likewise.
74731         * modules/time-tests: Likewise.
74732         * modules/trunc-tests: Likewise.
74733         * modules/truncf-tests: Likewise.
74734         * modules/truncl-tests: Likewise.
74735         * modules/tsearch-tests: Likewise.
74736         * modules/unistd-tests: Likewise.
74737         * modules/wchar-tests: Likewise.
74738         * modules/wctype-tests: Likewise.
74740         tests: fix license on several tests
74741         * tests/test-des.c: Update to GPLv3+.
74742         * tests/test-flock.c: Likewise.
74743         * tests/test-fsync.c: Likewise.
74744         * tests/test-futimens.h: Likewise.
74745         * tests/test-gc-arcfour.c: Likewise.
74746         * tests/test-gc-arctwo.c: Likewise.
74747         * tests/test-gc-des.c: Likewise.
74748         * tests/test-gc-hmac-md5.c: Likewise.
74749         * tests/test-gc-hmac-sha1.c: Likewise.
74750         * tests/test-gc-md2.c: Likewise.
74751         * tests/test-gc-md4.c: Likewise.
74752         * tests/test-gc-md5.c: Likewise.
74753         * tests/test-gc-pbkdf2-sha1.c: Likewise.
74754         * tests/test-gc-rijndael.c: Likewise.
74755         * tests/test-gc-sha1.c: Likewise.
74756         * tests/test-gc.c: Likewise.
74757         * tests/test-getcwd.c: Likewise.
74758         * tests/test-link.c: Likewise.
74759         * tests/test-link.h: Likewise.
74760         * tests/test-lutimens.h: Likewise.
74761         * tests/test-md2.c: Likewise.
74762         * tests/test-md4.c: Likewise.
74763         * tests/test-mkdir.h: Likewise.
74764         * tests/test-rename.c: Likewise.
74765         * tests/test-rename.h: Likewise.
74766         * tests/test-safe-alloc.c: Likewise.
74767         * tests/test-utimens-common.h: Likewise.
74768         * tests/test-utimens.h: Likewise.
74770         maint: sync license texts
74771         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
74772         * doc/gpl-3.0.texi: Revert copyright year update.
74773         * doc/lgpl-3.0.texi: Likewise.
74775 2009-12-29  Jim Meyering  <meyering@redhat.com>
74777         update nearly all FSF copyright year lists to include 2009
74778         The files named by the following are exempted:
74779             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
74780               test -f "$dst" && { echo "$dst"; continue; }
74781               test -d "$dst" || continue
74782               echo "$dst"/$(basename "$src")
74783             done > exempt
74784             git ls-files tests/unictype >> exempt
74785         In the remaining files, convert to all-interval notation if
74786         - there is already at least one year interval like 2000-2003
74787         - the file is maintained by me
74788         - the file is in lib/uni*/, where that style already prevails
74789         Otherwise, use update-copyright's default.
74791 2009-12-29  Simon Josefsson  <simon@josefsson.org>
74792         and Eric Blake  <ebb9@byu.net>
74794         tests: don't require debug system() to pass
74795         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
74796         * tests/test-rmdir.h (test_rmdir_func): Likewise.
74797         * tests/test-unlink.h (test_unlink_func): Likewise.
74798         * tests/test-fstatat.c (main): ...into callers.
74799         * tests/test-lstat.c (main): Likewise.
74800         * tests/test-rmdir.c (main): Likewise.
74801         * tests/test-unlink.c (main): Likewise.
74802         * tests/test-unlinkat.c (main): Likewise.
74803         * tests/test-areadlink-with-size.c (main): Don't require a
74804         debug-only system call to pass, aiding cross-testing to mingw.
74805         * tests/test-areadlink.c (main): Likewise.
74806         * tests/test-areadlinkat-with-size.c (main): Likewise.
74807         * tests/test-areadlinkat.c (main): Likewise.
74808         * tests/test-canonicalize-lgpl.c (main): Likewise.
74809         * tests/test-canonicalize.c (main): Likewise.
74810         * tests/test-chown.c (main): Likewise.
74811         * tests/test-fchownat.c (main): Likewise.
74812         * tests/test-lchown.c (main): Likewise.
74813         * tests/test-fdutimensat.c (main): Likewise.
74814         * tests/test-futimens.c (main): Likewise.
74815         * tests/test-link.c (main): Likewise.
74816         * tests/test-linkat.c (main): Likewise.
74817         * tests/test-mkdir.c (main): Likewise.
74818         * tests/test-mkdirat.c (main): Likewise.
74819         * tests/test-mkfifo.c (main): Likewise.
74820         * tests/test-mkfifoat.c (main): Likewise.
74821         * tests/test-mknod.c (main): Likewise.
74822         * tests/test-readlink.c (main): Likewise.
74823         * tests/test-remove.c (main): Likewise.
74824         * tests/test-rename.c (main): Likewise.
74825         * tests/test-renameat.c (main): Likewise.
74826         * tests/test-symlink.c (main): Likewise.
74827         * tests/test-symlinkat.c (main): Likewise.
74828         * tests/test-utimens.c (main): Likewise.
74829         * tests/test-utimensat.c (main): Likewise.
74831 2009-12-29  Simon Josefsson  <simon@josefsson.org>
74833         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
74834         on $(UNUSED_PARAMETER_H) to avoid build failure.
74836 2009-12-28  Jim Meyering  <meyering@redhat.com>
74838         update-copyright: you may specify a max. line length other than 72
74839         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
74841         maint: use consistent FSF copyright line syntax
74842         * lib/posixtm.c: Add missing comma in FSF copyright line.
74843         * lib/posixtm.h: Likewise.
74844         * lib/getugroups.c: Add missing ", Inc.".
74846         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
74847         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
74848         FSF copyright line.  Remove trailing blanks.
74850 2009-12-28  Eric Blake  <ebb9@byu.net>
74852         test-dup2: reduce dependencies
74853         * modules/cloexec (Configure.ac): Set witness.
74854         * modules/dup2-tests (Depends-on): Drop cloexec.
74855         * tests/test-dup2.c (main): Skip portion of test if cloexec module
74856         not present.
74857         Suggested by Bruno Haible.
74859 2009-12-26  Bruno Haible  <bruno@clisp.org>
74861         Remove an unneeded dependency.
74862         * modules/fseterr (Depends-on): Remove dup2.
74864 2009-12-26  Eric Blake  <ebb9@byu.net>
74866         tests: use macros.h in more places
74867         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
74868         (ASSERT_STREAM): Provide default of stderr.
74869         * tests/test-dirent-safer.c: Include macros.h, using alternate
74870         stream for assertions.
74871         * tests/test-dup-safer.c: Likewise.
74872         * tests/test-freopen-safer.c: Likewise.
74873         * tests/test-getopt.c: Likewise.
74874         * tests/test-openat-safer.c: Likewise.
74875         * tests/test-pipe.c: Likewise.
74876         * tests/test-popen-safer.c: Likewise.
74877         * modules/dirent-safer-tests (Files): Include macros.h.
74878         * modules/unistd-safer-tests (Files): Likewise.
74879         * modules/freopen-safer-tests (Files): Likewise.
74880         * modules/getopt-posix-tests (Files): Likewise.
74881         * modules/openat-safer-tests (Files): Likewise.
74882         * modules/pipe-tests (Files): Likewise.
74884 2009-12-26  Bruno Haible  <bruno@clisp.org>
74886         javacomp-script: Portability fix.
74887         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
74888         that it also works on Solaris.
74890 2009-12-26  Bruno Haible  <bruno@clisp.org>
74892         localename: Fix storage allocation of gl_locale_name_thread's result.
74893         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
74894         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
74895         all platforms that have 'uselocale'.
74896         (gl_locale_name_thread_unsafe): New function, extracted from
74897         gl_locale_name_thread.
74898         (gl_locale_name_thread): Call struniq on all platforms that have
74899         'uselocale'.
74900         * tests/test-localename.c (test_locale_name_thread): Check that the
74901         resulting strings are permanently allocated.
74902         * modules/localename-tests (Depends-on): Add strdup.
74904 2009-12-26  Bruno Haible  <bruno@clisp.org>
74906         * tests/test-localename.c (categories): Fill in the strings.
74908 2009-12-26  Jim Meyering  <meyering@redhat.com>
74910         isdir: complete the removal of m4/isdir.m4
74911         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
74913         isdir: clean up, since at least grep still uses it
74914         * lib/isdir.c: Include "isdir.h".
74915         (S_ISDIR): Remove now-unneeded definition.
74916         * modules/isdir (Files): Add lib/isdir.h.
74917         * lib/isdir.h: New file, with declaration.
74918         * m4/isdir.m4: Remove file -- unneeded.
74920 2009-12-25  Bruno Haible  <bruno@clisp.org>
74922         selinux-h: Make generated .h files standalone.
74923         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
74924         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
74925         * lib/se-selinux.in.h: Likewise.
74926         * modules/selinux-h (Depends-on): Add unused-parameter.
74927         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
74928         selinux/selinux.h and selinux/context.h.
74929         Suggested by Eric Blake.
74931 2009-12-25  Bruno Haible  <bruno@clisp.org>
74933         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
74934         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
74935         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
74936         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
74937         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
74939 2009-12-24  Bruno Haible  <bruno@clisp.org>
74941         openat: Fix warning.
74942         * lib/openat-proc.c: Include <unistd.h>.
74944 2009-12-24  Bruno Haible  <bruno@clisp.org>
74946         New module 'unused-parameter'.
74947         * build-aux/unused-parameter.h: New file, extracted from earlier
74948         gnulib-common.m4.
74949         * modules/unused-parameter: New file.
74950         * lib/unistr.h: Include unused-parameter.h.
74951         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
74952         _GL_UNUSED.
74953         * modules/unistr/base (Depends-on): Add unused-parameter.
74955 2009-12-24  Bruno Haible  <bruno@clisp.org>
74957         Add missing dependencies to 'extensions' module.
74958         * m4/extensions.m4: Add comment.
74959         * modules/accept4 (Depends-on): Add extensions.
74960         * modules/dup3 (Depends-on): Likewise.
74961         * modules/fcntl (Depends-on): Likewise.
74962         * modules/futimens (Depends-on): Likewise.
74963         * modules/mknod (Depends-on): Likewise.
74964         * modules/pipe2 (Depends-on): Likewise.
74965         * modules/stat-time (Depends-on): Likewise.
74966         * modules/strcasestr-simple (Depends-on): Likewise.
74967         * modules/strsignal (Depends-on): Likewise.
74968         * modules/utimensat (Depends-on): Likewise.
74969         * modules/localcharset (Depends-on): Likewise. Needed because of
74970         gl_FCNTL_O_FLAGS.
74971         * modules/wcrtomb (Depends-on): Likewise. Needed because of
74972         AC_TYPE_MBSTATE_T.
74973         * modules/wcsnrtombs (Depends-on): Likewise.
74974         * modules/wcsrtombs (Depends-on): Likewise.
74976 2009-12-24  Bruno Haible  <bruno@clisp.org>
74978         binary-io: Avoid gcc warning due to SET_BINARY.
74979         * lib/binary-io.h (SET_BINARY): Cast the result to void.
74980         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
74982 2009-12-24  Bruno Haible  <bruno@clisp.org>
74984         Avoid future namespace pollution on glibc systems.
74985         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
74986         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
74987         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
74988         glibc systems.
74990 2009-12-24  Bruno Haible  <bruno@clisp.org>
74992         Refactor common macros used in tests.
74993         * tests/macros.h: New file.
74994         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
74995         and/or <stdlib.h>, if appropriate.
74996         (ASSERT, SIZEOF): Remove macros.
74997         * tests/test-areadlink-with-size.c: Likewise.
74998         * tests/test-areadlinkat.c: Likewise.
74999         * tests/test-areadlinkat-with-size.c: Likewise.
75000         * tests/test-argmatch.c: Likewise.
75001         * tests/test-argv-iter.c: Likewise.
75002         * tests/test-array-mergesort.c: Likewise.
75003         * tests/test-array_list.c: Likewise.
75004         * tests/test-array_oset.c: Likewise.
75005         * tests/test-avltree_list.c: Likewise.
75006         * tests/test-avltree_oset.c: Likewise.
75007         * tests/test-avltreehash_list.c: Likewise.
75008         * tests/test-base64.c: Likewise.
75009         * tests/test-binary-io.c: Likewise.
75010         * tests/test-bitrotate.c: Likewise.
75011         * tests/test-btowc.c: Likewise.
75012         * tests/test-byteswap.c: Likewise.
75013         * tests/test-c-ctype.c: Likewise.
75014         * tests/test-c-stack.c: Likewise.
75015         * tests/test-c-strcasecmp.c: Likewise.
75016         * tests/test-c-strcasestr.c: Likewise.
75017         * tests/test-c-strncasecmp.c: Likewise.
75018         * tests/test-c-strstr.c: Likewise.
75019         * tests/test-canonicalize-lgpl.c: Likewise.
75020         * tests/test-canonicalize.c: Likewise.
75021         * tests/test-carray_list.c: Likewise.
75022         * tests/test-ceilf1.c: Likewise.
75023         * tests/test-ceilf2.c: Likewise.
75024         * tests/test-ceill.c: Likewise.
75025         * tests/test-chown.c: Likewise.
75026         * tests/test-cloexec.c: Likewise.
75027         * tests/test-copy-acl.c: Likewise.
75028         * tests/test-copy-file.c: Likewise.
75029         * tests/test-count-one-bits.c: Likewise.
75030         * tests/test-dprintf-posix.c: Likewise.
75031         * tests/test-dup2.c: Likewise.
75032         * tests/test-dup3.c: Likewise.
75033         * tests/test-duplocale.c: Likewise.
75034         * tests/test-fbufmode.c: Likewise.
75035         * tests/test-fchdir.c: Likewise.
75036         * tests/test-fchownat.c: Likewise.
75037         * tests/test-fcntl-safer.c: Likewise.
75038         * tests/test-fcntl.c: Likewise.
75039         * tests/test-fdopendir.c: Likewise.
75040         * tests/test-fdutimensat.c: Likewise.
75041         * tests/test-fflush2.c: Likewise.
75042         * tests/test-file-has-acl.c: Likewise.
75043         * tests/test-filevercmp.c: Likewise.
75044         * tests/test-flock.c: Likewise.
75045         * tests/test-floorf1.c: Likewise.
75046         * tests/test-floorf2.c: Likewise.
75047         * tests/test-floorl.c: Likewise.
75048         * tests/test-fnmatch.c: Likewise.
75049         * tests/test-fopen.h: Likewise.
75050         * tests/test-fpending.c: Likewise.
75051         * tests/test-fprintf-posix.c: Likewise.
75052         * tests/test-fpurge.c: Likewise.
75053         * tests/test-freadable.c: Likewise.
75054         * tests/test-freadahead.c: Likewise.
75055         * tests/test-freading.c: Likewise.
75056         * tests/test-freadptr.c: Likewise.
75057         * tests/test-freadptr2.c: Likewise.
75058         * tests/test-freadseek.c: Likewise.
75059         * tests/test-freopen.c: Likewise.
75060         * tests/test-frexp.c: Likewise.
75061         * tests/test-frexpl.c: Likewise.
75062         * tests/test-fseek.c: Likewise.
75063         * tests/test-fseeko.c: Likewise.
75064         * tests/test-fstatat.c: Likewise.
75065         * tests/test-fstrcmp.c: Likewise.
75066         * tests/test-fsync.c: Likewise.
75067         * tests/test-ftell.c: Likewise.
75068         * tests/test-ftello.c: Likewise.
75069         * tests/test-func.c: Likewise.
75070         * tests/test-futimens.c: Likewise.
75071         * tests/test-fwritable.c: Likewise.
75072         * tests/test-fwriting.c: Likewise.
75073         * tests/test-getcwd.c: Likewise.
75074         * tests/test-getdate.c: Likewise.
75075         * tests/test-getdelim.c: Likewise.
75076         * tests/test-getdtablesize.c: Likewise.
75077         * tests/test-getgroups.c: Likewise.
75078         * tests/test-getline.c: Likewise.
75079         * tests/test-getndelim2.c: Likewise.
75080         * tests/test-glob.c: Likewise.
75081         * tests/test-hash.c: Likewise.
75082         * tests/test-i-ring.c: Likewise.
75083         * tests/test-iconv-utf.c: Likewise.
75084         * tests/test-iconv.c: Likewise.
75085         * tests/test-idpriv-drop.c: Likewise.
75086         * tests/test-idpriv-droptemp.c: Likewise.
75087         * tests/test-inet_ntop.c: Likewise.
75088         * tests/test-inet_pton.c: Likewise.
75089         * tests/test-isblank.c: Likewise.
75090         * tests/test-isfinite.c: Likewise.
75091         * tests/test-isinf.c: Likewise.
75092         * tests/test-isnan.c: Likewise.
75093         * tests/test-isnand.h: Likewise.
75094         * tests/test-isnanf.h: Likewise.
75095         * tests/test-isnanl.h: Likewise.
75096         * tests/test-lchown.c: Likewise.
75097         * tests/test-ldexpl.c: Likewise.
75098         * tests/test-link.c: Likewise.
75099         * tests/test-linkat.c: Likewise.
75100         * tests/test-linked_list.c: Likewise.
75101         * tests/test-linkedhash_list.c: Likewise.
75102         * tests/test-localename.c: Likewise.
75103         * tests/test-lseek.c: Likewise.
75104         * tests/test-lstat.c: Likewise.
75105         * tests/test-mbmemcasecmp.c: Likewise.
75106         * tests/test-mbmemcasecoll.c: Likewise.
75107         * tests/test-mbrtowc.c: Likewise.
75108         * tests/test-mbscasecmp.c: Likewise.
75109         * tests/test-mbscasestr1.c: Likewise.
75110         * tests/test-mbscasestr2.c: Likewise.
75111         * tests/test-mbscasestr3.c: Likewise.
75112         * tests/test-mbscasestr4.c: Likewise.
75113         * tests/test-mbschr.c: Likewise.
75114         * tests/test-mbscspn.c: Likewise.
75115         * tests/test-mbsinit.c: Likewise.
75116         * tests/test-mbsncasecmp.c: Likewise.
75117         * tests/test-mbsnrtowcs.c: Likewise.
75118         * tests/test-mbspbrk.c: Likewise.
75119         * tests/test-mbspcasecmp.c: Likewise.
75120         * tests/test-mbsrchr.c: Likewise.
75121         * tests/test-mbsrtowcs.c: Likewise.
75122         * tests/test-mbsspn.c: Likewise.
75123         * tests/test-mbsstr1.c: Likewise.
75124         * tests/test-mbsstr2.c: Likewise.
75125         * tests/test-mbsstr3.c: Likewise.
75126         * tests/test-memchr.c: Likewise.
75127         * tests/test-memchr2.c: Likewise.
75128         * tests/test-memcmp.c: Likewise.
75129         * tests/test-memmem.c: Likewise.
75130         * tests/test-memrchr.c: Likewise.
75131         * tests/test-mkdir.c: Likewise.
75132         * tests/test-mkdirat.c: Likewise.
75133         * tests/test-mkfifo.c: Likewise.
75134         * tests/test-mkfifoat.c: Likewise.
75135         * tests/test-mknod.c: Likewise.
75136         * tests/test-nanosleep.c: Likewise.
75137         * tests/test-nl_langinfo.c: Likewise.
75138         * tests/test-obstack-printf.c: Likewise.
75139         * tests/test-open.c: Likewise.
75140         * tests/test-openat.c: Likewise.
75141         * tests/test-pipe-filter-gi1.c: Likewise.
75142         * tests/test-pipe-filter-gi2-main.c: Likewise.
75143         * tests/test-pipe-filter-ii1.c: Likewise.
75144         * tests/test-pipe-filter-ii2-main.c: Likewise.
75145         * tests/test-pipe2.c: Likewise.
75146         * tests/test-popen.h: Likewise.
75147         * tests/test-posixtm.c: Likewise.
75148         * tests/test-pread.c: Likewise.
75149         * tests/test-printf-frexp.c: Likewise.
75150         * tests/test-printf-frexpl.c: Likewise.
75151         * tests/test-printf-posix.c: Likewise.
75152         * tests/test-priv-set.c: Likewise.
75153         * tests/test-quotearg.c: Likewise.
75154         * tests/test-random_r.c: Likewise.
75155         * tests/test-rawmemchr.c: Likewise.
75156         * tests/test-rbtree_list.c: Likewise.
75157         * tests/test-rbtree_oset.c: Likewise.
75158         * tests/test-rbtreehash_list.c: Likewise.
75159         * tests/test-readlink.c: Likewise.
75160         * tests/test-remove.c: Likewise.
75161         * tests/test-rename.c: Likewise.
75162         * tests/test-renameat.c: Likewise.
75163         * tests/test-rmdir.c: Likewise.
75164         * tests/test-round1.c: Likewise.
75165         * tests/test-roundf1.c: Likewise.
75166         * tests/test-roundl.c: Likewise.
75167         * tests/test-safe-alloc.c: Likewise.
75168         * tests/test-sameacls.c: Likewise.
75169         * tests/test-set-mode-acl.c: Likewise.
75170         * tests/test-setenv.c: Likewise.
75171         * tests/test-sigaction.c: Likewise.
75172         * tests/test-signbit.c: Likewise.
75173         * tests/test-sleep.c: Likewise.
75174         * tests/test-snprintf-posix.c: Likewise.
75175         * tests/test-snprintf.c: Likewise.
75176         * tests/test-sprintf-posix.c: Likewise.
75177         * tests/test-stat-time.c: Likewise.
75178         * tests/test-stat.c: Likewise.
75179         * tests/test-strcasestr.c: Likewise.
75180         * tests/test-strchrnul.c: Likewise.
75181         * tests/test-strerror.c: Likewise.
75182         * tests/test-striconv.c: Likewise.
75183         * tests/test-striconveh.c: Likewise.
75184         * tests/test-striconveha.c: Likewise.
75185         * tests/test-strsignal.c: Likewise.
75186         * tests/test-strstr.c: Likewise.
75187         * tests/test-strtod.c: Likewise.
75188         * tests/test-strverscmp.c: Likewise.
75189         * tests/test-symlink.c: Likewise.
75190         * tests/test-symlinkat.c: Likewise.
75191         * tests/test-trunc1.c: Likewise.
75192         * tests/test-trunc2.c: Likewise.
75193         * tests/test-truncf1.c: Likewise.
75194         * tests/test-truncf2.c: Likewise.
75195         * tests/test-truncl.c: Likewise.
75196         * tests/test-uname.c: Likewise.
75197         * tests/test-unlink.c: Likewise.
75198         * tests/test-unlinkat.c: Likewise.
75199         * tests/test-unsetenv.c: Likewise.
75200         * tests/test-usleep.c: Likewise.
75201         * tests/test-utimens.c: Likewise.
75202         * tests/test-utimensat.c: Likewise.
75203         * tests/test-vasnprintf-posix.c: Likewise.
75204         * tests/test-vasnprintf-posix2.c: Likewise.
75205         * tests/test-vasnprintf.c: Likewise.
75206         * tests/test-vasprintf-posix.c: Likewise.
75207         * tests/test-vasprintf.c: Likewise.
75208         * tests/test-vdprintf-posix.c: Likewise.
75209         * tests/test-vfprintf-posix.c: Likewise.
75210         * tests/test-vprintf-posix.c: Likewise.
75211         * tests/test-vsnprintf-posix.c: Likewise.
75212         * tests/test-vsnprintf.c: Likewise.
75213         * tests/test-vsprintf-posix.c: Likewise.
75214         * tests/test-wcrtomb.c: Likewise.
75215         * tests/test-wcsnrtombs.c: Likewise.
75216         * tests/test-wcsrtombs.c: Likewise.
75217         * tests/test-wctype.c: Likewise.
75218         * tests/test-wcwidth.c: Likewise.
75219         * tests/test-xfprintf-posix.c: Likewise.
75220         * tests/test-xmemdup0.c: Likewise.
75221         * tests/test-xprintf-posix.c: Likewise.
75222         * tests/test-xvasprintf.c: Likewise.
75223         * tests/unicase/test-locale-language.c: Likewise.
75224         * tests/unicase/test-mapping-part1.h: Likewise.
75225         * tests/unicase/test-predicate-part1.h: Likewise.
75226         * tests/unicase/test-u8-casecmp.c: Likewise.
75227         * tests/unicase/test-u8-casecoll.c: Likewise.
75228         * tests/unicase/test-u8-casefold.c: Likewise.
75229         * tests/unicase/test-u8-is-cased.c: Likewise.
75230         * tests/unicase/test-u8-is-casefolded.c: Likewise.
75231         * tests/unicase/test-u8-is-lowercase.c: Likewise.
75232         * tests/unicase/test-u8-is-titlecase.c: Likewise.
75233         * tests/unicase/test-u8-is-uppercase.c: Likewise.
75234         * tests/unicase/test-u8-tolower.c: Likewise.
75235         * tests/unicase/test-u8-totitle.c: Likewise.
75236         * tests/unicase/test-u8-toupper.c: Likewise.
75237         * tests/unicase/test-u16-casecmp.c: Likewise.
75238         * tests/unicase/test-u16-casecoll.c: Likewise.
75239         * tests/unicase/test-u16-casefold.c: Likewise.
75240         * tests/unicase/test-u16-is-cased.c: Likewise.
75241         * tests/unicase/test-u16-is-casefolded.c: Likewise.
75242         * tests/unicase/test-u16-is-lowercase.c: Likewise.
75243         * tests/unicase/test-u16-is-titlecase.c: Likewise.
75244         * tests/unicase/test-u16-is-uppercase.c: Likewise.
75245         * tests/unicase/test-u16-tolower.c: Likewise.
75246         * tests/unicase/test-u16-totitle.c: Likewise.
75247         * tests/unicase/test-u16-toupper.c: Likewise.
75248         * tests/unicase/test-u32-casecmp.c: Likewise.
75249         * tests/unicase/test-u32-casecoll.c: Likewise.
75250         * tests/unicase/test-u32-casefold.c: Likewise.
75251         * tests/unicase/test-u32-is-cased.c: Likewise.
75252         * tests/unicase/test-u32-is-casefolded.c: Likewise.
75253         * tests/unicase/test-u32-is-lowercase.c: Likewise.
75254         * tests/unicase/test-u32-is-titlecase.c: Likewise.
75255         * tests/unicase/test-u32-is-uppercase.c: Likewise.
75256         * tests/unicase/test-u32-tolower.c: Likewise.
75257         * tests/unicase/test-u32-totitle.c: Likewise.
75258         * tests/unicase/test-u32-toupper.c: Likewise.
75259         * tests/unicase/test-ulc-casecmp.c: Likewise.
75260         * tests/unicase/test-ulc-casecoll.c: Likewise.
75261         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
75262         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
75263         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
75264         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
75265         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
75266         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
75267         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
75268         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
75269         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
75270         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
75271         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
75272         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
75273         * tests/unictype/test-bidi_byname.c: Likewise.
75274         * tests/unictype/test-bidi_name.c: Likewise.
75275         * tests/unictype/test-bidi_of.c: Likewise.
75276         * tests/unictype/test-bidi_test.c: Likewise.
75277         * tests/unictype/test-block_list.c: Likewise.
75278         * tests/unictype/test-block_of.c: Likewise.
75279         * tests/unictype/test-block_test.c: Likewise.
75280         * tests/unictype/test-categ_and.c: Likewise.
75281         * tests/unictype/test-categ_and_not.c: Likewise.
75282         * tests/unictype/test-categ_byname.c: Likewise.
75283         * tests/unictype/test-categ_name.c: Likewise.
75284         * tests/unictype/test-categ_none.c: Likewise.
75285         * tests/unictype/test-categ_of.c: Likewise.
75286         * tests/unictype/test-categ_or.c: Likewise.
75287         * tests/unictype/test-categ_test_withtable.c: Likewise.
75288         * tests/unictype/test-combining.c: Likewise.
75289         * tests/unictype/test-decdigit.c: Likewise.
75290         * tests/unictype/test-digit.c: Likewise.
75291         * tests/unictype/test-mirror.c: Likewise.
75292         * tests/unictype/test-numeric.c: Likewise.
75293         * tests/unictype/test-pr_byname.c: Likewise.
75294         * tests/unictype/test-pr_test.c: Likewise.
75295         * tests/unictype/test-predicate-part1.h: Likewise.
75296         * tests/unictype/test-scripts.c: Likewise.
75297         * tests/unictype/test-sy_c_ident.c: Likewise.
75298         * tests/unictype/test-sy_java_ident.c: Likewise.
75299         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
75300         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
75301         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
75302         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
75303         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
75304         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
75305         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
75306         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
75307         * tests/uninorm/test-canonical-decomposition.c: Likewise.
75308         * tests/uninorm/test-compat-decomposition.c: Likewise.
75309         * tests/uninorm/test-composition.c: Likewise.
75310         * tests/uninorm/test-decomposing-form.c: Likewise.
75311         * tests/uninorm/test-decomposition.c: Likewise.
75312         * tests/uninorm/test-u8-nfc.c: Likewise.
75313         * tests/uninorm/test-u8-nfd.c: Likewise.
75314         * tests/uninorm/test-u8-nfkc.c: Likewise.
75315         * tests/uninorm/test-u8-nfkd.c: Likewise.
75316         * tests/uninorm/test-u8-normcmp.c: Likewise.
75317         * tests/uninorm/test-u8-normcoll.c: Likewise.
75318         * tests/uninorm/test-u16-nfc.c: Likewise.
75319         * tests/uninorm/test-u16-nfd.c: Likewise.
75320         * tests/uninorm/test-u16-nfkc.c: Likewise.
75321         * tests/uninorm/test-u16-nfkd.c: Likewise.
75322         * tests/uninorm/test-u16-normcmp.c: Likewise.
75323         * tests/uninorm/test-u16-normcoll.c: Likewise.
75324         * tests/uninorm/test-u32-nfc.c: Likewise.
75325         * tests/uninorm/test-u32-nfd.c: Likewise.
75326         * tests/uninorm/test-u32-nfkc.c: Likewise.
75327         * tests/uninorm/test-u32-nfkd.c: Likewise.
75328         * tests/uninorm/test-u32-normalize-big.c: Likewise.
75329         * tests/uninorm/test-u32-normcmp.c: Likewise.
75330         * tests/uninorm/test-u32-normcoll.c: Likewise.
75331         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
75332         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
75333         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
75334         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
75335         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
75336         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
75337         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
75338         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
75339         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
75340         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
75341         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
75342         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
75343         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
75344         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
75345         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
75346         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
75347         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
75348         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
75349         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
75350         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
75351         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
75352         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
75353         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
75354         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
75355         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
75356         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
75357         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
75358         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
75359         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
75360         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
75361         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
75362         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
75363         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
75364         * tests/uniwidth/test-u8-strwidth.c: Likewise.
75365         * tests/uniwidth/test-u8-width.c: Likewise.
75366         * tests/uniwidth/test-u16-strwidth.c: Likewise.
75367         * tests/uniwidth/test-u16-width.c: Likewise.
75368         * tests/uniwidth/test-u32-strwidth.c: Likewise.
75369         * tests/uniwidth/test-u32-width.c: Likewise.
75370         * tests/uniwidth/test-uc_width.c: Likewise.
75371         * tests/uniwidth/test-uc_width2.c: Likewise.
75372         * modules/acl-tests (Files): Add tests/macros.h.
75373         * modules/areadlink-tests (Files): Likewise.
75374         * modules/areadlink-with-size-tests (Files): Likewise.
75375         * modules/areadlinkat-tests (Files): Likewise.
75376         * modules/areadlinkat-with-size-tests (Files): Likewise.
75377         * modules/argmatch-tests (Files): Likewise.
75378         * modules/argv-iter-tests (Files): Likewise.
75379         * modules/array-list-tests (Files): Likewise.
75380         * modules/array-mergesort-tests (Files): Likewise.
75381         * modules/array-oset-tests (Files): Likewise.
75382         * modules/avltree-list-tests (Files): Likewise.
75383         * modules/avltree-oset-tests (Files): Likewise.
75384         * modules/avltreehash-list-tests (Files): Likewise.
75385         * modules/base64-tests (Files): Likewise.
75386         * modules/binary-io-tests (Files): Likewise.
75387         * modules/bitrotate-tests (Files): Likewise.
75388         * modules/btowc-tests (Files): Likewise.
75389         * modules/byteswap-tests (Files): Likewise.
75390         * modules/c-ctype-tests (Files): Likewise.
75391         * modules/c-stack-tests (Files): Likewise.
75392         * modules/c-strcase-tests (Files): Likewise.
75393         * modules/c-strcasestr-tests (Files): Likewise.
75394         * modules/c-strstr-tests (Files): Likewise.
75395         * modules/canonicalize-lgpl-tests (Files): Likewise.
75396         * modules/canonicalize-tests (Files): Likewise.
75397         * modules/carray-list-tests (Files): Likewise.
75398         * modules/ceilf-tests (Files): Likewise.
75399         * modules/ceill-tests (Files): Likewise.
75400         * modules/chown-tests (Files): Likewise.
75401         * modules/cloexec-tests (Files): Likewise.
75402         * modules/copy-file-tests (Files): Likewise.
75403         * modules/count-one-bits-tests (Files): Likewise.
75404         * modules/dprintf-posix-tests (Files): Likewise.
75405         * modules/dup2-tests (Files): Likewise.
75406         * modules/dup3-tests (Files): Likewise.
75407         * modules/duplocale-tests (Files): Likewise.
75408         * modules/fbufmode-tests (Files): Likewise.
75409         * modules/fchdir-tests (Files): Likewise.
75410         * modules/fcntl-safer-tests (Files): Likewise.
75411         * modules/fcntl-tests (Files): Likewise.
75412         * modules/fdopendir-tests (Files): Likewise.
75413         * modules/fdutimensat-tests (Files): Likewise.
75414         * modules/fflush-tests (Files): Likewise.
75415         * modules/filevercmp-tests (Files): Likewise.
75416         * modules/flock-tests (Files): Likewise.
75417         * modules/floorf-tests (Files): Likewise.
75418         * modules/floorl-tests (Files): Likewise.
75419         * modules/fnmatch-tests (Files): Likewise.
75420         * modules/fopen-safer-tests (Files): Likewise.
75421         * modules/fopen-tests (Files): Likewise.
75422         * modules/fpending-tests (Files): Likewise.
75423         * modules/fprintf-posix-tests (Files): Likewise.
75424         * modules/fpurge-tests (Files): Likewise.
75425         * modules/freadable-tests (Files): Likewise.
75426         * modules/freadahead-tests (Files): Likewise.
75427         * modules/freading-tests (Files): Likewise.
75428         * modules/freadptr-tests (Files): Likewise.
75429         * modules/freadseek-tests (Files): Likewise.
75430         * modules/freopen-tests (Files): Likewise.
75431         * modules/frexp-nolibm-tests (Files): Likewise.
75432         * modules/frexp-tests (Files): Likewise.
75433         * modules/frexpl-nolibm-tests (Files): Likewise.
75434         * modules/frexpl-tests (Files): Likewise.
75435         * modules/fseek-tests (Files): Likewise.
75436         * modules/fseeko-tests (Files): Likewise.
75437         * modules/fstrcmp-tests (Files): Likewise.
75438         * modules/fsync-tests (Files): Likewise.
75439         * modules/ftell-tests (Files): Likewise.
75440         * modules/ftello-tests (Files): Likewise.
75441         * modules/func-tests (Files): Likewise.
75442         * modules/futimens-tests (Files): Likewise.
75443         * modules/fwritable-tests (Files): Likewise.
75444         * modules/fwriting-tests (Files): Likewise.
75445         * modules/getcwd-tests (Files): Likewise.
75446         * modules/getdate-tests (Files): Likewise.
75447         * modules/getdelim-tests (Files): Likewise.
75448         * modules/getdtablesize-tests (Files): Likewise.
75449         * modules/getgroups-tests (Files): Likewise.
75450         * modules/getline-tests (Files): Likewise.
75451         * modules/getndelim2-tests (Files): Likewise.
75452         * modules/glob-tests (Files): Likewise.
75453         * modules/hash-tests (Files): Likewise.
75454         * modules/i-ring-tests (Files): Likewise.
75455         * modules/iconv-tests (Files): Likewise.
75456         * modules/iconv_open-utf-tests (Files): Likewise.
75457         * modules/idpriv-drop-tests (Files): Likewise.
75458         * modules/idpriv-droptemp-tests (Files): Likewise.
75459         * modules/inet_ntop-tests (Files): Likewise.
75460         * modules/inet_pton-tests (Files): Likewise.
75461         * modules/isblank-tests (Files): Likewise.
75462         * modules/isfinite-tests (Files): Likewise.
75463         * modules/isinf-tests (Files): Likewise.
75464         * modules/isnan-tests (Files): Likewise.
75465         * modules/isnand-nolibm-tests (Files): Likewise.
75466         * modules/isnand-tests (Files): Likewise.
75467         * modules/isnanf-nolibm-tests (Files): Likewise.
75468         * modules/isnanf-tests (Files): Likewise.
75469         * modules/isnanl-nolibm-tests (Files): Likewise.
75470         * modules/isnanl-tests (Files): Likewise.
75471         * modules/lchown-tests (Files): Likewise.
75472         * modules/ldexpl-tests (Files): Likewise.
75473         * modules/link-tests (Files): Likewise.
75474         * modules/linkat-tests (Files): Likewise.
75475         * modules/linked-list-tests (Files): Likewise.
75476         * modules/linkedhash-list-tests (Files): Likewise.
75477         * modules/localename-tests (Files): Likewise.
75478         * modules/lseek-tests (Files): Likewise.
75479         * modules/lstat-tests (Files): Likewise.
75480         * modules/mbmemcasecmp-tests (Files): Likewise.
75481         * modules/mbmemcasecoll-tests (Files): Likewise.
75482         * modules/mbrtowc-tests (Files): Likewise.
75483         * modules/mbscasecmp-tests (Files): Likewise.
75484         * modules/mbscasestr-tests (Files): Likewise.
75485         * modules/mbschr-tests (Files): Likewise.
75486         * modules/mbscspn-tests (Files): Likewise.
75487         * modules/mbsinit-tests (Files): Likewise.
75488         * modules/mbsncasecmp-tests (Files): Likewise.
75489         * modules/mbsnrtowcs-tests (Files): Likewise.
75490         * modules/mbspbrk-tests (Files): Likewise.
75491         * modules/mbspcasecmp-tests (Files): Likewise.
75492         * modules/mbsrchr-tests (Files): Likewise.
75493         * modules/mbsrtowcs-tests (Files): Likewise.
75494         * modules/mbsspn-tests (Files): Likewise.
75495         * modules/mbsstr-tests (Files): Likewise.
75496         * modules/memchr-tests (Files): Likewise.
75497         * modules/memchr2-tests (Files): Likewise.
75498         * modules/memcmp-tests (Files): Likewise.
75499         * modules/memmem-tests (Files): Likewise.
75500         * modules/memrchr-tests (Files): Likewise.
75501         * modules/mkdir-tests (Files): Likewise.
75502         * modules/mkfifo-tests (Files): Likewise.
75503         * modules/mkfifoat-tests (Files): Likewise.
75504         * modules/mknod-tests (Files): Likewise.
75505         * modules/nanosleep-tests (Files): Likewise.
75506         * modules/nl_langinfo-tests (Files): Likewise.
75507         * modules/obstack-printf-tests (Files): Likewise.
75508         * modules/open-tests (Files): Likewise.
75509         * modules/openat-tests (Files): Likewise.
75510         * modules/pipe-filter-gi-tests (Files): Likewise.
75511         * modules/pipe-filter-ii-tests (Files): Likewise.
75512         * modules/pipe2-tests (Files): Likewise.
75513         * modules/popen-safer-tests (Files): Likewise.
75514         * modules/popen-tests (Files): Likewise.
75515         * modules/posixtm-tests (Files): Likewise.
75516         * modules/pread-tests (Files): Likewise.
75517         * modules/printf-frexp-tests (Files): Likewise.
75518         * modules/printf-frexpl-tests (Files): Likewise.
75519         * modules/printf-posix-tests (Files): Likewise.
75520         * modules/priv-set-tests (Files): Likewise.
75521         * modules/quotearg-tests (Files): Likewise.
75522         * modules/random_r-tests (Files): Likewise.
75523         * modules/rawmemchr-tests (Files): Likewise.
75524         * modules/rbtree-list-tests (Files): Likewise.
75525         * modules/rbtree-oset-tests (Files): Likewise.
75526         * modules/rbtreehash-list-tests (Files): Likewise.
75527         * modules/readlink-tests (Files): Likewise.
75528         * modules/remove-tests (Files): Likewise.
75529         * modules/rename-tests (Files): Likewise.
75530         * modules/renameat-tests (Files): Likewise.
75531         * modules/rmdir-tests (Files): Likewise.
75532         * modules/round-tests (Files): Likewise.
75533         * modules/roundf-tests (Files): Likewise.
75534         * modules/roundl-tests (Files): Likewise.
75535         * modules/safe-alloc-tests (Files): Likewise.
75536         * modules/setenv-tests (Files): Likewise.
75537         * modules/sigaction-tests (Files): Likewise.
75538         * modules/signbit-tests (Files): Likewise.
75539         * modules/sleep-tests (Files): Likewise.
75540         * modules/snprintf-posix-tests (Files): Likewise.
75541         * modules/snprintf-tests (Files): Likewise.
75542         * modules/sprintf-posix-tests (Files): Likewise.
75543         * modules/stat-tests (Files): Likewise.
75544         * modules/stat-time-tests (Files): Likewise.
75545         * modules/strcasestr-tests (Files): Likewise.
75546         * modules/strchrnul-tests (Files): Likewise.
75547         * modules/strerror-tests (Files): Likewise.
75548         * modules/striconv-tests (Files): Likewise.
75549         * modules/striconveh-tests (Files): Likewise.
75550         * modules/striconveha-tests (Files): Likewise.
75551         * modules/strsignal-tests (Files): Likewise.
75552         * modules/strstr-tests (Files): Likewise.
75553         * modules/strtod-tests (Files): Likewise.
75554         * modules/strverscmp-tests (Files): Likewise.
75555         * modules/symlink-tests (Files): Likewise.
75556         * modules/symlinkat-tests (Files): Likewise.
75557         * modules/trunc-tests (Files): Likewise.
75558         * modules/truncf-tests (Files): Likewise.
75559         * modules/truncl-tests (Files): Likewise.
75560         * modules/uname-tests (Files): Likewise.
75561         * modules/unicase/cased-tests (Files): Likewise.
75562         * modules/unicase/ignorable-tests (Files): Likewise.
75563         * modules/unicase/locale-language-tests (Files): Likewise.
75564         * modules/unicase/tolower-tests (Files): Likewise.
75565         * modules/unicase/totitle-tests (Files): Likewise.
75566         * modules/unicase/toupper-tests (Files): Likewise.
75567         * modules/unicase/u8-casecmp-tests (Files): Likewise.
75568         * modules/unicase/u8-casecoll-tests (Files): Likewise.
75569         * modules/unicase/u8-casefold-tests (Files): Likewise.
75570         * modules/unicase/u8-is-cased-tests (Files): Likewise.
75571         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
75572         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
75573         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
75574         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
75575         * modules/unicase/u8-tolower-tests (Files): Likewise.
75576         * modules/unicase/u8-totitle-tests (Files): Likewise.
75577         * modules/unicase/u8-toupper-tests (Files): Likewise.
75578         * modules/unicase/u16-casecmp-tests (Files): Likewise.
75579         * modules/unicase/u16-casecoll-tests (Files): Likewise.
75580         * modules/unicase/u16-casefold-tests (Files): Likewise.
75581         * modules/unicase/u16-is-cased-tests (Files): Likewise.
75582         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
75583         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
75584         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
75585         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
75586         * modules/unicase/u16-tolower-tests (Files): Likewise.
75587         * modules/unicase/u16-totitle-tests (Files): Likewise.
75588         * modules/unicase/u16-toupper-tests (Files): Likewise.
75589         * modules/unicase/u32-casecmp-tests (Files): Likewise.
75590         * modules/unicase/u32-casecoll-tests (Files): Likewise.
75591         * modules/unicase/u32-casefold-tests (Files): Likewise.
75592         * modules/unicase/u32-is-cased-tests (Files): Likewise.
75593         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
75594         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
75595         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
75596         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
75597         * modules/unicase/u32-tolower-tests (Files): Likewise.
75598         * modules/unicase/u32-totitle-tests (Files): Likewise.
75599         * modules/unicase/u32-toupper-tests (Files): Likewise.
75600         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
75601         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
75602         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
75603         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
75604         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
75605         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
75606         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
75607         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
75608         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
75609         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
75610         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
75611         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
75612         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
75613         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
75614         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
75615         * modules/unictype/bidicategory-name-tests (Files): Likewise.
75616         * modules/unictype/bidicategory-of-tests (Files): Likewise.
75617         * modules/unictype/bidicategory-test-tests (Files): Likewise.
75618         * modules/unictype/block-list-tests (Files): Likewise.
75619         * modules/unictype/block-of-tests (Files): Likewise.
75620         * modules/unictype/block-test-tests (Files): Likewise.
75621         * modules/unictype/category-C-tests (Files): Likewise.
75622         * modules/unictype/category-Cc-tests (Files): Likewise.
75623         * modules/unictype/category-Cf-tests (Files): Likewise.
75624         * modules/unictype/category-Cn-tests (Files): Likewise.
75625         * modules/unictype/category-Co-tests (Files): Likewise.
75626         * modules/unictype/category-Cs-tests (Files): Likewise.
75627         * modules/unictype/category-L-tests (Files): Likewise.
75628         * modules/unictype/category-Ll-tests (Files): Likewise.
75629         * modules/unictype/category-Lm-tests (Files): Likewise.
75630         * modules/unictype/category-Lo-tests (Files): Likewise.
75631         * modules/unictype/category-Lt-tests (Files): Likewise.
75632         * modules/unictype/category-Lu-tests (Files): Likewise.
75633         * modules/unictype/category-M-tests (Files): Likewise.
75634         * modules/unictype/category-Mc-tests (Files): Likewise.
75635         * modules/unictype/category-Me-tests (Files): Likewise.
75636         * modules/unictype/category-Mn-tests (Files): Likewise.
75637         * modules/unictype/category-N-tests (Files): Likewise.
75638         * modules/unictype/category-Nd-tests (Files): Likewise.
75639         * modules/unictype/category-Nl-tests (Files): Likewise.
75640         * modules/unictype/category-No-tests (Files): Likewise.
75641         * modules/unictype/category-P-tests (Files): Likewise.
75642         * modules/unictype/category-Pc-tests (Files): Likewise.
75643         * modules/unictype/category-Pd-tests (Files): Likewise.
75644         * modules/unictype/category-Pe-tests (Files): Likewise.
75645         * modules/unictype/category-Pf-tests (Files): Likewise.
75646         * modules/unictype/category-Pi-tests (Files): Likewise.
75647         * modules/unictype/category-Po-tests (Files): Likewise.
75648         * modules/unictype/category-Ps-tests (Files): Likewise.
75649         * modules/unictype/category-S-tests (Files): Likewise.
75650         * modules/unictype/category-Sc-tests (Files): Likewise.
75651         * modules/unictype/category-Sk-tests (Files): Likewise.
75652         * modules/unictype/category-Sm-tests (Files): Likewise.
75653         * modules/unictype/category-So-tests (Files): Likewise.
75654         * modules/unictype/category-Z-tests (Files): Likewise.
75655         * modules/unictype/category-Zl-tests (Files): Likewise.
75656         * modules/unictype/category-Zp-tests (Files): Likewise.
75657         * modules/unictype/category-Zs-tests (Files): Likewise.
75658         * modules/unictype/category-and-not-tests (Files): Likewise.
75659         * modules/unictype/category-and-tests (Files): Likewise.
75660         * modules/unictype/category-byname-tests (Files): Likewise.
75661         * modules/unictype/category-name-tests (Files): Likewise.
75662         * modules/unictype/category-none-tests (Files): Likewise.
75663         * modules/unictype/category-of-tests (Files): Likewise.
75664         * modules/unictype/category-or-tests (Files): Likewise.
75665         * modules/unictype/category-test-withtable-tests (Files): Likewise.
75666         * modules/unictype/combining-class-tests (Files): Likewise.
75667         * modules/unictype/ctype-alnum-tests (Files): Likewise.
75668         * modules/unictype/ctype-alpha-tests (Files): Likewise.
75669         * modules/unictype/ctype-blank-tests (Files): Likewise.
75670         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
75671         * modules/unictype/ctype-digit-tests (Files): Likewise.
75672         * modules/unictype/ctype-graph-tests (Files): Likewise.
75673         * modules/unictype/ctype-lower-tests (Files): Likewise.
75674         * modules/unictype/ctype-print-tests (Files): Likewise.
75675         * modules/unictype/ctype-punct-tests (Files): Likewise.
75676         * modules/unictype/ctype-space-tests (Files): Likewise.
75677         * modules/unictype/ctype-upper-tests (Files): Likewise.
75678         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
75679         * modules/unictype/decimal-digit-tests (Files): Likewise.
75680         * modules/unictype/digit-tests (Files): Likewise.
75681         * modules/unictype/mirror-tests (Files): Likewise.
75682         * modules/unictype/numeric-tests (Files): Likewise.
75683         * modules/unictype/property-alphabetic-tests (Files): Likewise.
75684         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
75685         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
75686         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
75687         Likewise.
75688         * modules/unictype/property-bidi-block-separator-tests (Files):
75689         Likewise.
75690         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
75691         Likewise.
75692         * modules/unictype/property-bidi-common-separator-tests (Files):
75693         Likewise.
75694         * modules/unictype/property-bidi-control-tests (Files): Likewise.
75695         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
75696         Likewise.
75697         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
75698         Likewise.
75699         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
75700         Likewise.
75701         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
75702         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
75703         Likewise.
75704         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
75705         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
75706         Likewise.
75707         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
75708         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
75709         * modules/unictype/property-bidi-segment-separator-tests (Files):
75710         Likewise.
75711         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
75712         * modules/unictype/property-byname-tests (Files): Likewise.
75713         * modules/unictype/property-combining-tests (Files): Likewise.
75714         * modules/unictype/property-composite-tests (Files): Likewise.
75715         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
75716         * modules/unictype/property-dash-tests (Files): Likewise.
75717         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
75718         * modules/unictype/property-default-ignorable-code-point-tests (Files):
75719         Likewise.
75720         * modules/unictype/property-deprecated-tests (Files): Likewise.
75721         * modules/unictype/property-diacritic-tests (Files): Likewise.
75722         * modules/unictype/property-extender-tests (Files): Likewise.
75723         * modules/unictype/property-format-control-tests (Files): Likewise.
75724         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
75725         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
75726         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
75727         * modules/unictype/property-hex-digit-tests (Files): Likewise.
75728         * modules/unictype/property-hyphen-tests (Files): Likewise.
75729         * modules/unictype/property-id-continue-tests (Files): Likewise.
75730         * modules/unictype/property-id-start-tests (Files): Likewise.
75731         * modules/unictype/property-ideographic-tests (Files): Likewise.
75732         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
75733         * modules/unictype/property-ids-trinary-operator-tests (Files):
75734         Likewise.
75735         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
75736         * modules/unictype/property-iso-control-tests (Files): Likewise.
75737         * modules/unictype/property-join-control-tests (Files): Likewise.
75738         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
75739         * modules/unictype/property-line-separator-tests (Files): Likewise.
75740         * modules/unictype/property-logical-order-exception-tests (Files):
75741         Likewise.
75742         * modules/unictype/property-lowercase-tests (Files): Likewise.
75743         * modules/unictype/property-math-tests (Files): Likewise.
75744         * modules/unictype/property-non-break-tests (Files): Likewise.
75745         * modules/unictype/property-not-a-character-tests (Files): Likewise.
75746         * modules/unictype/property-numeric-tests (Files): Likewise.
75747         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
75748         * modules/unictype/property-other-default-ignorable-code-point-tests
75749         (Files): Likewise.
75750         * modules/unictype/property-other-grapheme-extend-tests (Files):
75751         Likewise.
75752         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
75753         * modules/unictype/property-other-id-start-tests (Files): Likewise.
75754         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
75755         * modules/unictype/property-other-math-tests (Files): Likewise.
75756         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
75757         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
75758         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
75759         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
75760         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
75761         * modules/unictype/property-private-use-tests (Files): Likewise.
75762         * modules/unictype/property-punctuation-tests (Files): Likewise.
75763         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
75764         * modules/unictype/property-radical-tests (Files): Likewise.
75765         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
75766         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
75767         * modules/unictype/property-space-tests (Files): Likewise.
75768         * modules/unictype/property-terminal-punctuation-tests (Files):
75769         Likewise.
75770         * modules/unictype/property-test-tests (Files): Likewise.
75771         * modules/unictype/property-titlecase-tests (Files): Likewise.
75772         * modules/unictype/property-unassigned-code-value-tests (Files):
75773         Likewise.
75774         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
75775         * modules/unictype/property-uppercase-tests (Files): Likewise.
75776         * modules/unictype/property-variation-selector-tests (Files): Likewise.
75777         * modules/unictype/property-white-space-tests (Files): Likewise.
75778         * modules/unictype/property-xid-continue-tests (Files): Likewise.
75779         * modules/unictype/property-xid-start-tests (Files): Likewise.
75780         * modules/unictype/property-zero-width-tests (Files): Likewise.
75781         * modules/unictype/scripts-tests (Files): Likewise.
75782         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
75783         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
75784         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
75785         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
75786         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
75787         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
75788         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
75789         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
75790         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
75791         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
75792         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
75793         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
75794         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
75795         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
75796         * modules/uninorm/composition-tests (Files): Likewise.
75797         * modules/uninorm/decomposing-form-tests (Files): Likewise.
75798         * modules/uninorm/decomposition-tests (Files): Likewise.
75799         * modules/uninorm/filter-tests (Files): Likewise.
75800         * modules/uninorm/nfc-tests (Files): Likewise.
75801         * modules/uninorm/nfd-tests (Files): Likewise.
75802         * modules/uninorm/nfkc-tests (Files): Likewise.
75803         * modules/uninorm/nfkd-tests (Files): Likewise.
75804         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
75805         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
75806         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
75807         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
75808         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
75809         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
75810         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
75811         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
75812         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
75813         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
75814         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
75815         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
75816         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
75817         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
75818         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
75819         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
75820         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
75821         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
75822         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
75823         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
75824         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
75825         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
75826         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
75827         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
75828         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
75829         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
75830         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
75831         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
75832         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
75833         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
75834         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
75835         * modules/uniwidth/u8-width-tests (Files): Likewise.
75836         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
75837         * modules/uniwidth/u16-width-tests (Files): Likewise.
75838         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
75839         * modules/uniwidth/u32-width-tests (Files): Likewise.
75840         * modules/uniwidth/width-tests (Files): Likewise.
75841         * modules/unlink-tests (Files): Likewise.
75842         * modules/unsetenv-tests (Files): Likewise.
75843         * modules/usleep-tests (Files): Likewise.
75844         * modules/utimens-tests (Files): Likewise.
75845         * modules/utimensat-tests (Files): Likewise.
75846         * modules/vasnprintf-posix-tests (Files): Likewise.
75847         * modules/vasnprintf-tests (Files): Likewise.
75848         * modules/vasprintf-posix-tests (Files): Likewise.
75849         * modules/vasprintf-tests (Files): Likewise.
75850         * modules/vdprintf-posix-tests (Files): Likewise.
75851         * modules/vfprintf-posix-tests (Files): Likewise.
75852         * modules/vprintf-posix-tests (Files): Likewise.
75853         * modules/vsnprintf-posix-tests (Files): Likewise.
75854         * modules/vsnprintf-tests (Files): Likewise.
75855         * modules/vsprintf-posix-tests (Files): Likewise.
75856         * modules/wcrtomb-tests (Files): Likewise.
75857         * modules/wcsnrtombs-tests (Files): Likewise.
75858         * modules/wcsrtombs-tests (Files): Likewise.
75859         * modules/wctype-tests (Files): Likewise.
75860         * modules/wcwidth-tests (Files): Likewise.
75861         * modules/xmemdup0-tests (Files): Likewise.
75862         * modules/xprintf-posix-tests (Files): Likewise.
75863         * modules/xvasprintf-tests (Files): Likewise.
75865 2009-12-24  Eric Blake  <ebb9@byu.net>
75867         test-nanosleep: fix typo
75868         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
75869         patch.
75870         Reported by Bruno Haible.
75872 2009-12-24  Bruno Haible  <bruno@clisp.org>
75874         Reduce namespace pollution on glibc systems.
75875         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
75876         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
75877         systems.
75878         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
75879         <getopt.h> on glibc systems.
75880         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
75881         systems.
75882         * lib/fcntl.c: Include <unistd.h> here instead.
75884 2009-12-24  Bruno Haible  <bruno@clisp.org>
75886         * lib/stdlib.in.h (includes): Fix typo in today's commit.
75888 2009-12-24  Eric Blake  <ebb9@byu.net>
75890         tests: add signature checks
75891         * tests/signature.h (SIGNATURE_CHECK): New file.
75892         * modules/atexit-tests (Files): Use it.
75893         * modules/btowc-tests (Files): Likewise.
75894         * modules/canonicalize-lgpl-tests (Files): Likewise.
75895         * modules/ceilf-tests (Files): Likewise.
75896         * modules/ceill-tests (Files): Likewise.
75897         * modules/chown-tests (Files): Likewise.
75898         * modules/dprintf-posix-tests (Files): Likewise.
75899         * modules/dup2-tests (Files): Likewise.
75900         * modules/dup3-tests (Files): Likewise.
75901         * modules/duplocale-tests (Files): Likewise.
75902         * modules/fchdir-tests (Files): Likewise.
75903         * modules/fcntl-tests (Files): Likewise.
75904         * modules/fdopendir-tests (Files): Likewise.
75905         * modules/fflush-tests (Files): Likewise.
75906         * modules/flock-tests (Files): Likewise.
75907         * modules/floorf-tests (Files): Likewise.
75908         * modules/floorl-tests (Files): Likewise.
75909         * modules/fnmatch-tests (Files): Likewise.
75910         * modules/fopen-tests (Files): Likewise.
75911         * modules/fprintf-posix-tests (Files): Likewise.
75912         * modules/freopen-tests (Files): Likewise.
75913         * modules/frexp-nolibm-tests (Files): Likewise.
75914         * modules/frexp-tests (Files): Likewise.
75915         * modules/frexpl-nolibm-tests (Files): Likewise.
75916         * modules/frexpl-tests (Files): Likewise.
75917         * modules/fseek-tests (Files): Likewise.
75918         * modules/fseeko-tests (Files): Likewise.
75919         * modules/fsync-tests (Files): Likewise.
75920         * modules/ftell-tests (Files): Likewise.
75921         * modules/ftello-tests (Files): Likewise.
75922         * modules/futimens-tests (Files): Likewise.
75923         * modules/getaddrinfo-tests (Files): Likewise.
75924         * modules/getcwd-tests (Files): Likewise.
75925         * modules/getdelim-tests (Files): Likewise.
75926         * modules/getdtablesize-tests (Files): Likewise.
75927         * modules/getgroups-tests (Files): Likewise.
75928         * modules/gethostname-tests (Files): Likewise.
75929         * modules/getline-tests (Files): Likewise.
75930         * modules/getopt-posix-tests (Files): Likewise.
75931         * modules/gettimeofday-tests (Files): Likewise.
75932         * modules/glob-tests (Files): Likewise.
75933         * modules/iconv-tests (Files): Likewise.
75934         * modules/inet_ntop-tests (Files): Likewise.
75935         * modules/inet_pton-tests (Files): Likewise.
75936         * modules/isblank-tests (Files): Likewise.
75937         * modules/lchown-tests (Files): Likewise.
75938         * modules/ldexpl-tests (Files): Likewise.
75939         * modules/link-tests (Files): Likewise.
75940         * modules/linkat-tests (Files): Likewise.
75941         * modules/lseek-tests (Files): Likewise.
75942         * modules/lstat-tests (Files): Likewise.
75943         * modules/mbrtowc-tests (Files): Likewise.
75944         * modules/mbsinit-tests (Files): Likewise.
75945         * modules/mbsnrtowcs-tests (Files): Likewise.
75946         * modules/mbsrtowcs-tests (Files): Likewise.
75947         * modules/memchr-tests (Files): Likewise.
75948         * modules/memcmp-tests (Files): Likewise.
75949         * modules/memmem-tests (Files): Likewise.
75950         * modules/memrchr-tests (Files): Likewise.
75951         * modules/mkdir-tests (Files): Likewise.
75952         * modules/mkfifo-tests (Files): Likewise.
75953         * modules/mkfifoat-tests (Files): Likewise.
75954         * modules/mknod-tests (Files): Likewise.
75955         * modules/nanosleep-tests (Files): Likewise.
75956         * modules/nl_langinfo-tests (Files): Likewise.
75957         * modules/obstack-printf-tests (Files): Likewise.
75958         * modules/open-tests (Files): Likewise.
75959         * modules/openat-tests (Files): Likewise.
75960         * modules/perror-tests (Files): Likewise.
75961         * modules/pipe2-tests (Files): Likewise.
75962         * modules/poll-tests (Files): Likewise.
75963         * modules/popen-tests (Files): Likewise.
75964         * modules/posix_spawn-tests (Files): Likewise.
75965         * modules/posix_spawnp-tests (Files): Likewise.
75966         * modules/pread-tests (Files): Likewise.
75967         * modules/printf-posix-tests (Files): Likewise.
75968         * modules/pty-tests (Files): Likewise.
75969         * modules/random_r-tests (Files): Likewise.
75970         * modules/rawmemchr-tests (Files): Likewise.
75971         * modules/readlink-tests (Files): Likewise.
75972         * modules/remove-tests (Files): Likewise.
75973         * modules/rename-tests (Files): Likewise.
75974         * modules/renameat-tests (Files): Likewise.
75975         * modules/rmdir-tests (Files): Likewise.
75976         * modules/round-tests (Files): Likewise.
75977         * modules/roundf-tests (Files): Likewise.
75978         * modules/roundl-tests (Files): Likewise.
75979         * modules/select-tests (Files): Likewise.
75980         * modules/setenv-tests (Files): Likewise.
75981         * modules/sigaction-tests (Files): Likewise.
75982         * modules/sleep-tests (Files): Likewise.
75983         * modules/snprintf-posix-tests (Files): Likewise.
75984         * modules/snprintf-tests (Files): Likewise.
75985         * modules/sprintf-posix-tests (Files): Likewise.
75986         * modules/stat-tests (Files): Likewise.
75987         * modules/strcasestr-tests (Files): Likewise.
75988         * modules/strchrnul-tests (Files): Likewise.
75989         * modules/strerror-tests (Files): Likewise.
75990         * modules/strsignal-tests (Files): Likewise.
75991         * modules/strstr-tests (Files): Likewise.
75992         * modules/strtod-tests (Files): Likewise.
75993         * modules/strverscmp-tests (Files): Likewise.
75994         * modules/symlink-tests (Files): Likewise.
75995         * modules/symlinkat-tests (Files): Likewise.
75996         * modules/times-tests (Files): Likewise.
75997         * modules/trunc-tests (Files): Likewise.
75998         * modules/truncf-tests (Files): Likewise.
75999         * modules/truncl-tests (Files): Likewise.
76000         * modules/tsearch-tests (Files): Likewise.
76001         * modules/uname-tests (Files): Likewise.
76002         * modules/unlink-tests (Files): Likewise.
76003         * modules/unsetenv-tests (Files): Likewise.
76004         * modules/usleep-tests (Files): Likewise.
76005         * modules/utimensat-tests (Files): Likewise.
76006         * modules/vasprintf-tests (Files): Likewise.
76007         * modules/vdprintf-posix-tests (Files): Likewise.
76008         * modules/vfprintf-posix-tests (Files): Likewise.
76009         * modules/vprintf-posix-tests (Files): Likewise.
76010         * modules/vsnprintf-posix-tests (Files): Likewise.
76011         * modules/vsnprintf-tests (Files): Likewise.
76012         * modules/vsprintf-posix-tests (Files): Likewise.
76013         * modules/wcrtomb-tests (Files): Likewise.
76014         * modules/wcsnrtombs-tests (Files): Likewise.
76015         * modules/wcsrtombs-tests (Files): Likewise.
76016         * modules/wcwidth-tests (Files): Likewise.
76017         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
76018         * tests/test-isinf.c (isinf): Likewise.
76019         * tests/test-isnan.c (isnan): Likewise.
76020         * tests/test-signbit.c (signbit): Likewise.
76021         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
76022         declaration, either as macro or with correct signature.
76023         (select): Ensure function under test is declared with correct
76024         signature in correct header.
76025         * tests/test-atexit.c (atexit): Likewise.
76026         * tests/test-btowc.c (btowc): Likewise.
76027         * tests/test-canonicalize-lgpl.c (realpath)
76028         (canonicalize_file_name): Likewise.
76029         * tests/test-ceilf1.c (ceilf): Likewise.
76030         * tests/test-ceill.c (ceill): Likewise.
76031         * tests/test-chown.c (chown): Likewise.
76032         * tests/test-dprintf-posix.c (dprintf): Likewise.
76033         * tests/test-dup2.c (dup2): Likewise.
76034         * tests/test-dup3.c (dup3): Likewise.
76035         * tests/test-duplocale.c (duplocale): Likewise.
76036         * tests/test-fchdir.c (fchdir): Likewise.
76037         * tests/test-fchownat.c (fchownat): Likewise.
76038         * tests/test-fcntl.c (fcntl): Likewise.
76039         * tests/test-fdopendir.c (fdopendir): Likewise.
76040         * tests/test-fflush.c (fflush): Likewise.
76041         * tests/test-flock.c (flock): Likewise.
76042         * tests/test-floorf1.c (floorf): Likewise.
76043         * tests/test-floorl.c (floorl): Likewise.
76044         * tests/test-fnmatch.c (fnmatch): Likewise.
76045         * tests/test-fopen.c (fopen): Likewise.
76046         * tests/test-fprintf-posix.c (fprintf): Likewise.
76047         * tests/test-freopen.c (freopen): Likewise.
76048         * tests/test-frexp.c (frexp): Likewise.
76049         * tests/test-frexpl.c (frexpl): Likewise.
76050         * tests/test-fseek.c (fseek): Likewise.
76051         * tests/test-fseeko.c (fseeko): Likewise.
76052         * tests/test-fstatat.c (fstatat): Likewise.
76053         * tests/test-fsync.c (fsync): Likewise.
76054         * tests/test-ftell.c (ftell): Likewise.
76055         * tests/test-ftello.c (ftello): Likewise.
76056         * tests/test-futimens.c (futimens): Likewise.
76057         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
76058         (gai_strerror): Likewise.
76059         * tests/test-getcwd.c (getcwd): Likewise.
76060         * tests/test-getdelim.c (getdelim): Likewise.
76061         * tests/test-getdtablesize.c (getdtablesize): Likewise.
76062         * tests/test-getgroups.c (getgroups): Likewise.
76063         * tests/test-gethostname.c (gethostname): Likewise.
76064         * tests/test-getline.c (getline): Likewise.
76065         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
76066         Likewise.
76067         * tests/test-gettimeofday.c (gettimeofday): Likewise.
76068         * tests/test-glob.c (glob, globfree): Likewise.
76069         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
76070         * tests/test-inet_ntop.c (inet_ntop): Likewise.
76071         * tests/test-inet_pton.c (inet_pton): Likewise.
76072         * tests/test-isblank.c (isblank): Likewise.
76073         * tests/test-lchown.c (lchown): Likewise.
76074         * tests/test-ldexpl.c (ldexpl): Likewise.
76075         * tests/test-link.c (link): Likewise.
76076         * tests/test-linkat.c (linkat): Likewise.
76077         * tests/test-lseek.c (lseek): Likewise.
76078         * tests/test-lstat.c (lstat): Likewise.
76079         * tests/test-mbrtowc.c (mbrtowc): Likewise.
76080         * tests/test-mbsinit.c (mbsinit): Likewise.
76081         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
76082         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
76083         * tests/test-memchr.c (memchr): Likewise.
76084         * tests/test-memcmp.c (memcmp): Likewise.
76085         * tests/test-memmem.c (memmem): Likewise.
76086         * tests/test-memrchr.c (memrchr): Likewise.
76087         * tests/test-mkdir.c (mkdir): Likewise.
76088         * tests/test-mkdirat.c (mkdirat): Likewise.
76089         * tests/test-mkfifo.c (mkfifo): Likewise.
76090         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
76091         * tests/test-mknod.c (mknod): Likewise.
76092         * tests/test-nanosleep.c (nanosleep): Likewise.
76093         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
76094         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
76095         Likewise.
76096         * tests/test-open.c (open): Likewise.
76097         * tests/test-openat.c (openat): Likewise.
76098         * tests/test-perror.c (perror): Likewise.
76099         * tests/test-pipe2.c (pipe2): Likewise.
76100         * tests/test-poll.c (poll): Likewise.
76101         * tests/test-popen.c (popen, pclose): Likewise.
76102         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
76103         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
76104         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
76105         (posix_spawn_file_actions_destroy)
76106         (posix_spawn_file_actions_addclose)
76107         (posix_spawn_file_actions_addopen)
76108         (posix_spawn_file_actions_adddup2): Likewise.
76109         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
76110         * tests/test-pread.c (pread): Likewise.
76111         * tests/test-printf-posix.c (printf): Likewise.
76112         * tests/test-pty.c (openpty, forkpty): Likewise.
76113         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
76114         (random_r): Likewise.
76115         * tests/test-rawmemchr.c (rawmemchr): Likewise.
76116         * tests/test-readlink.c (readlink): Likewise.
76117         * tests/test-remove.c (remove): Likewise.
76118         * tests/test-rename.c (rename): Likewise.
76119         * tests/test-renameat.c (renameat): Likewise.
76120         * tests/test-rmdir.c (rmdir): Likewise.
76121         * tests/test-round1.c (round): Likewise.
76122         * tests/test-roundf1.c (roundf): Likewise.
76123         * tests/test-roundl.c (roundl): Likewise.
76124         * tests/test-setenv.c (setenv): Likewise.
76125         * tests/test-sigaction.c (sigaction): Likewise.
76126         * tests/test-sleep.c (sleep): Likewise.
76127         * tests/test-snprintf.c (snprintf): Likewise.
76128         * tests/test-sprintf-posix.c (sprintf): Likewise.
76129         * tests/test-stat.c (stat): Likewise.
76130         * tests/test-stpncpy.c (stpncpy): Likewise.
76131         * tests/test-strcasestr.c (strcasestr): Likewise.
76132         * tests/test-strchrnul.c (strchrnul): Likewise.
76133         * tests/test-strerror.c (strerror): Likewise.
76134         * tests/test-strsignal.c (strsignal): Likewise.
76135         * tests/test-strstr.c (strstr): Likewise.
76136         * tests/test-strtod.c (strtod): Likewise.
76137         * tests/test-strverscmp.c (strverscmp): Likewise.
76138         * tests/test-symlink.c (symlink): Likewise.
76139         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
76140         * tests/test-times.c (times): Likewise.
76141         * tests/test-trunc1.c (trunc): Likewise.
76142         * tests/test-truncf1.c (truncf): Likewise.
76143         * tests/test-truncl.c (truncl): Likewise.
76144         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
76145         Likewise.
76146         * tests/test-uname.c (uname): Likewise.
76147         * tests/test-unlink.c (unlink): Likewise.
76148         * tests/test-unlinkat.c (unlinkat): Likewise.
76149         * tests/test-unsetenv.c (unsetenv): Likewise.
76150         * tests/test-usleep.c (usleep): Likewise.
76151         * tests/test-utimensat.c (utimensat): Likewise.
76152         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
76153         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
76154         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
76155         * tests/test-vprintf-posix.c (vprintf): Likewise.
76156         * tests/test-vsnprintf.c (vsnprintf): Likewise.
76157         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
76158         * tests/test-wcrtomb.c (wcrtomb): Likewise.
76159         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
76160         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
76161         * tests/test-wcwidth.c (wcwidth): Likewise.
76163         build: pull in conditional headers during GNULIB_POSIXCHECK
76164         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
76165         definitions from any conditionally-included headers.
76166         * lib/stdlib.in.h (includes): Likewise.
76167         * lib/unistd.in.h (includes): Likewise.
76169 2009-12-24  Bruno Haible  <bruno@clisp.org>
76171         * tests/test-argv-iter.c: Include header file being tested immediately
76172         after config.h.
76173         * tests/test-base64.c: Likewise.
76174         * tests/test-flock.c: Likewise.
76175         * tests/test-fsync.c: Likewise.
76176         * tests/test-getdate.c: Likewise.
76177         * tests/test-getndelim2.c: Likewise.
76178         * tests/test-isfinite.c: Likewise.
76179         * tests/test-isinf.c: Likewise.
76180         * tests/test-strerror.c: Likewise.
76181         * tests/test-strsignal.c: Likewise.
76183 2009-12-23  Eric Blake  <ebb9@byu.net>
76185         unistd: work around cygwin bug
76186         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
76187         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
76188         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
76190 2009-12-23  Bruno Haible  <bruno@clisp.org>
76192         localename: More tests.
76193         * tests/test-localename.c (SIZEOF): New macro.
76194         (categories): New variable.
76195         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
76196         test_locale_name_default): Add test w.r.t. thread locale.
76197         (test_locale_name_thread): New function.
76198         (main): Invoke it.
76200         localename: Make aware of thread locale.
76201         * lib/localename.h (gl_locale_name_thread): New declaration.
76202         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
76203         behaviour with respect to thread locale.
76204         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
76205         <langinfo.h>, glthread/lock.h.
76206         (SIZE_BITS): New macro.
76207         (string_hash): New function.
76208         (struct hash_node): New type.
76209         (HASH_TABLE_SIZE): New macro.
76210         (struniq_hash_table, struniq_lock): New variables.
76211         (struniq): New function.
76212         (gl_locale_name_thread): New function.
76213         (gl_locale_name): Invoke it.
76214         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
76215         * modules/localename (Depends-on): Add lock.
76216         Reported by Mike Gran <spk121@yahoo.com>.
76218 2009-12-23  Eric Blake  <ebb9@byu.net>
76220         va-args: new module
76221         * modules/va-args: New file.
76222         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
76223         * MODULES.html.sh (Core language properties): Mention it.
76225         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
76226         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
76227         named alias for __attribute__((__unused__)).
76228         * lib/chown.c: Update client.
76229         * lib/fchmodat.c: Likewise.
76230         * lib/fts.c: Likewise.
76231         * lib/getdate.y: Likewise.
76232         * lib/getgroups.c: Likewise.
76233         * lib/getopt.c: Likewise.
76234         * lib/getugroups.c: Likewise.
76235         * lib/mkdir.c: Likewise.
76236         * lib/mkfifo.c: Likewise.
76237         * lib/mkfifoat.c: Likewise.
76238         * lib/mknod.c: Likewise.
76239         * lib/mknodat.c: Likewise.
76240         * lib/readlink.c: Likewise.
76241         * lib/se-context.in.h: Likewise.
76242         * lib/se-selinux.in.h: Likewise.
76243         * lib/sockets.c: Likewise.
76244         * lib/symlink.c: Likewise.
76245         * lib/symlinkat.c: Likewise.
76246         * lib/unicodeio.c: Likewise.
76247         * lib/unistr.h: Likewise.
76248         * tests/test-areadlink.c: Likewise.
76249         * tests/test-areadlinkat.c: Likewise.
76250         * tests/test-filenamecat.c: Likewise.
76251         * tests/test-fseeko.c: Likewise.
76252         * tests/test-ftello.c: Likewise.
76253         * tests/test-getdate.c: Likewise.
76254         * tests/test-getgroups.c: Likewise.
76255         * tests/test-gethostname.c: Likewise.
76256         * tests/test-quotearg.c: Likewise.
76257         * tests/test-version-etc.c: Likewise.
76258         * tests/test-xalloc-die.c: Likewise.
76259         * tests/test-xfprintf-posix.c: Likewise.
76260         * tests/test-xprintf-posix.c: Likewise.
76261         * tests/test-xvasprintf.c: Likewise.
76263         tests: avoid compiler warnings
76264         * tests/test-fcntl.c (main): Delete unused parameters.
76265         * tests/test-freopen-safer.c (main): Likewise.
76266         * tests/test-xalloc-die.c (main): Mark unused parameters.
76267         * tests/test-fseeko.c (main): Likewise.
76268         * tests/test-ftello.c (main): Likewise.
76269         * tests/test-nanosleep.c (main): Avoid declaration warning.
76270         * tests/test-sleep.c (main): Likewise.
76271         * tests/test-unsetenv.c (main): Silence warning about string
76272         literal.
76273         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
76275 2009-12-23  Bruno Haible  <bruno@clisp.org>
76277         * tests/test-localename.c (test_locale_name): New function, extracted
76278         from main. Also test mixed situations.
76279         (test_locale_name_posix, test_locale_name_environ,
76280         test_locale_name_default): New functions.
76281         (main): Invoke them all.
76282         * modules/localename-tests (configure.ac): Test for newlocale.
76284 2009-12-23  Bruno Haible  <bruno@clisp.org>
76286         unistd: Ensure getcwd gets declared before being overridden.
76287         * lib/unistd.in.h: Conditionally include <io.h>.
76289 2009-12-22  Bruno Haible  <bruno@clisp.org>
76291         wchar: Diagnose broken combination of glibc and gcc versions and flags.
76292         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
76293         (gl_WCHAR_H): Invoke it.
76294         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
76295         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
76296         Reported by Karl Berry <karl@freefriends.org>.
76298 2009-12-22  Eric Blake  <ebb9@byu.net>
76300         math, unistd: avoid redundant includes
76301         * lib/math.in.h (isnan): No need to re-include <math.h>.
76302         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
76304         getsubopt: work around cygwin bug
76305         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
76306         avoid conflicting with system getsubopt.
76307         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
76308         bug.
76310         getopt: synchronize from glibc
76311         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
76312         parameter order.  Adjust all callers.
76313         (_getopt_internal_r, main): Adjust quoting in error messages.
76314         Drop considerations for outdated POSIX 1003.2 error message.
76315         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
76316         callers.
76317         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
76319         test-getopt: test stderr behavior
76320         * modules/getopt-posix-tests (Depends-on): Add dup2.
76321         * tests/test-getopt.c (ASSERT): Avoid stderr.
76322         (main): Move stderr to a temporary file.
76323         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
76324         Instead, add parameter to inform caller if output occurred.
76325         (test_getopt): Adjust all existing tests to expect silence, and
76326         add new tests of leading ":".
76327         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
76328         glibc shortcomings with leading "-:" or "+:" in optstring.
76329         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
76330         Likewise.
76331         * doc/posix-functions/getopt.texi (getopt): Likewise.
76333         test-getopt: enhance test
76334         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
76335         supports optind=0.
76336         * tests/test-getopt.c (OPTIND_MIN): Move...
76337         * tests/test-getopt.h (OPTIND_MIN): ...here.
76338         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
76339         Require that optind=0 works, since modern BSD supports it in
76340         addition to optreset, and since coreutils expects it.
76341         (test_getopt_long_only): New test.
76342         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
76343         glibc shortcomings with 'W;', and enforcement of optind=0.
76344         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
76345         Likewise.
76347 2009-12-21  Bruno Haible  <bruno@clisp.org>
76349         localename: Improvements for MacOS X and Cygwin.
76350         * lib/localename.h (gl_locale_name_environ): New declaration.
76351         * lib/localename.c (gl_locale_name_environ): New function, extracted from
76352         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
76353         (gl_locale_name_posix): Invoke it.
76354         (gl_locale_name_default): Add comments. Use Windows native API also on
76355         Cygwin.
76357 2009-12-21  Bruno Haible  <bruno@clisp.org>
76359         Update list of Win32 locale ids.
76360         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
76361         (LANG_SAMI): Renamed from LANG_SAAMI.
76362         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
76363         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
76364         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
76365         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
76366         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
76367         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
76368         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
76369         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
76370         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
76371         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
76372         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
76373         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
76374         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
76375         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
76376         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
76377         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
76378         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
76379         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
76380         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
76381         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
76382         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
76383         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
76384         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
76385         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
76386         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
76387         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
76388         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
76389         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
76390         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
76391         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
76392         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
76393         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
76394         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
76395         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
76396         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
76397         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
76398         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
76399         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
76400         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
76401         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
76402         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
76403         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
76404         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
76405         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
76406         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
76407         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
76408         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
76409         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
76410         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
76411         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
76412         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
76413         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
76414         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
76415         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
76416         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
76417         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
76418         Add more languages and countries for Sami, Sorbian. Add more countries
76419         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
76420         for Pashto. Change country for Syriac, Tswana.
76422 2009-12-21  Eric Blake  <ebb9@byu.net>
76424         test-utimens: avoid spurious failure
76425         * tests/test-chown.h (nap): Factor...
76426         * tests/nap.h: ...into new file.
76427         * tests/test-lchown.h (nap): Avoid duplication.
76428         * tests/test-utimens-common.h (nap): Use shared implementation,
76429         necessary on file systems with 1-second resolution.
76430         * modules/chown-tests (Files): Include new file.
76431         * modules/fdutimensat-tests (Files): Likewise.
76432         * modules/futimens-tests (Files): Likewise.
76433         * modules/lchown-tests (Files): Likewise.
76434         * modules/openat-tests (Files): Likewise.
76435         * modules/utimens-tests (Files): Likewise.
76436         * modules/utimensat-tests (Files): Likewise.
76438 2009-12-19  Eric Blake  <ebb9@byu.net>
76440         futimens, utimensat: work around Linux bug
76441         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
76442         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
76443         * lib/utimensat.c (rpl_utimensat): Work around it.
76444         * lib/futimens.c (rpl_futimens): Adjust comment.
76446         utimens: work around Linux ctime bug
76447         * lib/utimens.c (detect_ctime_bug): New helper function.
76448         (update_timespec): Differentiate between workaround needed for
76449         this bug vs. what is needed for systems that lack utimensat.
76450         (fdutimens, lutimens): Work around bug.
76452         utimens: check for ctime update
76453         * tests/test-utimens-common.h (check_ctime): Define.
76454         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
76455         * tests/test-futimens.h (test_futimens): Likewise.
76456         * tests/test-lutimens.h (test_lutimens): Likewise.
76457         * doc/posix-functions/futimens.texi (futimens): Document the bug.
76458         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
76460 2009-12-19  Bruno Haible  <bruno@clisp.org>
76462         dprintf-posix: Check against memory leak fixed on 2009-12-15.
76463         * tests/test-dprintf-posix2.sh: New file.
76464         * tests/test-dprintf-posix2.c: New file.
76465         * modules/dprintf-posix-tests (Files): Add them.
76466         (configure.ac): Check for getrlimit and setrlimit.
76467         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
76469 2009-12-19  Bruno Haible  <bruno@clisp.org>
76471         fprintf-posix: Check against memory leak fixed on 2009-12-15.
76472         * tests/test-fprintf-posix3.sh: New file.
76473         * tests/test-fprintf-posix3.c: New file.
76474         * modules/fprintf-posix-tests (Files): Add them.
76475         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
76477 2009-12-19  Eric Blake  <ebb9@byu.net>
76479         dirfd: fix prototype
76480         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
76481         * lib/dirfd.c (dirfd): Likewise.
76483         canonicalize: reduce memory usage
76484         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
76485         allocation to size.
76486         Reported by Solar Designer <solar@openwall.com>.
76488 2009-12-19  Bruno Haible  <bruno@clisp.org>
76490         New module attribute 'Applicability'.
76491         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
76492         * gnulib-tool: New option --extract-applicability.
76493         (func_usage): Document it.
76494         (sed_extract_prog): Recognize it.
76495         (func_get_applicability): New function.
76496         (func_import): Generalize handling of 'link-warning' module.
76497         * modules/link-warning (Applicability): New section.
76498         * modules/arg-nonnull (Applicability): New section.
76499         Repoted by Simon Josefsson <simon@josefsson.org>.
76501 2009-12-19  Bruno Haible  <bruno@clisp.org>
76503         fflush: tweak
76504         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
76505         * lib/fseeko.c (rpl_fseeko): Likewise.
76507 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
76509         * lib/gl_list.h: Fix typo in comment.
76511 2009-12-16  Eric Blake  <ebb9@byu.net>
76513         fcntl: use to simplify other modules
76514         * modules/cloexec (Depends-on): Add fcntl.
76515         * modules/fchdir (Depends-on): Likewise.
76516         * modules/fd-safer-flag (Depends-on): Likewise.
76517         * modules/unistd-safer (Depends-on): Likewise.
76518         * modules/dup3 (configure.ac): Set module indicator.
76519         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
76520         missing.
76521         * lib/fchdir.c (_gl_register_dup): Fix comment.
76522         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
76523         * lib/dup-safer.c (dup_safer): Likewise.
76524         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
76525         * lib/dup3.c (dup3): Likewise.
76526         * tests/test-fchdir.c (main): Enhance test.
76527         Fixes a dup_cloexec bug reported by Ondřej Vašík.
76529         fcntl: port portions of fcntl to mingw
76530         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
76531         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
76532         replacement for mingw.
76533         * modules/fcntl (Description): Update.
76534         (Depends-on): Add dup2.
76535         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
76536         * modules/fcntl-h (Makefile.am): Substitute it.
76537         * lib/fcntl.in.h (fcntl): Update declaration.
76538         (F_DUPFD, F_GETFD): New macros, when needed.
76539         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
76540         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
76541         * tests/test-fcntl.c (check_flags, main): Enhance test for items
76542         we now guarantee.
76544         fcntl: work around cygwin bug in F_DUPFD
76545         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
76546         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
76547         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
76548         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
76549         * doc/posix-functions/fcntl.texi (fcntl): Document it.
76551         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
76552         * modules/fcntl (Files): List new files.
76553         (configure.ac): Run a test.
76554         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
76555         * lib/fcntl.c (rpl_fcntl): Likewise.
76556         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
76557         (gl_FCNTL_H): Always replace fcntl.h.
76558         * modules/fcntl-h (Makefile.am): Substitute witnesses.
76559         * lib/fcntl.in.h (fcntl): Declare replacement.
76560         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
76561         needed, plus a witness.
76562         * doc/posix-functions/fcntl.texi (fcntl): Document this.
76563         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
76564         * tests/test-fcntl.c: New file.
76565         * modules/fcntl-tests: Likewise.
76567         binary-io: avoid potential compilation warning
76568         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
76569         directives.
76571         fflush: avoid compilation error on NetBSD
76572         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
76573         between off_t and fpos_t, since the latter is sometimes a struct.
76574         * lib/fseeko.c (rpl_fseeko): Likewise.
76575         Reported by Alexander Nasonov <alnsn@yandex.ru>.
76577 2009-12-15  Eric Blake  <ebb9@byu.net>
76579         fcntl-h, stdio, sys_ioctl: fix declarations
76580         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
76581         function must not take arguments.
76582         * lib/sys_ioctl.in.h (ioctl): Likewise.
76583         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
76584         (open): Add a link warning.
76586 2009-12-15  Jim Meyering  <meyering@redhat.com>
76588         areadlink, areadlink-with-size: relax license to LGPLv2+
76589         * modules/areadlink (License): Relax to LGPLv2+.
76590         * modules/areadlink-with-size (License): Likewise.
76592 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
76593             Bruno Haible  <bruno@clisp.org>
76595         *printf: Fix memory leak.
76596         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
76597         * lib/vfprintf.c (vfprintf): Likewise.
76598         * lib/dprintf.c (dprintf): Likewise.
76599         * lib/vdprintf.c (vdprintf): Likewise.
76601 2009-12-14  Eric Blake  <ebb9@byu.net>
76603         accept4: adjust module dependencies
76604         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
76606         utimens: one more try at avoiding compiler warning
76607         * lib/utimens.c (lutimens): Lower scope of result.
76609 2009-12-13  Bruno Haible  <bruno@clisp.org>
76611         Move the malloc checking from module 'list' to new module 'xlist'.
76612         * modules/xlist: New file.
76613         * lib/gl_xlist.h: New file.
76614         * lib/gl_xlist.c: New file.
76615         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
76616         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
76617         gl_list_add_last, gl_list_add_before, gl_list_add_after,
76618         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
76619         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
76620         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
76621         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
76622         gl_sortedlist_nx_add): New declarations.
76623         (struct gl_list_implementation): Rename and change methods accordingly.
76624         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
76625         (gl_list_nx_create): Renamed from gl_list_create.
76626         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
76627         (gl_list_nx_set_at): Renamed from gl_list_set_at.
76628         (gl_list_nx_add_first): Renamed from gl_list_add_first.
76629         (gl_list_nx_add_last): Renamed from gl_list_add_last.
76630         (gl_list_nx_add_before): Renamed from gl_list_add_before.
76631         (gl_list_nx_add_after): Renamed from gl_list_add_after.
76632         (gl_list_nx_add_at): Renamed from gl_list_add_at.
76633         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
76634         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
76635         gl_list_create_empty.
76636         (gl_list_nx_create): Renamed from gl_list_create.
76637         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
76638         (gl_list_nx_set_at): Renamed from gl_list_set_at.
76639         (gl_list_nx_add_first): Renamed from gl_list_add_first.
76640         (gl_list_nx_add_last): Renamed from gl_list_add_last.
76641         (gl_list_nx_add_before): Renamed from gl_list_add_before.
76642         (gl_list_nx_add_after): Renamed from gl_list_add_after.
76643         (gl_list_nx_add_at): Renamed from gl_list_add_at.
76644         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
76645         * lib/gl_array_list.c: Don't include xalloc.h.
76646         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
76647         NULL upon out-of-memory.
76648         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
76649         out-of-memory.
76650         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
76651         Change return type to 'int'.
76652         (gl_array_nx_set_at): Renamed from gl_array_set_at.
76653         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
76654         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
76655         upon out-of-memory.
76656         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
76657         upon out-of-memory.
76658         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
76659         upon out-of-memory.
76660         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
76661         upon out-of-memory.
76662         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
76663         out-of-memory.
76664         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
76665         Update.
76666         (gl_array_list_implementation): Update.
76667         * lib/gl_carray_list.c: Don't include xalloc.h.
76668         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
76669         Return NULL upon out-of-memory.
76670         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
76671         out-of-memory.
76672         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
76673         Change return type to 'int'.
76674         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
76675         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
76676         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
76677         upon out-of-memory.
76678         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
76679         upon out-of-memory.
76680         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
76681         out-of-memory.
76682         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
76683         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
76684         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
76685         Update.
76686         (gl_carray_list_implementation): Update.
76687         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
76688         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
76689         gl_linked_create_empty. Return NULL upon out-of-memory.
76690         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
76691         out-of-memory.
76692         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
76693         Change return type to 'int'. Return -1 upon out-of-memory.
76694         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
76695         out-of-memory.
76696         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
76697         upon out-of-memory.
76698         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
76699         upon out-of-memory.
76700         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
76701         NULL upon out-of-memory.
76702         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
76703         upon out-of-memory.
76704         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
76705         out-of-memory.
76706         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
76707         Update.
76708         * lib/gl_linked_list.c: Don't include xalloc.h.
76709         (gl_linked_list_implementation): Update.
76710         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
76711         (add_to_bucket): Change return type to 'int'.
76712         (gl_linkedhash_list_implementation): Update.
76713         * lib/gl_anytree_list1.h (free_subtree): New function.
76714         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
76715         gl_tree_create_empty. Return NULL upon out-of-memory.
76716         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
76717         Change return type to 'int'. Return -1 upon out-of-memory.
76718         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
76719         out-of-memory.
76720         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
76721         (gl_tree_remove_node): New function, moved here from
76722         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
76723         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
76724         Update.
76725         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
76726         malloc, not xmalloc. Return NULL upon out-of-memory.
76727         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
76728         out-of-memory.
76729         (gl_tree_remove_node_from_tree): New function, extracted from
76730         gl_tree_remove_node.
76731         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
76732         upon out-of-memory.
76733         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
76734         out-of-memory.
76735         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
76736         upon out-of-memory.
76737         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
76738         upon out-of-memory.
76739         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
76740         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
76741         not xmalloc. Return NULL upon out-of-memory.
76742         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
76743         out-of-memory.
76744         (gl_tree_remove_node_from_tree): New function, extracted from
76745         gl_tree_remove_node.
76746         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
76747         upon out-of-memory.
76748         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
76749         out-of-memory.
76750         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
76751         upon out-of-memory.
76752         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
76753         upon out-of-memory.
76754         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
76755         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
76756         gl_anytree_list1.h before gl_anyavltree_list2.h.
76757         (gl_avltree_list_implementation): Update.
76758         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
76759         gl_anytree_list1.h before gl_anyavltree_list2.h.
76760         (gl_rbtree_list_implementation): Update.
76761         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
76762         Change return type to 'int'. Return -1 upon out-of-memory. Use
76763         __builtin_expect.
76764         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
76765         (gl_avltreehash_list_implementation): Update.
76766         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
76767         (gl_rbtreehash_list_implementation): Update.
76768         * modules/array-list (Depends-on): Remove xalloc.
76769         * modules/carray-list (Depends-on): Likewise.
76770         * modules/linked-list (Depends-on): Likewise.
76771         * modules/linkedhash-list (Depends-on): Likewise.
76772         * modules/avltree-list (Depends-on): Likewise.
76773         * modules/rbtree-list (Depends-on): Likewise.
76774         * modules/avltreehash-list (Depends-on): Likewise.
76775         * modules/rbtreehash-list (Depends-on): Likewise.
76777         * modules/xsublist: New file.
76778         * lib/gl_xsublist.h: New file.
76779         * lib/gl_xsublist.c: New file.
76780         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
76781         (gl_sublist_nx_create): New declaration.
76782         * lib/gl_sublist.c: Don't include xalloc.h.
76783         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
76784         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
76785         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
76786         Change return type to 'int'. Return -1 upon out-of-memory.
76787         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
76788         upon out-of-memory.
76789         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
76790         NULL upon out-of-memory.
76791         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
76792         upon out-of-memory.
76793         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
76794         NULL upon out-of-memory.
76795         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
76796         NULL upon out-of-memory.
76797         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
76798         upon out-of-memory.
76799         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
76800         (gl_sublist_list_implementation): Update.
76801         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
76802         upon out-of-memory.
76803         * modules/sublist (Depends-on): Remove xalloc.
76805         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
76806         * tests/test-carray_list.c: Likewise.
76807         * tests/test-linked_list.c: Likewise.
76808         * tests/test-linkedhash_list.c: Likewise.
76809         * tests/test-avltree_list.c: Likewise.
76810         * tests/test-rbtree_list.c: Likewise.
76811         * tests/test-avltreehash_list.c: Likewise.
76812         * tests/test-rbtreehash_list.c: Likewise.
76813         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
76814         * modules/carray-list-tests (Makefile.am): Likewise.
76815         * modules/linked-list-tests (Makefile.am): Likewise.
76816         * modules/linkedhash-list-tests (Makefile.am): Likewise.
76817         * modules/avltree-list-tests (Makefile.am): Likewise.
76818         * modules/rbtree-list-tests (Makefile.am): Likewise.
76819         * modules/avltreehash-list-tests (Makefile.am): Likewise.
76820         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
76822         * NEWS: Mention the changes.
76824         * lib/clean-temp.c: Include gl_xlist.h.
76825         * modules/clean-temp (Depends-on): Add xlist.
76827         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
76828         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
76830         * tests/test-array_oset.c: Include gl_xlist.h.
76831         * modules/array-oset-tests (Depends-on): Add xlist.
76833         Reported by José E. Marchesi <jemarch@gnu.org>.
76835 2009-12-13  Bruno Haible  <bruno@clisp.org>
76837         Move the malloc checking from module 'oset' to new module 'xoset'.
76838         * modules/xoset: New file.
76839         * lib/gl_xoset.h: New file.
76840         * lib/gl_xoset.c: New file.
76841         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
76842         declarations.
76843         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
76844         (struct gl_oset_implementation): Rename and change methods accordingly.
76845         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
76846         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
76847         'int'. Mark as __warn_unused_result__.
76848         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
76849         gl_oset_create_empty.
76850         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
76851         'int'.
76852         * lib/gl_array_oset.c: Don't include xalloc.h.
76853         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
76854         malloc, not xmalloc.
76855         (grow): Change return type to 'int'. Don't call xalloc_die.
76856         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
76857         to 'int'.
76858         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
76859         'int'.
76860         (gl_array_oset_implementation): Update.
76861         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
76862         gl_tree_create_empty.
76863         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
76864         'int'.
76865         * lib/gl_avltree_oset.c: Don't include xalloc.h.
76866         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
76867         xmalloc.
76868         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
76869         not xmalloc.
76870         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
76871         xmalloc.
76872         (gl_avltree_oset_implementation): Update.
76873         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
76874         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
76875         xmalloc.
76876         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
76877         not xmalloc.
76878         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
76879         xmalloc.
76880         (gl_rbtree_oset_implementation): Update.
76881         * modules/array-oset (Depends-on): Remove xalloc.
76882         * modules/avltree-oset (Depends-on): Likewise.
76883         * modules/rbtree-oset (Depends-on): Likewise.
76884         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
76885         * tests/test-avltree_oset.c: Likewise.
76886         * tests/test-rbtree_oset.c: Likewise.
76887         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
76888         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
76889         * modules/rbtree-oset-tests (Makefile.am): Likewise.
76890         * NEWS: Mention the change.
76892 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
76894         maint.mk: allow a project to override release-prep commands
76895         * top/maint.mk (alpha, beta, stable): Move release-preparatory
76896         commands into a new rule.
76897         (release-prep): New rule.
76898         (release-prep-hook): New overridable variable.
76900 2009-12-13  Bruno Haible  <bruno@clisp.org>
76902         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
76904 2009-12-13  Jim Meyering  <meyering@redhat.com>
76906         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
76907         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
76909 2009-12-12  Bruno Haible  <bruno@clisp.org>
76911         duplocale: Tweak.
76912         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
76914 2009-12-12  Karl Berry  <karl@gnu.org>
76916         * config/srclist.txt (strtoll.c): tab changes, no more sync.
76918 2009-12-12  Bruno Haible  <bruno@clisp.org>
76920         * m4/po.m4: Undo incorrect untabification.
76922 2009-12-12  Bruno Haible  <bruno@clisp.org>
76924         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
76925         * modules/c-strtod (Depends-on): Add locale.
76926         * modules/c-strtold (Depends-on): Likewise.
76928 2009-12-12  Bruno Haible  <bruno@clisp.org>
76930         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
76932 2009-12-11  Eric Blake  <ebb9@byu.net>
76934         setenv: relax requirement in light of POSIX ruling
76935         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
76936         not NULL.
76937         * tests/test-setenv.c (main): Relax test.
76938         * tests/test-unsetenv.c (main): Likewise.
76939         * doc/posix-functions/setenv.texi (setenv): Document this.
76940         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
76942 2009-12-11  Bruno Haible  <bruno@clisp.org>
76944         New module 'fd-safer-flag'.
76945         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
76946         * lib/dup-safer.c (dup_safer_flag): Remove function.
76947         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
76948         * lib/fd-safer.c (fd_safer_flag): Remove function.
76949         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
76950         * modules/cloexec (configure.ac): Drop indicator macro.
76951         * modules/fd-safer-flag: New file.
76952         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
76953         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
76954         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
76956 2009-12-11  Bruno Haible  <bruno@clisp.org>
76958         Tests for module 'nl_langinfo'.
76959         * modules/nl_langinfo-tests: New file.
76960         * tests/test-nl_langinfo.sh: New file.
76961         * tests/test-nl_langinfo.c: New file.
76963         New module 'nl_langinfo'.
76964         * lib/nl_langinfo.c: New file.
76965         * m4/nl_langinfo.m4: New file.
76966         * modules/nl_langinfo: New file.
76967         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
76969 2009-12-11  Bruno Haible  <bruno@clisp.org>
76971         Tests for module 'langinfo'.
76972         * modules/langinfo-tests: New file.
76973         * tests/test-langinfo.c: New file.
76975         New module 'langinfo'.
76976         * lib/langinfo.in.h: New file.
76977         * m4/langinfo_h.m4: New file.
76978         * modules/langinfo: New file.
76979         * doc/posix-headers/langinfo.texi: Mention the new module.
76981 2009-12-11  Bruno Haible  <bruno@clisp.org>
76983         * lib/config.charset: Untabify.
76985 2009-12-11  Bruno Haible  <bruno@clisp.org>
76987         * modules/unistd-safer (configure.ac): Drop indicator macro.
76989 2009-12-11  Bruno Haible  <bruno@clisp.org>
76991         Move pipe2-safer code to its own file.
76992         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
76993         * lib/pipe-safer.c (pipe2_safer): Remove function.
76994         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
76995         (Makefile.am): Add it to lib_SOURCES.
76997 2009-12-10  Bruno Haible  <bruno@clisp.org>
76999         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
77001 2009-12-10  Bruno Haible  <bruno@clisp.org>
77003         Declare which arguments expect non-NULL values, for GCC and clang.
77004         * build-aux/arg-nonnull.h: New file.
77005         * modules/arg-nonnull: New file.
77006         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
77007         (inet_ntop, inet_pton): Use it.
77008         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
77009         (closedir, dirfd, opendir, scandir, alphasort): Use it.
77010         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
77011         (open, openat): Use it.
77012         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
77013         (fnmatch): Use it.
77014         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
77015         (getopt, getopt_long, getopt_long_only): Use it.
77016         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
77017         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
77018         Use it.
77019         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
77020         (iconv_open): Use it.
77021         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
77022         (strtoimax, strtoumax): Use it.
77023         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
77024         (duplocale): Use it.
77025         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
77026         (frexp, frexpl): Use it.
77027         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
77028         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
77029         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
77030         (tsearch, tfind, tdelete, twalk): Use it.
77031         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
77032         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
77033         sigpending): Use it.
77034         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
77035         (posix_spawn, posix_spawnp, posix_spawnattr_init,
77036         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
77037         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
77038         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
77039         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
77040         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
77041         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
77042         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
77043         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
77044         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
77045         Use it.
77046         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
77047         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
77048         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
77049         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
77050         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
77051         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
77052         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
77053         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
77054         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
77055         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
77056         strtoull, unsetenv): Use it.
77057         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
77058         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
77059         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
77060         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
77061         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
77062         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
77063         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
77064         (strcasecmp, strncasecmp): Use it.
77065         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
77066         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
77067         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
77068         rpl_setsockopt): Use it.
77069         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
77070         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
77071         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
77072         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
77073         (gettimeofday): Use it.
77074         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
77075         (times): Use it.
77076         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
77077         (uname): Use it.
77078         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
77079         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
77080         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
77081         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
77082         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
77083         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
77084         unlinkat, write): Use it.
77085         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
77086         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
77087         * lib/argv-iter.h: Include arg-nonnull.h.
77088         (_ATTRIBUTE_NONNULL_): Remove macro.
77089         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
77090         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
77091         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
77092         optimization.
77093         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
77094         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
77095         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
77096         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
77097         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
77098         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
77099         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
77100         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
77101         * modules/arpa_inet (Depends-on): Add arg-nonnull.
77102         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
77103         * modules/dirent (Depends-on): Add arg-nonnull.
77104         (Makefile.am): Insert arg-nonnull.h into dirent.h.
77105         * modules/fcntl-h (Depends-on): Add arg-nonnull.
77106         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
77107         * modules/fnmatch (Depends-on): Add arg-nonnull.
77108         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
77109         * modules/getopt-posix (Depends-on): Add arg-nonnull.
77110         (Makefile.am): Insert arg-nonnull.h into getopt.h.
77111         * modules/glob (Depends-on): Add arg-nonnull.
77112         (Makefile.am): Insert arg-nonnull.h into glob.h.
77113         * modules/iconv_open (Depends-on): Add arg-nonnull.
77114         (Makefile.am): Insert arg-nonnull.h into iconv.h.
77115         * modules/inttypes (Depends-on): Add arg-nonnull.
77116         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
77117         * modules/locale (Depends-on): Add arg-nonnull.
77118         (Makefile.am): Insert arg-nonnull.h into locale.h.
77119         * modules/math (Depends-on): Add arg-nonnull.
77120         (Makefile.am): Insert arg-nonnull.h into math.h.
77121         * modules/netdb (Depends-on): Add arg-nonnull.
77122         (Makefile.am): Insert arg-nonnull.h into netdb.h.
77123         * modules/search (Depends-on): Add arg-nonnull.
77124         (Makefile.am): Insert arg-nonnull.h into search.h.
77125         * modules/signal (Depends-on): Add arg-nonnull.
77126         (Makefile.am): Insert arg-nonnull.h into signal.h.
77127         * modules/spawn (Depends-on): Add arg-nonnull.
77128         (Makefile.am): Insert arg-nonnull.h into spawn.h.
77129         * modules/stdio (Depends-on): Add arg-nonnull.
77130         (Makefile.am): Insert arg-nonnull.h into stdio.h.
77131         * modules/stdlib (Depends-on): Add arg-nonnull.
77132         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
77133         * modules/string (Depends-on): Add arg-nonnull.
77134         (Makefile.am): Insert arg-nonnull.h into string.h.
77135         * modules/strings (Depends-on): Add arg-nonnull.
77136         (Makefile.am): Insert arg-nonnull.h into strings.h.
77137         * modules/sys_socket (Depends-on): Add arg-nonnull.
77138         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
77139         * modules/sys_stat (Depends-on): Add arg-nonnull.
77140         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
77141         * modules/sys_time (Depends-on): Add arg-nonnull.
77142         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
77143         * modules/sys_times (Depends-on): Add arg-nonnull.
77144         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
77145         * modules/sys_utsname (Depends-on): Add arg-nonnull.
77146         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
77147         * modules/time (Depends-on): Add arg-nonnull.
77148         (Makefile.am): Insert arg-nonnull.h into time.h.
77149         * modules/unistd (Depends-on): Add arg-nonnull.
77150         (Makefile.am): Insert arg-nonnull.h into unistd.h.
77151         * modules/wchar (Depends-on): Add arg-nonnull.
77152         (Makefile.am): Insert arg-nonnull.h into wchar.h.
77153         * modules/argv-iter (Depends-on): Add arg-nonnull.
77154         * tests/test-canonicalize.c (null_ptr): New function.
77155         (main): Use it.
77156         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
77157         (main): Use it.
77158         * tests/test-memmem.c (null_ptr): New function.
77159         (main): Use it.
77160         Reported by Jim Meyering.
77162 2009-12-10  Bruno Haible  <bruno@clisp.org>
77164         Use spaces for indentation, not tabs.
77165         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
77166         * m4/*.m4: Untabify.
77167         * build-aux/*.h: Untabify.
77168         * tests/**/*.[hc]: Untabify.
77169         * README: New section "Indent with spaces, not TABs", based on
77170         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
77171         * NEWS: Mention the change.
77173 2009-12-10  Bruno Haible  <bruno@clisp.org>
77175         pty test: Fix link error.
77176         * modules/pty-tests (Makefile.am): Add the default LDADD value to
77177         test_pty_LDADD.
77179 2009-12-07  Simon Josefsson  <simon@josefsson.org>
77181         * modules/pty: New file.
77182         * modules/pty-tests: New file.
77183         * m4/pty.m4: New file.
77184         * tests/test-pty.c: New file.
77185         * doc/glibc-headers/pty.texi: Modified.
77186         * doc/glibc-functions/forkpty.texi: Modified.
77187         * doc/glibc-functions/openpty.texi: Modified.
77189 2009-12-10  Bruno Haible  <bruno@clisp.org>
77191         Avoid syntax error in C++ mode.
77192         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
77194 2009-12-10  Bruno Haible  <bruno@clisp.org>
77196         Use sed with option -e.
77197         * gnulib-tool (func_version, func_emit_copyright_notice,
77198         func_emit_initmacro_end, func_import, func_create_testdir): Pass
77199         option -e to sed.
77200         * modules/link-warning (Makefile.am): Likewise.
77202 2009-12-10  Jim Meyering  <meyering@redhat.com>
77204         mgetgroups: do not write bytes beyond end of malloc'd buffer
77205         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
77206         username, we call getgroups with a one-element-shorter buffer,
77207         but still told it the length was original, max_n_groups.
77209 2009-12-09  Eric Blake  <ebb9@byu.net>
77211         cloexec: relax license
77212         * modules/cloexec (Maintainer): Add myself.
77213         (License): Use LGPL, not GPL.
77215         link-warning: optimize generation
77216         * modules/link-warning (Makefile.am): Reduce process usage.
77218 2009-12-09  Bruno Haible  <bruno@clisp.org>
77220         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
77221         workaround was added on 2009-11-17.
77223 2009-12-09  Jim Meyering  <meyering@redhat.com>
77224             Bruno Haible  <bruno@clisp.org>
77226         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
77227         * modules/link-warning (Makefile.am): Make the comment-removing sed
77228         command more robust in the face of bootstrap-prepended comment lines.
77230 2009-12-09  Bruno Haible  <bruno@clisp.org>
77232         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
77233         most one group.
77235 2009-12-09  Simon Josefsson  <simon@josefsson.org>
77236             Bruno Haible  <bruno@clisp.org>
77238         * build-aux/link-warning.h: Add copyright notice.
77239         * modules/link-warning (Makefile.am): Generate link-warning.h from
77240         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
77241         * NEWS: Mention change in link-warning module.
77242         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
77243         * modules/dirent (Makefile.am): Add dependency to dirent.h.
77244         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
77245         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
77246         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
77247         * modules/math (Makefile.am): Add dependency to math.h.
77248         * modules/search (Makefile.am): Add dependency to search.h.
77249         * modules/signal (Makefile.am): Add dependency to signal.h.
77250         * modules/spawn (Makefile.am): Add dependency to spawn.h.
77251         * modules/stdio (Makefile.am): Add dependency to stdio.h.
77252         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
77253         * modules/string (Makefile.am): Add dependency to string.h.
77254         * modules/strings (Makefile.am): Add dependency to strings.h.
77255         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
77256         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
77257         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
77258         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
77259         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
77260         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
77261         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
77262         * modules/unistd (Makefile.am): Add dependency to unistd.h.
77263         * modules/wchar (Makefile.am): Add dependency to wchar.h.
77265 2009-12-09  Bruno Haible  <bruno@clisp.org>
77267         fchdir: Optimize away rpl_fstat when possible.
77268         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
77269         REPLACE_OPEN_DIRECTORY.
77270         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
77272 2009-12-09  Bruno Haible  <bruno@clisp.org>
77274         * lib/fchdir.c: Update comment.
77276 2009-12-09  Bruno Haible  <bruno@clisp.org>
77278         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
77280 2009-12-08  Eric Blake  <ebb9@byu.net>
77282         fchdir: avoid memory leak on re-registration.
77283         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
77285 2009-12-08  Jim Meyering  <meyering@redhat.com>
77287         init.sh: avoid Solaris 10 /bin/sh portability problem
77288         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
77289         sourced script:
77290           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
77291           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
77292           bar
77293         tests/init.sh relied on that, accepting a --set-path=DIR argument,
77294         and two tests used that idiom.
77295         * tests/init.sh: Update suggested usage comments.
77296         (path_prepend_): New function, to be used in place
77297         of the --src-path=DIR option.
77298         (setup_): Move PATH-prepending code into path_prepend_.
77299         * tests/test-pread.sh: Adapt to new usage.
77300         * tests/test-xalloc-die.sh: Likewise.
77302 2009-12-08  Simon Josefsson  <simon@josefsson.org>
77304         * doc/gnulib.texi (Glibc pty.h): Add.
77305         * doc/glibc-functions/forkpty.texi: Add.
77306         * doc/glibc-functions/openpty.texi: Add.
77307         Suggested by Bruno Haible.
77309 2009-12-08  Eric Blake  <ebb9@byu.net>
77311         fchdir: fix logic bugs
77312         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
77313         * tests/test-fchdir.c (main): Enhance test.
77314         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
77315         is in use.
77317         dup2: fix logic bugs
77318         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
77319         REPLACE_DUP2 to decide when rpl_dup2 is needed.
77320         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
77321         exists.
77322         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
77324 2009-12-07  Eric Blake  <ebb9@byu.net>
77326         unlink: fix m4 detection
77327         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
77329         unistd-safer: add unit test
77330         * modules/unistd-safer-tests: New file.
77331         * tests/test-dup-safer.c: Likewise.
77332         * tests/test-cloexec.c (setmode): Avoid compiler warning.
77333         * tests/test-dup2.c (setmode): Likewise.
77334         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
77336         cloexec: preserve text vs. binary across dup_cloexec
77337         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
77338         mode.
77339         * modules/dup2-tests (Depends-on): Add binary-io.
77340         * modules/cloexec-tests (Depends-on): Likewise.
77341         * tests/test-dup2.c (setmode, is_mode): New helpers.
77342         (main): Add tests that translation mode is preserved.
77343         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
77344         Reported by Bruno Haible.
77346         mgetgroups: reduce duplicate listings
77347         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
77348         resulting array.
77349         * tests/test-chown.h (test_chown): Simplify client.
77350         * tests/test-lchown.h (test_lchown): Likewise.
77352 2009-12-06  Bruno Haible  <bruno@clisp.org>
77354         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
77355         value.
77357 2009-12-06  Bruno Haible  <bruno@clisp.org>
77359         * lib/progname.c: Include stdio.h, stdlib.h.
77360         (set_program_name): Reject a NULL argument.
77362 2009-12-05  Eric Blake  <ebb9@byu.net>
77364         pipe2-safer: new module
77365         * modules/pipe2-safer: New file.
77366         * lib/unistd-safer.h (pipe2_safer): New prototype.
77367         * lib/unistd--.h (pipe2): New wrapper.
77368         * lib/pipe-safer.c (pipe2_safer): New function.
77369         * modules/pipe (Depends-on): Add pipe2-safer.
77370         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
77372         stdlib-safer: preserve cloexec flag for mkostemp[s]
77373         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
77374         fd_safer_flag.
77376         unistd-safer: allow preservation of cloexec status via flag
77377         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
77378         prototypes.
77379         * lib/dup-safer.c (dup_safer_flag): New function.
77380         * lib/fd-safer.c (fd_safer_flag): Likewise.
77381         * modules/cloexec (configure.ac): Set witness.
77383         test-dup2: enhance test
77384         * modules/dup2-tests (Depends-on): Add cloexec.
77385         * tests/test-dup2.c (main): Enhance test.
77387         cloexec: add dup_cloexec
77388         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
77389         header and comments.
77390         * lib/cloexec.c (set_cloexec_flag): Add comments.
77391         (dup_cloexec): New function, with mingw implementation borrowed
77392         from...
77393         * lib/w32spawn.h (dup_noinherit): ...here.
77394         * modules/execute (Depends-on): Add cloexec.
77395         * modules/pipe (Depends-on): Likewise.
77396         * modules/cloexec (Depends-on): Add dup2.
77397         * modules/cloexec-tests (Files): New file.
77398         * tests/test-cloexec.c: Likewise.
77400         test-xalloc-die: fix test for mingw
77401         * modules/xalloc-die-tests (Files): Add tests/init.sh.
77402         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
77403         directory and .exe suffix off argv[0] output.
77405         test-fseeko: fix test for mingw
77406         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
77407         than undefining fseek, so test will pass on mingw.
77409 2009-12-05  Bruno Haible  <bruno@clisp.org>
77411         * lib/progname.h (set_program_name): Clarify specification.
77412         * lib/progname.c (set_program_name): Likewise.
77413         Reported by Jim Meyering.
77415 2009-12-05  Jim Meyering  <meyering@redhat.com>
77417         maint.mk: backslash-escape parens in default regexp
77418         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
77419         backslash-escape the literal parentheses.
77421         maint.mk: news-date-check: use grep -E
77422         * top/maint.mk (today): Define a Make variable, not a...
77423         (news-date-check): ...shell variable.
77424         (news-date-regexp): Use the Make variable.
77425         Use grep's -E option.  Change the failing diagnostic to mention
77426         the variable, $(news-date-regexp).
77428 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
77430         maintainer-makefile: allow customization of NEWS entry format
77431         * top/maint.mk (news-date-regexp): New overridable variable.
77432         (news-date-check): Use it.
77434 2009-12-04  Eric Blake  <ebb9@byu.net>
77436         mgetgroups: add xgetgroups, and avoid ENOSYS failures
77437         * lib/mgetgroups.h (xgetgroups): New prototype.
77438         * lib/mgetgroups.c (xgetgroups): New wrapper.
77439         (mgetgroups): Handle ENOSYS.
77440         * modules/mgetgroups (Depends-on): Add realloc.
77441         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
77443         mgetgroups: avoid argument promotion issues with -1
77444         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
77445         for invalid gid_t.
77446         * tests/test-chown.h (getegid, test_chown): Likewise.
77447         * tests/test-lchown.h (getegid, test_lchown): Likewise.
77449 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
77451         exclude: Fix header file problems.
77452         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
77454 2009-12-01  Jim Meyering  <meyering@redhat.com>
77456         fts: fts_open: do not let an empty string cause immediate failure
77457         This is required in support of GNU rm, for which the command
77458         "rm A '' B" must process and remove both A and B, in spite of
77459         the empty string argument.
77460         * lib/fts.c (fts_open): Do not let the presence of an empty string
77461         cause fts_open to fail immediately.  Most fts-using tools must be
77462         able to process all arguments, in order, and can be expected to
77463         diagnose such arguments themselves.
77465 2009-11-30  Eric Blake  <ebb9@byu.net>
77467         utimens: fix compilation error
77468         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
77469         Declare variable at right scope.
77471 2009-11-29  Jim Meyering  <meyering@redhat.com>
77473         bootstrap: handle perl-5.11's changed --version output
77474         * build-aux/bootstrap (get_version): Handle perl separately,
77475         since perl-5.11's --version output is different.
77477 2009-11-28  Jim Meyering  <meyering@redhat.com>
77479         userspec: depend on the inttostr module, too
77480         * modules/userspec (Depends-on): Add inttostr.
77482         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
77483         * lib/userspec.c (parse_with_separator): Do not accept a user ID
77484         number of MAXUID when it evaluates to (uid_t) -1.
77485         Likewise for group ID.  Reported by Matt McCutchen in
77486         <http://savannah.gnu.org/bugs/?28113>
77488         userspec: reformat to use spaces, not TABs
77489         * lib/userspec.c: Expand TABs to spaces.
77490         Add Emacs' "indent-tabs-mode: nil" hint.
77492 2009-11-27  Eric Blake  <ebb9@byu.net>
77494         getopt-gnu: flush out another BSD bug
77495         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
77496         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
77497         flush out BSD bug.
77498         * tests/test-getopt.h (test_getopt): End lists with NULL.
77499         * tests/test-getopt_long.h (test_getopt_long): Likewise.
77500         (test_getopt_long_posix): Enhance test.
77501         * modules/getopt-posix-tests (Depends-on): Add stdbool.
77502         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
77503         getopt-gnu.
77504         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
77505         Likewise.
77507 2009-11-27  Simon Josefsson  <simon@josefsson.org>
77509         * modules/idpriv-droptemp-tests (Notice): Fix text.
77511 2009-11-27  Jim Meyering  <meyering@redhat.com>
77513         test-xalloc-die: avoid spurious failure due to libtool argv difference
77514         In a libtool-enabled project, this test would fail due to a difference
77515         in the emitted program name, e.g.,
77516         -test-xalloc-die: memory exhausted
77517         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
77518         Use program to avoid that.
77519         * modules/xalloc-die-tests (Depends-on): Add progname.
77520         * tests/test-xalloc-die.c: Include progname.h".
77521         (program_name): Remove decl.
77522         (main): Call set_program_name.
77523         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
77525 2009-11-26  Richard Jones  <rjones@redhat.com>
77527         w32sock: leave win32 error in place.
77528         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
77530 2009-11-26  Eric Blake  <ebb9@byu.net>
77532         init.sh: suggest to use skip_ and fail_ functions in comments
77533         * tests/init.sh: Add a sentence.
77535 2009-11-25  Bruno Haible  <bruno@clisp.org>
77537         init.sh: add documentation in comments
77538         * tests/init.sh: Add some developer and user documentation.
77540 2009-11-26  Jim Meyering  <meyering@redhat.com>
77542         init.sh: accommodate even those who specify bogus srcdir manually
77543         * tests/init.sh: Normally, srcdir is guaranteed by automake and
77544         configure-time tests to be sanitized, so that there is no need to
77545         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
77546         (with no double quotes) suffices.  However, since tests may be
77547         invoked manually, and since you may explicitly set srcdir to the
77548         name of a directory containing spaces, do quote its uses here.
77549         * tests/test-pread.sh: Likewise.
77550         Suggested by Bruno Haible.
77552         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
77553         * tests/test-pread.sh: Write no data into the pipe, because
77554         test-pread actually reads none.  This avoids a diagnostic,
77555         "bash: echo: write error: Broken pipe", that arises in the unusual
77556         event something is ignoring SIGPIPE, and might be interpreted
77557         as some sort of failure.  Reported by Bruno Haible.
77559 2009-11-25  Jim Meyering  <meyering@redhat.com>
77561         test-pread: cover failure with ESPIPE and EINVAL
77562         * tests/test-pread.c (main): Test for failure, too.
77563         * tests/test-pread.sh: Invoke with stdin on a pipe.
77564         Suggested by Eric Blake.
77566         pread: improvement and fix
77567         * modules/pread (Depends-on): Depend on lseek, for portability to
77568         e.g., mingw.  Suggested by Eric Blake.
77569         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
77571         unistd.in.h: correct declaration of pread
77572         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
77573         Reported by Richard W.M. Jones.
77575         test-pread.sh: distribute the test script
77576         * modules/pread-tests (Files): Include test-pread.sh.
77578         test-pread.sh: clean up
77579         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
77580         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
77581         That is unnecessary, since it's always ".".
77582         Suggestion from Eric Blake.
77584         test-pread.sh: make executable
77585         * tests/test-pread.sh: Set executable bit.
77586         Reported by Eric Blake.
77588         correct typo in test-pread.sh
77589         * tests/test-pread.sh: Add #! line.
77591         test pread
77592         * tests/test-pread.c: New file.
77593         * tests/test-pread.sh: Likewise.
77594         * modules/pread-tests: Likewise.
77596         pread: new module
77597         * modules/pread: New file.
77598         * lib/unistd.in.h (pread): Define/declare.
77599         * lib/pread.c (pread): New file.
77600         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
77601         * modules/unistd (Makefile.am): Substitute witnesses.
77602         * doc/posix-functions/pread.texi (pread): Update.
77603         * MODULES.html.sh: Add pread.
77605 2009-11-25  Jim Meyering  <meyering@redhat.com>
77607         tests/init.sh: new file to be used via most *.sh tests
77608         * tests/init.sh: New file.
77610 2009-11-25  Eric Blake  <ebb9@byu.net>
77612         utimens: work around older Linux failure with symlinks
77613         * lib/utimens.c (lutimensat_works_really): New variable.
77614         (fdutimens, lutimens): Use it to manage kernels that support
77615         nanosecond times on files, but not on symlinks.
77616         Reported by Ondřej Vašík.
77618         utimes: fix configure grammar
77619         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
77621 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
77623         regex: Fix fastmap for multibyte character ranges.
77624         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
77625         characters when a multibyte character range is included.
77627 2009-11-22  Andy Wingo  <wingo@pobox.com>
77629         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
77630         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
77632 2009-11-24  Bruno Haible  <bruno@clisp.org>
77634         doc: Most *_l functions exist in MacOS X 10.5.
77635         * doc/posix-functions/duplocale.texi: Update platforms list.
77636         * doc/posix-functions/freelocale.texi: Likewise.
77637         * doc/posix-functions/newlocale.texi: Likewise.
77638         * doc/posix-functions/uselocale.texi: Likewise.
77639         * doc/posix-functions/isalnum_l.texi: Likewise.
77640         * doc/posix-functions/isalpha_l.texi: Likewise.
77641         * doc/posix-functions/isblank_l.texi: Likewise.
77642         * doc/posix-functions/iscntrl_l.texi: Likewise.
77643         * doc/posix-functions/isdigit_l.texi: Likewise.
77644         * doc/posix-functions/isgraph_l.texi: Likewise.
77645         * doc/posix-functions/islower_l.texi: Likewise.
77646         * doc/posix-functions/isprint_l.texi: Likewise.
77647         * doc/posix-functions/ispunct_l.texi: Likewise.
77648         * doc/posix-functions/isspace_l.texi: Likewise.
77649         * doc/posix-functions/isupper_l.texi: Likewise.
77650         * doc/posix-functions/iswalnum_l.texi: Likewise.
77651         * doc/posix-functions/iswalpha_l.texi: Likewise.
77652         * doc/posix-functions/iswblank_l.texi: Likewise.
77653         * doc/posix-functions/iswcntrl_l.texi: Likewise.
77654         * doc/posix-functions/iswctype_l.texi: Likewise.
77655         * doc/posix-functions/iswdigit_l.texi: Likewise.
77656         * doc/posix-functions/iswgraph_l.texi: Likewise.
77657         * doc/posix-functions/iswlower_l.texi: Likewise.
77658         * doc/posix-functions/iswprint_l.texi: Likewise.
77659         * doc/posix-functions/iswpunct_l.texi: Likewise.
77660         * doc/posix-functions/iswspace_l.texi: Likewise.
77661         * doc/posix-functions/iswupper_l.texi: Likewise.
77662         * doc/posix-functions/iswxdigit_l.texi: Likewise.
77663         * doc/posix-functions/isxdigit_l.texi: Likewise.
77664         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
77665         * doc/posix-functions/strcasecmp_l.texi: Likewise.
77666         * doc/posix-functions/strcoll_l.texi: Likewise.
77667         * doc/posix-functions/strfmon_l.texi: Likewise.
77668         * doc/posix-functions/strftime_l.texi: Likewise.
77669         * doc/posix-functions/strncasecmp_l.texi: Likewise.
77670         * doc/posix-functions/strxfrm_l.texi: Likewise.
77671         * doc/posix-functions/tolower_l.texi: Likewise.
77672         * doc/posix-functions/toupper_l.texi: Likewise.
77673         * doc/posix-functions/towctrans_l.texi: Likewise.
77674         * doc/posix-functions/towlower_l.texi: Likewise.
77675         * doc/posix-functions/towupper_l.texi: Likewise.
77676         * doc/posix-functions/wcscoll_l.texi: Likewise.
77677         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
77678         * doc/posix-functions/wctrans_l.texi: Likewise.
77679         * doc/posix-functions/wctype_l.texi: Likewise.
77680         * doc/glibc-functions/strptime_l.texi: Likewise.
77681         * doc/glibc-functions/strtod_l.texi: Likewise.
77682         * doc/glibc-functions/strtof_l.texi: Likewise.
77683         * doc/glibc-functions/strtol_l.texi: Likewise.
77684         * doc/glibc-functions/strtold_l.texi: Likewise.
77685         * doc/glibc-functions/strtoll_l.texi: Likewise.
77686         * doc/glibc-functions/strtoul_l.texi: Likewise.
77687         * doc/glibc-functions/strtoull_l.texi: Likewise.
77688         * doc/glibc-functions/wcsftime_l.texi: Likewise.
77689         * doc/glibc-functions/wcstod_l.texi: Likewise.
77690         * doc/glibc-functions/wcstof_l.texi: Likewise.
77691         * doc/glibc-functions/wcstol_l.texi: Likewise.
77692         * doc/glibc-functions/wcstold_l.texi: Likewise.
77693         * doc/glibc-functions/wcstoll_l.texi: Likewise.
77694         * doc/glibc-functions/wcstoul_l.texi: Likewise.
77695         * doc/glibc-functions/wcstoull_l.texi: Likewise.
77697 2009-11-24  Bruno Haible  <bruno@clisp.org>
77699         duplocale: Fix logic bug.
77700         * lib/duplocale.c: Don't include <langinfo.h>.
77701         (_NL_LOCALE_NAME): Remove macro.
77702         (rpl_duplocale): Use setlocale instead of nl_langinfo.
77703         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
77705 2009-11-23  Jim Meyering  <meyering@redhat.com>
77707         test-update-copyright: don't hard-code /usr/bin/perl
77708         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
77709         perl to print the current year.  Gilles Espinasse reported that
77710         the replaced use of perl was hard-coded as /usr/bin/perl.
77712 2009-11-23  Bruno Haible  <bruno@clisp.org>
77714         duplocale: Add support for glibc 2.3.x.
77715         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
77717 2009-11-22  Bruno Haible  <bruno@clisp.org>
77719         vasnprintf: Tiny optimization.
77720         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
77721         MacOS X.
77723 2009-11-22  Bruno Haible  <bruno@clisp.org>
77725         Tests for module 'duplocale'.
77726         * modules/duplocale-tests: New file.
77727         * tests/test-duplocale.c: New file.
77729         New module 'duplocale'.
77730         * m4/duplocale.m4: New file.
77731         * lib/locale.in.h (duplocale): New declaration.
77732         * lib/duplocale.c: New file.
77733         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
77734         gl_LOCALE_H_DEFAULTS): New macros.
77735         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
77736         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
77737         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
77738         REPLACE_DUPLOCALE.
77739         * modules/duplocale: New file.
77740         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
77742 2009-11-22  Bruno Haible  <bruno@clisp.org>
77744         * modules/locale-tests (configure.ac): Test for newlocale function.
77745         * tests/test-locale.c: When the system has extended locale functions,
77746         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
77748         locale: Make locale_t available when possible.
77749         * lib/locale.in.h: Include <xlocale.h> when it exists.
77750         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
77751         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
77752         * modules/locale (Depends-on): Add extensions.
77753         (Makefile.am): Also substitute HAVE_XLOCALE_H.
77754         * doc/posix-headers/locale.texi: Document the problem with locale_t.
77756 2009-11-22  Bruno Haible  <bruno@clisp.org>
77758         Add comments.
77759         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
77760         invocation.
77761         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
77762         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
77763         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
77765 2009-11-22  Bruno Haible  <bruno@clisp.org>
77767         error: account for the possibility of freopen (stdout).
77768         * lib/error.c: Include <unistd.h>.
77769         (flush_stdout): New function, extracted from error and error_at_line.
77770         Determine stdout's fd dynamically.
77771         (error, error_at_line): Invoke flush_stdout.
77772         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
77773         * modules/error (Depends-on): Add unistd.
77775 2009-11-22  Bruno Haible  <bruno@clisp.org>
77777         diffseq: Add comment.
77778         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
77780 2009-11-22  Jim Meyering  <meyering@redhat.com>
77782         c-stack: avoid defining an unused static function
77783         * lib/c-stack.c (find_stack_direction): Do not define this function
77784         when it will not be used.
77786         diffseq: avoid spurious gcc warnings
77787         * lib/diffseq.h (IF_LINT2): Define.
77788         (compareseq): Use it to initialize two members of "part".
77789         This avoids two used-uninitialized warnings.
77791 2009-11-21  Jim Meyering  <meyering@redhat.com>
77793         c-stack: avoid "ignoring return value of `write'" warning
77794         * lib/c-stack.c: Include "ignore-value.h".
77795         (die): Explicitly ignore each write return value.
77796         * modules/c-stack (Depends-on): Add ignore-value.
77798 2009-11-21  Bruno Haible  <bruno@clisp.org>
77800         diffseq: reduce scope of variable 'best'.
77801         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
77802         variable, earlier used for two different purposes.
77804 2009-11-21  Jim Meyering  <meyering@redhat.com>
77806         diffseq: remove useless assignment to "best"
77807         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
77808         assignment.  At that point "best" is already guaranteed to be zero.
77810 2009-11-20  Eric Blake  <ebb9@byu.net>
77812         build: mention ftp redirector in release announcements
77813         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
77814         values that used to come from cfg.mk; mention FTP redirect URL.
77815         * build-aux/announce-gen: Mention the mirror list.
77816         Suggested by Karl Berry.
77818         nanosleep: improve port to mingw
77819         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
77820         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
77821         LIB_NANOSLEEP, but only when needed.
77822         * modules/select (Link): Document LIBSOCKET.
77823         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
77824         enough.
77826         nanosleep: work around cygwin bug
77827         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
77828         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
77829         bug.
77830         (getnow): Delete, not needed.
77831         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
77832         LIB_CLOCK_GETTIME.
77833         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
77834         clock-time, gettime.
77835         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
77836         bug.
77837         * modules/nanosleep-tests: New test.
77838         * tests/test-nanosleep.c: New file.
77840         sleep: work around cygwin bug
77841         * lib/sleep.c (rpl_sleep): Work around the bug.
77842         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
77843         (gl_PREREQ_SLEEP): Delete unused macro.
77844         * modules/sleep (Depends-on): Add verify.
77845         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
77846         * modules/unistd (Makefile.am): Substitute witness.
77847         * lib/unistd.in.h (sleep): Update prototype.
77848         * doc/posix-functions/sleep.texi (sleep): Document the bug.
77849         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
77850         * modules/sleep-tests (Depends-on): Check for alarm.
77852 2009-11-20  Jim Meyering  <meyering@redhat.com>
77854         maint.mk: improve sc_prohibit_magic_number_exit
77855         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
77856         so it does not match uses like System.exit(1).
77857         Add comments showing how to correct all offenders.
77859 2009-11-19  Eric Blake  <ebb9@byu.net>
77861         xalloc-die-tests: add missing library
77862         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
77864         test-xvasprintf: silence compiler warnings
77865         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
77866         empty string from gcc.
77868 2009-11-19  Jim Meyering  <meyering@redhat.com>
77870         xfreopen: new module, from coreutils
77871         * modules/xfreopen: New module.
77872         * lib/xfreopen.c: New file.
77873         * lib/xfreopen.h: New file.
77874         * MODULES.html.sh (File stream based Input/Output"): Add it.
77876 2009-11-19  Eric Blake  <ebb9@byu.net>
77878         manywarnings: depend on warnings
77879         * modules/manywarnings (Depends-on): Add warnings.
77881         build: avoid compiler warnings
77882         * lib/select.c (rpl_select): Delete unused variable.
77883         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
77885 2009-11-18  Eric Blake  <ebb9@byu.net>
77887         tests: avoid false negative with --with-packager
77888         * tests/test-version-etc.sh: Discard packager information.
77889         * tests/test-argp-version-etc-1.sh: Likewise.
77890         Reported by Mike Frysinger.
77892         utimens: fix regression on Solaris
77893         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
77894         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
77895         can only change fd timestamps via futimesat.  Instead, use an
77896         additional witness macro to avoid BSD bug.
77897         Reported by Jim Meyering.
77899 2009-11-17  Eric Blake  <ebb9@byu.net>
77901         usleep: use it to simplify tests
77902         * modules/stat-time-tests (Depends-on): Add usleep.
77903         (configure.ac): Drop usleep check.
77904         * modules/chown-tests (Depends-on, configure.ac): Likewise.
77905         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
77906         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
77907         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
77908         * modules/openat-tests (Depends-on, configure.ac): Likewise.
77909         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
77910         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
77911         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
77912         Likewise.
77913         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
77914         * tests/test-lchown.h (nap): Likewise.
77915         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
77916         * tests/test-stat-time.c (nap): Likewise.
77917         * tests/test-utimens-common.h (nap): Update comments.
77919         usleep: new module
77920         * modules/usleep: New file.
77921         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
77922         * lib/usleep.c (usleep): Likewise.
77923         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
77924         * modules/unistd (Makefile.am): Substitute witnesses.
77925         * lib/unistd.in.h (usleep): Add declaration.
77926         * doc/pastposix-functions/usleep.texi (usleep): Document this.
77927         * MODULES.html.sh (Date and time): Likewise.
77928         * modules/usleep-tests (Depends-on): New test.
77929         * tests/test-usleep.c: New file.
77931         chown: work around OpenBSD bug
77932         * lib/chown.c (rpl_chown): Work around the bug.
77933         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
77934         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
77935         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
77936         * modules/chown (Depends-on): Add stdbool.
77937         * modules/lchown (Depends-on): Likewise.
77938         * doc/posix-functions/chown.texi (chown): Document the bug.
77939         * doc/posix-functions/lchown.texi (lchown): Likewise.
77940         * tests/test-lchown.h (test_chown): Relax test.
77942         mkstemp: avoid conflict with C++ keyword template
77943         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
77944         * lib/mkostemp.c (mkostemp): Likewise.
77945         * lib/mkostemps.c (mkostemps): Likewise.
77946         * lib/mkstemp.c (mkstemp): Likewise.
77947         * lib/mkstemps.c (mkstemps): Likewise.
77949         xalloc-die-tests: optimize
77950         * tests/test-xalloc-die.sh: Reduce number of processes.
77952 2009-11-17  Simon Josefsson  <simon@josefsson.org>
77954         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
77955         patch from ludo@gnu.org (Ludovic Courtès).
77957 2009-11-17  Jim Meyering  <meyering@redhat.com>
77959         version-etc: use proper license string
77960         * modules/version-etc (License): Use LGPL, not LGPLv3+.
77961         * modules/version-etc-fsf: Likewise.
77963 2009-11-17  Simon Josefsson  <simon@josefsson.org>
77965         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
77966         printed to stdout.  Deal with EOL differences.
77968 2009-11-17  Eric Blake  <ebb9@byu.net>
77970         unsetenv: work around Solaris bug
77971         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
77972         * lib/unsetenv.c (rpl_unsetenv): Work around it.
77973         Reported by Jim Meyering.
77975         vasnprintf: avoid compiler warnings
77976         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
77977         variables.
77978         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
77980 2009-11-17  Simon Josefsson  <simon@josefsson.org>
77982         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
77983         settings since xalloc-die is no longer the self test,
77984         xalloc-die.sh is.
77986 2009-11-17  Jim Meyering  <meyering@redhat.com>
77988         test-xalloc-die.sh: make the code agree with the commit log
77989         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
77990         at the end, just in case you happen to have a test-xalloc-die
77991         program in some other PATH directory.
77993         test-xalloc-die.sh: fix a portability bug
77994         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
77995         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
77996         Otherwise, argv[0] (as often seen in diagnostics) would be too
77997         system-dependent, sometimes with, and sometimes without the leading "./".
77999         version-etc-fsf: relax license to LGPLv3+
78000         * modules/version-etc-fsf (License): Relax license.
78002 2009-11-16  Eric Blake  <ebb9@byu.net>
78004         xalloc-die-tests: avoid printing null pointer
78005         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
78006         shell script.
78007         * tests/test-xalloc-die.c (program_name): Declare.
78008         * tests/test-xalloc-die.sh (tmpfiles): New file.
78010         setenv, unsetenv: work around various bugs
78011         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
78012         (setenv) [HAVE_SETENV]: Work around bugs.
78013         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
78014         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
78015         for bugs.
78016         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
78017         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
78018         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
78019         * modules/stdlib (Makefile.am): Update substitutions.
78020         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
78021         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
78022         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
78023         * modules/setenv-tests: New test.
78024         * modules/unsetenv-tests: Likewise.
78025         * tests/test-setenv.c: New file.
78026         * tests/test-unsetenv.c: Likewise.
78028 2009-11-16  Jim Meyering  <meyering@redhat.com>
78030         version-etc: relax license to LGPLv3+
78031         * modules/version-etc (License): Relax license.
78033         better AC_REQUIRE expanded-before-required-warning avoidance
78034         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
78035         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
78036         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
78037         which is no longer needed.
78039 2009-11-16  Eric Blake  <ebb9@byu.net>
78041         test-freading: clean up temporary file
78042         * tests/test-freading.c (main): Remove file on success, and use
78043         ASSERT more liberally.
78044         Reported by Jim Meyering.
78046 2009-11-16  Jim Meyering  <meyering@redhat.com>
78048         avoid new AC_REQUIRE expanded-before-required warnings
78049         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
78050         merely using it.
78051         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
78052         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
78054 2009-11-15  Simon Josefsson  <simon@josefsson.org>
78056         * tests/test-xalloc-die.c: New file.
78057         * modules/xalloc-die-tests: New file.
78058         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
78059         XFAIL_TESTS so it can be appended by modules.
78061 2009-11-15  Simon Josefsson  <simon@josefsson.org>
78063         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
78064         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
78066 2009-11-14  Eric Blake  <ebb9@byu.net>
78068         fnmatch: avoid compiler warning
78069         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
78070         to silence compiler warning about mismatch signedness in ?:.
78071         Reported by Robert Millan.
78073         intprops: add double-inclusion guard
78074         * lib/intprops.h: Allow idempotent includes.
78075         Suggested by Bruce Korb.
78077         openat: detect Solaris fchownat bug
78078         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
78079         penalizing glibc chownat when only lchownat is broken.
78080         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
78081         trailing slash bugs.
78082         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
78083         * modules/openat-tests (Files): Include more files.
78084         (Depends-on): Add mgetgroups, sleep, stat-time.
78085         (configure.ac): Add additional checks.
78086         (Makefile.am): Build new test.
78087         * tests/test-fchownat.c: New file.
78089         lchown: detect Solaris and FreeBSD bug
78090         * lib/lchown.c (rpl_lchown): Work around bug.
78091         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
78092         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
78093         * modules/unistd (Makefile.am): Populate it.
78094         * lib/unistd.in.h (lchown): Update declaration.
78095         * doc/posix-functions/lchown.texi (lchown): Document the bug.
78096         * modules/lchown-tests: New file.
78097         * tests/test-lchown.h (test_lchown): Likewise.
78098         * tests/test-lchown.c (main): Likewise.
78100         chown: detect Solaris and FreeBSD bug
78101         * lib/chown.c (rpl_chown): Work around bug.
78102         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
78103         (gl_PREREQ_CHOWN): Delete.
78104         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
78105         * modules/unistd (Makefile.am): Populate it.
78106         * lib/unistd.in.h (chown): Update declaration.
78107         * lib/lchown.c (chown): Update client.
78108         * modules/lchown (Depends-on): Add lstat.
78109         * doc/posix-functions/chown.texi (chown): Document the bug.
78110         * doc/posix-functions/getgroups.texi (getgroups): Document
78111         getgroups pitfall.
78112         * modules/chown-tests: New file.
78113         * tests/test-chown.h (test_chown): Likewise.
78114         * tests/test-chown.c (main): Likewise.
78116 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
78118         gnulib-tool: correctly detect absence of m4 directories
78119         * gnulib-tool: Avoid extra newline on data passed to wc -l.
78121 2009-11-14  Jim Meyering  <meyering@redhat.com>
78123         maint.mk: Prohibit inclusion of "xalloc.h" without use.
78124         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
78126 2009-11-14  John W. Eaton  <jwe@gnu.org>
78128         strftime.h: wrap function declaration in extern "C" block
78129         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
78131 2009-11-13  Eric Blake  <ebb9@byu.net>
78133         getgroups: avoid compiler warning
78134         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
78136         getgroups: work around FreeBSD bug
78137         * lib/getgroups.c (rpl_getgroups): Work around the bug.
78138         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
78139         * doc/posix-functions/getgroups.texi (getgroups): Document it.
78140         * tests/test-getgroups.c (main): Fix buffer overrun.
78142         getgroups: avoid compilation failure
78143         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
78144         * modules/getgroups (Depends-on): Add stdint.
78146 2009-11-13  Jim Meyering  <meyering@redhat.com>
78148         test-getgroups: avoid compilation failure
78149         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
78151 2009-11-13  Eric Blake  <ebb9@byu.net>
78153         mgetgroups: new module, taken from coreutils
78154         * modules/mgetgroups: New file.
78155         * lib/mgetgroups.h: Likewise.
78156         * lib/mgetgroups.c (mgetgroups): Likewise.
78157         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
78158         * MODULES.html.sh (Users and groups): Mention it.
78160         getgroups: don't expose GETGROUPS_T to user
78161         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
78162         an element at a time if GETGROUPS_T is wrong size.
78163         * lib/getugroups.h (getugroups): Change signature.
78164         * lib/unistd.in.h (getgroups): Likewise.
78165         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
78166         signature needs fixing.
78167         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
78168         AC_TYPE_GETGROUPS.
78169         * modules/group-member (Depends-on): Add getgroups.
78170         * lib/group-member.c (group_info, get_group_info): Use gid_t.
78171         (group_member): Rely on getgroups replacement.
78172         * lib/getugroups.c (getugroups): Use gid_t.
78173         * tests/test-getgroups.c (main): Likewise.
78174         * NEWS: Mention the signature change.
78175         * doc/posix-functions/getgroups.texi (getgroups): Mention the
78176         problem with signature.
78177         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
78178         GETGROUPS_T is still useful for setgroups.
78180         getgroups, getugroups: provide stubs for mingw
78181         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
78182         * lib/getugroups.c (getugroups): Likewise.
78183         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
78184         function.  Modernize replacement scheme.
78185         (gl_PREREQ_GETGROUPS): Delete.
78186         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
78187         * modules/getgroups (configure.ac): Declare witness.
78188         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
78189         * modules/unistd (Depends-on): Substitute witness.
78190         * lib/unistd.in.h (getgroups): Declare replacement.
78192         getgroups: avoid calling exit
78193         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
78194         drop xalloc.
78195         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
78196         dependencies.
78197         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
78198         exiting, in the rare case of malloc failure.
78200         getgroups: fix logic error
78201         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
78202         has more than 20 groups.
78203         * modules/getgroups-tests: New test.
78204         * tests/test-getgroups.c: New file.
78206 2009-11-13  Simon Josefsson  <simon@josefsson.org>
78208         * tests/test-base64.c: Improve.
78210 2009-11-13  Simon Josefsson  <simon@josefsson.org>
78212         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
78213         Blake <ebb9@byu.net>.
78215 2009-11-13  Simon Josefsson  <simon@josefsson.org>
78217         * tests/test-xvasprintf.c: Add %s%s related checks.
78219 2009-11-12  Eric Blake  <ebb9@byu.net>
78221         version-etc: match standards.texi style
78222         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
78223         and use <> only for URLs.
78225 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
78227         fts: do not fail on a submount during traversal
78228         * lib/fts.c (fts_build): Read the stat info again after opening
78229         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
78230         Original report at http://bugzilla.redhat.com/501848.
78232 2009-11-12  Jim Meyering  <meyering@redhat.com>
78234         bootstrap: sync from coreutils
78235         * build-aux/bootstrap (bootstrap_epilogue): New function.
78236         Use git_modules_config in one more place.  This make bootstrap's
78237         --gnulib-srcdir option more useful for testing.
78239         bootstrap: generalize autoheader check
78240         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
78241         AC_CONFIG_HEADERS.
78243 2009-11-11  Eric Blake  <ebb9@byu.net>
78245         mkfifoat: use new modules for Solaris and BSD bugs
78246         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
78247         * lib/mkfifoat.c (mknodat): Split...
78248         * lib/mknodat.c (mknodat): ...into new file.
78249         * modules/mkfifoat (Files): Ship new file.
78250         (Depends-on): Add mkfifo, mknod.
78251         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
78252         (Depends-on): Add symlink.
78253         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
78254         redundant with test_mkfifo.h.
78255         (do_mkfifoat, do_mknodat): New helpers.
78257         mknod: new module
78258         * modules/mknod: New file.
78259         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
78260         * lib/mknod.c (mknod): Likewise.
78261         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
78262         defaults.
78263         * modules/sys_stat (Makefile.am): Substitute them.
78264         * lib/sys_stat.in.h (mknod): Declare replacement.
78265         * MODULES.html.sh (Support for systems lacking POSIX:2008):
78266         Document it.
78267         * doc/posix-functions/mknod.texi (mknod): Likewise.
78268         * modules/mknod-tests: New test.
78269         * tests/test-mknod.c: Likewise.
78271         mkfifo: new module
78272         * modules/mkfifo: New file.
78273         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
78274         * lib/mkfifo.c (mkfifo): Likewise.
78275         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
78276         defaults.
78277         * modules/sys_stat (Makefile.am): Substitute them.
78278         * lib/sys_stat.in.h (mkfifo): Declare replacement.
78279         * MODULES.html.sh (Support for systems lacking POSIX:2008):
78280         Document it.
78281         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
78282         * modules/mkfifo-tests: New test.
78283         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
78284         from test-mkfifoat.c.
78285         * tests/test-mkfifo.c: New file.
78287         readlink: detect FreeBSD bug
78288         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
78289         slash on symlink.
78290         * doc/posix-functions/readlink.texi (readlink): Document the bug.
78291         * tests/test-readlink.h (test_readlink): Enhance test.
78293         symlink: detect FreeBSD bug
78294         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
78295         slash on symlink.
78296         * doc/posix-functions/symlink.texi (symlink): Document the bug.
78297         * tests/test-symlink.h (test_symlink): Enhance test.
78299 2009-11-10  Eric Blake  <ebb9@byu.net>
78301         link: detect FreeBSD bug
78302         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
78303         symlink.
78304         * doc/posix-functions/link.texi (link): Document the bug.
78305         * tests/test-link.h (test_link): Enhance test.
78306         * tests/test-linkat.c (main): Update caller.
78308         unlink, remove: detect FreeBSD bug
78309         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
78310         slash on symlink.
78311         * doc/posix-functions/unlink.texi (unlink): Document the bug.
78312         * doc/posix-functions/remove.texi (remove): Likewise.
78313         * tests/test-unlink.h (test_unlink): Enhance test.
78314         * tests/test-remove.c (main): Likewise.
78316 2009-11-09  Eric Blake  <ebb9@byu.net>
78318         rename: detect FreeBSD bug
78319         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
78320         slash on symlink.
78321         * modules/renameat-tests (Depends-on): Add filenamecat.
78322         * tests/test-rename.h (test_rename): Allow one more errno.
78323         * tests/test-renameat.c (main): Likewise.
78324         * doc/posix-functions/rename.texi (rename): Document the bug.
78326         open: detect FreeBSD bug
78327         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
78328         symlink.
78329         * doc/posix-functions/open.texi (open): Document the bug.
78330         * doc/posix-functions/utimes.texi (utimes): Likewise.
78331         * tests/test-open.h (test_open): Add parameters, and test symlink
78332         handling.
78333         * tests/test-open.c (main): Adjust caller.
78334         * tests/test-fcntl-safer.c (main): Likewise.
78335         * modules/open-tests (Depends-on): Add stdbool, symlink.
78336         * modules/fcntl-safer-tests (Depends-on): Likewise.
78337         * tests/test-openat.c (main): Add test-open tests.
78339         stat: detect FreeBSD bug
78340         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
78341         symlink.
78342         * doc/posix-functions/stat.texi (stat): Document the bug.
78343         * tests/test-stat.h (test_stat_func): Add argument.
78344         * tests/test-stat.c (main): Adjust caller.
78345         * tests/test-fstatat.c (main): Likewise.
78346         * modules/stat-tests (Depends-on): Add stdbool, symlink.
78347         Reported by Jim Meyering.
78349 2009-11-09  James Youngman  <jay@gnu.org>
78351         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
78352         * lib/strftime.c: Correct placement of #include "ignore-value.h".
78354 2009-11-08  Jim Meyering  <meyering@redhat.com>
78356         utimens: remove invalid futimesat call
78357         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
78358         It used the file descriptor of the target file as the DIR_FD
78359         parameter and NULL as the file name.  That caused failure with
78360         errno == EFAULT on FreeBSD-8.0-rc2
78362 2009-11-07  Eric Blake  <ebb9@byu.net>
78364         fflush, freadseek: use fseeko, not fseek
78365         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
78366         (clear_ungetc_buffer): Avoid potential problems on large files.
78367         * lib/freadseek.c (freadseek): Likewise.
78368         * modules/freadseek (Depends-on): Add fseeko.
78369         * modules/fseek (configure.ac): Set a witness.
78370         * tests/test-fflush.c (main): Use fseeko.
78371         * tests/test-fpurge.c (fseek): Disable link warning.
78372         * tests/test-freadable.c (fseek): Likewise.
78373         * tests/test-freading.c (fseek): Likewise.
78374         * tests/test-fseeko.c (fseek): Likewise.
78375         * tests/test-ftell.c (fseek): Likewise.
78376         * tests/test-ftello.c (fseek): Likewise.
78377         * tests/test-fwritable.c (fseek): Likewise.
78378         * tests/test-fwriting.c (fseek): Likewise.
78380 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78382         * modules/memchr (Depends-on): Drop getpagesize dependency.
78384 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78386         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
78387         Reported by Ludovic Courtès.
78388         * build-aux/pmccabe2html: Improve example usage.
78389         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
78391 2009-11-06  Jim Meyering  <meyering@redhat.com>
78393         do-release-commit-and-tag: New module.
78394         Automate the release-commit and tag process.
78395         * build-aux/do-release-commit-and-tag: New script, from coreutils.
78396         * modules/do-release-commit-and-tag: New file.
78397         * MODULES.html.sh (Support for maintaining and releasing): Add it.
78399 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78401         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
78402         because test-select.c uses inet_pton.
78404 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78406         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
78407         GETADDRINFO_LIB.  Bump serial number.
78408         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
78409         Suggested by Eric Blake <ebb9@byu.net>.
78411 2009-11-05  Eric Blake  <ebb9@byu.net>
78413         strtod: detect darwin bug
78414         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
78415         Reported by Leo Davis.
78417         freopen-safer: new module
78418         * modules/freopen-safer: New module.
78419         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
78420         * lib/freopen-safer.c (freopen_safer): New file.
78421         * lib/stdio-safer.h (freopen_safer): New declaration.
78422         * lib/stdio--.h (freopen): New override.
78423         * MODULES.html.sh (File stream based Input/Output): Mention it.
78424         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
78425         freopen-safer module.
78426         * doc/posix-functions/stderr.texi (stderr): Likewise.
78427         * doc/posix-functions/stdin.texi (stdin): Likewise.
78428         * doc/posix-functions/stdout.texi (stdout): Likewise.
78429         * modules/freopen-safer-tests: New test.
78430         * tests/test-reopen-safer.c: New file.
78432 2009-11-05  Jim Meyering  <meyering@redhat.com>
78434         maint.mk: Prohibit inclusion of "close-stream.h" without use.
78435         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
78437 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78439         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
78441 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78443         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
78445 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78447         Fix link error.
78448         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
78449         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
78451 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78453         * tests/test-func.c: Also test value of __func__.
78455 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78457         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
78458         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
78460 2009-11-05  Bruno Haible  <bruno@clisp.org>
78462         Fix link error.
78463         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
78464         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
78465         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
78467 2009-11-05  Bruno Haible  <bruno@clisp.org>
78469         Tests for module 'inet_pton'.
78470         * modules/inet_pton-tests: New file.
78471         * tests/test-inet_pton.c: New file.
78473 2009-11-05  Bruno Haible  <bruno@clisp.org>
78475         Tests for module 'inet_ntop'.
78476         * modules/inet_ntop-tests: New file.
78477         * tests/test-inet_ntop.c: New file.
78479 2009-11-04  Eric Blake  <ebb9@byu.net>
78481         stdlib-safer: wrap all mkstemp variants
78482         * modules/mkostemp (configure.ac): Set witness.
78483         * modules/mkostemps (configure.ac): Likewise.
78484         * modules/mkstemps (configure.ac): Likewise.
78485         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
78486         (mkstemps_safer): Wrap more functions.
78487         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
78488         wrapping.
78489         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
78490         (mkstemps_safer): Implement the wrappers.
78492         mkstemps, mkostemps: new modules
78493         * modules/mkostemps: New module.
78494         * modules/mkstemps: Likewise.
78495         * lib/mkostemps.c (mkostemps): New file.
78496         * lib/mkstemps.c (mkstemps): Likewise.
78497         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
78498         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
78499         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
78500         * modules/stdlib (Makefile.am): Substitute them.
78501         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
78502         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
78503         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
78504         * doc/gnulib.texi (Glibc stdlib.h): Include them.
78505         * MODULES.html.sh (File system functions): Mention them.
78507         tempname: resync from glibc
78508         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
78509         same values for __GT_FILE as glibc.  Abort even when assertions
78510         are disabled.
78511         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
78512         match its value otherwise.  Allow idempotent inclusion.
78513         * lib/mkdtemp.c (mkdtemp): Adjust caller.
78514         * lib/mkostemp.c (mkostemp): Likewise.
78515         * lib/mkstemp.c (mkstemp): Likewise.
78516         * lib/tmpfile.c (tmpfile): Likewise.
78517         * NEWS: Document this.
78519         utimens: fix use of futimens on older Linux
78520         * lib/utimens.c (fdutimens): Use updated, rather than original,
78521         timespec to avoid bug in older Linux kernel.
78522         Reported by Simon Josefsson.
78524 2009-11-04  Bruno Haible  <bruno@clisp.org>
78526         Make num_processors more flexible and consistent.
78527         * lib/nproc.h (enum nproc_query): New type.
78528         (num_processors): Add a 'query' argument.
78529         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
78530         (num_processors): Add a 'query' argument. Test the value of the
78531         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
78532         mingw, count the number of CPUs available for the current process.
78533         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
78534         Check for sched_getaffinity and sched_getaffinity_np.
78535         * modules/nproc (Depends-on): Add c-ctype, extensions.
78536         * NEWS: Mention the change.
78538 2009-11-03  Bruno Haible  <bruno@clisp.org>
78540         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
78542 2009-11-03  Jim Meyering  <meyering@redhat.com>
78544         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
78545         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
78546         if it is defined.
78548 2009-11-02  Eric Blake  <ebb9@byu.net>
78550         mktime, timegm: share common declaration
78551         * lib/mktime-internal.h: New file.
78552         * lib/mktime.c: Use it rather than open-coding a declaration.
78553         * lib/timegm.c: Likewise.
78554         * modules/mktime (Files): Ship it.
78555         * modules/timegm (Files): Likewise.
78556         Suggested by Bruno Haible.
78558         test-update-copyright: update test to match script changes
78559         * tests/test-update-copyright.sh: Avoid hard-coding perl
78560         location.  Don't update *.bak created by earlier runs.
78562 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78563             Simon Josefsson  <simon@josefsson.org>
78564             Bruno Haible  <bruno@clisp.org>
78566         Fix link error on Solaris 8.
78567         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
78568         also in libnsl. Define also INET_PTON_LIB.
78569         * modules/inet_pton (Link): New section.
78571 2009-11-02  Simon Josefsson  <simon@josefsson.org>
78572             Bruno Haible  <bruno@clisp.org>
78574         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
78575         * modules/inet_ntop (Link): New section.
78576         Reported by Boyan Kasarov <bkasarov@gmail.com>.
78578 2009-11-02  Eric Blake  <ebb9@byu.net>
78580         maint: avoid compiler warnings in m4 macros
78581         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
78582         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
78584 2009-11-02  Simon Josefsson  <simon@josefsson.org>
78586         * m4/pmccabe2html.m4: Remove file.
78587         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
78588         function.  Change maintainer.
78589         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
78590         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
78591         Courtès).
78593 2009-10-31  Eric Blake  <ebb9@byu.net>
78595         fseeko: fix m4 regression
78596         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
78597         regression from 2009-10-27.
78598         Reported by Ralf Wildenhues.
78600 2009-10-31  Jim Meyering  <meyering@redhat.com>
78602         inttostr: aesthetics and improved (compile-time) safety
78603         Define inttype_is_signed rather than inttype_is_unsigned,
78604         since the sole use is via "#if inttype_is_signed".
78605         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
78606         inttype_is_unsigned.
78607         * lib/offtostr.c (inttype_is_signed): Likewise.
78608         * lib/uinttostr.c (inttype_is_signed): Likewise.
78609         * lib/umaxtostr.c (inttype_is_signed): Likewise.
78610         * lib/inttostr.c (inttostr): Use verify to cross-check the
78611         inttype_is_signed value and the signedness of the actual type.
78612         * modules/inttostr (Depends-on): Add verify.
78614 2009-10-30  Eric Blake  <ebb9@byu.net>
78616         build: avoid compiler warnings
78617         * lib/fchmodat.c (lchmod): Mark unused variables.
78618         * lib/getopt.c (_getopt_initialize): Likewise.
78619         * lib/mktime.c (__mktime_internal): Provide prototype.
78620         * lib/inttostr.c (inttostr): Avoid compiler warning even with
78621         older gcc that do not understand #pragma GCC diagnostic.
78622         * lib/uinttostr.c (inttype_is_unsigned): Define.
78623         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
78625 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
78627         stat: fix compilation on AIX
78628         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
78629         only see struct stat64.
78631 2009-10-30  Eric Blake  <ebb9@byu.net>
78633         exclude: make more robust
78634         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
78635         rather than masking a coding bug.
78636         Suggested by Bruno Haible.
78638 2009-10-30  Jim Meyering  <meyering@redhat.com>
78640         perl scripts: remove #!/usr/bin/perl in favor of more portable...
78641         Rather than putting #!/usr/bin/perl on the first line,
78642         start with a variant of what's recommended by "man perlrun" that
78643         invokes the first "perl" program from your shell's search path.
78644         * build-aux/gitlog-to-changelog: Replace #!... as above.
78645         Add a "Local Variables" perl mode setting.
78646         Prompted by a patch from Ludovic Courtès.
78647         Improved by Eric Blake.
78648         * build-aux/useless-if-before-free: Likewise.
78649         * build-aux/announce-gen: Likewise.
78650         * build-aux/update-copyright: Likewise.
78652 2009-10-29  Eric Blake  <ebb9@byu.net>
78654         filenamecat-lgpl: adjust clients
78655         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
78656         filenamecat.
78657         * modules/renameat (Depends-on): Likewise.
78659         filenamecat: split into filenamecat-lgpl
78660         * modules/filenamecat-lgpl: New module.
78661         * modules/filenamecat (Files): Move library-safe files into
78662         filenamecat-lgpl.
78663         (Depends-on): Add filenamecat-lgpl.
78664         (configure.ac): Declare witness.
78665         * lib/filenamecat.h (file_name_concat): Only declare when using
78666         GPL module.
78667         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
78668         Move...
78669         * lib/filenamecat-lgpl.c: ...into new file.
78670         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
78671         (gl_FILE_NAME_CONCAT): Use it.
78672         * MODULES.html.sh (File system functions): Mention new module.
78674         argp: avoid memory leak
78675         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
78676         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
78677         base_name, since the latter malloc()s and can call exit().
78678         Leak introduced 2006-07-03.
78680         dirname-lgpl: adjust clients that don't need full dirname
78681         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
78682         * modules/filenamecat (Depends-on): Likewise.
78683         * modules/linkat (Depends-on): Likewise.
78684         * modules/mkancesdirs (Depends-on): Likewise.
78685         * modules/mkdir (Depends-on): Likewise.
78686         * modules/openat (Depends-on): Likewise.
78687         * modules/savewd (Depends-on): Likewise.
78688         * modules/rename (Depends-on): Likewise.
78689         (License): Relax license.
78690         * modules/mkdir-tests (Depends-on): Drop progname.
78691         (Makefile.am): Delete unneeded LDADD.
78692         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
78694         dirname: split into dirname-lgpl
78695         * modules/dirname-lgpl: New module.
78696         * modules/dirname (Files): Move library-safe files into
78697         dirname-lgpl.
78698         (Depends-on): Add dirname-lgpl.
78699         (configure.ac): Declare witness.
78700         * modules/double-slash-root (License): Relax license.
78701         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
78702         module.
78703         * lib/dirname.c (dir_len, mdir_name): Move...
78704         * lib/dirname-lgpl.c: ...into new file.
78705         * lib/basename.c (last_component, base_len): Move...
78706         * lib/basename-lgpl.c: ...into new file.
78707         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
78708         (gl_DIRNAME): Use it.
78709         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
78710         Mention new module.
78711         * modules/dirname-tests (Depends-on): Add progname.
78712         * tests/test-dirname.c (program_name): Delete.
78714         mkdir: make safe for libraries
78715         * modules/mkdir (Depends-on): Drop xalloc.
78716         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
78717         exit.
78719         tests: avoid some compiler warnings
78720         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
78721         literals.
78722         * tests/test-memchr.c (main): Avoid type mismatch.
78723         * tests/test-arpa_inet.c (main): Avoid unused parameters.
78724         * tests/test-base64.c (main): Likewise.
78725         * tests/test-getdelim.c (main): Likewise.
78726         * tests/test-gethostname.c (main): Likewise.
78727         * tests/test-getline.c (main): Likewise.
78728         * tests/test-netinet_in.c (main): Likewise.
78729         * tests/test-select.c (open_server_socket, main): Likewise.
78730         * tests/test-select-stdin.c (main): Likewise.
78731         * tests/test-sockets.c (main): Likewise.
78732         * tests/test-strsignal.c (main): Likewise.
78733         * tests/test-sys_select.c (main): Likewise.
78734         * tests/test-sys_socket.c (main): Likewise.
78735         * tests/test-u64.c (main): Likewise.
78736         * tests/test-xfprintf-posix.c (main): Likewise.
78737         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
78739         sockets: avoid compiler warning
78740         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
78742         maint: detect usage(1) and other suspicious exits
78743         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
78745 2009-10-29  Jim Meyering  <meyering@redhat.com>
78747         timespec: long-to-int truncation could make timespec_cmp malfunction
78748         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
78749         a multiple of 2^32 nanoseconds as no difference.
78751 2009-10-28  Jim Meyering  <meyering@redhat.com>
78753         fprintftime: wrap macro code argument in "do {...} while(0)"
78754         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
78755         cpy macro must be a statement that can be followed by a semicolon.
78756         Now that the else clause contains a comment and is hence longer
78757         than one line, I require curly braces.  That in turn requires
78758         that we wrap this code block in the standard do...while(0).
78760         fprintftime: remove stray semicolon from previous change
78761         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
78763         fprintftime: avoid a warning about ignored fwrite return value
78764         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
78765         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
78766         that is unsafe.
78767         * modules/fprintftime (Depends-on): Add ignore-value.
78769         exclude: avoid an unwarranted warning
78770         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
78772 2009-10-27  Eric Blake  <ebb9@byu.net>
78774         fseek: avoid compilation failure when fflush is replaced
78775         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
78776         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
78777         module is in use.
78778         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
78779         module is not in use; since REPLACE_FSEEK worked otherwise.
78780         (GNULIB_FTELLO): Likewise for ftell.
78781         Reported by Ian Beckwith and others.
78783 2009-10-27  Bruno Haible  <bruno@clisp.org>
78785         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
78786         Reported by Jim Meyering.
78788 2009-10-27  Jim Meyering  <jim@meyering.net>
78789             Bruno Haible  <bruno@clisp.org>
78791         Avoid warning despite dropping the return value of fwrite.
78792         * lib/unicodeio.c: Include ignore-value.h.
78793         (fwrite_success_callback): Explicitly ignore fwrite's return value.
78794         * modules/unicodeio (Depends-on): Add ignore-value.
78796 2009-10-26  Eric Blake  <ebb9@byu.net>
78798         areadlinkat: fix fallback path
78799         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
78800         pointer and zero.
78802 2009-10-22  Pádraig Brady  <P@draigBrady.com>
78804         Use a better IO block size for modern systems
78805         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
78806         * lib/md2.c: Likewise.
78807         * lib/md4.c: Likewise.
78808         * lib/md5.c: Likewise.
78809         * lib/sha1.c: Likewise.
78810         * lib/sha256.c: Likewise.
78811         * lib/sha512.c: Likewise.
78813 2009-10-22  Eric Blake  <ebb9@byu.net>
78815         tests: avoid several compiler warnings
78816         * tests/test-getcwd.c (main): Avoid buffer underflow.
78817         * tests/test-getdate.c (main): String literals are not safe with
78818         putenv, so use setenv.  Declare unused argument.
78819         * modules/getdate-tests (Depends-on): Add setenv.
78820         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
78821         problems with string literals in char *.
78822         * tests/test-hash.c (main): Avoid shadowing declaration.
78823         (insert_new): Treat string literals as char const *.
78824         * tests/test-getopt.h (test_getopt): Likewise.
78825         (getopt_loop): Alter types to minimize casting elsewhere.
78826         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
78827         (test_getopt_long_posix): Likewise.
78828         (do_getopt_long): Add wrapper to minimize casting.
78829         * tests/test-atexit.c (clear_temp_file): Use void.
78830         * tests/test-areadlink-with-size.c (main): Declare unused
78831         arguments.
78832         * tests/test-areadlink.c (main): Likewise.
78833         * tests/test-areadlinkat-with-size.c (main): Likewise.
78834         * tests/test-areadlinkat.c (main): Likewise.
78835         * tests/test-canonicalize-lgpl.c (main): Likewise.
78836         * tests/test-canonicalize.c (main): Likewise.
78837         * tests/test-dirent-safer.c (main): Likewise.
78838         * tests/test-dirname.c (main): Likewise.
78839         * tests/test-dup2.c (main): Likewise.
78840         * tests/test-fchdir.c (main): Likewise.
78841         * tests/test-fcntl-h.c (main): Likewise.
78842         * tests/test-fcntl-safer.c (main): Likewise.
78843         * tests/test-fdopendir.c (main): Likewise.
78844         * tests/test-fdutimensat.c (main): Likewise.
78845         * tests/test-fflush.c (main): Likewise.
78846         * tests/test-filenamecat.c (main): Likewise.
78847         * tests/test-filevercmp.c (main): Likewise.
78848         * tests/test-fopen-safer.c (main): Likewise.
78849         * tests/test-fopen.c (main): Likewise.
78850         * tests/test-fpending.c (main): Likewise.
78851         * tests/test-fpurge.c (main): Likewise.
78852         * tests/test-freading.c (main): Likewise.
78853         * tests/test-fstatat.c (main): Likewise.
78854         * tests/test-fsync.c (main): Likewise.
78855         * tests/test-futimens.c (main): Likewise.
78856         * tests/test-getndelim2.c (main): Likewise.
78857         * tests/test-gettimeofday.c (main): Likewise.
78858         * tests/test-getopt.c (main): Likewise.
78859         * tests/test-i-ring.c (main): Likewise.
78860         * tests/test-inttypes.c (main): Likewise.
78861         * tests/test-link.c (main): Likewise.
78862         * tests/test-lstat.c (main): Likewise.
78863         * tests/test-math.c (main): Likewise.
78864         * tests/test-md5.c (main): Likewise.
78865         * tests/test-memchr2.c (main): Likewise.
78866         * tests/test-memrchr.c (main): Likewise.
78867         * tests/test-mkdir.c (main): Likewise.
78868         * tests/test-mkdirat.c (main): Likewise.
78869         * tests/test-mkfifoat.c (main): Likewise.
78870         * tests/test-open.c (main): Likewise.
78871         * tests/test-openat-safer.c (main): Likewise.
78872         * tests/test-openat.c (main): Likewise.
78873         * tests/test-quotearg.c (main): Likewise.
78874         * tests/test-rawmemchr.c (main): Likewise.
78875         * tests/test-readlink.c (main): Likewise.
78876         * tests/test-remove.c (main): Likewise.
78877         * tests/test-rename.c (main): Likewise.
78878         * tests/test-renameat.c (main): Likewise.
78879         * tests/test-rmdir.c (main): Likewise.
78880         * tests/test-sha1.c (main): Likewise.
78881         * tests/test-signal.c (main): Likewise.
78882         * tests/test-sigaction.c (main): Likewise.
78883         * tests/test-stat.c (main): Likewise.
78884         * tests/test-stat-time.c (main): Likewise.
78885         * tests/test-stddef.c (main): Likewise.
78886         * tests/test-stdint.c (main): Likewise.
78887         * tests/test-stdio.c (main): Likewise.
78888         * tests/test-stdlib.c (main): Likewise.
78889         * tests/test-strchrnul.c (main): Likewise.
78890         * tests/test-strerror.c (main): Likewise.
78891         * tests/test-string.c (main): Likewise.
78892         * tests/test-strtod.c (main): Likewise.
78893         * tests/test-strverscmp.c (main): Likewise.
78894         * tests/test-symlink.c (main): Likewise.
78895         * tests/test-symlinkat.c (main): Likewise.
78896         * tests/test-sys_stat.c (main): Likewise.
78897         * tests/test-sys_time.c (main): Likewise.
78898         * tests/test-time.c (main): Likewise.
78899         * tests/test-unistd.c (main): Likewise.
78900         * tests/test-unlink.c (main): Likewise.
78901         * tests/test-unlinkat.c (main): Likewise.
78902         * tests/test-utimens.c (main): Likewise.
78903         * tests/test-utimensat.c (main): Likewise.
78904         * tests/test-version-etc.c (main): Likewise.
78905         * tests/test-wchar.c (main): Likewise.
78906         * tests/test-wctype.c (main): Likewise.
78907         * tests/test-xprintf-posix.c (main): Likewise.
78908         * tests/test-posixtm.c (main): Likewise.
78909         (STREQ): Delete unused macro.
78910         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
78911         shadowed variables.
78912         * tests/test-memchr.c (main): Likewise.
78914 2009-10-21  Eric Blake  <ebb9@byu.net>
78916         areadlinkat: avoid failure on older glibc
78917         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
78918         rather than mis-comparing 0 against FUNC_RESULT of char*.
78920 2009-10-21  Bruno Haible  <bruno@clisp.org>
78922         * modules/stpncpy (License): Relicense under LGPLv2+.
78923         Reported by David Lutterkort <lutter@redhat.com>.
78925 2009-10-20  Eric Blake  <ebb9@byu.net>
78927         utimensat: work around Solaris 9 bug
78928         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
78929         has trailing slash bugs.
78930         * tests/test-lutimens.h (test_lutimens): Enhance test.
78931         * tests/test-utimens.h (test_utimens): Likewise.
78932         * doc/posix-functions/utime.texi (utime): Enhance documentation.
78933         * doc/posix-functions/utimes.texi (utimes): Likewise.
78934         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
78935         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
78936         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
78937         * doc/posix-functions/futimens.texi (futimens): Likewise.
78939         fdutimensat: new module
78940         * modules/fdutimensat: New file.
78941         * lib/fdutimensat.c (fdutimensat): Likewise.
78942         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
78943         * MODULES.html.sh (File system functions): Mention module.
78944         * modules/fdutimensat-tests: New test.
78945         * tests/test-fdutimensat.c: Likewise.
78947         doc: regenerate INSTALL
78948         * doc/INSTALL: Reflect recent autoconf update.
78949         * doc/INSTALL.ISO: Likewise.
78950         * doc/INSTALL.UTF-8: Likewise.
78952 2009-10-20  Pádraig Brady  <P@draigBrady.com>
78954         acl: warn if ACL support is not detected
78955         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
78957 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
78959         * lib/nproc.h: Add extern "C" block for C++.
78961 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
78962             Bruno Haible  <bruno@clisp.org>
78964         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
78965         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
78966         * doc/posix-functions/isalpha.texi: Likewise.
78967         * doc/posix-functions/isblank.texi: Likewise.
78968         * doc/posix-functions/iscntrl.texi: Likewise.
78969         * doc/posix-functions/isdigit.texi: Likewise.
78970         * doc/posix-functions/isgraph.texi: Likewise.
78971         * doc/posix-functions/islower.texi: Likewise.
78972         * doc/posix-functions/isprint.texi: Likewise.
78973         * doc/posix-functions/ispunct.texi: Likewise.
78974         * doc/posix-functions/isspace.texi: Likewise.
78975         * doc/posix-functions/isupper.texi: Likewise.
78976         * doc/posix-functions/isxdigit.texi: Likewise.
78978 2009-10-18  Bruno Haible  <bruno@clisp.org>
78980         Tests for module 'isblank'.
78981         * modules/isblank-tests: New file.
78982         * tests/test-isblank.c: New file.
78984         New module 'isblank'.
78985         * lib/isblank.c: New file.
78986         * m4/isblank.m4: New file.
78987         * modules/isblank: New file.
78988         * doc/posix-functions/isblank.texi: Mention the new module.
78990 2009-10-18  Bruno Haible  <bruno@clisp.org>
78992         New module 'ctype'.
78993         * lib/ctype.in.h: New file.
78994         * m4/ctype.m4: New file.
78995         * modules/ctype: New file.
78996         * doc/posix-headers/ctype.texi: Mention the new module.
78998 2009-10-18  Jim Meyering  <meyering@redhat.com>
79000         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
79001         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
79002         right after its initialization, rather than farther down.
79003         Keeping these in close proximity makes it easier to ensure
79004         that each such variable is initialized.  E.g.,
79006             LIB_CLOCK_GETTIME=
79007             AC_SUBST([LIB_CLOCK_GETTIME])
79009         This change also increments these serial numbers.
79010         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
79011         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
79012         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79014 2009-10-18  Bruno Haible  <bruno@clisp.org>
79016         Don't let environment variables perturb build.
79017         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
79018         (gl_PREREQ_GETHRXTIME): ... not here.
79020 2009-10-18  Bruno Haible  <bruno@clisp.org>
79022         Avoid symlink attack in localcharset module.
79023         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
79024         (O_NOFOLLOW): Define fallback.
79025         (get_charset_aliases): Don't open the file if it is a symbolic link.
79026         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
79027         gl_FCNTL_H.
79028         (gl_FCNTL_H): Require it.
79029         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
79030         * modules/localcharset (Files): Add m4/fcntl_h.m4.
79031         Reported by Fergal Glynn <fglynn@veracode.com>.
79033 2009-10-18  Bruno Haible  <bruno@clisp.org>
79035         Implement nproc for mingw.
79036         * lib/nproc.c: Include <windows.h>
79037         (num_processors): On native Windows platforms, try GetSystemInfo.
79039 2009-10-18  Bruno Haible  <bruno@clisp.org>
79041         Implement nproc for IRIX.
79042         * lib/nproc.c: Include <sys/sysmp.h>.
79043         (num_processors): On IRIX systems, try sysmp.
79044         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
79046 2009-10-18  Bruno Haible  <bruno@clisp.org>
79048         Implement nproc for HP-UX.
79049         * lib/nproc.c: Include <sys/pstat.h>
79050         (num_processors): On HP-UX systems, try pstat_getdynamic.
79051         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
79052         pstat_getdynamic.
79054 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
79055             Bruno Haible  <bruno@clisp.org>
79057         Implement nproc for NetBSD, OpenBSD.
79058         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
79059         (ARRAY_SIZE): New macro.
79060         (num_processors): On BSD systems, try sysctl of HW_NCPU.
79061         * m4/nproc.m4: New file.
79062         * modules/nproc (Files): Add m4/nproc.m4.
79063         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
79064         (Makefile.am): Instead, augment lib_SOURCES.
79066 2009-10-18  Bruno Haible  <bruno@clisp.org>
79068         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
79069         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
79070         sys/param.h.
79072 2009-10-16  Eric Blake  <ebb9@byu.net>
79074         utimensat: new module
79075         * modules/utimensat: New file.
79076         * lib/utimensat.c (utimensat): Likewise.
79077         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
79078         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
79079         so we can work around Linux bugs.
79080         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
79081         * modules/sys_stat (Makefile.am): Substitute them.
79082         * lib/sys_stat.in.h (utimensat): Declare it.
79083         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79084         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
79085         * modules/utimensat-tests: New test.
79086         * tests/test-utimensat.c: Likewise.
79088         utimens: let lutimens work on non-symlinks
79089         * lib/utimens.c (lutimens): Fall back to utimens rather than
79090         failing with ENOSYS, when file is not a symlink.
79091         (utimens): Reduce redirection.
79092         * tests/test-lutimens.h (test_lutimens): Update test to cover
79093         non-symlinks.
79094         * tests/test-utimens.h (test_utimens): Update test to cover
79095         symlinks.
79096         * tests/test-utimens.c (main): Update caller.
79098         utimens: cache whether utimensat syscall works
79099         * lib/utimens.c (utimensat_works_really): New cache variable.
79100         (fdutimens, lutimens): Use it to avoid failing syscall.
79102         test-stat-time, test-utimens: improve portability
79103         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
79104         ext4 on alpha, and for cygwin.
79105         * tests/test-utimens-common.h: New file.
79106         (nap): Factor delays into single function.
79107         * tests/test-lutimens.h (test_lutimens): Use new header.
79108         * tests/test-futimens.h (test_futimens): Likewise.
79109         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
79110         timestamps to occur from same machine, as was done previously for
79111         test_utimens.
79112         * modules/utimens-tests (Files): Ship new file.
79113         * modules/futimens-tests (Files): Likewise.
79114         Reported in part by Jim Meyering.
79116         sys_stat: sort replacement declarations
79117         * lib/sys_stat.in.h: Sort declarations.
79118         * lib/futimens.c (futimens): Fix typo.
79120 2009-10-15  Jim Meyering  <meyering@redhat.com>
79122         don't let environment settings perturb build
79123         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
79124         could cause a configure-time and/or build-time malfunction.
79125         Typically, a configure-time function-in-library test is performed
79126         via code like this:
79128           LIB_VAR=
79129           AC_SUBST([LIB_VAR])
79130           prefix_saved_LIBS=$LIBS
79131             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
79132                        [test "$ac_cv_search_FUNC" = "none required" ||
79133                         LIB_VAR=$ac_cv_search_FUNC])
79134           LIBS=$prefix_saved_LIBS
79136         However, in each of the files affected by this change, the LIB_VAR=
79137         initialization was omitted.  Thus, when set in the environment, its
79138         value would propagate into generated Makefiles when FUNC is not found
79139         in LIB_NAME.
79140         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
79141         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
79142         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79144 2009-10-14  Eric Blake  <ebb9@byu.net>
79146         fchdir: avoid infinite recursion in mingw
79147         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
79148         recursing.
79150         test-stat-time: port to mingw
79151         * tests/test-stat-time.c (force_unlink): Return a value.
79152         (test_ctime) [W32]: Fix compilation error.
79153         (nap): Don't call usleep with too large an argument.  Use
79154         force_unlink.
79155         * doc/pastposix-functions/usleep.texi (usleep): Document the
79156         portability issue.
79158 2009-10-13  Jim Meyering  <meyering@redhat.com>
79160         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
79161         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
79162         * modules/pipe-filter-ii: Likewise.
79163         * modules/sys_socket-tests: Likewise.
79164         * modules/tsearch-tests: Likewise.
79165         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
79166         (check): Depend on it.
79168 2009-10-12  Eric Blake  <ebb9@byu.net>
79170         utimens-tests: port to NFS file systems
79171         * tests/test-utimens.h (test_utimens): Refactor utimecmp
79172         comparisons to avoid spurious failures from timestamp drift
79173         between NFS machines.
79175 2009-10-12  Eric Blake  <ebb9@byu.net>
79177         stat-time-tests: minor cleanups
79178         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
79179         * tests/test-stat-time.c (nap): Separate assignment from call.
79180         Suggested by Paolo Bonzini and Bruno Haible.
79182         sys_stat: guarantee struct timespec
79183         * lib/sys_stat.in.h (includes): Always include <time.h>
79184         * modules/sys_stat (Depends-on): Add time.
79185         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
79186         mode_t permission values.
79187         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
79188         get at subsecond timestamps.
79190 2009-10-10  Eric Blake  <ebb9@byu.net>
79192         futimens: new module
79193         * modules/futimens: New file.
79194         * lib/futimens.c (futimens): Likewise.
79195         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
79196         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
79197         we can work around Linux bugs.
79198         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
79199         * modules/sys_stat (Makefile.am): Substitute them.
79200         * lib/sys_stat.in.h (futimens): Declare it.
79201         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79202         * doc/posix-functions/futimens.texi (futimens): Likewise.
79203         * modules/futimens-tests: New test.
79204         * tests/test-futimens.c: Likewise.
79206         utimens: introduce fdutimens
79207         * lib/utimens.h (fdutimens): New prototype.
79208         * lib/utimens.c (gl_futimens): Move guts...
79209         (fdutimens): ...to new interface.
79210         * tests/test-utimens.c (do_fdutimens): Use it.
79212         utimens: add UTIME_NOW and UTIME_OMIT support
79213         * lib/utimens.c (validate_timespec, update_timespec): New helper
79214         functions.
79215         (gl_futimens, lutimens): Use them.
79216         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
79217         stdbool, sys_stat.
79218         (Link): Mention resulting library dependency.
79219         * modules/utimecmp (Link): Likewise.
79220         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
79221         (Makefile.am): Pick up library dependency.
79222         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
79223         definition.
79224         * tests/test-sys_stat.c: Test the definitions.
79225         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
79226         * NEWS: Document library dependency.
79228         utimecmp: support symlink timestamps
79229         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
79230         hashing when possible.  Use pathconf when available.
79231         (SYSCALL_RESOLUTION): Recognize tighter resolution.
79232         * modules/utimecmp (Depends-on): Add lstat.
79234         utimens: add lutimens interface
79235         * lib/utimens.c (lutimens): New function.
79236         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
79237         * lib/utimens.h (lutimens): Declare new interface.
79238         * tests/test-utimens.c (main): Enhance test.
79239         * tests/test-lutimens.h (test_lutimens): New file.
79240         * modules/utimens-tests (Files): Distribute it.
79241         (Depends-on): Add symlink.
79242         (configure.ac): Check for usleep.
79244         utimens: validate futimens usage
79245         * lib/utimens.c (gl_futimens): Require valid fd up front, using
79246         fewer syscalls on failure later on.  Avoid compiler warning on
79247         mingw.
79248         * modules/utimens (Depends-on): Add dup2.
79250         utimens: add test
79251         * modules/utimens-tests: New test.
79252         * tests/test-utimens.h: New file.
79253         * tests/test-futimens.h: Likewise.
79254         * tests/test-utimens.c: Likewise.
79256         doc: mention timestamp portability issues
79257         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
79258         instead.
79259         * doc/posix-functions/utime.texi (utime): Likewise.
79260         * doc/posix-functions/utimes.texi (utimes): Likewise.
79261         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
79262         instead.
79263         * doc/posix-functions/futimens.texi (futimens): Mention utimens
79264         module.
79265         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
79266         Mention weakness with symlink timestamps.
79267         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
79268         to utimensat/futimens instead.
79269         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
79271         test-dup2: enhance test
79272         * tests/test-dup2.c (main): Also check AT_FDCWD.
79274         test-stat-time: avoid more spurious failures
79275         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
79276         xfs; and avoid race if the two timestamps cross quantization edge.
79278         relocatable: prefer 'file system' over 'filesystem'
79279         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
79280         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
79281         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
79282         * doc/relocatable.texi (Enabling Relocatability): Likewise.
79283         * lib/relocatable.c (compute_curr_prefix): Likewise.
79285 2009-10-10  Jim Meyering  <meyering@redhat.com>
79287         stat-time-tests: check for the usleep function
79288         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
79290 2009-10-10  Bruno Haible  <bruno@clisp.org>
79292         * modules/xnanosleep: Put the Link section after the Include section.
79294 2009-10-09  Eric Blake  <ebb9@byu.net>
79296         dup2: work around FreeBSD 6.1 bug
79297         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
79298         * doc/posix-functions/dup2.texi (dup2): Document it.
79299         Reported by Nelson H. F. Beebe and Jim Meyering.
79301         test-stat-time: port to buggy NFS clients
79302         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
79303         (test_ctime): Also skip test if mtime and ctime are skewed.
79305         maint: prefer 'file system' over 'filesystem'
79306         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
79307         * doc/posix-functions/lstat.texi (lstat): Likewise.
79308         * lib/file-has-acl.c (file_has_acl): Likewise.
79309         * lib/fwriteerror.c [TEST]: Likewise.
79310         * tests/test-areadlink.h (test_areadlink): Likewise.
79311         * tests/test-areadlinkat-with-size.c (main): Likewise.
79312         * tests/test-areadlinkat.c (main): Likewise.
79313         * tests/test-canonicalize-lgpl.c (main): Likewise.
79314         * tests/test-canonicalize.c (main): Likewise.
79315         * tests/test-fstatat.c (main): Likewise.
79316         * tests/test-linkat.c (main): Likewise.
79317         * tests/test-lstat.h (test_lstat_func): Likewise.
79318         * tests/test-mkdir.h (test_mkdir): Likewise.
79319         * tests/test-readlink.h (test_readlink): Likewise.
79320         * tests/test-remove.c (main): Likewise.
79321         * tests/test-rename.h (test_rename): Likewise.
79322         * tests/test-renameat.c (main): Likewise.
79323         * tests/test-rmdir.h (test_rmdir_func): Likewise.
79324         * tests/test-symlink.h (test_symlink): Likewise.
79325         * tests/test-symlinkat.c (main): Likewise.
79326         * tests/test-unlink.h (test_unlink_func): Likewise.
79327         * tests/test-unlinkat.c (main): Likewise.
79329         maint: make realtime library usage explicit
79330         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
79331         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
79332         * modules/settime (Link): Likewise.
79333         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
79335         test-stat-time: speed up execution
79336         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
79337         warning on mingw.
79338         (nap): New helper function.
79339         (prepare_test): Use it to reduce sleep time.
79340         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
79341         execution.
79342         * modules/stat-time-tests (configure.ac): Check for usleep.
79344 2009-10-09  Jim Meyering  <meyering@redhat.com>
79346         selinux-h: always use getfilecon wrappers
79347         * lib/getfilecon.c: New file.
79348         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
79349         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
79350         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
79351         (fgetfilecon): Provide a stub.
79352         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
79353         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
79354         file unconditionally.
79355         When <selinux/selinux.h> is found, arrange to use wrappers.
79356         * modules/selinux-h (Files): Add getfilecon.c.
79357         (Makefile.am): Substitute include-next-related bits
79358         into the now-always-generated selinux/selinux.h file.
79359         * doc/glibc-functions/lgetfilecon.texi: New file.
79360         * doc/glibc-functions/fgetfilecon.texi: New file.
79361         * doc/glibc-functions/getfilecon.texi: New file.
79362         * doc/glibc-functions/getfilecon-desc.texi: New file.
79363         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
79364         which to pull in the new files.
79365         * MODULES.html.sh (Misc): Add selinux-h.
79367 2009-10-08  Jim Meyering  <meyering@redhat.com>
79369         unistd: fix comment typo
79370         * lib/unistd.in.h (euidaccess): Fix a comment typo.
79372 2009-10-08  Eric Blake  <ebb9@byu.net>
79374         areadlink: use SIZE_MAX consistently
79375         * modules/areadlink (Depends-on): Add stdint.
79376         * modules/areadlink-with-size (Depends-on): Likewise.
79377         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
79378         gives NULL; drop sys/types, since unistd gives size_t; and add
79379         stdint for SIZE_MAX.
79380         (SIZE_MAX): Rely on headers.
79381         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
79382         and add stdint.
79383         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
79384         (SIZE_MAX): Likewise.
79385         (INITIAL_BUF_SIZE): Turn into enum.
79386         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
79388 2009-10-08  Jim Meyering  <meyering@redhat.com>
79390         areadlinkat: avoid compilation failure
79391         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
79392         Fix typo in comment.
79394 2009-10-07  Eric Blake  <ebb9@byu.net>
79396         areadlinkat-with-size: new module
79397         * modules/areadlinkat-with-size: New module.
79398         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
79399         * lib/areadlink.h (areadlinkat): Declare it.
79400         * MODULES.html.sh (File system functions): Mention it.
79401         * modules/areadlinkat-with-size-tests: New test.
79402         * tests/test-areadlinkat-with-size.c: New file.
79404         xreadlinkat: new module
79405         * modules/xreadlinkat: New module.
79406         * lib/xreadlinkat.c (xreadlinkat): New file.
79407         * lib/xreadlink.h (xreadlinkat): Declare it.
79408         * MODULES.html.sh (File system functions): Mention it.
79410         areadlinkat: new module
79411         * lib/at-func.c (FUNC_FAIL): New define.
79412         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
79413         * modules/areadlinkat: New module.
79414         * lib/linkat.c (areadlinkat): Move...
79415         * lib/areadlinkat.c (areadlinkat): ...to new file.
79416         * lib/areadlink.h (areadlinkat): Declare it.
79417         * modules/linkat (Depends-on): Add areadlinkat.
79418         * MODULES.html.sh (File system functions): Mention it.
79419         * modules/areadlinkat-tests: New test.
79420         * tests/test-areadlinkat.c: New file.
79422         areadlink, areadlink-with-size: add tests
79423         * modules/areadlink-tests: New test.
79424         * modules/areadlink-with-size-tests: Likewise.
79425         * tests/test-areadlink.h: New file.
79426         * tests/test-areadlink.c: Likewise.
79427         * tests/test-areadlink-with-size.c: Likewise.
79429         maint: minor cleanups
79430         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
79431         _UNUSED_PARAMETER_ instead.
79432         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
79433         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
79434         * modules/linkat-tests (Files): Distribute test-link.h.
79436         openat, utimens: whitespace cleanup
79437         * lib/openat.c: Prefer space throughout, rather than mix of 8
79438         spaces vs. tabs.
79439         * lib/at-func.c: Likewise.
79440         * lib/utimens.c: Likewise.
79442         openat: avoid using wrong fd
79443         * lib/openat.c (openat_permissive): Reject user's fd if saving the
79444         working directory chooses same fd.
79445         * lib/at-func.c (AT_FUNC_NAME): Likewise.
79447         mkdir, mkdirat: fix cygwin 1.5.x bug
79448         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
79449         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
79450         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
79451         bug.
79452         (gl_PREREQ_MKDIR): Delete unused macro.
79453         * modules/mkdir (Files): Track file rename.
79454         (configure.ac): Update macro name.
79455         * modules/openat (Depends-on): Add mkdir.
79456         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
79458         mkdir, mkdirat: add tests
79459         * modules/mkdir-tests: New test.
79460         * tests/test-mkdir.h: New file.
79461         * tests/test-mkdir.c: Likewise.
79462         * tests/test-mkdirat.c: Likewise.
79463         * modules/openat-tests (Files): Add new files.
79464         (Makefile.am): Run new test.
79466 2009-10-06  Eric Blake  <ebb9@byu.net>
79468         doc: tweak *at function documentation
79469         * doc/posix-functions/faccessat.texi (faccessat): Mention
79470         known issue with replacement.
79471         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
79472         * doc/posix-functions/linkat.texi (linkat): Likewise.
79473         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
79474         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
79475         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
79476         * doc/posix-functions/renameat.texi (renameat): Likewise.
79477         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
79479         openat: fix GNU/Hurd bug in unlinkat
79480         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
79481         broken.
79482         * doc/posix-functions/unlink.texi (unlink): Document this.
79483         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
79485         fdopendir: fix GNU/Hurd bug
79486         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
79487         allowing non-directory fds.
79488         * lib/fdopendir.c (rpl_fdopendir): Work around it.
79489         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
79490         * modules/dirent (Makefile.am): Substitute it.
79491         * lib/dirent.in.h (fdopendir): Declare replacement.
79492         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
79493         * tests/test-fdopendir.c (main): Test something other than
79494         /dev/null, since on Hurd that behaves like a directory.
79496         test-symlink: port to GNU/Hurd
79497         * tests/test-symlink.h (test_symlink): Relax expected errno.
79499         doc: tweak more cygwin information
79500         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
79501         now compatible with glibc.
79502         * doc/posix-functions/getopt.texi (getopt): Likewise.
79504         getopt-gnu: add another test
79505         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
79506         guarantee behavior relied on by m4.
79507         * tests/test-getopt.c (main): Use it.
79508         * modules/getopt-posix-tests (Depends-on): Add setenv.
79509         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
79511         getopt: fix compilation on darwin
79512         * lib/getopt.in.h (includes): Leave breadcrumbs during system
79513         include.
79514         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
79515         Reported by Ludovic Courtès.
79517 2009-10-06  Bruno Haible  <bruno@clisp.org>
79519         * modules/size_max (Description): Discourage its use.
79520         Reported by Simon Josefsson.
79522 2009-10-06  Jim Meyering  <meyering@redhat.com>
79524         linkat: avoid compilation failure
79525         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
79527 2009-10-05  Eric Blake  <ebb9@byu.net>
79529         linkat: support Linux 2.6.17
79530         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
79531         linkat on Linux, but allow cache variable override.
79532         * lib/linkat.c (rpl_linkat): Define override.
79533         * modules/linkat (Depends-on): Add symlinkat.
79534         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
79535         * modules/unistd (Makefile.am): Substitute it.
79536         * lib/unistd.in.h (linkat): Declare replacement.
79537         Reported by Pádraig Brady.
79539         quotearg: port test to systems with C.UTF-8 locale
79540         * tests/test-quotearg.c (struct result_strings): Add another
79541         member, differentiating between C.ASCII and C.UTF-8 handling.
79542         (compare_strings): Add parameter.
79543         (main): Adjust all callers.
79545         getopt: avoid clash with FreeBSD _getopt_internal
79546         * lib/getopt.in.h (_getopt_internal): Override the name.
79547         * lib/getopt_int.h (includes): Pick up any overrides.
79548         Reported by Reuben Thomas.
79550         hash: allow C89 compilation
79551         * lib/hash.c (check_tuning): Move declaration before statement.
79552         Reported by Reuben Thomas.
79554 2009-10-05  Karl Berry  <karl@gnu.org>
79556         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
79558 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
79559             Bruno Haible  <bruno@clisp.org>
79561         * lib/uname.c (uname): Use a table-driven algorithm to compute
79562         Windows NT versions.
79564 2009-10-04  Bruno Haible  <bruno@clisp.org>
79566         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
79567         program_invocation_short_name.
79568         * modules/progname (configure.ac): Test for presence of
79569         program_invocation_short_name.
79570         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
79572 2009-10-04  Bruno Haible  <bruno@clisp.org>
79574         * lib/progname.c (set_program_name): Fix comment.
79575         Reported by Jim Meyering.
79577 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
79578             Bruno Haible  <bruno@clisp.org>
79580         * lib/uname.c: Include <string.h>.
79581         (uname): Do only one call to GetVersionEx in the common case.
79583 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
79584             Bruno Haible  <bruno@clisp.org>
79586         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
79587         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
79588         (uname): Add support for Windows CE and various non-x86 CPU types.
79590 2009-10-03  Bruno Haible  <bruno@clisp.org>
79592         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
79593         invocation to tests/configure.ac.
79594         Reported by Ian Beckwith <ianb@erislabs.net>.
79596 2009-10-02  Eric Blake  <ebb9@byu.net>
79598         fchdir: avoid compiler warning
79599         * lib/fchdir.c (canonicalize_file_name)
79600         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
79602         test-open: support mingw errno values
79603         * tests/test-open.h (test_open): Relax test.
79604         * tests/test-fopen.h (test_fopen): Likewise.
79605         * tests/test-openat-safer.c (main): Likewise.
79607         open: fix opening directory on mingw
79608         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
79610         test-open: on GNU/Hurd, /dev/null is a directory
79611         * tests/test-fopen.h (main): Rename...
79612         (test_fopen): ...to this.  Use a guaranteed non-directory when
79613         confirming open behavior on trailing slash.
79614         * tests/test-openat-safer.c (main): Likewise.
79615         * tests/test-open.h (main): Likewise....
79616         (test_open): ...to this.
79617         * tests/test-fopen.c (main): Adjust caller.
79618         * tests/test-fopen-safer.c (main): Likewise.
79619         * tests/test-open.c (main): Likewise.
79620         * tests/test-fcntl-safer.c (main): Likewise.
79621         Reported by Samuel Thibault.
79623         rename, fchdir: don't ignore chdir failure
79624         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
79625         * lib/rename.c (rpl_rename) [W32]: Likewise.
79626         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
79627         an empty destination directory if source cannot be renamed,
79628         although there is still possibility for failure.
79629         * doc/posix-functions/rename.texi (rename): Document the race.
79630         Reported by Jim Meyering.
79632         maint: cleanup whitespace in recent commits
79633         * lib/rename.c (rpl_rename): Remove tabs.
79634         * tests/test-link.h (test_link): Likewise.
79635         * lib/fchdir.c (get_name): Likewise.
79636         Reported by Jim Meyering.
79638 2009-10-02  Ben Pfaff  <blp@gnu.org>
79640         relocatable-prog-wrapper: Add missing dependency on
79641         double-slash-root.
79642         * modules/relocatable-prog-wrapper: Add dependency.
79643         Reported by Ian Beckwith <ianb@erislabs.net>.
79645 2009-10-02  Eric Blake  <ebb9@byu.net>
79647         renameat: fix Solaris bugs
79648         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
79649         needed fixing.
79650         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
79651         * modules/stdio (Makefile.am): Substitute it.
79652         * lib/stdio.in.h (renameat): Declare replacement.
79653         * lib/renameat.c (rpl_renameat): Implement fix.
79655         renameat: new module
79656         * modules/renameat: New file.
79657         * lib/renameat.c (renameat): Likewise.
79658         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
79659         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
79660         * modules/stdio (Makefile.am): Substitute them.
79661         * lib/stdio.in.h (renameat): Declare it.
79662         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79663         * doc/posix-functions/renameat.texi (renameat): Likewise.
79664         * modules/renameat-tests: New test.
79665         * tests/test-renameat.c: Likewise.
79667         rename: fix mingw bugs
79668         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
79669         directory overwrite bugs.
79671         rename: fix another cygwin 1.5 bug
79672         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
79673         checks.
79674         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
79675         unnecessary cygwin workarounds.  Also work around bug with moving
79676         full directory onto an empty one.
79677         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
79679         rename-dest-slash: merge into rename module
79680         * modules/rename-dest-slash (Status): Mark obsolete.
79681         (Depends-on): Add rename.
79682         (Files): Let rename do it all.
79683         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
79684         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
79685         * m4/rename-dest-slash.m4: ...so this file can be deleted.
79686         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
79687         * lib/rename.c (rpl_rename): Update comments.
79689         rename: fix cygwin 1.5.x bugs
79690         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
79691         * lib/rename.c (rpl_rename): Work around them.
79692         * modules/rename (Depends-on): Add same-inode.
79694         rename: fix Solaris 10 bug
79695         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
79696         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
79697         was the only bug.
79699         rename: fix Solaris 9 bug
79700         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
79701         on non-directory.  Avoid calling exit.
79702         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
79703         strdup.
79704         * modules/rename-tests (Depends-on): Drop lstat.
79705         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
79706         (gl_PREREQ_RENAME): Delete unused macro.
79708         rename-dest-slash: fix NetBSD bug
79709         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
79710         links.
79711         * modules/rename-dest-slash (Depends-on): Add same-inode.
79713         rename-tests: new test, exposes several platform bugs
79714         * modules/rename-tests: New file.
79715         * tests/test-rename.h: Likewise.
79716         * tests/test-rename.c: Likewise.
79717         * doc/posix-functions/rename.texi (rename): Improve documentation,
79718         including bugs that will eventually be fixed in gnulib.
79720 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
79722         * lib/uname.c: Include <stdlib.h>
79723         (uname): Assume version info is available.
79725 2009-10-02  Jim Meyering  <meyering@redhat.com>
79727         gnu-web-doc-update: correct --help output
79728         * build-aux/gnu-web-doc-update: Make --help output relevant.
79730         gnu-web-doc-update: add standard options
79731         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
79733         gnu-web-doc-update: New module.
79734         Use this script to automatically update the on-line web documentation
79735         for your GNU project at http://www.gnu.org/software/$pkg/manual/
79736         * modules/gnu-web-doc-update: New file, from coreutils.
79737         * build-aux/gnu-web-doc-update: New script.
79739 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
79741         link: LoadLibrary is not needed.
79742         * lib/link.c: Use GetModuleHandle.
79744 2009-10-01  Eric Blake  <ebb9@byu.net>
79746         getopt: bump serial number
79747         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
79748         change.
79750         tests: tighten link, rmdir, and remove tests
79751         * tests/test-link.h (includes): No need to use <config.h> here.
79752         Clean up if directory hard link was created, otherwise test for
79753         trailing '.'.
79754         * tests/test-linkat.c (main): Simplify.
79755         * tests/test-remove.c (main): Enhance test for trailing '.'.
79756         * tests/test-rmdir.h (test_rmdir_func): Likewise.
79758 2009-10-01  Jim Meyering  <meyering@redhat.com>
79760         maint.mk: requiring "make major" was annoying, for a "minor" release.
79761         What is intended is "stable", to contrast with alpha and beta,
79762         so require "make stable", not "make major".
79763         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
79764         (get_tool_versions): Likewise.
79765         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
79767 2009-09-30  Ben Pfaff  <blp@gnu.org>
79769         Fix broken build of replacement for Windows tmpfile().
79770         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
79771         flags argument added along with the 'mkostemp' module.
79773 2009-09-28  Bruno Haible  <bruno@clisp.org>
79775         Avoid identifier clash with POSIX function 'remove' defined as a macro.
79776         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
79777         to 'remove_elt'.
79778         (gl_list_remove): Update.
79779         * lib/gl_list.c (gl_list_remove): Update.
79780         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
79781         to 'remove_elt'.
79782         (gl_oset_remove): Update.
79783         * lib/gl_list.c (gl_oset_remove): Update.
79784         Reported by Eric Blake.
79786 2009-09-28  Eric Blake  <ebb9@byu.net>
79788         doc: mention yet more cygwin 1.7 status
79789         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
79790         cygwin.
79791         * doc/glibc-functions/execvpe.texi (execvpe): New file.
79792         * doc/gnulib.texi (Glibc unistd.h): Mention it.
79794         argp: fix test failure
79795         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
79796         that are not upper-case.  Pass correct range to tolower.
79798 2009-09-27  Jim Meyering  <meyering@redhat.com>
79800         test-yesno: work around sparc-dash here-document infelicity
79801         Without this change, the literal \177 byte in a here document
79802         would make dash 0.5.5.1-3 access uninitialized memory.
79803         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
79804         Instead, use a marker, "@", and filter through tr to create the desired
79805         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
79807 2009-09-27  Bruno Haible  <bruno@clisp.org>
79809         Disable untested support for new flavours of ACLs on AIX.
79810         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
79811         progress.
79812         * lib/set-mode-acl.c (qset_acl): Likewise.
79814 2008-12-07  Bruno Haible  <bruno@clisp.org>
79816         Add support for new flavours of ACLs on AIX. (Untested.)
79817         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
79818         (file_has_acl): Add support for newer AIX.
79819         * lib/set-mode-acl.c (qset_acl): Likewise.
79820         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
79821         Rainer Tammer <tammer@tammer.net>.
79823 2009-09-26  Eric Blake  <ebb9@byu.net>
79825         argp: fix compilation of getopt
79826         * lib/getopt.in.h (includes): Use different guard than glibc.
79827         Reported by Sergey Poznyakoff.
79829         doc: mention more cygwin 1.7 status
79830         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
79831         bug.
79832         * doc/posix-functions/execl.texi (execl): Likewise.
79833         * doc/posix-functions/execle.texi (execle): Likewise.
79834         * doc/posix-functions/execlp.texi (execlp): Likewise.
79835         * doc/posix-functions/execv.texi (execv): Likewise.
79836         * doc/posix-functions/execve.texi (execve): Likewise.
79837         * doc/posix-functions/execvp.texi (execvp): Likewise.
79838         * doc/glibc-functions/canonicalize_file_name.texi
79839         (canonicalize_file_name): Cygwin 1.7 now provides this.
79840         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
79841         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
79842         on AT_SYMLINK_NOFOLLOW.
79844 2009-09-24  Eric Blake  <ebb9@byu.net>
79846         test-linkat: make test more robust
79847         * tests/test-linkat.c (main): Avoid collision with EEXIST.
79849         getopt: fix inclusion guards for cygwin
79850         * modules/getopt-posix (Depends-on): Add include-next.
79851         (Makefile.am): Substitute more items in replacement header.
79852         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
79853         <getopt.h>.
79854         * lib/getopt.in.h (includes): Use split inclusion guard, and
79855         prefer <getopt.h> over include <unistd.h> when one is present.
79856         (option): Also override name of 'struct option'.
79858         same-inode: revert prior change; it is not yet ready
79859         * NEWS: Undo mention of this change.
79860         * lib/same-inode.h (same-inode.h): Undo tri-state change.
79861         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
79862         * lib/cycle-check.c (cycle_check): Likewise.
79863         * lib/same.c (same_name): Likewise.
79864         * lib/at-func2.c (at_func2): Likewise.
79866 2009-09-23  Eric Blake  <ebb9@byu.net>
79868         linkat: new module
79869         * modules/linkat: New file.
79870         * lib/at-func2.c (at_func2): Likewise.
79871         * lib/linkat.c (linkat): Likewise.
79872         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
79873         * lib/openat-priv.h (at_func2): Add declaration.
79874         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
79875         * modules/unistd (Makefile.am): Substitute them.
79876         * lib/unistd.in.h (linkat): Declare it.
79877         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79878         * doc/posix-functions/linkat.texi (linkat): Likewise.
79879         * doc/posix-functions/link.texi (link): Tweak wording.
79880         * tests/test-link.c (main): Move guts...
79881         * tests/test-link.h (test_link): ...into new file.
79882         * modules/linkat-tests: New test.
79883         * tests/test-linkat.c: Likewise.
79884         * modules/link-tests (Files): Ship new file.
79885         (Depends-on): Add stdbool.
79887         dirname: add library-safe mdir_name
79888         * lib/dirname.h (mdir_name): New prototype.
79889         * lib/dirname.c (dir_name): Move guts...
79890         (mdir_name): ...to new function that avoids xalloc_die.
79892         fchdir: another mingw fix
79893         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
79894         * lib/fchdir.c (get_name): New helper method; skips canonicalize
79895         on mingw (where it has not yet been ported), and make it optional
79896         elsewhere.
79897         (_gl_register_fd): Use it.
79899         same-inode: make SAME_INODE tri-state, to port to mingw
79900         * NEWS: Mention this change.
79901         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
79902         st_ino always being 0.
79903         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
79904         * lib/cycle-check.c (cycle_check): Likewise.
79905         * lib/same.c (same_name): Likewise.
79907         lstat: avoid mingw compilation error
79908         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
79909         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
79910         lstat ourselves.
79911         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
79912         was adequate.
79913         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
79914         the checks for lstat.
79915         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
79917         link: fix test failure on Solaris 9
79918         * lib/link.c (rpl_link): Don't assume link will catch bogus
79919         trailing slash on source.
79921         test-symlinkat: enhance test
79922         * tests/test-readlink.c (main): Move guts...
79923         * tests/test-readlink.h (test_readlink): ...into new file.
79924         * tests/test-symlink.c (main): Move guts...
79925         * tests/test-symlink.h (test_symlink): ...into new file.
79926         * tests/test-symlinkat.c (main): Use new files for further
79927         coverage.
79928         (do_symlink, do_readlink): New helper functions.
79929         * modules/symlink-tests (Files): Ship new file.
79930         (Depends-on): Add stdbool.
79931         * modules/readlink-tests (Files): Ship new file.
79932         (Depends-on): Add stdbool.
79933         * modules/symlinkat-tests (Files): Use new files.
79935 2009-09-23  Eric Blake  <ebb9@byu.net>
79937         readlink: document portability issue with symlink length
79938         * doc/posix-functions/lstat.texi (lstat): Mention that some file
79939         systems have bogus st_size on symlinks, and mention the
79940         areadlink-with-size module.
79941         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
79942         * doc/posix-functions/readlink.texi (readlink): Mention the
79943         areadlink module, and ERANGE failure.
79944         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
79945         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
79947         readlink: fix Solaris 9 bug with trailing slash
79948         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
79949         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
79950         * doc/posix-functions/readlink.texi (readlink): Document this.
79951         * modules/readlink-tests: New test.
79952         * tests/test-readlink.c: Likewise.
79954         readlink: fix cygwin 1.5.x bug with return type
79955         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
79956         * lib/unistd.in.h (readlink): Use ssize_t.
79957         * lib/readlink.c (readlink): Likewise.
79958         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
79959         * modules/unistd (Makefile.am): Substitute it.
79960         * lib/unistd.in.h (readlink): Declare replacement.
79961         * doc/posix-functions/readlink.texi (readlink): Document this.
79963         symlink: use throughout gnulib
79964         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
79965         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
79966         symlink is not used.
79967         * modules/symlinkat (Depends-on): Add symlink.
79968         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
79969         * modules/canonicalize-tests (Depends-on): Likewise.
79970         * modules/lstat-tests (Depends-on): Likewise.
79971         * modules/openat-tests (Depends-on): Likewise.
79972         * modules/remove-tests (Depends-on): Likewise.
79973         * modules/rmdir-tests (Depends-on): Likewise.
79974         * modules/unlink-tests (Depends-on): Likewise.
79975         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
79976         * tests/test-canonicalize.c (symlink): Likewise.
79977         * tests/test-fstatat.c (symlink): Likewise.
79978         * tests/test-lstat.c (symlink): Likewise.
79979         * tests/test-remove.c (symlink): Likewise.
79980         * tests/test-rmdir.c (symlink): Likewise.
79981         * tests/test-unlink.c (symlink): Likewise.
79982         * tests/test-unlinkat.c (symlink): Likewise.
79984         symlink: new module, for Solaris 9 bug
79985         * modules/symlink: New file.
79986         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
79987         * lib/symlink.c: Likewise.
79988         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
79989         * modules/unistd (Makefile.am): Substitute them.
79990         * lib/unistd.in.h (symlink): Declare replacement.
79991         * MODULES.html.sh (File system functions): Mention it.
79992         * doc/posix-functions/symlink.texi (symlink): Likewise.
79993         * modules/symlink-tests: New test.
79994         * tests/test-symlink.c: Likewise.
79996 2009-09-23  Bruno Haible  <bruno@clisp.org>
79998         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
79999         when needed.
80000         Test case: gnulib-tool --import --with-tests atexit inttypes.
80001         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
80003 2009-09-23  Bruno Haible  <bruno@clisp.org>
80005         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
80006         subcommand, not in a subshell.
80008 2009-09-22  Eric Blake  <ebb9@byu.net>
80010         unistd: sort replacement declarations
80011         * lib/unistd.in.h: Sort declarations.
80013         open, openat: minor optimization
80014         * lib/open.c (open): If open succeeded, len is non-zero.
80015         * lib/openat.c (rpl_openat): Likewise.
80017         link-follow: ensure correct result
80018         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
80019         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
80020         distinguish between possible failures.
80022 2009-09-21  Eric Blake  <ebb9@byu.net>
80024         fts: avoid compiler warning
80025         * lib/fts.c (dirent_inode_sort_may_be_useful)
80026         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
80028 2009-09-19  Bruno Haible  <bruno@clisp.org>
80030         * lib/progreloc.c (canonicalize_file_name): New declaration.
80032 2009-09-19  Eric Blake  <ebb9@byu.net>
80034         link: fix quoting
80035         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
80037         openat: fix openat bugs on Solaris 9
80038         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
80039         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
80040         * modules/openat (Depends-on): Add open.
80041         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
80042         * modules/fcntl-h (Makefile.am): Substitute it.
80043         * lib/fcntl.in.h (openat): Declare replacement.
80044         * doc/posix-functions/openat.texi (openat): Document this.
80046         openat: move fstatat and unlinkat into correct files
80047         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
80048         compiled.
80049         * lib/openat.c (fstatat, unlinkat): Move...
80050         * lib/fstatat.c (fstatat): ...into correct files.
80051         * lib/unlinkat.c (unlinkat): Likewise.
80053         openat: fix unlinkat bugs on Solaris 9
80054         * lib/unlinkat.c (unlinkat): New file.
80055         * modules/openat (Depends-on): Add unlink.
80056         (Files): Distribute it.
80057         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
80058         trailing slash behavior is broken.
80059         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80060         * modules/unistd (Makefile.am): Substitute it.
80061         * lib/unistd.in.h (unlinkat): Declare replacement.
80062         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
80064         openat: fix fstatat bugs on Solaris 9
80065         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
80066         stat.
80067         * doc/posix-functions/fstatat.texi (fstatat): Document this.
80069         test-unlinkat: enhance test, to expose Solaris 9 bug
80070         * tests/test-unlink.c (main): Factor guts...
80071         * tests/test-unlink.h (test_rmdir_func): ...into new file.
80072         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
80073         * tests/test-rmdir.c (main): Adjust caller.
80074         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
80075         (unlinker): New helper function.
80076         (rmdirat): Enhance check.
80077         * modules/rmdir-tests (Depends-on): Add stdbool.
80078         * modules/unlink-tests (Depends-on): Likewise.
80079         (Files): Add test-unlink.h.
80080         * modules/openat-tests (Files): Likewise.
80081         (Depends-on): Add unlinkdir.
80083         test-fstatat: new test, to expose Solaris 9 bugs
80084         * tests/test-stat.c (main): Factor guts...
80085         * tests/test-stat.h (test_stat_func): ...into new file.
80086         * tests/test-lstat.c (main): Factor guts...
80087         * tests/test-lstat.h (test_lstat_func): ...into new file.
80088         * tests/test-fstatat.c: New file.
80089         * modules/stat-tests (Files): Add test-stat.h.
80090         * modules/lstat-tests (Files): Add test-lstat.h.
80091         (Depends-on): Add stdbool.
80092         * modules/openat-tests (Depends-on): Add pathmax.
80093         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
80094         (Makefile.am): Run new test.
80096         remove: new module, for mingw and Solaris 9 bugs
80097         * modules/remove: New file.
80098         * lib/remove.c: Likewise.
80099         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
80100         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
80101         * modules/stdio (Makefile.am): Use them.
80102         * lib/stdio.in.h (remove): Declare replacement.
80103         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80104         * doc/posix-functions/remove.texi (remove): Likewise.
80105         * modules/remove-tests: New test.
80106         * tests/test-remove.c: Likewise.
80108         unlink: new module, for Solaris 9 bug
80109         * modules/unlink: New file.
80110         * lib/unlink.c: Likewise.
80111         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
80112         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
80113         * modules/unistd (Makefile.am): Use them.
80114         * lib/unistd.in.h (stat): Declare replacement.
80115         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80116         * doc/posix-functions/unlink.texi (unlink): Likewise.
80117         * modules/unlink-tests: New test.
80118         * tests/test-unlink.c: Likewise.
80120         lstat: fix Solaris 9 bug
80121         * lib/lstat.c (lstat): Also check for trailing slash on
80122         non-symlink, non-directories.  Use stat module to simplify logic.
80123         * doc/posix-functions/lstat.texi (lstat): Document it.
80124         * modules/lstat-tests (Depends-on): Add errno, same-inode.
80125         (configure.ac): Check for symlink.
80126         * tests/test-lstat.c (main): Add more tests.
80128         stat: add as dependency to other modules
80129         * modules/chown (Depends-on): Add stat.
80130         * modules/euidaccess (Depends-on): Likewise.
80131         * modules/fchdir (Depends-on): Likewise.
80132         * modules/isdir (Depends-on): Likewise.
80133         * modules/link (Depends-on): Likewise.
80134         * modules/lstat (Depends-on): Likewise.
80135         * modules/mkdir-p (Depends-on): Likewise.
80136         * modules/modechange (Depends-on): Likewise.
80137         * modules/open (Depends-on): Likewise.
80138         * modules/readlink (Depends-on): Likewise.
80139         * modules/same (Depends-on): Likewise.
80141         stat: fix Solaris 9 bug
80142         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
80143         slash.
80144         * lib/stat.c (rpl_stat): Work around it.
80145         * doc/posix-functions/stat.texi (stat): Update documentation.
80147         stat: new module, for mingw bug
80148         * modules/stat: New file.
80149         * lib/stat.c: Likewise.
80150         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
80151         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
80152         * modules/sys_stat (Makefile.am): Use them.
80153         * lib/sys_stat.in.h (stat): Declare replacement.
80154         * lib/openat.c (fstatat): Deal with lstat and stat being function
80155         macros.
80156         * modules/openat (Depends-on): Add inline.
80157         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80158         * doc/posix-functions/stat.texi (stat): Likewise.
80159         * modules/stat-tests: New test.
80160         * tests/test-stat.c: Likewise.
80162 2009-09-19  Jim Meyering  <meyering@redhat.com>
80164         syntax-check: detect unnecessary inclusion of canonicalize.h
80165         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
80167 2009-09-19  Eric Blake  <ebb9@byu.net>
80169         canonicalize-lgpl: adjust clients to use correct header
80170         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
80171         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
80172         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
80173         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
80174         * lib/progreloc.c (includes): Likewise.
80176 2009-09-19  Jim Meyering  <meyering@redhat.com>
80178         test-posixtm.c: correct a comment
80179         * tests/test-posixtm.c: Correct first-line comment.
80180         Spotted by Eric Blake.
80182 2009-09-16  Jim Meyering  <meyering@redhat.com>
80184         posixtm-tests: make T const-correct; add a test case
80185         * tests/test-posixtm.c (T): Declare const.
80186         Add a test for -(2^31+1).
80187         Remove useless can-succeed-only-in-2002 test.
80189         posixtm-tests: adjust the sole failing test
80190         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
80191         expected output matches what mktime now produces.  Cross-checked via
80192         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
80194         posixtm: move #ifdef'd tests into a new module
80195         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
80196         * tests/test-posixtm.c: ... this new file.
80197         * modules/posixtm-tests: New module.
80199 2009-09-19  Eric Blake  <ebb9@byu.net>
80201         openat: simplify use of at-func.c
80202         * lib/at-func.c (includes): Include prerequisites here, to
80203         simplify requirements on client files.
80204         * lib/openat-priv.h: Add double-inclusion guard.
80205         * lib/faccessat.c (includes): Simplify.
80206         * lib/fchmodat.c (includes): Likewise.
80207         * lib/fchownat.c (includes): Likewise.
80208         * lib/mkdirat.c (includes): Likewise.
80209         * lib/mkfifoat.c (includes): Likewise.
80210         * lib/symlinkat.c (includes): Likewise.
80212         openat: allow return of fd 0
80213         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
80214         * modules/save-cwd (Depends-on): Replace fcntl-safer with
80215         unistd-safer.
80216         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
80217         <fcntl.h>; this module does not leak fds.
80218         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
80219         must be allowed to return 0, leaving openat_safer to add the
80220         safety.
80221         (openat_permissive): Avoid writing to just-opened fd 2 if
80222         restoring the current directory fails.
80223         * lib/openat-die.c (openat_restore_fail): Add comment.
80224         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
80225         (save_cwd): Guarantee safe fd, but without use of open_safer.
80226         * tests/test-openat.c: New test.
80227         * modules/openat-tests (Files, Makefile.am): Distribute and build
80228         new file.
80230         relocatable-prog-wrapper: fix build
80231         * modules/relocatable-prog-wrapper (Files): Update name of
80232         canonicalize m4 file, broken on 2009-09-17.
80233         Reported by emad hajjar <aleppos@hotmail.com>.
80235 2009-09-19  Bruno Haible  <bruno@clisp.org>
80237         * lib/safe-alloc.h: Use the standard header with GPL copyright.
80238         * lib/safe-alloc.c: Likewise.
80239         Reported by Ian Beckwith <ianb@erislabs.net>.
80241 2009-09-18  Bruno Haible  <bruno@clisp.org>
80243         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
80244         Reported by <erobles@sensacd.com.mx>.
80246 2009-09-17  Eric Blake  <ebb9@byu.net>
80248         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
80249         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
80250         slashes when checking if last component is missing.
80251         * tests/test-canonicalize.c (main): Test this.
80253         canonicalize, canonicalize-lgpl: honor // if distinct from /
80254         * modules/canonicalize (Files): Add double-slash-root.m4.
80255         * modules/canonicalize-lgpl (Files): Likewise.
80256         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
80257         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
80258         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
80259         fallback definition.
80260         (canonicalize_filename_mode): Use it to protect //.
80261         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
80262         (__realpath): Likewise.
80263         * tests/test-canonicalize.c (main): Test this.
80264         * tests/test-canonicalize-lgpl.c (main): Likewise.
80265         * modules/canonicalize-tests (Depends-on): Add same-inode.
80266         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
80268         canonicalize-lgpl: fix glibc bug with trailing slash
80269         * m4/canonicalize-lgpl.m4: Move contents...
80270         * m4/canonicalize.m4: ...here.
80271         (gl_CANONICALIZE_LGPL): Factor realpath check...
80272         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
80273         glibc 2.3.5 bug, fixed 2005-04-27.
80274         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
80275         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
80276         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
80277         * modules/canonicalize-lgpl (Files): Manage file rename.
80278         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
80279         * modules/stdlib (Makefile.am): Substitute witness.
80280         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
80281         is needed.
80282         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
80283         replacement is required.
80284         * lib/canonicalize.c (canonicalize_file_name): Likewise.
80285         * doc/glibc-functions/canonicalize_file_name.texi
80286         (canonicalize_file_name): Document this.
80287         * doc/posix-functions/realpath.texi (realpath): Likewise.
80289         canonicalize-lgpl: reject non-directory with trailing slash
80290         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
80291         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
80292         catches failures in glibc 2.3.5.
80293         * tests/test-canonicalize.c (main): Likewise.
80295         canonicalize-lgpl: use native realpath if it works
80296         * lib/canonicalize-lgpl.c (realpath): Guard with
80297         FUNC_REALPATH_WORKS.
80298         * lib/stdlib.in.h (realpath): Make declaration optional based on
80299         HAVE_REALPATH.
80300         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
80301         native realpath works.
80302         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
80303         * modules/stdlib (Makefile.am): Substitute witness.
80305         canonicalize, canonicalize-lgpl: use <stdlib.h>
80306         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
80307         (Include): Mention <stdlib.h>.
80308         (configure.ac): Mention functions we provide.
80309         * modules/canonicalize (configure.ac): Likewise.
80310         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
80311         realpath if canonicalize_file_name is missing.
80312         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
80313         * modules/stdlib (Makefile.am): Substitute witnesses.
80314         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
80315         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
80316         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
80317         * NEWS: Document this.
80318         * doc/glibc-functions/canonicalize_file_name.texi
80319         (canonicalize_file_name): Likewise.
80320         * doc/posix-functions/realpath.texi (realpath): Likewise.
80321         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
80323         test-canonicalize: consolidate into single C program
80324         * tests/test-canonicalize.sh: Delete; move setup into...
80325         * tests/test-canonicalize.c (main): ...the program, making it
80326         easier to run in debugger.  Add some tests.
80327         * modules/canonicalize-tests (Files): Remove unused file.
80328         (Depends-on): Add progname.
80329         (configure.ac, Makefile.am): Simplify.
80331         test-canonicalize-lgpl: consolidate into single C program
80332         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
80333         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
80334         easier to run in debugger.  Add some tests.
80335         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
80336         (configure.ac, Makefile.am): Simplify.
80338         canonicalize: avoid resolvepath
80339         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
80340         unnecessary checks.
80341         * lib/canonicalize.c (includes): Simplify.
80342         (canonicalize_file_name): Drop resolvepath implementation.
80343         * modules/canonicalize (Depends-on): Drop filenamecat.
80345         canonicalize: don't lose errno
80346         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
80347         over calls to free.
80349         canonicalize: simplify errno handling
80350         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
80351         assignment.
80353         canonicalize, canonicalize-lgpl: update module dependencies
80354         * modules/canonicalize (Depends-on): Add extensions, lstat,
80355         pathmax, stdlib.
80356         (Files): Drop pathmax.h.
80357         (configure.ac): Adjust macro name.
80358         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
80359         lstat, stdlib, sys_stat.
80360         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
80361         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
80362         extensions.
80363         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
80364         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
80365         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
80366         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
80367         declaration, if available.
80368         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
80369         we can rely on the readlink module.
80370         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
80371         (includes): Use <unistd.h> unconditionally.
80373 2009-09-17  Eric Blake  <ebb9@byu.net>
80375         maint: make Include sections of modules consistent
80376         * modules/alloca: Use only header name; no need to list #include.
80377         * modules/alloca-opt: Likewise.
80378         * modules/arpa_inet: Likewise.
80379         * modules/canon-host: Likewise.
80380         * modules/configmake: Likewise.
80381         * modules/dirent: Likewise.
80382         * modules/eealloc: Likewise.
80383         * modules/environ: Likewise.
80384         * modules/fchdir: Likewise.
80385         * modules/fcntl: Likewise.
80386         * modules/fcntl-h: Likewise.
80387         * modules/gethrxtime: Likewise.
80388         * modules/gettime: Likewise.
80389         * modules/ignore-value: Likewise.
80390         * modules/inet_ntop: Likewise.
80391         * modules/inet_pton: Likewise.
80392         * modules/inttypes: Likewise.
80393         * modules/isnand-nolibm: Likewise.
80394         * modules/isnanf-nolibm: Likewise.
80395         * modules/mbchar: Likewise.
80396         * modules/mbfile: Likewise.
80397         * modules/mbiter: Likewise.
80398         * modules/mbuiter: Likewise.
80399         * modules/netdb: Likewise.
80400         * modules/netinet_in: Likewise.
80401         * modules/nproc: Likewise.
80402         * modules/pagealign_alloc: Likewise.
80403         * modules/poll: Likewise.
80404         * modules/printf-frexp: Likewise.
80405         * modules/pthread: Likewise.
80406         * modules/putenv: Likewise.
80407         * modules/random_r: Likewise.
80408         * modules/relocatable-prog: Likewise.
80409         * modules/search: Likewise.
80410         * modules/select: Likewise.
80411         * modules/selinux-h: Likewise.
80412         * modules/settime: Likewise.
80413         * modules/signal: Likewise.
80414         * modules/size_max: Likewise.
80415         * modules/socklen: Likewise.
80416         * modules/ssize_t: Likewise.
80417         * modules/stdarg: Likewise.
80418         * modules/stdbool: Likewise.
80419         * modules/stddef: Likewise.
80420         * modules/stdint: Likewise.
80421         * modules/stdio: Likewise.
80422         * modules/stdlib: Likewise.
80423         * modules/string: Likewise.
80424         * modules/strings: Likewise.
80425         * modules/sys_file: Likewise.
80426         * modules/sys_ioctl: Likewise.
80427         * modules/sys_select: Likewise.
80428         * modules/sys_socket: Likewise.
80429         * modules/sys_stat: Likewise.
80430         * modules/sys_time: Likewise.
80431         * modules/sys_times: Likewise.
80432         * modules/sys_utsname: Likewise.
80433         * modules/sys_wait: Likewise.
80434         * modules/sysexits: Likewise.
80435         * modules/time: Likewise.
80436         * modules/times: Likewise.
80437         * modules/tmpfile: Likewise.
80438         * modules/trim: Likewise.
80439         * modules/unistd: Likewise.
80440         * modules/wchar: Likewise.
80441         * modules/wctype: Likewise.
80443 2009-09-17  Bruno Haible  <bruno@clisp.org>
80445         Make getdate.y compile on QNX and NetBSD 5 / i386.
80446         * m4/getdate.m4 (gl_GETDATE): Conditionally define
80447         TIME_T_FITS_IN_LONG_INT.
80448         * lib/getdate.y (long_time_t): New type.
80449         (relative_time): Change type of 'seconds' field to long_time_t.
80450         (get_date): Update types of local variables. Check against overflow
80451         during conversion from long_time_t to time_t.
80452         Reported by Matt Kraai <kraai@ftbfs.org>
80453         and Hasso Tepper <hasso@netbsd.org>.
80455 2009-09-17  Bruno Haible  <bruno@clisp.org>
80457         * modules/COPYING: Update copyright years.
80458         * modules/README: Likeiwse.
80459         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
80460         Reported by Ian Beckwith <ianb@erislabs.net>.
80462 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
80464         * users.txt: Update references for gnuit package.
80466 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
80468         * m4/getdelim.m4: Fix typo in copyright line.
80470 2009-09-17  Bruno Haible  <bruno@clisp.org>
80472         * lib/atoll.c: Use the standard header with GPL copyright.
80473         * lib/argz.in.h: Likewise.
80474         * lib/glob.c: Likewise.
80475         * lib/glob-libc.h: Likewise.
80476         * lib/random_r.c: Likewise.
80477         * lib/siglist.h: Likewise.
80478         * lib/strsignal.c: Likewise.
80479         Reported by Ian Beckwith <ianb@erislabs.net>.
80481 2009-09-17  Eric Blake  <ebb9@byu.net>
80483         rmdir: ensure correct dependency order
80484         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
80486 2009-09-17  Bruno Haible  <bruno@clisp.org>
80488         Disable assertion that fails on NetBSD 5 / i386.
80489         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
80490         Reported by Sam Steingold <sds@gnu.org>
80491         and Hasso Tepper <hasso@netbsd.org>.
80493 2009-09-16  Eric Blake  <ebb9@byu.net>
80495         unlinkdir: port to mingw
80496         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
80497         on which no one can unlink a directory.
80499         stdlib: sort witness names
80500         * modules/stdlib (Makefile.am): Sort replacements.
80501         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
80502         * lib/stdlib.in.h: Likewise.
80504         parse-duration-tests: avoid link failure
80505         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
80506         LIBINTL.
80507         Reported by Tom G. Christensen.
80509         openat-tests: ensure unlinkat behaves like rmdir
80510         * tests/test-rmdir.c (main): Factor guts...
80511         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
80512         * modules/rmdir-tests (Files): Ship new file.
80513         * modules/openat-tests: New test.
80514         * tests/test-unlinkat.c: Likewise.
80516         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
80517         * modules/rmdir-errno (Status, Notice): Now obsolete.
80519         rmdir: work around cygwin 1.5.x and mingw bugs
80520         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
80521         * lib/rmdir.c (rmdir): Work around it.
80522         * modules/rmdir (Status, Notice): No longer obsolete.
80523         (Files): Add dos.m4.
80524         (Depends-on): Add unistd.
80525         (configure.ac): Set witnesses.
80526         (License): Relax to LGPLv2+.
80527         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
80528         * modules/unistd (Makefile.am): Substitute witnesses.
80529         * lib/unistd.in.h (rmdir): Declare replacement.
80530         * doc/posix-functions/rmdir.texi (rmdir): Document this.
80531         * modules/rmdir-tests: New tests.
80532         * tests/test-rmdir.c: Likewise.
80534 2009-09-15  Eric Blake  <ebb9@byu.net>
80536         fchdir: improve use of replacement functions
80537         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
80538         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
80539         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
80540         REPLACE_CLOSEDIR.
80541         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
80542         * modules/sys_stat (Makefile.am): Substitute correct witness.
80543         * modules/dirent (Makefile.am): Likewise.
80544         * modules/unistd (Makefile.am): Likewise.
80545         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
80546         * lib/unistd.in.h (dup): Likewise.
80547         * lib/sys_stat.in.h (fstat): Likewise.
80549         maint: ignore gnulib-tool temp files
80550         * .gitignore: Ignore files created during gnulib-tool --test.
80552 2009-09-13  Jim Meyering  <meyering@redhat.com>
80554         posixtm: don't reject a time that specify "60" as the number of seconds
80555         * lib/posixtm.c (posixtime): The code to reject invalid dates
80556         would also reject a time specified with the .60 suffix.
80557         But POSIX allows that, in order to accommodate leap seconds.
80558         So don't reject it.
80559         (main): Adjust tests accordingly.
80560         * modules/posixtm (Depends-on): Add stpcpy.
80562 2009-09-11  Jim Meyering  <meyering@redhat.com>
80564         announce-gen: include [$release_type] in emitted Subject:
80565         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
80566         e.g., [stable] in the emitted Subject: line.
80568 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80570         Remove obsolete macros from several modules.
80571         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
80572         obsolete Autoconf macros with their modern counterparts.
80573         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
80574         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
80575         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
80576         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
80577         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
80578         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
80579         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
80580         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
80581         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
80582         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
80583         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
80584         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
80585         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
80586         * m4/sockets.m4 (gl_SOCKETS): Likewise.
80587         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
80588         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
80589         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
80590         * m4/time_r.m4 (gl_TIME_R): Likewise.
80591         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
80592         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
80593         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
80595         Fix copyright header in build-aux scripts.
80596         * build-aux/git-version-gen: Fix copyright header to match GPLv3
80597         recommendation.
80598         * build-aux/ncftpput-ftp: Likewise.
80599         * build-aux/update-copyright: Likewise.
80601 2009-09-09  Eric Blake  <ebb9@byu.net>
80603         test-link: allow Linux choice of errno
80604         * tests/test-link.c (main): Relax test for alternate error.
80606         strndup: fix improper m4 caching
80607         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
80608         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
80609         (gl_PREREQ_STRNDUP): Delete.
80610         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
80611         * modules/string (Makefile.am): Substitute it.
80612         * lib/string.in.h (strndup): Modernize prototype.
80614         getcwd: port to mingw
80615         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
80616         different from the POSIX assumptions made throughout the getcwd
80617         module; fortunately, the mingw getcwd does not need replacement.
80618         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
80619         * modules/getcwd-tests: New test.
80620         * tests/test-getcwd.c: Likewise.
80622         link: fix platform bugs
80623         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
80624         * lib/link.c (link): Work around them.  Fix related mingw bug.
80625         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
80626         * modules/unistd (Makefile.am): Substitute it.
80627         * lib/unistd.in.h (link): Declare replacement.
80628         * doc/posix-functions/link.texi (link): Document this.
80629         * modules/link (Depends-on): Add strdup-posix, sys_stat.
80631         test-link: consolidate into single C program, test more cases
80632         * tests/test-link.sh: Delete.
80633         * tests/test-link.c: Test more error conditions.  Exposes bugs on
80634         at least Cygwin and Solaris.
80635         * modules/link-tests (Files): Remove unused file.
80636         (Depends-on): Add errno, sys_stat.
80637         (Makefile.am): Simplify.
80639 2009-09-08  Bruno Haible  <bruno@clisp.org>
80641         Work around towlower, towupper bug on mingw.
80642         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
80643         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
80644         * doc/posix-functions/towlower.texi: Mention the mingw bug.
80645         * doc/posix-functions/towupper.texi: Likewise.
80646         Reported by Eric Blake.
80648 2009-09-08  Jim Meyering  <meyering@redhat.com>
80650         build: don't try to run autoheader if we don't use it
80651         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
80652         is not used in configure.ac.
80654 2009-09-08  Eric Blake  <ebb9@byu.net>
80656         euidaccess: fix compilation error
80657         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
80659         rawmemchr: relax license
80660         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
80661         okay.
80662         Reported by Jim Meyering.
80664         mkfifoat: new module
80665         * modules/mkfifoat: New file.
80666         * lib/mkfifoat.c: Likewise.
80667         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
80668         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
80669         * modules/sys_stat (Makefile.am): Use them.
80670         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
80671         * MODULES.html.sh (File system functions): Mention module.
80672         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
80673         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
80674         * modules/mkfifoat-tests: New test.
80675         * tests/test-mkfifoat.c: Likewise.
80677         strchrnul: relax license
80678         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
80679         okay.
80680         Reported by Jim Meyering.
80682 2009-09-08  Eric Blake  <ebb9@byu.net>
80684         fstatat: fix compilation on Solaris
80685         * lib/fstatat.c (includes): Add fcntl.h.
80686         Reported by Pádraig Brady.
80688 2009-09-07  Eric Blake  <ebb9@byu.net>
80690         rename: modernize replacement
80691         * modules/rename (Depends-on): Add stdio.
80692         (configure.ac): Declare witness.
80693         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
80694         stdio take care of replacement.
80695         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
80696         * modules/stdio (Makefile.am): Substitute them.
80697         * lib/stdio.in.h (rename): Declare replacement.
80698         * lib/rename.c (includes): Allow cross-compilation to non-windows
80699         machines.
80700         * doc/posix-functions/rename.texi (rename): Improve
80701         documentation.
80703         stdio: sort witness names
80704         * modules/stdio (Makefile.am): Sort replacements.
80705         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
80706         * lib/stdio.in.h: Likewise.
80708         getcwd: minor cleanups
80709         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
80710         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
80712         openat: provide more convenience names
80713         * modules/faccessat (configure.ac): Add C witness.
80714         * lib/unistd.in.h (readlinkat): Fix typo.
80715         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
80716         convenience wrappers.
80717         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
80718         wrappers in syntax checks.
80720 2009-09-06  Eric Blake  <ebb9@byu.net>
80722         doc: fix comments in recent patches
80723         * lib/faccessat.c: Mention correct function.
80724         * lib/fchmodat.c: Likewise.
80725         * lib/fchownat.c: Likewise.
80726         * lib/symlinkat.c: Likewise.
80727         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
80728         constants.
80730         faccessat, symlinkat: continue cleanup of previous patch
80731         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
80732         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
80733         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
80734         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
80735         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
80736         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
80737         set.
80739 2009-09-06  Bruno Haible  <bruno@clisp.org>
80741         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
80742         (fstatat): Declare if GNULIB_FSTATAT is set.
80743         (mkdirat): Declare if GNULIB_MKDIRAT is set.
80744         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
80745         (unlinkat): Declare if GNULIB_UNLINKAT is set.
80746         * modules/fcntl-h (Files): Remove m4/openat.m4.
80747         * modules/sys_stat (Files): Remove m4/openat.m4.
80748         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
80749         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
80750         * modules/unistd (Files): Remove m4/openat.m4.
80751         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
80752         GNULIB_OPENAT.
80753         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
80754         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
80755         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
80756         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
80757         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
80758         gl_OPENAT_DEFAULTS.
80759         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
80760         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
80761         Don't require gl_OPENAT_DEFAULTS.
80762         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
80763         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
80764         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
80765         (gl_OPENAT_DEFAULTS): Remove macro.
80767 2009-09-06  Bruno Haible  <bruno@clisp.org>
80769         * modules/openat (configure.ac): Remove unneeded witness.
80771 2009-09-06  Bruno Haible  <bruno@clisp.org>
80773         Set errno to ENOSYS when a function is entirely unsupported.
80774         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
80775         EOPNOTSUPP.
80776         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
80777         * modules/chown (Depends-on): Remove errno.
80779 2009-09-06  Bruno Haible  <bruno@clisp.org>
80781         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
80783 2009-09-06  Bruno Haible  <bruno@clisp.org>
80785         * lib/sys_stat.in.h: Fix preprocessor command indentation.
80787 2009-09-06  Ben Pfaff  <blp@gnu.org>
80788             Bruno Haible  <bruno@clisp.org>
80790         Work around a glibc bug in strtok_r.
80791         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
80792         Undefine if UNDEFINE_STRTOK_R is set.
80793         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
80794         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
80795         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
80796         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
80797         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
80798         UNDEFINE_STRTOK_R.
80799         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
80801 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
80803         exclude: minor fix
80804         * lib/exclude.c: Include wctype.h
80806 2009-09-06  Akim Demaille  <demaille@gostai.com>
80808         bootstrap: improve error message
80809         * build-aux/bootstrap (find_tool): Upon failure, report the list
80810         of candidates.
80811         Honor the initial value of the envvar.
80813 2009-09-05  Eric Blake  <ebb9@byu.net>
80815         symlinkat: new module
80816         * modules/symlinkat: New file.
80817         * lib/symlinkat.c: Likewise.
80818         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
80819         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
80820         * modules/unistd (Makefile.am): Use them.
80821         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
80822         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
80823         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
80824         * MODULES.html.sh (File system functions): Mention module.
80825         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
80826         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
80827         * modules/symlinkat-tests: New test.
80828         * tests/test-symlinkat.c: Likewise.
80830         test-openat-safer: add more checks
80831         * tests/test-openat-safer.c (main): Check more code paths.
80833 2009-09-05  Jim Meyering  <meyering@redhat.com>
80835         syntax-check: detect unnecessary inclusion of openat.h
80836         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
80838 2009-09-05  Bruno Haible  <bruno@clisp.org>
80840         Support towlower, towupper.
80841         * doc/posix-functions/towlower.texi: Mention module wctype.
80842         * doc/posix-functions/towupper.texi: Likewise.
80843         * lib/wctype.in.h (towlower, towupper): New functions.
80844         * tests/test-wctype.c: Include stdio.h, stdlib.h.
80845         (ASSERT): New macro.
80846         (e): New variable.
80847         (main): Test also towlower, towupper. Test WEOF argument.
80848         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
80850 2009-09-05  Bruno Haible  <bruno@clisp.org>
80852         Fix conversion behaviour when the input is invalid.
80853         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
80854         mark occurring in first pass of indirect conversion.
80855         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
80856         input.
80857         Found by clang's static analyzer.
80859 2009-09-05  Bruno Haible  <bruno@clisp.org>
80861         * tests/test-striconveh.c (main): Test indirect conversion on platforms
80862         where direct conversion is possible.
80864 2009-09-04  Eric Blake  <ebb9@byu.net>
80866         openat: fail with ENOENT on empty name
80867         * lib/openat-proc.c (openat_proc_name): Special-case the empty
80868         buffer.
80870         link-follow: fix logic bug in prior patch
80871         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
80872         reversed sense of yes and no in prior patch.  Avoid confusing
80873         compilation failure with desired semantics.
80875         link-follow: accommodate mingw and cross-compilation
80876         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
80877         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
80878         cross-compilation results to -1, to make linkat easier to
80879         implement when cross-compiling.  Trivially support mingw.
80880         * modules/link-follow (configure.ac): Call new name.
80881         * NEWS: Mention this.
80883 2009-09-03  Eric Blake  <ebb9@byu.net>
80885         faccessat: compile replacement
80886         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
80887         needed.
80889         fts: fix compilation error
80890         * lib/fts.c (includes): Re-add "openat.h", for
80891         openat_needs_fchdir.
80893         faccessat: new module
80894         * modules/faccessat: New file.
80895         * lib/faccessat.c: Likewise.
80896         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
80897         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80898         * modules/unistd (Makefile.am): Use it.
80899         * lib/unistd.in.h (faccessat): Declare it.
80900         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
80901         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
80902         * MODULES.html.sh (File system functions): Mention it.
80903         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
80904         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
80906         euidaccess: prefer POSIX over non-standard implementation
80907         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
80908         * lib/euidaccess.c (euidaccess): Use it if available.
80910         openat: make template easier to use
80911         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
80912         AT_FUNC_F2 to be undefined.
80913         (VALIDATE_FLAG): New macro; use it to reject bad flags.
80914         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
80915         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
80916         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
80917         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
80918         Likewise.
80919         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
80920         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
80921         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
80922         Likewise.
80924         openat: declare in POSIX headers
80925         * NEWS: Mention this.
80926         * modules/openat (configure.ac): Declare witnesses.
80927         (Depends-on): Add fcntl-h, sys_stat, unistd.
80928         (Include): Mention correct headers.
80929         * modules/fcntl-h (Depends-on): Add link-warning.
80930         (Files): Add openat.m4.
80931         (Makefile.am): Substitute witnesses.
80932         * modules/sys_stat (Files, Makefile.am): Likewise.
80933         * modules/unistd (Files, Makefile.am): Likewise.
80934         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
80935         (gl_OPENAT_DEFAULTS): New macro.
80936         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
80937         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
80938         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
80939         (SYS_STAT_H): Remove unused variable.
80940         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
80941         * lib/fcntl--.h (includes): Remove unneeded header.
80942         * lib/openat-safer.c (includes): Likewise.
80943         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
80944         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
80945         appropriate headers.
80946         (__OPENAT_PREFIX): Delete.
80947         * lib/fcntl.in.h (openat): Provide declaration.
80948         (AT_FDCWD): Fix Solaris bug.
80949         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
80950         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
80951         * lib/fchmodat.c (includes):  Adjust to find declaration.
80952         * lib/fchownat.c (includes): Likewise.
80953         * lib/mkdirat.c (includes): Likewise.
80954         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
80955         still visible.
80957 2009-09-02  Eric Blake  <ebb9@byu.net>
80959         errno: use consistently
80960         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
80961         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
80962         * lib/canonicalize.c (ELOOP): Likewise.
80963         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
80964         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
80965         * lib/lchown.c (EOPNOTSUPP): Likewise.
80966         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
80967         * lib/savewd.c (ESTALE): Likewise.
80968         * lib/settime.c (ENOSYS): Likewise.
80969         * lib/utimens.c (ENOSYS): Likewise.
80970         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
80971         * lib/chdir-safer.c (ELOOP): Likewise.
80972         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
80973         * modules/c-stack (Depends-on): Add errno.
80974         * modules/canonicalize (Depends-on): Likewise.
80975         * modules/chdir-safer (Depends-on): Likewise.
80976         * modules/fdopendir (Depends-on): Likewise.
80977         * modules/inet_ntop (Depends-on): Likewise.
80978         * modules/inet_pton (Depends-on): Likewise.
80979         * modules/lchown (Depends-on): Likewise.
80980         * modules/openat (Depends-on): Likewise.
80981         * modules/savewd (Depends-on): Likewise.
80982         * modules/settime (Depends-on): Likewise.
80983         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
80985         fts: avoid leaking fds
80986         * modules/fts (Depends-on): Add cloexec.
80987         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
80988         flag.
80990         fts: make directory fds more robust
80991         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
80992         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
80994         backupfile, chdir-long, fts, savedir: make safer
80995         * lib/backupfile.c (includes): Use "dirent--.h", since
80996         numbered_backup can write to stderr during readdir.
80997         * lib/savedir.c (includes): Likewise.
80998         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
80999         emulation can write to stderr on failure.
81000         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
81001         * lib/getcwd.c: Document why opendir_safer is unused.
81002         * lib/glob.c: Likewise.
81003         * lib/scandir.c: Likewise.
81004         * lib/openat-proc.c: Likewise, for open_safer.
81005         * modules/backupfile (Depends-on): Add dirent-safer.
81006         * modules/savedir (Depends-on): Likewise.
81007         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
81008         * modules/chdir-long (Depends-on): Add openat-safer.
81010         openat-safer: new module
81011         * modules/openat-safer: New file.
81012         * lib/openat-safer.c: Likewise.
81013         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
81014         * lib/fcntl-safer.h (openat_safer): Declare.
81015         * lib/fcntl--.h (openat): Override.
81016         * MODULES.html.sh (File descriptor based I/O): Mention it.
81017         * lib/openat.h: Add double-inclusion guards.
81018         * lib/openat.c (includes): Only include "fcntl-safer.h", not
81019         "fcntl--.h", so we can implement openat.
81020         * modules/openat-safer-tests: New test.
81021         * tests/test-openat-safer.c: New file.
81023         dirent-safer: new module
81024         * modules/dirent-safer: New file.
81025         * lib/dirent--.h: Likewise.
81026         * lib/dirent-safer.h: Likewise.
81027         * lib/opendir-safer.c: Likewise.
81028         * m4/dirent-safer.m4: Likewise.
81029         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
81030         * modules/dirent-safer-tests: New test.
81031         * tests/test-dirent-safer.c: New file.
81032         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
81034         fdopendir: optimize on mingw
81035         * lib/unistd.in.h (_gl_directory_name): New prototype.
81036         * lib/fchdir.c (_gl_directory_name): Implement it.
81037         (fchdir): Use it to simplify implementation.
81038         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
81039         fchdir, when available, to avoid calling [f]chdir().
81041         fdopendir: split into its own module
81042         * lib/openat.c (fdopendir): Move...
81043         * lib/fdopendir.c: ...into new file.
81044         * modules/fdopendir: New module.
81045         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
81046         * modules/openat (Depends-on): Add fdopendir.
81047         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
81048         fdopendir here.
81049         * modules/savedir (Depends-on): Only need fdopendir, not full
81050         openat.
81051         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
81052         * lib/openat.h (fdopendir): Drop prototype.
81053         * lib/dirent.in.h (fdopendir): Provide prototype.
81054         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
81055         * modules/dirent (Makefile.am): Substitute them.
81056         * MODULES.html.sh (File system functions): Mention it.
81057         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
81058         * modules/fdopendir-tests: New file.
81059         * tests/test-fdopendir.c: Likewise.
81061         fchdir: use more consistent macro convention
81062         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
81063         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
81064         REPLACE_FCHDIR, rather than relying on config.h macros.
81065         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
81066         inside a single make-time REPLACE_FCHDIR block, rather than using
81067         the config.h FCHDIR_REPLACEMENT.
81068         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
81069         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
81070         Manage fstat replacement.
81071         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
81072         REPLACE_FCHDIR.
81073         * modules/sys_stat (Files): Add m4/unistd_h.m4.
81074         (Makefile.am): Substitute REPLACE_FCHDIR.
81075         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
81076         FCHDIR_REPLACEMENT.
81077         * lib/dup-safer.c (dup_safer): Likewise.
81078         * lib/dup2.c (rpl_dup2): Likewise.
81079         * lib/dup3.c (rpl_dup3): Likewise.
81080         * lib/open.c (rpl_open): Likewise.
81082         fchdir: simplify error handling, and support dup3
81083         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
81084         stdbool, malloc-posix, realloc-posix.
81085         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
81086         (ensure_dirs_slot): Return false on allocation failure.
81087         (rpl_dup2): Delete.
81088         (_gl_register_dup): New function.
81089         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
81090         (_gl_register_fd): Close fd on allocation failure.
81091         * lib/fcntl.in.h (_gl_register_fd): Update signature.
81092         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
81093         prototype.
81094         (rpl_dup2_fchdir): Delete prototype.
81095         * lib/open.c (open): Update caller.
81096         * lib/dup2.c (dup2): Track fchdir metadata.
81097         * lib/dup3.c (dup3): Likewise.
81098         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
81099         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
81101 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81103         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
81104         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
81105         don't pass arguments to AC_OUTPUT.
81107 2009-09-02  Bruno Haible  <bruno@clisp.org>
81109         * modules/mkdtemp (License): Relicense under LGPLv2+.
81110         Reported by Paolo Bonzini.
81112 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81114         Replace uses of obsolete autoconf macros in Jim's modules.
81115         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
81116         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
81117         can evoke a warning from autoconf when run with -Wobsolete
81118         enabled.  They were declared obsolete for good reasons (see
81119         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
81120         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
81121         should not continue using the deprecated macros.
81122         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
81123         obsolete Autoconf macros with modern counterparts.
81124         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
81125         * m4/dos.m4 (gl_AC_DOS): Likewise.
81126         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
81127         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
81128         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
81129         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
81130         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
81131         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
81132         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
81133         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
81134         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
81135         Likewise.
81136         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
81137         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
81138         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
81139         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
81140         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
81141         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
81143 2009-09-01  Eric Blake  <ebb9@byu.net>
81145         fchdir: fix off-by-one bug in previous patch
81146         * lib/fchdir.c (rpl_fstat): Use correct bounds.
81147         (_gl_unregister_fd): Delete useless if.
81149 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
81151         maint.mk: sort the list of syntax-check rules
81152         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
81153         easier to get a sense of progress when the rules are run sequentially
81154         and take a long time.
81156 2009-09-01  Simon Josefsson  <simon@josefsson.org>
81158         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
81159         * modules/netinet_in: Likewise.
81160         * modules/sys_file: Likewise.
81161         * modules/sys_ioctl: Likewise.
81162         * modules/sys_select: Likewise.
81163         * modules/sys_socket: Likewise.
81164         * modules/sys_stat: Likewise.
81165         * modules/sys_time: Likewise.
81166         * modules/sys_times: Likewise.
81167         * modules/sys_utsname: Likewise.
81168         * modules/sys_wait: Likewise.
81170 2009-09-01  Jim Meyering  <meyering@redhat.com>
81172         fts: help ensure that return values are not ignored
81173         * lib/fts_.h (__GNUC_PREREQ): Define.
81174         (__attribute_warn_unused_result__): Define.
81175         (fts_children, fts_close, fts_open, fts_read): Declare with
81176         __attribute_warn_unused_result__.
81178         fts: fts_close now fails also when closing a dir file descriptor fails
81179         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
81180         and propagate to caller, along with errno.
81182         announce-gen: correct formatting in --help output
81183         * build-aux/announce-gen (usage): Move the one-line description in
81184         --help output "up", to where it belongs, just after Usage:.
81186 2009-08-31  Eric Blake  <ebb9@byu.net>
81188         fchdir: port to mingw
81189         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
81190         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
81191         opened, then use a substitute.
81192         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
81193         replacement.
81194         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
81195         (_gl_register_fd): No need to check stat if open already filters
81196         all directories.
81197         (fchdir): Fix error condition to match POSIX.
81198         * modules/fchdir (Depends-on): Add sys_stat.
81199         * doc/posix-functions/open.texi (open): Document the limitation.
81200         * modules/fchdir-tests: New file.
81201         * tests/test-fchdir.c: Likewise.
81203         canonicalize: allow cross-testing from cygwin to mingw
81204         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
81205         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
81206         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
81207         Likewise.
81208         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
81209         target does not support symlinks.
81210         * tests/test-canonicalize-lgpl.sh: Likewise.
81212         chown: avoid compilation warning on mingw
81213         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
81214         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
81215         mingw.
81216         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
81217         * modules/chown (Depends-on): Add errno.
81219 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
81221         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
81222         command.
81224 2009-08-31  Jim Meyering  <meyering@redhat.com>
81226         canonicalize: remove useless initialization
81227         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
81228         initialization of local, "end".
81230 2009-08-30  Bruno Haible  <bruno@clisp.org>
81232         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
81233         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
81234         ENOSYS.
81236 2009-08-30  Bruno Haible  <bruno@clisp.org>
81238         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
81239         /usr/xpg4/bin/tr when it exists.
81240         * tests/test-pipe-filter-gi1.sh: Likewise.
81242 2009-08-30  Bruno Haible  <bruno@clisp.org>
81244         Work around deficient /usr/bin/id program on Solaris.
81245         * tests/test-file-has-acl.sh (ID): New variable.
81246         * tests/test-set-mode-acl.sh (ID): Likewise.
81247         * tests/test-copy-acl.sh (ID): Likewise.
81248         * tests/test-copy-file.sh (ID): Likewise.
81250 2009-08-30  Bruno Haible  <bruno@clisp.org>
81252         New module 'xstriconveh'.
81253         * lib/xstriconveh.h: New file.
81254         * lib/xstriconveh.c: New file.
81255         * modules/xstriconveh: New file.
81257 2009-08-30  Bruno Haible  <bruno@clisp.org>
81259         Make it easier to use mem_cd_iconveh.
81260         * lib/striconveh.h (iconveh_t): New type.
81261         (iconveh_open, iconveh_close): New declarations.
81262         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
81263         with a single 'const iconveh_t *' argument.
81264         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
81265         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
81266         with a single 'const iconveh_t *' argument.
81267         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
81268         * tests/test-striconveh.c (main): Update.
81269         * NEWS: Mention the change.
81271 2009-08-30  Bruno Haible  <bruno@clisp.org>
81273         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
81274         problem.
81276 2009-08-30  Bruno Haible  <bruno@clisp.org>
81278         Work around iconv_open problem on Solaris.
81279         * lib/iconv_open-solaris.gperf: New file.
81280         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
81281         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
81282         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
81283         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
81284         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
81285         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
81287 2009-08-29  Jim Meyering  <meyering@redhat.com>
81289         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
81290         * top/maint.mk (cvs-check): Remove target; it was just an alias
81291         to the better-named vc-diff-check.
81292         (maintainer-distcheck): Remove rule.  It was used only from
81293         the (alpha/beta/major) target, and all of its commands but one
81294         were coreutils-specific.
81295         (vc-dist): Remove rule.
81296         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
81297         Run vc-diff-check, not vc-dist.
81298         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
81300 2009-08-27  Bruno Haible  <bruno@clisp.org>
81302         * tests/test-bitrotate.c (main): Remove test that uses a shift count
81303         of 0.
81305 2009-08-27  Bruno Haible  <bruno@clisp.org>
81307         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
81308         compilers.
81309         * doc/func.texi: Document the SunPRO C bug.
81311 2009-08-27  Bruno Haible  <bruno@clisp.org>
81313         Fix link error on Solaris.
81314         * tests/test-parse-duration.c (xstrdup): Remove function.
81316 2009-08-26  Pádraig Brady  <P@draigbrady.com>
81318         ignore-value: handle pointer types, too
81319         * lib/ignore-value.h (__attribute__): Remove definition.
81320         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
81321         of a more concise and more-often effective "(void) i" statement.
81322         (ignore_ptr): New function to suppress warnings from functions that
81323         return pointers, and to make it explicit that one function doesn't
81324         handle all cases.
81326 2009-08-25  Bruno Haible  <bruno@clisp.org>
81328         dup2: work around a Linux bug.
81329         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
81330         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
81331         * doc/posix-functions/dup2.texi: Mention the Linux bug.
81332         Reported by Simon Josefsson.
81334 2009-08-25  Jim Meyering  <meyering@redhat.com>
81336         libguestfs uses gnulib
81337         * users.txt: Add libguestfs.
81339 2009-08-24  Eric Blake  <ebb9@byu.net>
81341         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
81342         * lib/pipe2.c (includes): Add binary-io.h.
81343         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
81345 2009-08-24  Bruno Haible  <bruno@clisp.org>
81347         Tolerate declared but missing accept4 syscall.
81348         * lib/accept4.c (accept4): Invoke original accept4 function first, if
81349         available.
81350         * lib/sys_socket.in.h (accept4): If the function is already present,
81351         override it.
81352         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
81353         * modules/accept4 (Makefile.am): Compile accept4.c always.
81354         Reported by Paolo Bonzini and Eric Blake.
81356 2009-08-23  Bruno Haible  <bruno@clisp.org>
81358         New module 'accept4'.
81359         * lib/sys_socket.in.h (accept4): New declaration.
81360         * lib/accept4.c: New file.
81361         * m4/accept4.m4: New file.
81362         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
81363         GNULIB_ACCEPT4, HAVE_ACCEPT4.
81364         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
81365         HAVE_ACCEPT4.
81366         * modules/accept4: New file.
81367         * doc/glibc-functions/accept4.texi: Mention the new module.
81369 2009-08-24  Jim Meyering  <meyering@redhat.com>
81371         progname: also set global program_invocation_name, when possible
81372         Before this change, a libtool-enabled program that calls glibc's
81373         error function would report the program name as
81374         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
81375         * modules/progname (configure.ac): Check for a declaration of
81376         program_invocation_name.
81377         * lib/progname.c:  Include <errno.h>.
81378         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
81379         Set program_invocation_name.
81381 2009-08-23  Bruno Haible  <bruno@clisp.org>
81383         * lib/dup3.c: Include <string.h>.
81385 2009-08-23  Bruno Haible  <bruno@clisp.org>
81387         * lib/dup3.c (dup3): Test only once whether the system actually exists.
81388         * lib/pipe2.c (pipe2): Likewise.
81389         Suggested by Eric Blake.
81391 2009-08-23  Bruno Haible  <bruno@clisp.org>
81393         Tolerate declared but missing dup3 syscall.
81394         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
81395         * lib/unistd.in.h (dup3): If the function is already present,
81396         override it.
81397         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
81398         * modules/dup3 (Makefile.am): Compile dup3.c always.
81399         Reported by Paolo Bonzini.
81401 2009-08-23  Bruno Haible  <bruno@clisp.org>
81403         Tolerate declared but missing pipe2 syscall.
81404         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
81405         available.
81406         * lib/unistd.in.h (pipe2): If the function is already present,
81407         override it.
81408         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
81409         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
81410         Reported by Paolo Bonzini.
81412 2009-08-23  Bruno Haible  <bruno@clisp.org>
81414         * lib/pipe2.c (pipe2): Move #ifs inside function.
81416 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
81418         quotearg: document limitations of quote_these_too
81419         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
81420         those limitations are created.
81421         * lib/quotearg.h (set_char_quoting): Document that digits and
81422         letters that are special after backslash are not permitted.
81423         (quotearg_char): Cross-reference set_char_quoting documentation.
81425 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
81427         quotearg: implement custom_quoting_style
81428         * lib/quotearg.c: (struct quoting_options): Add left_quote and
81429         right_quote fields.
81430         (set_custom_quoting): New public function.
81431         (quotearg_buffer_restyled): Add left_quote and right_quote
81432         arguments, handle them very much like locale quoting, and update
81433         all uses.
81434         (quotearg_n_custom): New public function.
81435         (quotearg_n_custom_mem): New public function.
81436         (quotearg_custom): New public function.
81437         (quotearg_custom_mem): New public function.
81438         * lib/quotearg.h: Prototype and document new public functions.
81439         (enum quoting_style): For escape_quoting_style and
81440         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
81441         ignored even though they're otherwise like c_quoting_style.
81442         Add custom_quoting_style member and document with comparison to
81443         clocale_quoting_style.
81444         * tests/test-quotearg.c (custom_quotes): New array.
81445         (custom_results): New array.
81446         (main): Extend to test custom quoting.
81448 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
81450         quotearg: fix right quote escaping when it's in quote_these_too
81451         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
81452         quote, be sure to prepend only one backslash.
81453         * tests/test-quotearg.c (use_quote_double_quotes): New function.
81454         (main): Test it.
81456 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
81458         quotearg-tests: test escaping of embedded locale quotes
81459         * tests/test-quotearg.c (struct result_strings): Add member for
81460         new input.
81461         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
81462         (inputs): Add new input.
81463         (results_g): Add expected results.
81464         (flag_results): Likewise.
81465         (locale_results): Likewise.
81466         (compare_strings): Check those.
81468 2009-08-23  Bruno Haible  <bruno@clisp.org>
81470         Tests for module 'dup3'.
81471         * modules/dup3-tests: New file.
81472         * tests/test-dup3.c: New file.
81474         New module 'dup3'.
81475         * lib/unistd.in.h (dup3): New declaration.
81476         * lib/dup3.c: New file.
81477         * m4/dup3.m4: New file.
81478         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
81479         HAVE_DUP3.
81480         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
81481         * modules/dup3: New file.
81482         * doc/glibc-functions/dup3.texi: Mention the new module.
81484 2009-08-23  Bruno Haible  <bruno@clisp.org>
81486         Tweak the dup2 test.
81487         * tests/test-dup2.c (main): Create the test file empty. Verify that an
81488         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
81489         the test file is still empty. Fix argument order of lseek.
81491 2009-08-23  Bruno Haible  <bruno@clisp.org>
81493         Avoid test link errors when the modules getopt-gnu, gettext are used.
81494         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
81495         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
81497 2009-08-23  Bruno Haible  <bruno@clisp.org>
81499         Fix getdtablesize() on mingw.
81500         * lib/getdtablesize.c (getdtablesize): Implement differently.
81501         * lib/unistd.in.h (getdtablesize): Improve comment.
81503 2009-08-23  Bruno Haible  <bruno@clisp.org>
81505         New module 'mkostemp'.
81506         Based on Ulrich Drepper's 2007-08-10 change in glibc.
81507         * lib/stdlib.in.h (mksotemp): New declaration.
81508         * lib/mkostemp.c: New file, from glibc with modifications.
81509         * lib/tempname.h (GT_FILE): Remove outdated comment.
81510         (gen_tempname): Add flags argument.
81511         * lib/tempname.c (__GT_BIGFILE): Remove macro.
81512         (__GT_FILE): Map to 1.
81513         (small_open, large_open): Remove macros.
81514         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
81515         * lib/mkstemp.c (mkstemp): Update.
81516         * lib/mkdtemp.c (mkdtemp): Likewise.
81517         * m4/mkostemp.m4: New file.
81518         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
81519         HAVE_MKOSTEMP.
81520         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
81521         HAVE_MKOSTEMP.
81522         * modules/mkostemp: New file, based on modules/mkstemp.
81523         * doc/glibc-functions/mkostemp.texi: Mention the new module.
81524         * NEWS: Mention the change.
81526 2009-08-23  Bruno Haible  <bruno@clisp.org>
81528         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
81529         Reported by Eric Blake.
81531 2009-08-23  Bruno Haible  <bruno@clisp.org>
81533         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
81534         Reported by Eric Blake.
81536 2009-08-23  Bruno Haible  <bruno@clisp.org>
81538         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
81539         * modules/pipe2 (Depends-on): Likewise.
81541 2009-08-23  Eric Blake  <ebb9@byu.net>
81543         fcntl-h: add O_TTY_INIT support
81544         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
81545         * tests/test-fcntl-h.c (o): Test it.
81546         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
81548         fcntl-h: rename from fcntl, in preparation for fcntl(2)
81549         * modules/fcntl: Move <fcntl.h> header replacement...
81550         * modules/fcntl-h: ...to new name, so as not to collide with
81551         like-named function.
81552         * tests/test-fcntl.c: Rename...
81553         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
81554         * modules/fcntl-tests: Rename...
81555         * modules/fcntl-h-tests: ...to this.  Update test file name.
81556         * modules/chdir-long (Depends-on): Update clients.
81557         * modules/chdir-safer (Depends-on): Likewise.
81558         * modules/fcntl-safer (Depends-on): Likewise.
81559         * modules/fts (Depends-on): Likewise.
81560         * modules/mkancesdirs (Depends-on): Likewise.
81561         * modules/mkdir-p (Depends-on): Likewise.
81562         * modules/open (Depends-on): Likewise.
81563         * modules/savewd (Depends-on): Likewise.
81564         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
81565         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
81567 2009-08-22  Bruno Haible  <bruno@clisp.org>
81569         * modules/binary-io (License): Relicense under LGPL.
81570         * modules/pipe2 (License): Likewise.
81572 2009-08-22  Bruno Haible  <bruno@clisp.org>
81574         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
81575         return value.
81576         * lib/pipe-filter-gi.c (filter_init): Likewise.
81577         Reported by Eric Blake.
81579 2009-08-22  Bruno Haible  <bruno@clisp.org>
81581         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
81582         * modules/pipe (Depends-on): Add pipe2.
81584 2009-08-22  Bruno Haible  <bruno@clisp.org>
81586         Tests for module 'pipe2'.
81587         * modules/pipe2-tests: New file.
81588         * tests/test-pipe2.c: New file.
81590         New module 'pipe2'.
81591         * lib/unistd.in.h (pipe2): New declaration.
81592         * lib/pipe2.c: New file.
81593         * m4/pipe2.m4: New file.
81594         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
81595         HAVE_PIPE2.
81596         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
81597         * modules/pipe2: New file.
81598         * doc/glibc-functions/pipe2.texi: Mention the new module.
81600 2009-08-22  Bruno Haible  <bruno@clisp.org>
81602         Reference some new glibc functions.
81603         * doc/glibc-functions/accept4.texi: New file.
81604         * doc/glibc-functions/dup3.texi: New file.
81605         * doc/glibc-functions/mkostemp.texi: New file.
81606         * doc/glibc-functions/pipe2.texi: New file.
81607         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
81608         (Glibc sys/socket.h): Refer to accept4.
81609         (Glibc unistd.h): Refer to dup3, pipe2.
81610         Reported by Eric Blake.
81612 2009-08-22  Jim Meyering  <meyering@redhat.com>
81613             Bruno Haible  <bruno@clisp.org>
81615         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
81616         This makes it so packages using automake-1.11's silent-rules option
81617         can print e.g., a single "GEN    configmake.h" line, rather than
81618         the 30+ statements that perform the job.  If you want to see the
81619         actual commands, you can still run "make V=1".
81620         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
81621         so that make output is abbreviated when those variables are defined
81622         appropriately.
81623         * modules/argz: Likewise.
81624         * modules/arpa_inet: Likewise.
81625         * modules/byteswap: Likewise.
81626         * modules/configmake: Likewise.
81627         * modules/dirent: Likewise.
81628         * modules/errno: Likewise.
81629         * modules/fcntl: Likewise.
81630         * modules/float: Likewise.
81631         * modules/fnmatch: Likewise.
81632         * modules/getopt-posix: Likewise.
81633         * modules/glob: Likewise.
81634         * modules/iconv_open: Likewise.
81635         * modules/inttypes: Likewise.
81636         * modules/localcharset: Likewise.
81637         * modules/locale: Likewise.
81638         * modules/math: Likewise.
81639         * modules/netdb: Likewise.
81640         * modules/netinet_in: Likewise.
81641         * modules/poll: Likewise.
81642         * modules/posix_spawnp-tests: Likewise.
81643         * modules/sched: Likewise.
81644         * modules/search: Likewise.
81645         * modules/selinux-h: Likewise.
81646         * modules/signal: Likewise.
81647         * modules/spawn: Likewise.
81648         * modules/stdarg: Likewise.
81649         * modules/stdbool: Likewise.
81650         * modules/stddef: Likewise.
81651         * modules/stdint: Likewise.
81652         * modules/stdio: Likewise.
81653         * modules/stdlib: Likewise.
81654         * modules/string: Likewise.
81655         * modules/strings: Likewise.
81656         * modules/sys_file: Likewise.
81657         * modules/sys_ioctl: Likewise.
81658         * modules/sys_select: Likewise.
81659         * modules/sys_socket: Likewise.
81660         * modules/sys_stat: Likewise.
81661         * modules/sys_time: Likewise.
81662         * modules/sys_times: Likewise.
81663         * modules/sys_utsname: Likewise.
81664         * modules/sys_wait: Likewise.
81665         * modules/sysexits: Likewise.
81666         * modules/time: Likewise.
81667         * modules/unistd: Likewise.
81668         * modules/wchar: Likewise.
81669         * modules/wctype: Likewise.
81671 2009-08-22  Jim Meyering  <meyering@redhat.com>
81673         announce-gen: detect write failure
81674         * build-aux/announce-gen: Add Coda at end.
81675         Remove equivalent-but-more-verbose block at top.
81677 2009-08-19  Akim Demaille  <demaille@gostai.com>
81679         bootstrap: --help to stdout.
81680         * bootstrap (usage): Don't send --help to stderr.
81681         Use a here doc instead of a long string.
81683 2009-08-21  Eric Blake  <ebb9@byu.net>
81685         test-popen-safer: split from test-popen
81686         * tests/test-popen.c (main): Move...
81687         * tests/test-popen.h: ...into new file.
81688         * tests/test-popen-safer2.c: New file.
81689         * modules/popen-tests (Files): Add test-popen.h.
81690         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
81691         Suggested by Bruno Haible.
81693         test-fcntl-safer: split from test-open
81694         * tests/test-open.c (main): Move...
81695         * tests/test-open.h: ...into new file.
81696         * tests/test-fcntl-safer.c: New file.
81697         * modules/open-tests (Files): Add test-open.h.
81698         * modules/fcntl-safer-tests: New file.
81699         Suggested by Bruno Haible.
81701         test-fopen-safer: split from test-fopen
81702         * tests/test-fopen.c (main): Move...
81703         * tests/test-fopen.h: ...into new file.
81704         * tests/test-fopen-safer.c: New file.
81705         * modules/fopen-tests (Files): Add test-fopen.h.
81706         * modules/fopen-safer-tests: New file.
81707         Suggested by Bruno Haible.
81709 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
81711         popen-safer: test O_CLOEXEC at run-time.
81712         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
81714 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
81716         fcntl: move more flags to the header
81717         * lib/cloexec.c: Do not define FD_CLOEXEC here.
81718         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
81719         * lib/fcntl.in.h: Do both things here.
81721 2009-08-21  Jim Meyering  <meyering@redhat.com>
81723         consistently remove $@-t before redirecting to it
81724         * modules/argz: Remove $@-t and $@ before redirecting to the former.
81725         * modules/alloca-opt: Likewise.
81726         * modules/byteswap: Likewise.
81727         * modules/fnmatch: Likewise.
81728         * modules/getopt-posix: Likewise.
81729         * modules/glob: Likewise.
81730         * modules/poll: Likewise.
81731         * modules/posix_spawnp-tests: Likewise.
81732         * modules/sys_socket: Likewise.
81733         * modules/sysexits: Likewise.
81735 2009-08-21  Eric Blake  <ebb9@byu.net>
81737         popen: simplify access to original popen
81738         * lib/popen.c (rpl_popen): No need to worry about popen being a
81739         macro.
81740         Reported by Bruno Haible.
81742 2009-08-20  Eric Blake  <ebb9@byu.net>
81744         build: avoid some compiler warnings
81745         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
81746         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
81747         type.
81748         (new_exclude_segment, excluded_file_pattern_p)
81749         (excluded_file_name_p): Reduce scope.
81750         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
81751         old-style declaration.
81753 2009-08-20  Simon Josefsson  <simon@josefsson.org>
81755         * tests/test-exclude1.sh: Handle Windows EOL.
81756         * tests/test-exclude2.sh: Likewise.
81757         * tests/test-exclude3.sh: Likewise.
81758         * tests/test-exclude4.sh: Likewise.
81759         * tests/test-exclude5.sh: Likewise.
81760         * tests/test-exclude6.sh: Likewise.
81761         * tests/test-exclude7.sh: Likewise.
81763 2009-08-19  Akim Demaille  <demaille@gostai.com>
81765         bootstrap: find sha1sum when named gsha1sum.
81766         * bootstrap (find_tool): New.
81767         ($SHA1SUM): New.
81768         Use it.
81770 2009-08-20  Jim Meyering  <meyering@redhat.com>
81772         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
81773         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
81774         expression that converts "." in a file name to "\." in the resulting
81775         regexp.  Start with a dummy statement, so that prior shell variable
81776         definitions are expanded portably.  Reported by Simon Josefsson.
81778 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
81780         Fix polling for writeability of a screen buffer.
81781         * lib/poll.c: Distinguish input and screen buffers for the
81782         Win32 implementation.
81783         * lib/select.c: Likewise.
81785 2009-08-19  Eric Blake  <ebb9@byu.net>
81787         popen-safer: prevent popen from clobbering std descriptors
81788         * modules/popen-safer: New file.
81789         * lib/popen-safer.c: Likewise.
81790         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
81791         * lib/stdio--.h (popen): Provide override.
81792         * lib/stdio-safer.h (popen_safer): Provide declaration.
81793         * tests/test-popen.c (includes): Partially test this.
81794         * modules/popen-safer-tests: New file, for more tests.
81795         * tests/test-popen-safer.c: Likewise.
81796         * MODULES.html.sh (file stream based Input/Output): Mention it.
81798         tests: test some of the *-safer modules
81799         * modules/fopen-safer (Depends-on): Add fopen.
81800         * modules/fcntl-safer (Depends-on): Add fcntl.
81801         * modules/stdlib-safer (Depends-on): Add stdlib.
81802         (configure.ac): Set indicator.
81803         * modules/unistd-safer (configure.ac): Likewise.
81804         * modules/tmpfile-safer (configure.ac): Likewise.
81805         (Depends-on): Add tmpfile.
81806         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
81807         active.
81808         * tests/test-fopen.c (includes): Test safer versions when they are
81809         in use.
81810         * tests/test-open.c (includes): Likewise.
81812         popen: fix cygwin 1.5 bug when stdin closed
81813         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
81814         * modules/popen: New file.
81815         * modules/popen-tests: Likewise.
81816         * tests/test-popen.c: Likewise.
81817         * m4/popen.m4: Likewise.
81818         * lib/popen.c: Likewise.
81819         * lib/stdio.in.h (popen): New declaration.
81820         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
81821         * modules/stdio (Makefile.am): Likewise.
81822         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
81824 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
81826         maint.mk: give full control over update-copyright exclusions
81827         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
81828         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
81829         (update-copyright): Don't force inclusion of top-level
81830         ChangeLog.  Don't force exclusion of all COPYING files, but make
81831         them the default exclusion instead.
81833 2009-08-16  Bruno Haible  <bruno@clisp.org>
81835         Fix test failures on Solaris 10.
81836         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
81837         tests when Solaris iconv() is used.
81838         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
81839         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
81840         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
81841         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
81842         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
81844 2009-08-16  Bruno Haible  <bruno@clisp.org>
81846         Fix test failures on Solaris 10.
81847         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
81848         'tr' program and pass it as first argument.
81849         * tests/test-pipe-filter-gi1.sh: Likewise.
81850         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
81851         program as first argument.
81852         * tests/test-pipe-filter-gi1.c (main): Likewise.
81854 2009-08-16  Eric Blake  <ebb9@byu.net>
81856         fpurge: fix previous commits
81857         * modules/fpurge (Makefile.am): Make replacement conditional,
81858         partially reverting 2007-04-29 change; missed in previous
81859         attempt.
81860         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
81861         is missing.
81863 2009-08-16  Bruno Haible  <bruno@clisp.org>
81865         Clarify fpurge's effect on the file position.
81866         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
81867         * tests/test-fpurge.c (main): Make a second pass for checking the file
81868         position.
81870 2009-08-16  Bruno Haible  <bruno@clisp.org>
81872         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
81873         declaration of fpurge is missing.
81874         * tests/test-fpurge.c (main): Check that the file has not more contents
81875         than expected. Close the file before removing it.
81877 2009-08-15  Eric Blake  <ebb9@byu.net>
81879         fpurge: don't wrap working cygwin implementation
81880         * lib/fpurge.c (fpurge): Fix comment typo.
81881         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
81882         1.7 to avoid replacement.
81883         * tests/test-fpurge.c (main): Enhance test.
81885 2009-08-15  Eric Blake  <ebb9@byu.net>
81886         and Jim Meyering  <meyering@redhat.com>
81888         test-update-copyright: skip if perl is insufficient
81889         * tests/test-update-copyright.sh: Failure to run maintainer tool
81890         should not cause testsuite failure on cygwin 1.5.
81892 2009-08-14  Eric Blake  <ebb9@byu.net>
81894         doc: mention more functions added in cygwin 1.7.0
81895         * doc/posix-headers/limits.texi (limits.h): Update for recent
81896         cygwin additions.
81897         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
81898         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
81899         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
81900         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
81901         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
81903 2009-08-14  Eric Blake  <ebb9@byu.net>
81905         maint.mk: simplify update-copyright rule
81906         * top/maint.mk (update-copyright-local): Delete, and document how
81907         to do it in cfg.mk instead.
81908         (update-copyright-exclude-regexp): Delete, and document how to do
81909         it in .x-update-copyright instead.
81910         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
81911         exclude ChangeLog.
81913 2009-08-14  Bruno Haible  <bruno@clisp.org>
81915         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
81917 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
81919         maint.mk: support update-copyright-env
81920         * top/maint.mk (update-copyright-env): Define place-holder.
81921         (update-copyright): Expand $(update-copyright-env) before
81922         invoking update-copyright.
81924 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
81926         update-copyright: implement forced reformatting
81927         * build-aux/update-copyright: Implement and document
81928         UPDATE_COPYRIGHT_FORCE.
81929         * tests/test-update-copyright.sh: Test it.
81931 2009-08-14  Eric Blake  <ebb9@byu.net>
81932         and Bruno Haible  <bruno@clisp.org>
81934         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
81935         * tests/test-locale.c: Revert previous patch related to NULL.
81936         * tests/test-stdio.c: Likewise.
81937         * tests/test-stdlib.c: Likewise.
81938         * tests/test-string.c: Likewise.
81939         * tests/test-unistd.c: Likewise.
81940         * modules/time-tests (Depends-on): Add verify.
81941         * modules/wchar-tests (Depends-on): Likewise.
81942         * tests/test-time.c: Test for NULL compliance.
81943         * tests/test-wchar.c: Likewise.
81944         * modules/locale (Depends-on): Add stddef.
81945         * modules/stdio (Depends-on): Likewise.
81946         * modules/stdlib (Depends-on): Likewise.
81947         * modules/string (Depends-on): Likewise.
81948         * modules/time (Depends-on): Likewise.
81949         * modules/unistd (Depends-on): Likewise.
81950         * modules/wchar (Depends-on): Likewise.
81951         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
81952         * lib/stdlib.in.h (includes): Likewise.
81953         * lib/string.in.h (includes): Likewise.
81954         * lib/time.in.h (includes): Likewise.
81955         * lib/unistd.in.h (includes): Likewise.
81956         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
81957         replaced.
81958         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
81959         * m4/stddef_h.m4: New file.
81960         * modules/stddef: Likewise.
81961         * lib/stddef.in.h: Likewise.
81962         * modules/stddef-tests: Likewise.
81963         * tests/test-stddef.c: Likewise.
81964         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
81965         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
81966         * doc/posix-headers/locale.texi (locale.h): Likewise.
81967         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
81968         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
81969         * doc/posix-headers/string.texi (string.h): Likewise.
81970         * doc/posix-headers/time.texi (time.h): Likewise.
81971         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
81972         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
81974 2009-08-14  Eric Blake  <ebb9@byu.net>
81976         doc: improve git diff of texinfo files
81977         * .gitattributes: Add rule for *.texi files, with hint on how to
81978         use it.
81979         Copied from m4, and based on a report by Bruno Haible.
81981 2009-08-14  Bruno Haible  <bruno@clisp.org>
81983         Disable multithread support by default on Cygwin 1.5.x for real.
81984         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
81986 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
81988         update-copyright: much ado about intervals
81989         * build-aux/update-copyright: Implement and document
81990         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
81991         of copyright year intervals.
81992         Also, document UPDATE_COPYRIGHT_YEAR.
81993         * tests/test-update-copyright.sh: Test it.
81995         update-copyright: convert 2-digit to 4-digit years
81996         * build-aux/update-copyright: Implement and document.
81997         * tests/test-update-copyright.sh: Update.
81999 2009-08-14  Jim Meyering  <meyering@redhat.com>
82001         test-exclude: avoid coreutils "make check" failure
82002         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
82003         just as in test-argmatch.c.
82005 2009-08-13  Eric Blake  <ebb9@byu.net>
82007         test-dup2: fix bad assumption
82008         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
82009         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
82011         test-version-etc: fix CRLF portability issue
82012         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
82013         recognize \r.
82014         * tests/test-argp-version-etc-1.sh: Likewise.
82016         getopt: update client modules
82017         * modules/argp (Depends-on): Use getopt-gnu.
82018         * modules/git-merge-changelog (Depends-on): Likewise.
82019         * modules/long-options (Depends-on): Likewise.
82020         * modules/xstrtol (Depends-on): Likewise.
82022 2009-08-13  Simon Josefsson  <simon@josefsson.org>
82024         * tests/test-version-etc.sh: Don't fail on different
82025         project/version.  Don't fail on CRLF differences.  Rewrite to use
82026         multiple -e instead of multiple sed forks, suggested by Eric Blake
82027         <ebb9@byu.net>.
82028         * tests/test-argp-version-etc-1.sh: Likewise.
82030 2009-08-13  Simon Josefsson  <simon@josefsson.org>
82032         * tests/test-version-etc.sh: Don't fail on different
82033         project/version.
82035 2009-08-12  Bruno Haible  <bruno@clisp.org>
82037         Tests for modules 'getopt-posix', 'getopt-gnu'.
82038         * modules/getopt-posix-tests: New file.
82039         * tests/test-getopt.c: New file.
82040         * tests/test-getopt.h: New file.
82041         * tests/test-getopt_long.h: New file.
82043         New modules 'getopt-posix', 'getopt-gnu'.
82044         * modules/getopt-gnu: New file, renamed from modules/getopt.
82045         * modules/getopt-posix: New file.
82046         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
82047         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
82048         (gl_GETOPT): Remove macro.
82049         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
82050         Disable the test against BSD systems that declare optreset. Test
82051         against mingw bug. Test against lack of support of optional arguments
82052         on many platforms.
82053         * doc/glibc-headers/getopt.texi: Update module name and list of
82054         relevant platforms.
82055         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
82056         'getopt-gnu' and more portability problems.
82057         * NEWS: Mention the changes.
82059 2009-08-12  Bruno Haible  <bruno@clisp.org>
82061         Ensure that optarg etc. get declared by <unistd.h>.
82062         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
82063         AC_USE_SYSTEM_EXTENSIONS.
82064         * modules/getopt (Depends-on): Add 'extensions'.
82066 2009-08-12  Bruno Haible  <bruno@clisp.org>
82068         Avoid test link errors.
82069         * modules/pipe-filter-ii-tests (Makefile.am): Define
82070         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
82071         * modules/pipe-filter-gi-tests (Makefile.am): Define
82072         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
82073         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
82075 2009-08-12  Bruno Haible  <bruno@clisp.org>
82077         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
82078         gl_GETOPT_SUBSTITUTE before.
82079         (gl_GETOPT): Use it.
82080         * m4/argp.m4 (gl_ARGP): Update.
82081         Reported by Sergey Poznyakoff.
82083         * m4/getopt.m4: Reorder macros.
82084         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
82085         (gl_GETOPT_SUBSTITUTE): Remove macro.
82087 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
82089         Minor improvement in gitlog-to-changelog
82091         * build-aux/gitlog-to-changelog: New option `--format' makes
82092         output format string configurable.
82094 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
82096         Optimize exclude: use hash tables for non-wildcard patterns.
82098         * lib/exclude.c: Include hash.h and mbuiter.h
82099         (struct exclude_pattern, exclude_segment): New data types.
82100         (struct exclude): Rewrite.
82101         (fnmatch_pattern_has_wildcards): New function.
82102         (new_exclude_segment, free_exclude_segment): New functions.
82103         (excluded_file_pattern_p, excluded_file_name_p): New functions.
82104         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
82105         * lib/exclude.h (is_fnmatch_pattern): New prototype.
82106         * modules/exclude: Depend on hash and mbuiter.
82108         * modules/exclude-tests: New file.
82109         * tests/test-exclude.c: New file.
82110         * tests/test-exclude1.sh: New file.
82111         * tests/test-exclude2.sh: New file.
82112         * tests/test-exclude3.sh: New file.
82113         * tests/test-exclude4.sh: New file.
82114         * tests/test-exclude5.sh: New file.
82115         * tests/test-exclude6.sh: New file.
82116         * tests/test-exclude7.sh: New file.
82118 2009-08-12  Bruno Haible  <bruno@clisp.org>
82120         Ensure that getopt() gets declared by <unistd.h>.
82121         * lib/unistd.in.h: Conditionally include getopt.h.
82122         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
82123         Set GNULIB_UNISTD_H_GETOPT.
82124         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
82125         GNULIB_UNISTD_H_GETOPT.
82126         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
82128 2009-08-12  Bruno Haible  <bruno@clisp.org>
82130         Clarify logic.
82131         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
82132         gl_replace_getopt instead of GETOPT_H.
82134 2009-08-12  Bruno Haible  <bruno@clisp.org>
82136         * m4/getopt.m4: Add comments.
82138 2009-08-12  Bruno Haible  <bruno@clisp.org>
82140         Disable multithread support by default on Cygwin 1.5.x.
82141         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
82142         set gl_use_threads=no if not specified otherwise.
82144 2009-08-11  Bruno Haible  <bruno@clisp.org>
82146         Avoid compilation error on NetBSD 5.0.
82147         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
82148         * tests/test-stdio.c: Likewise.
82149         * tests/test-stdlib.c: Likewise.
82150         * tests/test-string.c: Likewise.
82151         * tests/test-unistd.c: Likewise.
82152         Reported by Greg Troxel <gdt@ir.bbn.com>
82153         at <https://savannah.gnu.org/support/?106973>.
82155 2009-08-11  Bruno Haible  <bruno@clisp.org>
82157         * modules/dup2-tests (Depends-on): Remove close.
82159         Undo 2009-07-19 commit.
82160         * modules/acl-tests (Depends-on): Remove close.
82161         * modules/binary-io-tests (Depends-on): Likewise.
82162         * modules/closein-tests (Depends-on): Likewise.
82163         * modules/flock-tests (Depends-on): Likewise.
82164         * modules/fsync-tests (Depends-on): Likewise.
82165         * modules/lseek-tests (Depends-on): Likewise.
82166         * modules/pipe-tests (Depends-on): Likewise.
82167         * modules/posix_spawn-tests (Depends-on): Likewise.
82168         * modules/posix_spawnp-tests (Depends-on): Likewise.
82169         * modules/stat-time-tests (Depends-on): Likewise.
82170         * modules/yesno-tests (Depends-on): Likewise.
82172 2009-08-10  Bruno Haible  <bruno@clisp.org>
82174         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
82176 2009-08-10  Bruno Haible  <bruno@clisp.org>
82178         Fix a gcc warning.
82179         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
82181 2009-08-10  Bruno Haible  <bruno@clisp.org>
82183         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
82184         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
82185         not only the first time.
82186         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
82187         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
82188         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
82189         is 1, not only the first time.
82191 2009-08-10  Bruno Haible  <bruno@clisp.org>
82193         Make it possible to use module 'gethostname' without module 'close'.
82194         * lib/unistd.in.h (close): Evoke a link error only if
82195         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
82196         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
82197         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82198         * modules/unistd (Makefile.am): Substitute
82199         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82200         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
82201         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
82202         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
82203         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82204         * modules/sys_ioctl (Makefile.am): Substitute
82205         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82206         * modules/socket (configure.ac): On native Windows, set
82207         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
82208         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82209         Reported by Sam Steingold <sds@gnu.org>.
82211 2009-08-10  Bruno Haible  <bruno@clisp.org>
82213         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
82214         * modules/ioctl (configure.ac): Likewise.
82216 2009-08-10  Bruno Haible  <bruno@clisp.org>
82218         Avoid collision between gnulib wrapper and libintl wrapper.
82219         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
82220         already defined in intl/printf.c.
82221         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
82222         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
82224 2009-08-09  Bruno Haible  <bruno@clisp.org>
82226         Make <sys/select.h> really self-contained, also on Solaris 10.
82227         * lib/sys_select.in.h: Include <string.h>.
82228         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
82229         Solaris 10 problem.
82230         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
82231         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
82232         Reported by Jim Meyering.
82234 2009-08-09  Bruno Haible  <bruno@clisp.org>
82236         Avoid warnings from 'aclocal' that are due to a use of macro name
82237         AM_XGETTEXT_OPTION that is not defined in automake.
82238         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
82239         automake.
82240         * modules/error (configure.ac): Likewise.
82241         * modules/propername (configure.ac): Likewise.
82242         * modules/vasprintf (configure.ac): Likewise.
82243         * modules/verror (configure.ac): Likewise.
82244         * modules/xprintf (configure.ac): Likewise.
82245         * modules/xvasprintf (configure.ac): Likewise.
82247 2009-08-08  Bruno Haible  <bruno@clisp.org>
82249         Avoid compilation error in C++ mode.
82250         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
82251         Reported by Sam Steingold <sds@gnu.org>.
82253 2009-08-08  Bruno Haible  <bruno@clisp.org>
82255         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
82256         for the various Unix platforms.
82257         * doc/posix-headers/limits.texi: Update platforms list regarding
82258         HOST_NAME_MAX.
82259         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
82261 2009-08-07  Jim Meyering  <meyering@redhat.com>
82263         selinux-at: fix typo in a comment
82264         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
82265         Spotted by Paolo Bonzini.
82267         selinux-at: remove redundant m4 code, add documentation
82268         * modules/selinux-at (configure.ac): Remove redundant code.
82269         LIB_SELINUX is already set via the dependent module, selinux-h.
82270         (Include): Add quotes around selinux-at.h.
82271         * lib/selinux-at.h: Add documentation.
82272         Reported by Bruno Haible in
82273         http://marc.info/?l=gnulib-bug&m=124958988300749
82275 2009-08-07  Bruno Haible  <bruno@clisp.org>
82277         Avoid link error on MacOS X 10.3 and 10.4.
82278         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
82279         on non-ELF systems.
82280         * lib/argp-pv.c (argp_program_version): Likewise.
82281         Reported by Simon Josefsson.
82283 2009-08-07  Simon Josefsson  <simon@josefsson.org>
82285         * tests/test-version-etc.sh: Use $EXEEXT.
82287 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
82289         update-copyright: update documentation to point to maint.mk
82290         * build-aux/update-copyright: Here.
82292 2009-08-06  Jim Meyering  <meyering@redhat.com>
82294         maint.mk: support update-copyright-local
82295         * top/maint.mk (update-copyright-local): Define place-holder.
82296         (update-copyright): Depend on $(update-copyright-local).
82298 2009-08-06  Jim Meyering  <meyering@redhat.com>
82300         selinux-at: new module
82301         Initially written for coreutils, this module will soon be
82302         used by findutils, too.
82303         * MODULES.html.sh [Misc]: Add selinux-at.
82304         * lib/selinux-at.h: New file, from coreutils.
82305         * lib/selinux-at.c: Likewise.
82306         * modules/selinux-at: Likewise.
82307         (License): Change from LGPL to GPL, since it depends
82308         on the GPL'd openat module.
82310         doc: update README
82311         * README: Remove references to cogito.
82312         Remove cvs-repo-updating instructions from 2007.
82313         Don't imply that CVS is better if you have limited disk space.
82315 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
82317         update-copyright: support C-style comments
82318         * build-aux/update-copyright: Implement and document.
82319         * tests/test-update-copyright.sh: Test.
82321 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
82323         update-copyright: support omitted "(C)"
82324         * build-aux/update-copyright: Implement and document.  Also,
82325         allow variable whitespace before "(C)".
82326         * tests/test-update-copyright.sh: Test.
82328 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
82330         update-copyright: don't trip on non-FSF copyright statements
82331         * build-aux/update-copyright: Fix so that the first correctly
82332         formatted FSF copyright statement is recognized no matter what
82333         appears before it.  Update documentation.
82334         * tests/test-update-copyright.sh: Test that.
82336 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
82338         update-copyright: clean up code a little
82339         * build-aux/update-copyright: Append "_re" to the name of any
82340         variable holding a regular expression.
82341         Replace "old" and "new" with "stmt" in variable names.
82342         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
82343         handled correctly.
82344         Format code more consistently.
82346 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
82348         update-copyright-tests: improve portability
82349         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
82350         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
82352 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
82354         update-copyright: support @copyright{} and &copy;
82355         * build-aux/update-copyright: Implement and document.
82356         * tests/test-update-copyright.sh: Test.
82358 2009-08-04  Jim Meyering  <meyering@redhat.com>
82360         update-copyright-tests: correctly test EOL=\r\n handling
82361         * tests/test-update-copyright.sh: Put \r at the end of some lines
82362         for the dos-eol tests.  Based on a patch by Joel E. Denny.
82364         maint.mk: make update-copyright exclusion list more configurable
82365         * top/maint.mk (update-copyright): Default to excluding COPYING,
82366         but allow an override, in case someone does want to update that file.
82368         maint.mk: don't update copyright date in COPYING
82369         * top/maint.mk (update-copyright): Exclude COPYING.
82371         maint.mk: add a copyright-updating rule
82372         * top/maint.mk (update-copyright): New rule.
82373         Derived from coreutils/Makefile.am.
82375         update-copyright: rename some variables
82376         * build-aux/update-copyright: Rename a few variables for clarity.
82377         Tweak syntax.  List Joel E. Denny as coauthor.
82379 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
82381         update-copyright: fix bug for 2-digit last year and add tests
82382         * build-aux/update-copyright: Fix bug.
82383         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
82384         specified.
82385         * modules/update-copyright-tests: New
82386         * tests/test-update-copyright.sh: New.
82388 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
82390         update-copyright: handle leading tabs in line prefix
82391         * build-aux/update-copyright: Count leading tabs as 8 spaces
82392         when computing margin.  This helps with the formatting of
82393         ChangeLogs, for example.
82394         Fix documentation a little.
82396 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
82398         update-copyright: support EOL=\r\n
82399         * build-aux/update-copyright: Implement that.
82401 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
82403         update-copyright: automatically format copyright statements
82404         * build-aux/update-copyright: Implement that.
82405         Also, be a little more predictable and safer by always failing
82406         when the full copyright format is not perfectly recognized as an
82407         unbroken whole.  Discussed at
82408         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
82409         Rewrite documentation.
82411 2009-08-03  Bruno Haible  <bruno@clisp.org>
82413         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
82415 2009-08-02  Bruno Haible  <bruno@clisp.org>
82417         Tests for module 'uname'.
82418         * modules/uname-tests: New file.
82419         * tests/test-uname.c: New file.
82421         New module 'uname'.
82422         * lib/uname.c: New file.
82423         * m4/uname.m4: New file.
82424         * modules/uname: New file.
82425         * doc/posix-functions/uname.texi: Mention the new module.
82427 2009-08-02  Bruno Haible  <bruno@clisp.org>
82429         Tests for module 'sys_utsname'.
82430         * modules/sys_utsname-tests: New file.
82431         * tests/test-sys_utsname.c: New file.
82433         New module 'sys_utsname'.
82434         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
82435         * m4/sys_utsname_h.m4: New file.
82436         * modules/sys_utsname: New file.
82437         * doc/posix-headers/sys_utsname.texi: Mention the new module.
82439 2009-08-02  Bruno Haible  <bruno@clisp.org>
82441         Implicitly initialize the sockets library.
82442         * lib/gethostname.c: Include sockets.h.
82443         (rpl_gethostname): Invoke gl_sockets_startup.
82444         * lib/socket.c: Include sockets.h.
82445         (rpl_socket): Invoke gl_sockets_startup.
82446         * modules/gethostname (Depends-on): Add sockets.
82447         * modules/socket (Depends-on): Likewise.
82448         * tests/test-poll.c: Don't include sockets.h.
82449         (main): Don't invoke gl_sockets_startup.
82450         * tests/test-select.c: Don't include sockets.h.
82451         (main): Don't invoke gl_sockets_startup.
82453 2009-08-02  Bruno Haible  <bruno@clisp.org>
82455         Allow multiple calls to gl_sockets_startup.
82456         * lib/sockets.c (initialized_sockets_version): New variable.
82457         (gl_sockets_startup): Do nothing if already called for this or a higher
82458         version.
82459         (gl_sockets_cleanup): Reset initialized_sockets_version.
82461 2009-08-03  Simon Josefsson  <simon@josefsson.org>
82463         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
82464         different project/version.
82466 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
82467             Bruno Haible  <bruno@clisp.org>
82469         Tests for module 'pipe-filter-gi'.
82470         * modules/pipe-filter-gi-tests: New file.
82471         * tests/test-pipe-filter-gi1.sh: New file.
82472         * tests/test-pipe-filter-gi1.c: New file.
82473         * tests/test-pipe-filter-gi2.sh: New file.
82474         * tests/test-pipe-filter-gi2-main.c: New file.
82475         * tests/test-pipe-filter-gi2-child.c: New file.
82477         New module 'pipe-filter-gi'.
82478         * lib/pipe-filter-gi.c: New file.
82479         * modules/pipe-filter-gi: New file.
82481 2009-08-02  Bruno Haible  <bruno@clisp.org>
82482             Paolo Bonzini  <bonzini@gnu.org>
82484         Tests for module 'pipe-filter-ii'.
82485         * modules/pipe-filter-ii-tests: New file.
82486         * tests/test-pipe-filter-ii1.sh: New file.
82487         * tests/test-pipe-filter-ii1.c: New file.
82488         * tests/test-pipe-filter-ii2.sh: New file.
82489         * tests/test-pipe-filter-ii2-main.c: New file.
82490         * tests/test-pipe-filter-ii2-child.c: New file.
82492         New module 'pipe-filter-ii'.
82493         * lib/pipe-filter.h: New file.
82494         * lib/pipe-filter-ii.c: New file.
82495         * lib/pipe-filter-aux.h: New file.
82496         * modules/pipe-filter-ii: New file.
82498 2009-08-02  Simon Josefsson  <simon@josefsson.org>
82500         * lib/gc-libgcrypt.c: Change copyright to FSF.
82501         * lib/gc-gnulib.c: Likewise.
82503 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
82505         * lib/gethostname.c: Include limits.h.
82507 2009-08-02  Simon Josefsson  <simon@josefsson.org>
82508             Bruno Haible  <bruno@clisp.org>
82510         Ensure HOST_NAME_MAX as part of the gethostname module.
82511         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
82512         define also HOST_NAME_MAX.
82513         * tests/test-gethostname.c: Include <limits.h>.
82514         (main): Check also HOST_NAME_MAX.
82515         * doc/posix-headers/limits.texi: Document the mingw problem.
82517 2009-08-02  Bruno Haible  <bruno@clisp.org>
82519         * lib/gethostname.c (gethostname): Fix handling of large len argument.
82520         Add comments.
82522 2009-03-31  Simon Josefsson  <simon@josefsson.org>
82524         * lib/gethostname.c: Add Windows wrapper.
82525         * m4/gethostname.m4: Look for gethostname in -lws2_32.
82526         * modules/gethostname: Depend on sys_socket & errno, for also
82527         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
82528         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
82530 2009-07-31  Jim Meyering  <meyering@redhat.com>
82532         getloadavg: fix symbol name in comment
82533         * lib/getloadavg.c: Correct a typo I introduced when adding
82534         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
82535         Matt Kraai spotted the problem.
82537 2009-07-29  Matt Kraai  <mkraai@beckman.com>
82539         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
82540         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
82541         code also if ! defined N_NAME_POINTER.
82542         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
82543         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
82544         but the n_name member is a 12-byte array.
82546 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
82548         update-copyright: generalize comment handling
82549         * build-aux/update-copyright: Handle copyright statements
82550         within more comment styles.
82551         Document usage.
82552         Report any file with an external copyright holder or parse failure.
82554 2009-07-29  Jim Meyering  <meyering@redhat.com>
82556         mktime: correct setting of REPLACE_MKTIME
82557         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
82559         update-copyright: new module
82560         * modules/update-copyright: New file.
82561         * build-aux/update-copyright: New file.
82562         * MODULES.html.sh (maint+release support): Add update-copyright.
82564 2009-07-27  Bruno Haible  <bruno@clisp.org>
82566         Fix compilation error when <ctime> is used and mktime is replaced.
82567         * lib/time.in.h (mktime): New declaration.
82568         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
82569         REPLACE_MKTIME instead of defining mktime in config.h.
82570         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
82571         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
82572         Reported by Ross McFarland <rwmcfa1@neces.com>.
82574 2009-07-27  Bruno Haible  <bruno@clisp.org>
82576         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
82577         Reported by Matt Kraai <mkraai@beckman.com>.
82579 2009-07-25  Jim Meyering  <meyering@redhat.com>
82581         maint.mk: avoid warnings about missing files
82582         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
82583         diagnostic when .prev-version does not exist.
82584         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
82585         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
82586         nonexistent cfg.mk.
82587         Suggestions from Simon Josefsson.
82589 2009-07-25  Bruno Haible  <bruno@clisp.org>
82591         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
82592         defined as macros. Needed on QNX 6.4.1.
82593         Reported by Matt Kraai <mkraai@beckman.com>.
82595 2009-07-23  Jim Meyering  <meyering@redhat.com>
82597         maint.mk: invoke "make dist" with a working value of XZ_OPT
82598         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
82600 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
82602         Make fseeko.c compile on QNX.
82603         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
82605 2009-07-22  Peter Simons  <simons@cryp.to>
82607         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
82608         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
82609         * lib/md4.h: Likewise.
82610         * lib/md5.h: Likewise.
82611         * lib/sha1.h: Likewise.
82612         * lib/sha256.h: Likewise.
82613         * lib/sha512.h: Likewise.
82615         tests-sha1: don't assign literal string to 'char *' variable
82616         * tests/test-sha1.c (main): Declare locals with "const" to match
82617         attributes of the right hand side.
82619 2009-07-21  Eric Blake  <ebb9@byu.net>
82621         dup2: fix more mingw problems
82622         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
82623         fd to itself.
82624         * doc/posix-functions/dup2.texi (dup2): Document the bug.
82625         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
82626         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
82627         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
82628         care of mingw bugs.
82630 2009-07-21  Jim Meyering  <meyering@redhat.com>
82632         vc-list-files: avoid failure when /bin/sh is dash
82633         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
82634         On some Debian based systems, /bin/sh is a symlink to dash, and running
82635         this command would omit the "/" following each 'tests' prefix:
82636           dash -x build-aux/vc-list-files -C . tests
82637         That is because bash and dash work differently:
82638           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
82639           bash ok
82640           dash odd
82642 2009-07-21  Eric Blake  <ebb9@byu.net>
82644         dup2-tests: test previous patch
82645         * modules/dup2-tests: New file.
82646         * tests/test-dup2.c: Likewise.
82647         * tests/test-open.c (main): Avoid unspecified behavior.
82648         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
82649         test.
82651         dup2: work around mingw and cygwin 1.5 bug
82652         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
82653         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
82654         * modules/unistd (Makefile.am): Substitute it.
82655         * lib/unistd.in.h (dup2): Declare the replacement.
82656         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
82657         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
82658         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
82659         * modules/execute (Depends-on): Add dup2.
82660         * modules/fseterr (Depends-on): Likewise.
82661         * modules/pipe (Depends-on): Likewise.
82662         * modules/posix_spawn-internal (Depends-on): Likewise.
82664 2009-07-21  Bruno Haible  <bruno@clisp.org>
82666         * modules/.gitattributes: New file.
82668 2009-07-20  Bruno Haible  <bruno@clisp.org>
82670         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
82671         (main): Use it.
82673 2009-07-20  Eric Blake  <ebb9@byu.net>
82675         test-pipe: make a bit more robust.
82676         * tests/test-pipe.c (myerr): Allow error messages regardless of
82677         what we do to stderr.
82678         (test_pipe): Rearrange to avoid deadlock.
82679         (child_main): Try a larger read, to ensure we avoided deadlock.
82680         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
82681         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
82682         if misused.
82684 2009-07-19  Jim Meyering  <meyering@redhat.com>
82686         fts: avoid false-positive cycle-detection
82687         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
82688         for each new command line argument.
82690 2009-07-19  Bruno Haible  <bruno@clisp.org>
82692         Fix build error on mingw with the modules sys_select and unistd.
82693         * modules/acl-tests (Depends-on): Add close.
82694         * modules/binary-io-tests (Depends-on): Likewise.
82695         * modules/closein-tests (Depends-on): Likewise.
82696         * modules/flock-tests (Depends-on): Likewise.
82697         * modules/fsync-tests (Depends-on): Likewise.
82698         * modules/lseek-tests (Depends-on): Likewise.
82699         * modules/pipe-tests (Depends-on): Likewise.
82700         * modules/posix_spawn-tests (Depends-on): Likewise.
82701         * modules/posix_spawnp-tests (Depends-on): Likewise.
82702         * modules/stat-time-tests (Depends-on): Likewise.
82703         * modules/yesno-tests (Depends-on): Likewise.
82705 2009-07-19  Bruno Haible  <bruno@clisp.org>
82707         Unify conditionals.
82708         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
82709         macros, not at the compiler macros.
82710         * lib/pipe.c: Likewise.
82711         * lib/execute.c: Likewise.
82712         * lib/spawni.c: Likewise.
82714 2009-07-19  Bruno Haible  <bruno@clisp.org>
82716         Fix handling of closed stdin/stdout/stderr on mingw.
82717         * lib/w32spawn.h: Include unistd.h.
82718         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
82719         file descriptor with O_NOINHERIT flag.
82720         (fd_safer_noinherit): New function, based on fd-safer.c.
82721         (dup_safer_noinherit): New function, based on dup-safer.c.
82722         (undup_safer_noinherit): New function.
82723         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
82724         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
82725         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
82726         instead of fd_safer.
82727         * tests/test-pipe.c: Include <windows.h>.
82728         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
82729         result.
82731         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
82732         from main.
82733         (test_pipe): Pass an extra argument for disambiguation.
82734         (main): Invoke parent_main or child_main.
82736         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
82737         consistently.
82739 2009-07-18  Eric Blake  <ebb9@byu.net>
82741         test-pipe: fix mingw build
82742         * tests/test-pipe.c (main): Avoid fcntl on mingw.
82744 2009-07-18  Bruno Haible  <bruno@clisp.org>
82746         * modules/pipe-tests (Makefile.am): Fix typo.
82748 2009-07-18  Eric Blake  <ebb9@byu.net>
82750         error: fix mingw build
82751         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
82752         Reported by Bruno Haible.
82754         error: avoid undefined use of stdout
82755         * lib/error.c (error, error_at_line): Check that fd 1 is open
82756         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
82757         is handling faults and the close_stdout module wants to report the
82758         detection of closed stdout as an error.
82760 2009-07-17  Eric Blake  <ebb9@byu.net>
82762         pipe: be robust in face of closed fds
82763         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
82764         should cause child to misbehave.
82765         * modules/pipe-tests: New module.
82766         * tests/test-pipe.c: New file.
82767         * tests/test-pipe.sh: New file.
82768         Reported by Akim Demaille.
82770 2009-07-14  Bruno Haible  <bruno@clisp.org>
82772         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
82773         Reported by anonymous kc.
82775 2009-07-07  Jim Meyering  <meyering@redhat.com>
82777         maint.mk: don't look for translatable strings in *.m4 or *.mk
82778         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
82779         when searching for translatable strings.
82781 2009-07-05  Jim Meyering  <meyering@redhat.com>
82783         remove superfluous parentheses in STREQ definition
82784         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
82785         * lib/getugroups.c (STREQ): Likewise.
82786         * lib/fnmatch.c (STREQ): Likewise.
82787         Spotted by Bruno Haible.
82789 2009-07-04  Jim Meyering  <meyering@redhat.com>
82791         argv-iter: new module
82792         * MODULES.html.sh: Add argv-iter.
82793         * lib/argv-iter.c, lib/argv-iter.h: New files.
82794         * modules/argv-iter: New file.
82795         * modules/argv-iter-tests: New file.
82796         * tests/test-argv-iter.c: Test it.
82798 2009-07-04  Bruno Haible  <bruno@clisp.org>
82800         Fix assertion.
82801         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
82802         contains more exact copies of a given entry than file2, leave the extra
82803         copies unpaired rather than aborting.
82804         Reported by Eric Blake.
82806 2009-07-02  Bruno Haible  <bruno@clisp.org>
82808         Speedup git-merge-changelog for git cherry-pick.
82809         * lib/git-merge-changelog.c (struct entries_mapping): New type.
82810         (entries_mapping_get): New function, extracted from compute_mapping.
82811         (entries_mapping_reverse_get): New function.
82812         (compute_mapping): Add a 'full' argument. Return the result in a
82813         'struct entries_mapping'.
82814         (main): Update. Access the mappings through entries_mapping_get.
82815         Reported by Eric Blake.
82817 2009-07-02  Bruno Haible  <bruno@clisp.org>
82819         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
82820         best_i.
82822 2009-07-02  Bruno Haible  <bruno@clisp.org>
82824         Speed up approximate search for matching ChangeLog entries.
82825         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
82826         argument. Call fstrcmp_bounded instead of fstrcmp.
82827         (compute_mapping, try_split_merged_entry, main): Update callers.
82829 2009-07-02  Bruno Haible  <bruno@clisp.org>
82831         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
82833 2009-06-30  Bruno Haible  <bruno@clisp.org>
82835         Reduce the number of uc_is_cased calls.
82836         * lib/unicase.h (casing_suffix_context_t): Add
82837         'first_char_except_ignorable' field.
82838         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
82839         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
82840         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
82841         Update initializer.
82842         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
82843         case-ignorable characters.
82844         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
82845         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
82846         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
82847         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
82848         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
82850 2009-06-30  Bruno Haible  <bruno@clisp.org>
82852         Tests for module 'unicase/ignorable'.
82853         * modules/unicase/ignorable-tests: New file.
82854         * tests/unicase/test-ignorable.c: New file, generated by
82855         gen-uni-tables.
82857         Tests for module 'unicase/cased'.
82858         * modules/unicase/cased-tests: New file.
82859         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
82860         * tests/unicase/test-predicate-part1.h: New file, derived from
82861         tests/unictype/test-predicate-part1.h.
82862         * tests/unicase/test-predicate-part2.h: New file, same as
82863         tests/unictype/test-predicate-part2.h.
82865         Fix evaluation of "Before C" condition of FINAL_SIGMA.
82866         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
82867         (output_casing_properties): New function.
82868         (main): Call it.
82869         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
82870         * lib/unicase/cased.c: Include unictype/bitmap.h.
82871         (uc_is_cased): Define through a bitmap lookup.
82872         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
82873         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
82874         (uc_is_case_ignorable): Define through a bitmap lookup.
82875         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
82876         lib/unictype/bitmap.h.
82877         (Depends-on): Add inline. Clean up.
82878         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
82879         lib/unictype/bitmap.h.
82880         (Depends-on): Add inline. Clean up.
82881         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
82882         recognition.
82883         * tests/unicase/test-u16-tolower.c (main): Likewise.
82884         * tests/unicase/test-u32-tolower.c (main): Likewise.
82886 2009-06-30  Bruno Haible  <bruno@clisp.org>
82888         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
82889         * lib/unicase/u16-casemap.c: Likewise.
82890         * lib/unicase/u32-casemap.c: Likewise.
82892 2009-06-29  Bruno Haible  <bruno@clisp.org>
82894         Define u32_casefold as a wrapper around u32_ct_casefold.
82895         * lib/unicase/u32-casefold.c: Update.
82896         * modules/unicase/u32-casefold (Depends-on): Add
82897         unicase/u32-ct-casefold, unicase/empty-prefix-context,
82898         unicase/empty-suffix-context. Clean up.
82900         Define u16_casefold as a wrapper around u16_ct_casefold.
82901         * lib/unicase/u16-casefold.c: Update.
82902         * modules/unicase/u16-casefold (Depends-on): Add
82903         unicase/u16-ct-casefold, unicase/empty-prefix-context,
82904         unicase/empty-suffix-context. Clean up.
82906         Define u8_casefold as a wrapper around u8_ct_casefold.
82907         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
82908         * lib/unicase/u8-casefold.c: Update.
82909         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
82910         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82912         Define u32_totitle as a wrapper around u32_ct_totitle.
82913         * lib/unicase/u32-totitle.c: Update.
82914         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
82915         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82917         Define u16_totitle as a wrapper around u16_ct_totitle.
82918         * lib/unicase/u16-totitle.c: Update.
82919         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
82920         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82922         Define u8_totitle as a wrapper around u8_ct_totitle.
82923         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
82924         functions.
82925         (FUNC): Delegate to U_CT_TOTITLE.
82926         * lib/unicase/u8-totitle.c: Update.
82927         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
82928         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82930         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
82931         invocation.
82932         * modules/unicase/u32-tolower (Depends-on): Add
82933         unicase/empty-prefix-context, unicase/empty-suffix-context.
82935         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
82936         invocation.
82937         * modules/unicase/u16-tolower (Depends-on): Add
82938         unicase/empty-prefix-context, unicase/empty-suffix-context.
82940         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
82941         * modules/unicase/u8-tolower (Depends-on): Add
82942         unicase/empty-prefix-context, unicase/empty-suffix-context.
82944         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
82945         invocation.
82946         * modules/unicase/u32-toupper (Depends-on): Add
82947         unicase/empty-prefix-context, unicase/empty-suffix-context.
82949         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
82950         invocation.
82951         * modules/unicase/u16-toupper (Depends-on): Add
82952         unicase/empty-prefix-context, unicase/empty-suffix-context.
82954         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
82955         * modules/unicase/u8-toupper (Depends-on): Add
82956         unicase/empty-prefix-context, unicase/empty-suffix-context.
82958         New module 'unicase/u32-ct-casefold'.
82959         * lib/unicase/u32-ct-casefold.c: New file.
82960         * modules/unicase/u32-ct-casefold: New file.
82962         New module 'unicase/u16-ct-casefold'.
82963         * lib/unicase/u16-ct-casefold.c: New file.
82964         * modules/unicase/u16-ct-casefold: New file.
82966         New module 'unicase/u8-ct-casefold'.
82967         * lib/unicase/u8-ct-casefold.c: New file.
82968         * lib/unicase/u-ct-casefold.h: New file, derived from
82969         lib/unicase/u-casefold.h.
82970         * modules/unicase/u8-ct-casefold: New file.
82972         New module 'unicase/u32-ct-totitle'.
82973         * lib/unicase/u32-ct-totitle.c: New file.
82974         * modules/unicase/u32-ct-totitle: New file.
82976         New module 'unicase/u16-ct-totitle'.
82977         * lib/unicase/u16-ct-totitle.c: New file.
82978         * modules/unicase/u16-ct-totitle: New file.
82980         New module 'unicase/u8-ct-totitle'.
82981         * lib/unicase/u8-ct-totitle.c: New file.
82982         * lib/unicase/u-ct-totitle.h: New file, derived from
82983         lib/unicase/u-totitle.h.
82984         * modules/unicase/u8-ct-totitle: New file.
82986         New module 'unicase/u32-ct-tolower'.
82987         * lib/unicase/u32-ct-tolower.c: New file.
82988         * modules/unicase/u32-ct-tolower: New file.
82990         New module 'unicase/u16-ct-tolower'.
82991         * lib/unicase/u16-ct-tolower.c: New file.
82992         * modules/unicase/u16-ct-tolower: New file.
82994         New module 'unicase/u8-ct-tolower'.
82995         * lib/unicase/u8-ct-tolower.c: New file.
82996         * modules/unicase/u8-ct-tolower: New file.
82998         New module 'unicase/u32-ct-toupper'.
82999         * lib/unicase/u32-ct-toupper.c: New file.
83000         * modules/unicase/u32-ct-toupper: New file.
83002         New module 'unicase/u16-ct-toupper'.
83003         * lib/unicase/u16-ct-toupper.c: New file.
83004         * modules/unicase/u16-ct-toupper: New file.
83006         New module 'unicase/u8-ct-toupper'.
83007         * lib/unicase/u8-ct-toupper.c: New file.
83008         * modules/unicase/u8-ct-toupper: New file.
83010         Add context arguments to u*_casemap functions.
83011         * lib/unicase/unicasemap.h: Include unicase.h.
83012         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
83013         suffix_context arguments.
83014         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
83015         functions.
83016         (FUNC): Add prefix_context and suffix_context arguments. Use
83017         uc_is_cased and uc_is_case_ignorable.
83018         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
83019         * lib/unicase/u16-casemap.c: Likewise.
83020         * lib/unicase/u32-casemap.c: Likewise.
83021         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
83022         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83023         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
83024         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83025         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
83026         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83028         New module 'unicase/u32-suffix-context'.
83029         * lib/unicase/u32-suffix-context.c: New file.
83030         * modules/unicase/u32-suffix-context: New file.
83032         New module 'unicase/u16-suffix-context'.
83033         * lib/unicase/u16-suffix-context.c: New file.
83034         * modules/unicase/u16-suffix-context: New file.
83036         New module 'unicase/u8-suffix-context'.
83037         * lib/unicase/u8-suffix-context.c: New file.
83038         * lib/unicase/u-suffix-context.h: New file.
83039         * modules/unicase/u8-suffix-context: New file.
83041         New module 'unicase/empty-suffix-context'.
83042         * lib/unicase/empty-suffix-context.c: New file.
83043         * modules/unicase/empty-suffix-context: New file.
83045         New module 'unicase/u32-prefix-context'.
83046         * lib/unicase/u32-prefix-context.c: New file.
83047         * modules/unicase/u32-prefix-context: New file.
83049         New module 'unicase/u16-prefix-context'.
83050         * lib/unicase/u16-prefix-context.c: New file.
83051         * modules/unicase/u16-prefix-context: New file.
83053         New module 'unicase/u8-prefix-context'.
83054         * lib/unicase/u8-prefix-context.c: New file.
83055         * lib/unicase/u-prefix-context.h: New file.
83056         * lib/unicase/context.h: New file.
83057         * modules/unicase/u8-prefix-context: New file.
83059         New module 'unicase/empty-prefix-context'.
83060         * lib/unicase/empty-prefix-context.c: New file.
83061         * modules/unicase/empty-prefix-context: New file.
83063         New module 'unicase/ignorable'.
83064         * lib/unicase/ignorable.c: New file.
83065         * modules/unicase/ignorable: New file.
83067         New module 'unicase/cased'.
83068         * lib/unicase/caseprop.h: New file.
83069         * lib/unicase/cased.c: New file.
83070         * modules/unicase/cased: New file.
83072         New functions for case mapping of substrings.
83073         * lib/unicase.h (casing_prefix_context_t): New type.
83074         (unicase_empty_prefix_context): New variable.
83075         (u8_casing_prefix_context, u16_casing_prefix_context,
83076         u32_casing_prefix_context, u8_casing_prefixes_context,
83077         u16_casing_prefixes_context, u32_casing_prefixes_context): New
83078         declarations.
83079         (casing_suffix_context_t): New type.
83080         (unicase_empty_suffix_context): New variable.
83081         (u8_casing_suffix_context, u16_casing_suffix_context,
83082         u32_casing_suffix_context, u8_casing_suffixes_context,
83083         u16_casing_suffixes_context, u32_casing_suffixes_context,
83084         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
83085         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
83086         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
83087         declarations.
83089 2009-06-28  Jim Meyering  <meyering@redhat.com>
83091         boostrap: indent only with spaces
83092         * build-aux/bootstrap: Indent only with spaces, never TABs.
83094         bootstrap: split long lines
83095         * build-aux/bootstrap: Keep line length < 80.
83097         bootstrap: sync from coreutils
83098         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
83099         just as autoreconf does.  Verify a list of prerequisite
83100         package-name,version-number pairs if defined in bootstrap.conf.
83101         Refer to README-prereq, if prerequisites are not satisfied.
83103 2009-06-27  Eric Blake  <ebb9@byu.net>
83105         tests: add test for bogus NULL definition
83106         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
83107         * tests/test-stdlib.c: Likewise.
83108         * tests/test-string.c: Likewise.
83109         * tests/test-locale.c: Likewise.
83110         * tests/test-unistd.c: Likewise.
83111         * modules/stdio-tests (Depends-on): Add verify.
83112         * modules/stdlib-tests (Depends-on): Likewise.
83113         * modules/string-tests (Depends-on): Likewise.
83114         * modules/locale-tests (Depends-on): Likewise.
83115         * modules/unistd-tests (Depends-on): Likewise.
83117 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
83119         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
83120         self-explaining comment.
83121         * m4/selinux-selinux-h: Update serial.
83122         (gl_LIBSELINUX): New macro, adding a warning for missing development
83123         packages to code extracted from...
83124         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
83125         Add warning for missing development packages here, too.
83127 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
83129         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
83131 2009-06-25  Eric Blake  <ebb9@byu.net>
83133         version-etc: fix regression
83134         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
83135         gcc.
83136         (version_etc): Use it, to catch bugs with trailing NULL.
83137         * lib/version-etc.c (version_etc_arn): Delete unused argument.
83138         (version_etc_va): Fix logic bug.
83139         * modules/version-etc-tests: Add test.
83140         * tests/test-version-etc.c: New file.
83141         * tests/test-version-etc.sh: Likewise.
83143 2009-06-25  Sam Steingold  <sds@gnu.org>
83145         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
83146         mbtowc declaration.
83148 2009-06-25  Eric Blake  <ebb9@byu.net>
83150         fpurge: migrate into <stdio.h>
83151         * lib/fpurge.h: Delete...
83152         * lib/stdio.in.h (fpurge): ...and declare here, instead.
83153         * lib/fpurge.c (fpurge): Change declaring header.
83154         * modules/fpurge (Files): Drop deleted file.
83155         (Depends-on): Add stdio.
83156         (configure.ac): Set witness.
83157         * modules/stdio (Makefile.am): Support fpurge macros.
83158         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
83159         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
83160         * lib/fflush.c: Update client.
83161         * tests/test-fpurge.c: Likewise.
83162         * NEWS: Mention the change.
83164 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83166         * lib/argp-version-etc.c (program_authors): Add const
83167         qualifier.
83168         * lib/version-etc.c: Fix typos in the comments.
83169         * modules/argp-version-etc: Depends on version-etc.
83171 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83173         argp-version-etc: new module.
83175         * lib/argp-version-etc.c: New file.
83176         * lib/argp-version-etc.h: New file.
83177         * modules/argp-version-etc: New file.
83178         * modules/argp-version-etc-tests: New file.
83179         * tests/test-argp-version-etc.c: New test.
83180         * tests/test-argp-version-etc-1.sh: New test.
83182 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83184         Provide additional interfaces and documentation for version-etc
83185         module.
83187         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
83188         interfaces.
83189         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
83190         prototypes.
83192 2009-06-24  Bruno Haible  <bruno@clisp.org>
83194         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
83195         HAVE_LIB${NAME} macro.
83196         Reported by Sam Steingold <sds@gnu.org>.
83198 2009-06-23  Simon Josefsson  <simon@josefsson.org>
83200         * modules/hash-tests (test_hash_LDADD): Link to libintl when
83201         needed.
83203 2009-06-21  Bruno Haible  <bruno@clisp.org>
83205         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
83206         work.
83207         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
83208         together with LIB${NAME}, LTLIB${NAME}.
83209         Reported by Sam Steingold <sds@gnu.org>.
83211 2009-06-20  Jim Meyering  <meyering@redhat.com>
83213         tests: make sc_require_test_exit_idiom more generic
83214         * top/maint.mk (Exit_witness_file): New overridable variable.
83215         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
83216         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
83218 2009-06-19  Jim Meyering  <meyering@redhat.com>
83220         hash: reverse order of src/dst parameters in an internal interface
83221         * lib/hash.c (transfer_entries): Reverse order of parameters to
83222         put DST before SRC.  Adjust callers.
83224         tests: test-hash: avoid wholesale duplication
83225         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
83226         Instead, use a loop and add a single conditional.
83228         tests: test-hash: allow seed selection via a command line argument
83229         * tests/test-hash.c (get_seed): New function.
83230         (main): Use it.
83232 2009-06-19  Eric Blake  <ebb9@byu.net>
83234         hash: avoid memory leak on allocation failure
83235         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
83236         failure.  Factor repeated algorithm...
83237         (transfer_entries): ...into new helper routine.
83238         (hash_delete): React to hash_rehash return value.
83240         hash: reduce memory pressure in hash_rehash no-op case
83241         * lib/hash.c (next_prime): Avoid overflow.
83242         (hash_initialize): Factor bucket size computation...
83243         (compute_bucket_size): ...into new helper function.
83244         (hash_rehash): Use new function and open coding to reduce memory
83245         pressure, and avoid a memory leak in USE_OBSTACK code.
83246         Reported by Jim Meyering.
83248 2009-06-18  Eric Blake  <ebb9@byu.net>
83250         hash: make rotation more obvious
83251         * modules/hash (Depends-on): Add bitrotate and stdint.
83252         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
83253         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
83254         (SIZE_MAX): Rely on headers for definition.
83255         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
83256         (raw_hasher): Use rotr_sz.
83257         Suggested by Jim Meyering.
83259         hash: fix memory leak in last patch
83260         * lib/hash.c (hash_rehash): Avoid memory leak.
83262         hash: avoid no-op rehashing
83263         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
83265         hash: provide default callback functions
83266         * lib/hash.c (raw_hasher, raw_comparator): New functions.
83267         (hash_initialize): Use them as defaults.
83268         * tests/test-hash.c (main): Test this.
83270         hash: minor optimization
83271         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
83272         when possible.
83273         (hash_initialize): Document this promise.
83274         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
83275         * tests/test-hash.c (hash_compare_strings): Test this.
83277 2009-06-18  Bruno Haible  <bruno@clisp.org>
83279         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
83280         going to be replaced anyway.
83282 2009-06-18  Bruno Haible  <bruno@clisp.org>
83284         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
83285         in one place.
83286         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
83287         be replaced anyway.
83289 2009-06-18  Eric Blake  <ebb9@byu.net>
83291         hash: check for resize before insertion
83292         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
83293         threshold before insertion, so that a pathological hash_rehash
83294         that fills every bucket can still trigger another rehash.
83296 2009-06-18  Jim Meyering  <meyering@redhat.com>
83298         hash-tests: add a loop around the small tests
83299         * tests/test-hash.c (main): Repeat small tests with selected
83300         small initial table sizes.
83302 2009-06-17  Eric Blake  <ebb9@byu.net>
83304         hash: minor cleanups
83305         * lib/hash.h (hash_entry): Make opaque, by moving...
83306         * lib/hash.c (hash_entry): ...here.
83307         (hash_insert): Clarify restrictions on what can be inserted.
83308         (hash_get_next): Clarify when it is safe to remove an element
83309         during traversal.
83310         (check_tuning): Skip verification when tuning is known safe.
83311         (hash_initialize): Clarify restrictions on tuning.
83313 2009-06-17  Jim Meyering  <jim@meyering.net>
83314         and Eric Blake  <ebb9@byu.net>
83316         hash-tests: new module
83317         * modules/hash-tests: New file.
83318         * tests/test-hash.c: New file.
83320 2009-06-17  Eric Blake  <ebb9@byu.net>
83322         strstr-simple: document new module
83323         * MODULES.html.sh: Document new module.
83325         strstr, strcasestr: replace on platforms with broken memchr
83326         * modules/strstr: Split into...
83327         * modules/strstr-simple: ...new module that does not care about
83328         performance, but does care about glibc bug.
83329         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
83330         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
83331         if platform memchr is broken, per Debian bug 521737.
83332         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
83333         memchr.
83334         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
83335         * doc/posix-functions/strstr.texi (strstr): Document the fix.
83336         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
83337         * modules/mountlist (Depends-on): Add strstr-simple.
83338         * modules/gen-uni-tables (Depends-on): Likewise.
83339         * modules/argz (Depends-on): Add strstr.
83341 2009-06-17  Bruno Haible  <bruno@clisp.org>
83343         * modules/posix_spawn-internal (Depends-on): Add errno.
83345 2009-06-17  Bruno Haible  <bruno@clisp.org>
83347         Define missing ESTALE on Interix 3.5.
83348         * lib/errno.in.h (ESTALE): Assign a value if missing.
83349         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
83350         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
83351         missing.
83352         * doc/posix-headers/errno.texi: Mention the Interix bug.
83353         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
83355 2009-06-15  Eric Blake  <ebb9@byu.net>
83357         memchr, memchr2: add valgrind exception
83358         * lib/memchr.valgrind: New file.
83359         * lib/memchr2.valgrind: New file.
83360         * modules/memchr (Files): Distribute valgrind file.
83361         * modules/memchr2 (Files): Likewise.
83363         docs: memchr is no longer obsolete
83364         * MODULES.html.sh: Move memchr from obsolete to string.h section.
83365         * lib/string.in.h (memchr): Simplify logic.
83367 2009-06-14  Jim Meyering  <meyering@redhat.com>
83369         link-follow: fix the "checking..." message to not mention trailing slash
83370         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
83371         never considered trailing slashes.
83373 2009-06-14  Bruno Haible  <bruno@clisp.org>
83375         * m4/memchr.m4: Mention also the bug on IA-64.
83376         * doc/posix-functions/memchr.texi: Likewise.
83378 2009-06-12  Eric Blake  <ebb9@byu.net>
83380         memchr: detect broken x86_64 and alpha implementations
83381         * modules/memchr-tests (Depends-on): Move mmap detection...
83382         * modules/memchr (Depends-on): ...here.
83383         (configure.ac): Set indicator.
83384         * lib/string.in.h (memchr): Declare replacement.
83385         * modules/string (Makefile.am): Trigger replacement.
83386         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
83387         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
83388         bugs.
83389         * doc/posix-functions/memchr.texi (memchr): Document the bug.
83390         * modules/getpagesize (License): Relax license.
83392 2009-06-11  Bruno Haible  <bruno@clisp.org>
83394         * lib/idpriv.h: Add more references.
83396 2009-06-08  Bruno Haible  <bruno@clisp.org>
83398         Tests for module 'idpriv-droptemp'.
83399         * modules/idpriv-droptemp-tests: New file.
83400         * tests/test-idpriv-droptemp.sh: New file.
83401         * tests/test-idpriv-droptemp.su.sh: New file.
83402         * tests/test-idpriv-droptemp.c: New file.
83404         New module 'idpriv-droptemp'.
83405         * lib/idpriv-droptemp.c: New file.
83406         * modules/idpriv-droptemp: New file.
83408 2009-06-08  Bruno Haible  <bruno@clisp.org>
83410         Tests for module 'idpriv-drop'.
83411         * modules/idpriv-drop-tests: New file.
83412         * tests/test-idpriv-drop.sh: New file.
83413         * tests/test-idpriv-drop.su.sh: New file.
83414         * tests/test-idpriv-drop.c: New file.
83416         New module 'idpriv-drop'.
83417         * lib/idpriv.h: New file.
83418         * lib-idpriv-drop.c: New file.
83419         * m4/idpriv.m4: New file.
83420         * modules/idpriv-drop: New file.
83422 2009-06-08  Bruno Haible  <bruno@clisp.org>
83424         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
83425         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
83426         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
83427         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
83428         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
83429         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
83430         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
83432 2009-06-08  Eric Blake  <ebb9@byu.net>
83434         test-strstr: use memory fence, when possible
83435         * tests/test-strstr.c (main): Use memory fence, in order to be
83436         more likely to trigger Debian bug 521737.
83437         * modules/strstr-tests (Files): Pull in additional files.
83439         memchr: no longer obsolete, for wider field testing
83440         * modules/memchr (Status, Notice): Delete, this module is no
83441         longer obsolete.
83442         * modules/vasnprintf (Depends-on): Add memchr.
83444 2009-06-07  Jim Meyering  <meyering@redhat.com>
83446         hash: declare some functions with the warn_unused_result attribute
83447         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
83449 2009-06-07  Bruno Haible  <bruno@clisp.org>
83451         * tests/test-alignof.c: Don't test int64_t if it does not exist.
83452         Reported by Eric Blake.
83454 2009-06-06  Eric Blake  <ebb9@byu.net>
83456         test-alignof: fix typo with long double
83457         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
83458         compiler error.
83460 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
83462         Escape non-texinfo { and }s.
83463         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
83464         markup error.
83466 2009-06-04  Jim Meyering  <meyering@redhat.com>
83468         gitlog-to-changelog: don't infloop on an empty commit log
83469         * build-aux/gitlog-to-changelog: Warn about an empty log message.
83470         Reported by Boris Petersen <transacid@centerim.org>.
83472 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
83474         version-etc: extend for packagers
83475         Add three new configure options, intended for packagers:
83476           --with-packager="packager name"
83477           --with-packager-version="packager-specific version"
83478           --with-packager-bug-reports="packager bug reporting"
83479         An example with coreutils:
83480           $ ./configure \
83481             --with-packager=Gentoo \
83482             --with-packager-bug-report=http://bugs.gentoo.org/ \
83483             --with-packager-version="patchset 1.6"
83484           $ ./src/ls --version | head -n2
83485           ls (GNU coreutils) 7.1-dirty
83486           Packaged by Gentoo (patchset 1.6)
83487         Note that the bug reporting info via --help doesn't show up because
83488         coreutils uses its own custom emit_bug_reporting_address() implementation
83489         in src/system.h.  If it didn't, it'd look like:
83490           $ ./src/ls --help | tail -n4
83491           Report bugs to <bug-coreutils@gnu.org>.
83492           Report Gentoo bugs to <http://bugs.gentoo.org/>.
83493           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
83494           General help using GNU software: <http://www.gnu.org/gethelp/>.
83495         * lib/version-etc.c: Print new information, if provided.
83496         * m4/version-etc.m4: New file.
83497         * modules/version-etc (Files): Add m4/version-etc.m4.
83498         (configure.ac): Add gl_VERSION_ETC.
83500 2009-05-31  Bruno Haible  <bruno@clisp.org>
83502         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
83503         and 'int64_t'.
83504         * modules/alignof-tests (Dependencies): Add stdint.
83505         Reported by Eric Blake.
83507 2009-05-31  Bruno Haible  <bruno@clisp.org>
83509         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
83510         restriction due to compiler bugs.
83511         Reported by Eric Blake.
83513 2009-05-31  Simon Josefsson  <simon@josefsson.org>
83514             Bruno Haible  <bruno@clisp.org>
83516         Fix test-alignof failure.
83517         * lib/alignof.h (alignof_slot): New macro.
83518         (alignof_type): New macro, with the same semantics as the previous
83519         'alignof'.
83520         (alignof): Alias to alignof_slot.
83521         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
83522         check that the results are usable as constant expressions.
83524 2009-05-31  Bruno Haible  <bruno@clisp.org>
83526         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
83527         * tests/test-memchr.c (main): Check that memchr does not read past the
83528         first occurrence of the byte.
83529         * tests/test-strstr.c (main): Update comment.
83530         Suggested by Eric Blake.
83532 2009-05-30  Bruno Haible  <bruno@clisp.org>
83534         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
83535         detail how to use dumpbin.
83536         Reported by David Byron <dbyron@dbyron.com>.
83538 2009-06-02  Simon Josefsson  <simon@josefsson.org>
83540         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
83542 2009-06-02  Simon Josefsson  <simon@josefsson.org>
83544         * m4/manywarnings.m4: Add GCC 4.4 warnings.
83546 2009-05-28  Bruno Haible  <bruno@clisp.org>
83548         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
83549         build-aux/ files.
83551 2009-05-28  Simon Josefsson  <simon@josefsson.org>
83553         * gnulib-tool (func_import): Transform license on build-aux/ files too.
83555 2009-05-27  Simon Josefsson  <simon@josefsson.org>
83557         * gnulib-tool (sed_transform_main_lib_file)
83558         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
83559         regexps.
83561 2009-05-26  Simon Josefsson  <simon@josefsson.org>
83563         * tests/test-strstr.c: Add another self-test.
83564         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
83565         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
83567 2009-05-23  Bruno Haible  <bruno@clisp.org>
83569         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
83570         change.
83572 2009-05-21  Bruno Haible  <bruno@clisp.org>
83574         Simplify use of mode_t varargs.
83575         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
83576         uses 'mode_t' or 'int'.
83577         * lib/openat.c (openat): Likewise.
83578         * lib/open-safer.c (open_safer): Likewise.
83579         * m4/mode_t.m4: New file.
83580         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
83581         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
83582         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
83583         * modules/open (Files): Add m4/mode_t.m4.
83584         * modules/openat (Files): Likewise.
83585         * modules/fcntl-safer (Files): Likewise.
83586         Suggested by Eric Blake.
83588 2009-05-21  Pádraig Brady  <P@draigbrady.com>
83590         * doc/glibc-functions/fallocate.texi: New file.
83591         * doc/gnulib.texi: Include it.
83593 2009-05-21  Eric Blake  <ebb9@byu.net>
83594             Bruno Haible  <bruno@clisp.org>
83596         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
83597         invocations.
83598         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
83600 2009-05-21  Eric Blake  <ebb9@byu.net>
83601             Bruno Haible  <bruno@clisp.org>
83603         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
83604         include_next. Fix of 2008-11-20 commit.
83605         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
83606         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
83607         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
83608         NEXT_MATH_H.
83609         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
83610         instead of NEXT_MATH_H.
83612 2009-05-21  Bruno Haible  <bruno@clisp.org>
83614         Avoid redefinition warnings for SIZE_MAX.
83615         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
83616         Reported by Simon Josefsson.
83618 2009-05-21  Bruno Haible  <bruno@clisp.org>
83620         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
83621         AC_CACHE_VAL.
83623 2009-05-20  Bruno Haible  <bruno@clisp.org>
83625         Make zeroptr.h work on mingw.
83626         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
83627         mprotect.
83628         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
83629         * modules/memchr2-tests (configure.ac): Likewise.
83630         * modules/memcmp-tests (configure.ac): Likewise.
83631         * modules/memmem-tests (configure.ac): Likewise.
83632         * modules/memrchr-tests (configure.ac): Likewise.
83633         Reported by Simon Josefsson.
83635 2009-05-20  Simon Josefsson  <simon@josefsson.org>
83637         * tests/test-glob.c: Include string.h for strcmp prototype.
83639 2009-05-20  Simon Josefsson  <simon@josefsson.org>
83641         * modules/getdelim (Depends-on): Add explicit stdint, although it
83642         was implicitly already pulled in via realloc-posix.
83643         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
83645 2009-05-20  Simon Josefsson  <simon@josefsson.org>
83647         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
83648         G. Christensen" <tgc@jupiterrise.com>.
83649         * m4/sys_socket_h.m4: Check for sa_family_t.
83650         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
83651         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
83652         * tests/test-sys_socket.c: Check that sa_family_t works.
83654 2009-05-18  Eric Blake  <ebb9@byu.net>
83656         maint.mk: allow gnulib_dir in VPATH build
83657         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
83659 2009-05-15  Jim Meyering  <meyering@redhat.com>
83661         maint.mk: Give gnulib_dir a default definition.
83662         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
83663         Thus, most packages no longer need to specify this variable in cfg.mk
83665 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
83667         rename.m4: fix typos that would make non-mingw cross-configure fail
83668         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
83670 2009-05-13  Eric Blake  <ebb9@byu.net>
83672         mmap-anon: avoid out-of-order autoconf expansion
83673         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
83674         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
83675         * modules/memchr-tests (Depends-on): Add extensions.
83676         * modules/memchr2-tests (Depends-on): Add extensions.
83677         * modules/memcmp-tests (Depends-on): Add extensions.
83678         * modules/memmem-tests (Depends-on): Add extensions.
83679         * modules/memrchr-tests (Depends-on): Add extensions.
83681 2009-05-13  Bruno Haible  <bruno@clisp.org>
83683         Make some tests ISO C 99 compliant.
83684         * tests/zerosize-ptr.h: New file.
83685         * tests/test-memchr.c: Include zerosize-ptr.h.
83686         (main): Use a zero-size object pointer instead of NULL.
83687         * tests/test-memchr2.c: Include zerosize-ptr.h.
83688         (main): Use a zero-size object pointer instead of NULL.
83689         * tests/test-memcmp.c: Include zerosize-ptr.h.
83690         (main): Use a zero-size object pointer instead of NULL.
83691         * tests/test-memmem.c: Include zerosize-ptr.h.
83692         (main): Use a zero-size object pointer instead of NULL.
83693         * tests/test-memrchr.c: Include zerosize-ptr.h.
83694         (main): Use a zero-size object pointer instead of NULL.
83695         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
83696         m4/mmap-anon.m4.
83697         (Depends-on): Add getpagesize.
83698         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83699         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
83700         m4/mmap-anon.m4.
83701         (Depends-on): Add getpagesize.
83702         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83703         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
83704         m4/mmap-anon.m4.
83705         (Depends-on): Add getpagesize.
83706         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83707         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
83708         m4/mmap-anon.m4.
83709         (Depends-on): Add getpagesize.
83710         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83711         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
83712         m4/mmap-anon.m4.
83713         (Depends-on): Add getpagesize.
83714         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83716 2009-05-12  Bruno Haible  <bruno@clisp.org>
83718         Tests for module 'alignof'.
83719         * modules/alignof-tests: New file.
83720         * tests/test-alignof.c: New file.
83722 2009-05-12  Bruno Haible  <bruno@clisp.org>
83724         Fix alignof macro.
83725         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
83726         vendor compilers that are always correct.
83728 2009-05-12  Bruno Haible  <bruno@clisp.org>
83730         Make the MAP_ANONYMOUS detection work on HP-UX 11.
83731         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
83732         not whether its fully works.
83734 2009-05-12  Bruno Haible  <bruno@clisp.org>
83736         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
83738 2009-05-12  Jim Meyering  <meyering@redhat.com>
83740         * top/maint.mk: Adjust backslash alignment.
83742 2009-05-11  Simon Josefsson  <simon@josefsson.org>
83744         * top/maint.mk: Make $(srcdir)/build-aux configurable.
83746 2009-05-11  Eric Blake  <ebb9@byu.net>
83748         argp: avoid undefined behavior
83749         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
83750         macros.
83752 2009-05-08  Simon Josefsson  <simon@josefsson.org>
83754         * tests/test-vc-list-files-git.sh: Do git config of user.email and
83755         user.name to prevent git commit from complaining.
83757 2009-05-10  Bruno Haible  <bruno@clisp.org>
83759         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
83760         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
83761         it rewrites every file name only once.
83762         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
83764 2009-05-08  Bruno Haible  <bruno@clisp.org>
83766         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
83767         instead of 'max'.
83769 2009-05-08  Simon Josefsson  <simon@josefsson.org>
83771         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
83772         sockaddr_storage test.
83774 2009-05-07  Simon Josefsson  <simon@josefsson.org>
83776         * modules/sys_socket (Makefile.am): Substitute
83777         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
83778         * m4/sys_socket_h.m4: Check for sockaddr_storage.
83779         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
83780         * tests/test-sys_socket.c: Check sockaddr_storage.
83782 2009-05-08  Bruno Haible  <bruno@clisp.org>
83784         New module 'alignof'.
83785         * lib/alignof.h: New file.
83786         * modules/alignof: New file.
83788 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
83789             Bruno Haible  <bruno@clisp.org>
83791         Fix test-file-has-acl on FreeBSD.
83792         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
83793         mask is implicitly added.
83794         * tests/test-file-has-acl.c: Include <signal.h>.
83795         (main): Terminate the test after 5 seconds.
83796         * modules/acl-tests (configure.ac): Check for alarm function.
83798 2009-05-04  Bruno Haible  <bruno@clisp.org>
83800         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
83801         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
83802         * modules/errno (configure.ac): Drop AC_REQUIRE.
83803         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
83804         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
83806 2009-05-04  Simon Josefsson  <simon@josefsson.org>
83808         * modules/glob-tests: New module.
83809         * tests/test-glob.c: Add.
83811 2009-05-04  Simon Josefsson  <simon@josefsson.org>
83813         * modules/fnmatch-tests: New module.
83814         * tests/test-fnmatch.c: Add.
83816 2009-05-04  Eric Blake  <ebb9@byu.net>
83818         maint: make the new no-submodule-changes rule VPATH-safe
83819         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
83821 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
83822             Bruno Haible  <bruno@clisp.org>
83824         acl: Fix infinite loop on FreeBSD.
83825         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
83826         of return value from acl_get_entry.
83827         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
83828         Likewise.
83830 2009-05-03  Bruno Haible  <bruno@clisp.org>
83832         * lib/acl-internal.h (acl_entries): Clarify return value.
83833         * lib/acl_entries.c (acl_entries): Likewise.
83835 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
83837         Bug fix in acl module.
83838         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
83840 2009-05-03  Bruno Haible  <bruno@clisp.org>
83842         Create gperf-generated file in the source dir, not in the build dir.
83843         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
83844         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
83845         * modules/unicase/locale-language (unicase/locale-languages.h):
83846         Likewise.
83847         * modules/unicase/special-casing (unicase/special-casing-table.h):
83848         Likewise.
83849         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
83850         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
83851         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
83852         Reported by Ralf Wildenhues.
83854 2009-05-03  Bruno Haible  <bruno@clisp.org>
83856         * modules/fnmatch (Description, configure.ac): Taken from
83857         fnmatch-posix.
83858         * modules/fnmatch-posix: Turn into a symbolic reference to the
83859         'fnmatch' module, and deprecate.
83860         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
83862 2009-05-03  Bruno Haible  <bruno@clisp.org>
83864         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
83865         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
83866         Reported by Ralf Wildenhues.
83868 2009-05-04  Simon Josefsson  <simon@josefsson.org>
83870         * m4/fnmatch.m4: Fix fnmatch re-define.
83872 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
83874         priv-set: new module and tests; adapt write-any-file
83875         * lib/priv-set.c: New file.
83876         * lib/priv-set.h: New file.
83877         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
83878         * lib/write-any-file.c: Simplify by using priv-set module.
83879         * m4/priv-set.m4: New file.
83880         * modules/priv-set: New file.
83881         * modules/unlinkdir: Add dependency on priv-set module.
83882         * modules/write-any-file: Likewise.
83884         Tests for module 'priv-set'.
83885         * modules/priv-set-tests: New file.
83886         * tests/test-priv-set.c: New file.
83888 2009-05-03  Jim Meyering  <meyering@redhat.com>
83889             Bruno Haible  <bruno@clisp.org>
83891         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
83892         use the converted UTF-8 variant of the name instead.
83894 2009-05-03  Jim Meyering  <meyering@redhat.com>
83896         tests: tighten some getdate tests
83897         * tests/test-getdate.c (main): Tighten tests: require equality,
83898         not just greater than.  Set TZ envvar to UTC0.
83900 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
83902         getdate: correctly interpret "next monday" when run on a Monday
83903         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
83904         that e.g., "next tues" (when run on a tuesday) results in a date
83905         that is one week in the future, and not today's date.
83906         I.e., add a week when the wday is the same as the current one.
83907         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
83908         and earlier by Martin Bernreuther and Jan Minář.
83909         * tests/test-getdate.c (main): Check that "next DAY" is always in
83910         the future and that "last DAY" is always in the past.
83912 2009-05-02  Jim Meyering  <meyering@redhat.com>
83914         build: ensure that a release build fails when a submodule is unclean
83915         * top/maint.mk (no-submodule-changes): New rule.
83916         (alpha beta major): Depend on it.
83918 2009-05-02  Bruno Haible  <bruno@clisp.org>
83920         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
83921         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
83922         shell variable gl_fnmatch_required to detect which variant is
83923         requested.
83924         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
83925         gl_FUNC_FNMATCH_POSIX.
83926         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
83927         exclude fnmatch-posix.
83929 2009-05-02  Bruno Haible  <bruno@clisp.org>
83931         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
83932         * modules/mbsrtowcs (License): Change to LGPLv2+.
83933         * modules/strnlen1 (License): Likewise.
83934         Reported by Simon Josefsson.
83936 2009-05-02  Bruno Haible  <bruno@clisp.org>
83938         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
83939         "cross".
83940         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
83941         gnulib-tool was called with option --source-base=lib.
83943 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83945         Use automake *-local hooks without commands, for extensibility.
83946         * modules/localcharset (Makefile.am): Rename install-exec-local
83947         rule to install-exec-localcharset, and make it a prerequisite of
83948         install-exec-local.  Likewise, rename the uninstall-local rule to
83949         uninstall-localcharset, and make it a prerequisite of the former.
83951 2009-05-01  Bruno Haible  <bruno@clisp.org>
83953         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
83954         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
83955         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
83956         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
83957         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
83958         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
83959         m4/locale-zh.m4, m4/codeset.m4.
83961         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
83962         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
83963         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
83964         m4/locale-zh.m4.
83966         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
83967         REPLACE_WCRTOMB if mbstate_t must be replaced.
83968         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
83969         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
83971 2009-05-01  Bruno Haible  <bruno@clisp.org>
83973         Avoid compiler warnings when redefining macros defined by <libintl.h>.
83974         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
83975         dngettext, dcngettext, textdomain, bindtextdomain,
83976         bind_textdomain_codeset): Undefine before redefining.
83978 2009-04-30  Bruno Haible  <bruno@clisp.org>
83980         Fix bug introduced on 2009-04-25.
83981         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
83982         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
83983         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
83984         is defined.
83985         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
83986         is defined.
83987         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
83988         is defined.
83989         Reported by Elbert_Pol <elbert.pol@gmail.com>.
83991 2009-04-28  Bruno Haible  <bruno@clisp.org>
83993         Comment tweaks.
83994         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
83995         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
83996         * lib/unicase.h (u*_casexfrm): Likewise.
83997         Reported by Paolo Bonzini.
83999 2009-04-28  Bruno Haible  <bruno@clisp.org>
84001         Fix a compilation error.
84002         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
84003         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
84004         Reported by Jim Meyering.
84006 2009-04-27  Bruno Haible  <bruno@clisp.org>
84008         New module 'libunistring'.
84009         * modules/libunistring: New file.
84010         * m4/libunistring.m4: New file.
84011         * MODULES.html.sh (Unicode string functions): Add it.
84013 2009-04-27  Eric Blake  <ebb9@byu.net>
84015         maint.mk: allow package-specific header to provide <config.h>
84016         * top/maint.mk (sc_require_config_h): New variable.
84017         (sc_require_config_h, sc_require_config_h_first): Use it.
84019 2009-04-27  Simon Josefsson  <simon@josefsson.org>
84021         * top/maint.mk (sc_avoid_if_before_free): Except
84022         useless-if-before-free script.
84024 2009-04-27  Eric Blake  <ebb9@byu.net>
84026         maintainer-makefile: depend on all required helper scripts
84027         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
84028         useless-if-before-free.
84029         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
84030         version, rather than assuming gnulib checkout is available.
84031         Reported by Simen Josefsson.
84033 2009-04-26  Bruno Haible  <bruno@clisp.org>
84035         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
84036         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
84037         "../" or "..".
84039 2009-04-26  Bruno Haible  <bruno@clisp.org>
84041         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
84042         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
84043         AC_LIB_HAVE_LINKFLAGS.
84045 2009-04-26  Bruno Haible  <bruno@clisp.org>
84047         Simplify calling convention of u*_conv_from_encoding.
84048         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
84049         u32_conv_from_encoding): Expect a resultbuf argument and return the
84050         result directly as a pointer.
84051         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
84052         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
84053         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
84054         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
84055         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
84056         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
84057         Update.
84058         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
84059         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
84060         * lib/vasnprintf.c (VASNPRINTF): Update.
84061         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
84062         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
84063         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
84064         * NEWS: Mention the change.
84066 2009-04-26  Bruno Haible  <bruno@clisp.org>
84068         Simplify calling convention of u*_conv_to_encoding.
84069         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
84070         u32_conv_to_encoding): Expect a resultbuf argument and return the
84071         result directly as a pointer.
84072         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
84073         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
84074         freeing scaled_offsets if mem_iconveha failed.
84075         * lib/unicase/u-casexfrm.h (FUNC): Update.
84076         * lib/uninorm/u-normxfrm.h (FUNC): Update.
84077         * lib/vasnprintf.c (VASNPRINTF): Update.
84078         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
84079         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
84080         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
84081         * NEWS: Mention the change.
84083 2009-04-26  Bruno Haible  <bruno@clisp.org>
84085         Avoid test failures on AIX and OSF/1.
84086         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
84087         malloc(0).
84088         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
84089         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
84090         Likewise.
84091         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
84092         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
84093         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
84094         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
84095         * doc/posix-functions/malloc.texi: Document the portability problem
84096         related to malloc(0).
84098 2009-04-26  Bruno Haible  <bruno@clisp.org>
84100         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
84101         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
84102         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
84104 2009-04-25  Bruno Haible  <bruno@clisp.org>
84106         Avoid link error when creating a namespace clean library.
84107         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
84108         as macro with arguments if already defined as an alias.
84109         * lib/signbitf.c (gl_signbitf): Don't undefine.
84110         * lib/signbitd.c (gl_signbitd): Don't undefine.
84111         * lib/signbitl.c (gl_signbitl): Don't undefine.
84113 2009-04-25  Jim Meyering  <meyering@redhat.com>
84115         vc-list-files: fix another quoting bug
84116         * build-aux/vc-list-files: Avoid sed backslash expansion
84117         of pathological directory names.
84119 2009-04-25  Eric Blake  <ebb9@byu.net>
84121         vc-list-files: fix shell quoting error
84122         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
84123         timestamp.
84125 2009-04-25  Jim Meyering  <meyering@redhat.com>
84127         vc-list-files: restore lost functionality with subdir argument
84128         * build-aux/vc-list-files: When given a non-"." sub-directory
84129         argument, substitute the $dir/ prefix back onto each resulting name.
84130         Otherwise, coreutils' root_tests check would fail.
84132 2009-04-24  Eric Blake  <ebb9@byu.net>
84134         vc-list-files: ignore git symlinks
84135         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
84136         than ls-files, to ignore git symlinks.
84138         maint.mk: import improvements from m4
84139         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
84140         (move_if_change): Delete unused macro.
84141         (news-date-check, vc-diff-check): Support VPATH builds.
84142         (announcement): Likewise.  Split --bootstrap-tools list...
84143         (boostrap-tools): ...into separate list, which can be overridden
84144         in cfg.mk.
84145         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
84146         requiring dependency on useless-if-before-free module.
84147         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
84148         Support VPATH builds.
84150 2009-04-24  Jim Meyering  <meyering@redhat.com>
84152         maint.mk: remove coreutils-specific rules and variables
84153         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
84154         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
84155         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
84157         maint.mk: remove obsolete rule
84158         * top/maint.mk (rel-check): Remove rule.
84159         (WGET, WGETFLAGS): Remove now-unused variables.
84161 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84163         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
84164         consistency.
84166         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
84167         '$(PATH_SEPARATOR)' instead of ':'.
84169 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84171         * lib/getopt1.c (main): Use 'const' for static array.
84173 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84175         * top/maint.mk: Sync with coreutils.
84176         * NEWS: Explain incompatibilities.
84178 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84179             Bruno Haible  <bruno@clisp.org>
84181         Fix cross-compilation results.
84182         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
84183         statement, as third argument of AC_TRY_RUN.
84184         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
84185         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
84186         Likewise.
84187         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
84188         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
84189         Likewise.
84190         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
84191         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
84192         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
84194 2009-04-20  Bruno Haible  <bruno@clisp.org>
84196         Avoid test failure on mingw.
84197         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
84199 2009-04-20  Bruno Haible  <bruno@clisp.org>
84201         Avoid compilation error on mingw.
84202         * modules/localename-tests (Depends-on): Add locale.
84204 2009-04-19  Bruno Haible  <bruno@clisp.org>
84206         Support for building a shared library on Windows platforms.
84207         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
84208         (main): Test the presence of UNINORM_NFC here.
84209         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
84210         (main): Test the presence of UNINORM_NFD here.
84211         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
84212         (main): Test the presence of UNINORM_NFKC here.
84213         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
84214         (main): Test the presence of UNINORM_NFKD here.
84216 2009-04-19  Bruno Haible  <bruno@clisp.org>
84218         Avoid a compiler warning.
84219         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
84220         Change type of variable 'sequence'.
84222 2009-04-19  Bruno Haible  <bruno@clisp.org>
84224         * modules/configmake (Makefile.am): When the contents of configmake.h
84225         does not change, arrange to preserve its modification time.
84227 2009-04-17  Simon Josefsson  <simon@josefsson.org>
84229         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
84230         gettext domain.
84232 2009-04-16  Jim Meyering  <meyering@redhat.com>
84234         useless-if-before-free: improve conversion code
84235         * build-aux/useless-if-before-free: Adjust code-in-comment to match
84236         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
84238 2009-04-14  Bruno Haible  <bruno@clisp.org>
84240         * modules/fcntl (Depends-on): Add extensions.
84241         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
84243 2009-04-12  Ben Pfaff  <blp@gnu.org>
84245         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
84246         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
84248 2009-03-20  Ben Pfaff  <blp@gnu.org>
84250         Make rename replace existing destinations on Windows.
84251         * m4/rename.m4: Add test for Mingw.
84252         * lib/rename.c: Add rename replacement that uses MoveFileEx with
84253         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
84254         * doc/posix-functions/rename.texi: Document.
84256 2009-04-10  Bruno Haible  <bruno@clisp.org>
84258         New include file "iconveh.h".
84259         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
84260         * lib/striconveh.h: Include it.
84261         (enum iconv_ilseq_handler): Remove definition.
84262         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
84263         striconveh.h.
84264         * lib/striconveha.c: Include striconveh.h.
84265         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
84266         * modules/striconveh (Files): Add lib/iconveh.h.
84267         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
84268         lib/striconveh.h.
84270 2009-04-10  Bruno Haible  <bruno@clisp.org>
84272         * lib/uniconv.h: Update comment.
84274 2009-04-10  Bruno Haible  <bruno@clisp.org>
84276         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
84277         always.
84278         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
84279         * lib/unistr/u16-mbtouc-aux.c: Likewise.
84280         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
84281         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
84282         "unistring-notinline.h", so that the function gets defined always.
84283         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
84284         * lib/unistr/u8-uctomb.c: Likewise.
84285         * lib/unistr/u16-mbtouc.c: Likewise.
84286         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
84287         * lib/unistr/u16-uctomb.c: Likewise.
84288         * lib/unistr/u32-mbtouc.c: Likewise.
84289         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
84290         * lib/unistr/u32-uctomb.c: Likewise.
84292 2009-04-10  Bruno Haible  <bruno@clisp.org>
84294         Mark 'utime' obsolete.
84295         * modules/utime (Status, Notice): New sections.
84296         Suggested by Jim Meyering.
84298         Fix cross-compile guess for utime test.
84299         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
84300         autoconf.
84301         * doc/posix-functions/utime.texi: Give more precisions.
84302         Reported by Jan <ipif@ymail.com>.
84304 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
84306         filevercmp: correct today's change
84307         * lib/filevercmp.c: Also handle coreutils' test inputs.
84308         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
84310         Fix regression in 'filevercmp' module. Thanks Sven Joachim
84311         for reporting it.
84312         * lib/filevercmp.c: Special handle for "", "." and "..".
84313         * tests/test-filevercmp.c: Enlarge the set suite.
84315 2009-04-07  Jim Meyering  <meyering@redhat.com>
84317         useless-if-before-free: show how to remove braced useless free, too
84318         * build-aux/useless-if-before-free: still only in a comment, though.
84320 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
84322         maint.mk: import changes to syntax-check macros from coreutils
84323         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
84324         Use them in the relevant macros.
84326 2009-04-06  Bruno Haible  <bruno@clisp.org>
84328         Fix unportable use of bit-fields.
84329         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
84330         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
84331         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
84333 2009-04-06  Bruno Haible  <bruno@clisp.org>
84335         Avoid test failures on AIX and OSF/1.
84336         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
84337         that malloc(0) = NULL.
84338         * tests/unicase/test-u8-tolower.c (check): Likewise.
84339         * tests/unicase/test-u8-totitle.c (check): Likewise.
84340         * tests/unicase/test-u8-toupper.c (check): Likewise.
84341         * tests/unicase/test-u16-casefold.c (check): Likewise.
84342         * tests/unicase/test-u16-tolower.c (check): Likewise.
84343         * tests/unicase/test-u16-totitle.c (check): Likewise.
84344         * tests/unicase/test-u16-toupper.c (check): Likewise.
84345         * tests/unicase/test-u32-casefold.c (check): Likewise.
84346         * tests/unicase/test-u32-tolower.c (check): Likewise.
84347         * tests/unicase/test-u32-totitle.c (check): Likewise.
84348         * tests/unicase/test-u32-toupper.c (check): Likewise.
84349         * tests/uninorm/test-u8-nfc.c (check): Likewise.
84350         * tests/uninorm/test-u8-nfd.c (check): Likewise.
84351         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
84352         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
84353         * tests/uninorm/test-u16-nfc.c (check): Likewise.
84354         * tests/uninorm/test-u16-nfd.c (check): Likewise.
84355         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
84356         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
84357         * tests/uninorm/test-u32-nfc.c (check): Likewise.
84358         * tests/uninorm/test-u32-nfd.c (check): Likewise.
84359         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
84360         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
84362 2009-04-05  Bruno Haible  <bruno@clisp.org>
84364         Work around an autoconf limitation.
84365         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
84366         comment line if it would be longer than 3 KB.
84368 2009-04-05  Bruno Haible  <bruno@clisp.org>
84370         Avoid test failure with libiconv-1.13.
84371         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
84372         of the expected test results.
84374 2009-04-05  Bruno Haible  <bruno@clisp.org>
84376         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
84377         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
84378         that it should be installed.
84380 2009-04-05  Bruno Haible  <bruno@clisp.org>
84382         * gnulib-tool: New option --copy-file.
84383         (func_usage): Document it.
84384         (func_dest_tmpfilename): Moved out of func_import.
84385         (func_add_file, func_update_file): New functions, extracted from
84386         func_import.
84387         (func_import): Update.
84389 2009-04-05  Karl Berry  <karl@gnu.org>
84391         * README: prominently mention gnulib-tool.
84392         Rearrange sections so getting the code is near the top.
84394 2009-04-05  Bruno Haible  <bruno@clisp.org>
84396         * lib/unicase.h: Mention u*_cmp2.
84397         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
84398         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
84399         * lib/unicase/ulc-casecmp.c: Likewise.
84400         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
84401         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
84402         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
84403         unistr/u8-cmp.
84404         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
84405         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
84406         unistr/u16-cmp.
84407         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
84408         unistr/u32-cmp.
84410         * lib/uninorm.h: Mention u*_cmp2.
84411         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
84412         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
84413         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
84414         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
84415         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
84416         unistr/u8-cmp.
84417         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
84418         unistr/u16-cmp.
84419         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
84420         unistr/u32-cmp.
84422         New module 'unistr/u32-cmp2'.
84423         * lib/unistr/u32-cmp2.c: New file.
84424         * modules/unistr/u32-cmp2: New file.
84426         New module 'unistr/u16-cmp2'.
84427         * lib/unistr/u16-cmp2.c: New file.
84428         * modules/unistr/u16-cmp2: New file.
84430         New module 'unistr/u8-cmp2'.
84431         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
84432         * lib/unistr/u8-cmp2.c: New file.
84433         * lib/unistr/u-cmp2.h: New file.
84434         * modules/unistr/u8-cmp2: New file.
84436 2009-04-05  Bruno Haible  <bruno@clisp.org>
84438         * lib/unictype.h (uc_property_is_valid): New macro.
84439         * tests/unictype/test-pr_byname.c (main): Use it.
84441         * lib/unistr.h: Doc fixes.
84442         * lib/uniconv.h: Doc fixes.
84443         * lib/unictype.h: Doc fixes.
84445 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
84447         Port coreutils 7.2 to Solaris 8.
84449         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
84450         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
84451         for Solaris 8.  This is a bit of a hack, as it means it's the
84452         caller's responsibility to add -lnsl if needed, but most likely it
84453         won't be needed since only getaddrinfo uses this and getaddrinfo
84454         isn't needed on Solaris 8.
84456         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
84457         problem to Solaris 8 encountered with coreutils 7.2, which
84458         resulted in a message "fnmatch.c:292: warning: passing argument 4
84459         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
84460         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
84462 2009-04-03  Simon Josefsson  <simon@josefsson.org>
84464         * m4/ld-version-script.m4: Add FIXME comment.
84466 2009-04-02  Simon Josefsson  <simon@josefsson.org>
84468         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
84469         SOVERSION variable.
84471 2009-04-02  Bruno Haible  <bruno@clisp.org>
84473         * Makefile (info, html, dvi, pdf): Combine the rules.
84474         Suggested by Jim Meyering.
84476 2009-04-01  Bruno Haible  <bruno@clisp.org>
84478         * Makefile (info, html, dvi, pdf): New targets.
84479         Reported by Reuben Thomas <rrt@sc3d.org>.
84481 2009-04-01  Bruno Haible  <bruno@clisp.org>
84483         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
84484         can be put into PATH.
84485         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
84487 2009-04-01  Bruno Haible  <bruno@clisp.org>
84489         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
84491 2009-04-01  Bruno Haible  <bruno@clisp.org>
84493         Rename module 'visibility'.
84494         * modules/lib-symbol-visibility: Renamed from modules/visibility.
84495         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
84496         * doc/gnulib.texi: Update.
84497         * MODULES.html.sh (Misc): Update.
84498         * NEWS: Mention the change.
84500 2009-04-01  Simon Josefsson  <simon@josefsson.org>
84502         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
84503         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
84504         Eric Blake <ebb9@byu.net> for review.
84505         * MODULES.html.sh: Add lib-msvc-compat.
84506         * doc/gnulib.texi: Link to new section.
84507         * m4/ld-output-def.m4: New file.
84508         * doc/ld-output-def.texi: New file.
84510 2009-04-01  Simon Josefsson  <simon@josefsson.org>
84512         Rename ld-version-script to lib-symbol-versions.  Suggested by
84513         Bruno Haible <bruno@clisp.org>.
84514         * modules/ld-version-script: Renamed to lib-symbol-versions.
84515         * doc/ld-version-script.texi: Fix module name.
84516         * MODULES.html.sh: Add lib-symbol-versions.
84518 2009-03-31  Simon Josefsson  <simon@josefsson.org>
84520         * modules/u64-tests: New file.
84521         * tests/test-u64.c: New file.
84523 2009-03-04  Simon Josefsson  <simon@josefsson.org>
84525         * MODULES.html.sh: Mention u64.
84526         * modules/u64: New module.
84527         * modules/crypto/sha512: Depend on u64 module instead of providing
84528         u64.h.
84530 2009-03-27  Eric Blake  <ebb9@byu.net>
84532         test-strerror: make debugging EAI_SYSTEM easier
84533         * modules/getaddrinfo-tests (Depends-on): Add strerror.
84534         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
84535         failure was EAI_SYSTEM.
84537 2009-03-25  Bruno Haible  <bruno@clisp.org>
84539         Fix a problem with --enable-relocatable on Solaris 7.
84540         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
84541         since 2008-02-24.
84543 2009-03-25  Eric Blake  <ebb9@byu.net>
84545         test-sockets: avoid gcc warning
84546         * tests/test-sockets.c (main): Silence compiler warning.
84548 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
84550         New modules nproc, pthread, contributed by Glen Lenker.
84552         * MODULES.html.sh: Add pthread, nproc.
84553         * lib/nproc.c: New file.
84554         * lib/nproc.h: New file.
84555         * lib/pthread.in.h: New file.
84556         * m4/pthread.m4: New file.
84557         * modules/nproc: New file.
84558         * modules/pthread: New file.
84560 2009-03-24  Simon Josefsson  <simon@josefsson.org>
84562         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
84563         New variable.
84565 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
84567         filevercmp: handle simple~ and numbered.~3~ backup suffixes
84568         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
84569         * tests/test-filevercmp.c: Add tests for backup suffixes.
84571 2009-03-24  Simon Josefsson  <simon@josefsson.org>
84573         * modules/stdlib (Depends-on): Add stdint, needed when defining
84574         struct random_data on, for example, HP-UX 10.20.  Reported by
84575         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
84577 2009-03-24  Simon Josefsson  <simon@josefsson.org>
84579         * lib/readline.c (readline): Call fflush on stdout after printing
84580         prompt.
84582 2009-03-20  Bruno Haible  <bruno@clisp.org>
84584         Remove dependency from 'close' module to -lws2_32 on native Windows.
84585         * lib/close-hook.h: New file.
84586         * lib/close-hook.c: New file.
84587         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
84588         w32sock.h.
84589         (_gl_close_fd_maybe_socket): Remove function.
84590         (rpl_close): Invoke execute_all_close_hooks instead of
84591         _gl_close_fd_maybe_socket.
84592         * lib/sockets.c: Include close-hook.h, w32sock.h.
84593         (close_fd_maybe_socket): New function, essentially from lib/close.c.
84594         (close_sockets_hook): New variable.
84595         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
84596         (gl_sockets_cleanup): Unregister it.
84597         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
84598         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
84599         * modules/close-hook: New file.
84600         * modules/close (Files): Remove lib/w32sock.h.
84601         (Depends-on): Add close-hook.
84602         (Link): Remove section.
84603         * modules/sockets (Files): Add lib/w32sock.h.
84604         (Depends-on): Add close-hook.
84605         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
84606         invocation.
84607         * NEWS: Mention that LIB_CLOSE is gone.
84609 2009-03-23  Eric Blake  <ebb9@byu.net>
84611         signal-tests: test previous patch
84612         * tests/test-signal.c: New file.
84613         * modules/signal-tests: Likewise.
84615         signal.h: always support 'volatile sig_atomic_t'
84616         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
84617         (gl_SIGNAL_H_DEFAULTS): Add a default.
84618         * modules/signal (Makefile.am): Substitute if needed.
84619         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
84620         users can blindly add volatile.
84621         * doc/posix-headers/signal.texi (signal.h): Document it.
84622         Reported by Matthew Woehlke.
84624 2009-03-23  Jim Meyering  <meyering@redhat.com>
84626         pathmax: PATH_MAX: use pathconf only when available
84627         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
84628         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
84629         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
84630         This avoids a link failure in a PSP cross-compilation environment
84631         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
84633         * lib/vasnprintf.c (divide): Fix typo in comment.
84635 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84637         * gnulib-tool (func_filter_filelist): Fix comment.
84639 2009-03-20  Bruno Haible  <bruno@clisp.org>
84641         Make sockets.h self-contained.
84642         * lib/sockets.c: Include sockets.h first.
84643         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
84645 2009-03-19  Eric Blake  <ebb9@byu.net>
84647         doc: mention more functions added in cygwin 1.7.0
84648         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
84649         addition.
84650         * doc/posix-functions/log2f.texi: Likewise.
84652 2009-03-19  Jim Meyering  <meyering@redhat.com>
84654         fsusage: avoid syntax error due to statement-before-declaration
84655         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
84656         after all declarations.  Reported by Matthew Woehlke in
84657         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
84659 2009-03-18  Eric Blake  <ebb9@byu.net>
84661         build-aux/compile: sync from automake
84662         * build-aux/compile: New file, from automake.
84663         * config/srclist.txt: Mention build-aux/compile.
84665 2009-03-17  Bruno Haible  <bruno@clisp.org>
84667         * lib/git-merge-changelog.c: Fix typo in comment.
84668         Reported by Reuben Thomas <rrt@sc3d.org>.
84670 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
84672         * m4/regex.m4: update and improve help for
84673         --without-included-regex.
84675 2009-03-17  Simon Josefsson  <simon@josefsson.org>
84677         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
84678         failure on missing include files.
84680 2009-03-17  Eric Blake  <ebb9@byu.net>
84682         doc: mention more functions added in cygwin 1.7.0
84683         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
84684         addition.
84685         * doc/posix-functions/fwscanf.texi: Likewise.
84686         * doc/posix-functions/swprintf.texi: Likewise.
84687         * doc/posix-functions/swscanf.texi: Likewise.
84688         * doc/posix-functions/vfwprintf.texi: Likewise.
84689         * doc/posix-functions/vfwscanf.texi: Likewise.
84690         * doc/posix-functions/vswprintf.texi: Likewise.
84691         * doc/posix-functions/vswscanf.texi: Likewise.
84692         * doc/posix-functions/vwprintf.texi: Likewise.
84693         * doc/posix-functions/vwscanf.texi: Likewise.
84694         * doc/posix-functions/wcscasecmp.texi: Likewise.
84695         * doc/posix-functions/wcsdup.texi: Likewise.
84696         * doc/posix-functions/wcsftime.texi: Likewise.
84697         * doc/posix-functions/wcsncasecmp.texi: Likewise.
84698         * doc/posix-functions/wprintf.texi: Likewise.
84699         * doc/posix-functions/wscanf.texi: Likewise.
84700         * doc/glibc-functions/gethostbyname2.texi: Likewise.
84702 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84704         maint.mk: really add $(AM_MAKEFLAGS)
84705         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
84706         was inadvertently omitted in the last commit.
84707         Spotted by Bruno Haible.
84709         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
84710         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
84711         $(AM_MAKEFLAGS)' rather than plain `make'.
84713         gnulib-tool: execute $MAKE not make
84714         * gnulib-tool: Default $MAKE to 'make'.
84715         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
84716         than make.  Initialize $MAKE in the do-autobuild script.
84718         gnulib-tool: use $MAKE not make in generated files
84719         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
84720         make, in generated files.  Initialize $MAKE in the do-autobuild
84721         script.
84723         * top/GNUmakefile (_have-git-version-gen): Fix typo.
84725         GNUmakefile: disable parallelism only for multiple, recursive targets
84726         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
84727         additions in the Makefile.
84728         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
84729         by Automake.
84730         (.NOTPARALLEL): Only disable parallel builds if multiple targets
84731         are listed on the command line and at least one of them is
84732         listed in $(ALL_RECURSIVE_TARGETS).
84734 2009-03-14  Bruno Haible  <bruno@clisp.org>
84736         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
84737         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
84738         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
84739         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
84740         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
84741         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
84742         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
84743         unistr/u8-uctomb.
84744         * modules/unistr/u8-strchr (Depends-on): Likewise.
84745         * modules/unistr/u8-strrchr (Depends-on): Likewise.
84746         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
84747         unistr/u16-uctomb.
84748         * modules/unistr/u16-strchr (Depends-on): Likewise.
84749         * modules/unistr/u16-strrchr (Depends-on): Likewise.
84751 2009-03-12  Bruno Haible  <bruno@clisp.org>
84753         Work around select() bug on Interix 3.5.
84754         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
84755         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
84756         * m4/select.m4: New file.
84757         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
84758         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
84759         * modules/select (Files): Add m4/select.m4.
84760         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
84761         * modules/nanosleep (Depends-on): Add select.
84762         * modules/poll (Depends-on): Likewise.
84763         * doc/posix-functions/select.texi: Mention the Interix bug.
84764         Reported by Markus Duft <mduft@gentoo.org>.
84766         * lib/select.c: Renamed from lib/winsock-select.c.
84767         * modules/select (Files): Add lib/select.c, remove
84768         lib/winsock-select.c.
84769         (configure.ac): Update.
84771 2009-03-12  Jim Meyering  <meyering@redhat.com>
84773         avoid gcc warnings about unused macro definitions
84774         * lib/readtokens.c (STREQ): Remove unused definition.
84775         * lib/xmalloc.c (SIZE_MAX): Likewise.
84776         * lib/openat-die.c (N_): Likewise.
84777         * lib/mountlist.c (SIZE_MAX): Remove definition.
84778         Instead, include <stdint.h>.
84779         * lib/readutmp.c: Likewise.
84780         * modules/readutmp (Depends-on): Add stdint.
84781         * modules/mountlist (Depends-on): Add stdint.
84782         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
84784 2009-03-10  Bruno Haible  <bruno@clisp.org>
84786         Tests for module 'mbmemcasecoll'.
84787         * modules/mbmemcasecoll-tests: New file.
84788         * tests/test-mbmemcasecoll1.sh: New file.
84789         * tests/test-mbmemcasecoll2.sh: New file.
84790         * tests/test-mbmemcasecoll3.sh: New file.
84791         * tests/test-mbmemcasecoll.c: New file.
84793         New module 'mbmemcasecoll'.
84794         * lib/mbmemcasecoll.h: New file.
84795         * lib/mbmemcasecoll.c: New file.
84796         * modules/mbmemcasecoll: New file.
84798         * tests/test-mbmemcasecmp.h: New file, extracted from
84799         tests/test-mbmemcasecmp.c.
84800         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
84801         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
84802         (main): Update.
84803         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
84805 2009-03-09  Bruno Haible  <bruno@clisp.org>
84807         Tests for module 'mbmemcasecmp'.
84808         * modules/mbmemcasecmp-tests: New file.
84809         * tests/test-mbmemcasecmp1.sh: New file.
84810         * tests/test-mbmemcasecmp2.sh: New file.
84811         * tests/test-mbmemcasecmp3.sh: New file.
84812         * tests/test-mbmemcasecmp.c: New file.
84814         New module 'mbmemcasecmp'.
84815         * lib/mbmemcasecmp.h: New file.
84816         * lib/mbmemcasecmp.c: New file.
84817         * modules/mbmemcasecmp: New file.
84819 2009-03-09  Bruno Haible  <bruno@clisp.org>
84821         Tests for module 'unicase/ulc-casecoll'.
84822         * modules/unicase/ulc-casecoll-tests: New file.
84823         * tests/unicase/test-ulc-casecoll1.sh: New file.
84824         * tests/unicase/test-ulc-casecoll2.sh: New file.
84825         * tests/unicase/test-ulc-casecoll.c: New file.
84827         New module 'unicase/ulc-casecoll'.
84828         * lib/unicase.h (ulc_casecoll): New declaration.
84829         * lib/unicase/ulc-casecoll.c: New file.
84830         * modules/unicase/ulc-casecoll: New file.
84832         New module 'unicase/ulc-casexfrm'.
84833         * lib/unicase.h (ulc_casexfrm): New declaration.
84834         * lib/unicase/ulc-casexfrm.c: New file.
84835         * modules/unicase/ulc-casexfrm: New file.
84837 2009-03-09  Bruno Haible  <bruno@clisp.org>
84839         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
84840         invocations.
84842         * m4/mbscasecmp.m4: Remove file.
84843         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
84844         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
84846         * m4/mbscasestr.m4: Remove file.
84847         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
84848         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
84850         * m4/mbschr.m4: Remove file.
84851         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
84852         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
84854         * m4/mbscspn.m4: Remove file.
84855         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
84856         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
84858         * m4/mbslen.m4: Remove file.
84859         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
84860         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
84862         * m4/mbsncasecmp.m4: Remove file.
84863         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
84864         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
84866         * m4/mbsnlen.m4: Remove file.
84867         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
84868         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
84870         * m4/mbspbrk.m4: Remove file.
84871         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
84872         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
84874         * m4/mbspcasecmp.m4: Remove file.
84875         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
84876         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
84878         * m4/mbsrchr.m4: Remove file.
84879         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
84880         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
84882         * m4/mbssep.m4: Remove file.
84883         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
84884         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
84886         * m4/mbsspn.m4: Remove file.
84887         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
84888         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
84890         * m4/mbsstr.m4: Remove file.
84891         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
84892         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
84894         * m4/mbstok_r.m4: Remove file.
84895         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
84896         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
84898         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
84900         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
84901         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
84903         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
84905 2009-03-08  Bruno Haible  <bruno@clisp.org>
84907         Tests for module 'unicase/ulc-casecmp'.
84908         * modules/unicase/ulc-casecmp-tests: New file.
84909         * tests/unicase/test-ulc-casecmp1.sh: New file.
84910         * tests/unicase/test-ulc-casecmp2.sh: New file.
84911         * tests/unicase/test-ulc-casecmp.c: New file.
84913         New module 'unicase/ulc-casecmp'.
84914         * lib/unicase.h (ulc_casecmp): New declaration.
84915         * lib/unicase/ulc-casecmp.c: New file.
84916         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
84917         'const SRC_UNIT *'.
84918         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
84919         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
84920         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
84921         * modules/unicase/ulc-casecmp: New file.
84923         Tests for module 'unicase/u32-is-cased'.
84924         * modules/unicase/u32-is-cased-tests: New file.
84925         * tests/unicase/test-u32-is-cased.c: New file.
84927         Tests for module 'unicase/u16-is-cased'.
84928         * modules/unicase/u16-is-cased-tests: New file.
84929         * tests/unicase/test-u16-is-cased.c: New file.
84931         Tests for module 'unicase/u8-is-cased'.
84932         * modules/unicase/u8-is-cased-tests: New file.
84933         * tests/unicase/test-u8-is-cased.c: New file.
84934         * tests/unicase/test-is-cased.h: New file.
84936         New module 'unicase/u32-is-cased'.
84937         * lib/unicase/u32-is-cased.c: New file.
84938         * modules/unicase/u32-is-cased: New file.
84940         New module 'unicase/u16-is-cased'.
84941         * lib/unicase/u16-is-cased.c: New file.
84942         * modules/unicase/u16-is-cased: New file.
84944         New module 'unicase/u8-is-cased'.
84945         * lib/unicase/u8-is-cased.c: New file.
84946         * lib/unicase/u-is-cased.h: New file.
84947         * modules/unicase/u8-is-cased: New file.
84949         Tests for module 'unicase/u32-is-casefolded'.
84950         * modules/unicase/u32-is-casefolded-tests: New file.
84951         * tests/unicase/test-u32-is-casefolded.c: New file.
84953         Tests for module 'unicase/u16-is-casefolded'.
84954         * modules/unicase/u16-is-casefolded-tests: New file.
84955         * tests/unicase/test-u16-is-casefolded.c: New file.
84957         Tests for module 'unicase/u8-is-casefolded'.
84958         * modules/unicase/u8-is-casefolded-tests: New file.
84959         * tests/unicase/test-u8-is-casefolded.c: New file.
84960         * tests/unicase/test-is-casefolded.h: New file.
84962         New module 'unicase/u32-is-casefolded'.
84963         * lib/unicase/u32-is-casefolded.c: New file.
84964         * modules/unicase/u32-is-casefolded: New file.
84966         New module 'unicase/u16-is-casefolded'.
84967         * lib/unicase/u16-is-casefolded.c: New file.
84968         * modules/unicase/u16-is-casefolded: New file.
84970         New module 'unicase/u8-is-casefolded'.
84971         * lib/unicase/u8-is-casefolded.c: New file.
84972         * modules/unicase/u8-is-casefolded: New file.
84974         Tests for module 'unicase/u32-is-titlecase'.
84975         * modules/unicase/u32-is-titlecase-tests: New file.
84976         * tests/unicase/test-u32-is-titlecase.c: New file.
84978         Tests for module 'unicase/u16-is-titlecase'.
84979         * modules/unicase/u16-is-titlecase-tests: New file.
84980         * tests/unicase/test-u16-is-titlecase.c: New file.
84982         Tests for module 'unicase/u8-is-titlecase'.
84983         * modules/unicase/u8-is-titlecase-tests: New file.
84984         * tests/unicase/test-u8-is-titlecase.c: New file.
84985         * tests/unicase/test-is-titlecase.h: New file.
84987         New module 'unicase/u32-is-titlecase'.
84988         * lib/unicase/u32-is-titlecase.c: New file.
84989         * modules/unicase/u32-is-titlecase: New file.
84991         New module 'unicase/u16-is-titlecase'.
84992         * lib/unicase/u16-is-titlecase.c: New file.
84993         * modules/unicase/u16-is-titlecase: New file.
84995         New module 'unicase/u8-is-titlecase'.
84996         * lib/unicase/u8-is-titlecase.c: New file.
84997         * modules/unicase/u8-is-titlecase: New file.
84999         Tests for module 'unicase/u32-is-lowercase'.
85000         * modules/unicase/u32-is-lowercase-tests: New file.
85001         * tests/unicase/test-u32-is-lowercase.c: New file.
85003         Tests for module 'unicase/u16-is-lowercase'.
85004         * modules/unicase/u16-is-lowercase-tests: New file.
85005         * tests/unicase/test-u16-is-lowercase.c: New file.
85007         Tests for module 'unicase/u8-is-lowercase'.
85008         * modules/unicase/u8-is-lowercase-tests: New file.
85009         * tests/unicase/test-u8-is-lowercase.c: New file.
85010         * tests/unicase/test-is-lowercase.h: New file.
85012         New module 'unicase/u32-is-lowercase'.
85013         * lib/unicase/u32-is-lowercase.c: New file.
85014         * modules/unicase/u32-is-lowercase: New file.
85016         New module 'unicase/u16-is-lowercase'.
85017         * lib/unicase/u16-is-lowercase.c: New file.
85018         * modules/unicase/u16-is-lowercase: New file.
85020         New module 'unicase/u8-is-lowercase'.
85021         * lib/unicase/u8-is-lowercase.c: New file.
85022         * modules/unicase/u8-is-lowercase: New file.
85024         Tests for module 'unicase/u32-is-uppercase'.
85025         * modules/unicase/u32-is-uppercase-tests: New file.
85026         * tests/unicase/test-u32-is-uppercase.c: New file.
85028         Tests for module 'unicase/u16-is-uppercase'.
85029         * modules/unicase/u16-is-uppercase-tests: New file.
85030         * tests/unicase/test-u16-is-uppercase.c: New file.
85032         Tests for module 'unicase/u8-is-uppercase'.
85033         * modules/unicase/u8-is-uppercase-tests: New file.
85034         * tests/unicase/test-u8-is-uppercase.c: New file.
85035         * tests/unicase/test-is-uppercase.h: New file.
85037         New module 'unicase/u32-is-uppercase'.
85038         * lib/unicase/u32-is-uppercase.c: New file.
85039         * modules/unicase/u32-is-uppercase: New file.
85041         New module 'unicase/u16-is-uppercase'.
85042         * lib/unicase/u16-is-uppercase.c: New file.
85043         * modules/unicase/u16-is-uppercase: New file.
85045         New module 'unicase/u8-is-uppercase'.
85046         * lib/unicase/u8-is-uppercase.c: New file.
85047         * modules/unicase/u8-is-uppercase: New file.
85049         New module 'unicase/u32-is-invariant'.
85050         * lib/unicase/u32-is-invariant.c: New file.
85051         * modules/unicase/u32-is-invariant: New file.
85053         New module 'unicase/u16-is-invariant'.
85054         * lib/unicase/u16-is-invariant.c: New file.
85055         * modules/unicase/u16-is-invariant: New file.
85057         New module 'unicase/u8-is-invariant'.
85058         * lib/unicase/u8-is-invariant.c: New file.
85059         * lib/unicase/invariant.h: New file.
85060         * lib/unicase/u-is-invariant.h: New file.
85061         * modules/unicase/u8-is-invariant: New file.
85063         Tests for module 'unicase/u32-casecoll'.
85064         * modules/unicase/u32-casecoll-tests: New file.
85065         * tests/unicase/test-u32-casecoll.c: New file.
85067         Tests for module 'unicase/u16-casecoll'.
85068         * modules/unicase/u16-casecoll-tests: New file.
85069         * tests/unicase/test-u16-casecoll.c: New file.
85071         Tests for module 'unicase/u8-casecoll'.
85072         * modules/unicase/u8-casecoll-tests: New file.
85073         * tests/unicase/test-u8-casecoll.c: New file.
85075         New module 'unicase/u32-casecoll'.
85076         * lib/unicase/u32-casecoll.c: New file.
85077         * modules/unicase/u32-casecoll: New file.
85079         New module 'unicase/u16-casecoll'.
85080         * lib/unicase/u16-casecoll.c: New file.
85081         * modules/unicase/u16-casecoll: New file.
85083         New module 'unicase/u8-casecoll'.
85084         * lib/unicase/u8-casecoll.c: New file.
85085         * lib/unicase/u-casecoll.h: New file.
85086         * modules/unicase/u8-casecoll: New file.
85088         New module 'unicase/u32-casexfrm'.
85089         * lib/unicase/u32-casexfrm.c: New file.
85090         * modules/unicase/u32-casexfrm: New file.
85092         New module 'unicase/u16-casexfrm'.
85093         * lib/unicase/u16-casexfrm.c: New file.
85094         * modules/unicase/u16-casexfrm: New file.
85096         New module 'unicase/u8-casexfrm'.
85097         * lib/unicase/u8-casexfrm.c: New file.
85098         * lib/unicase/u-casexfrm.h: New file.
85099         * modules/unicase/u8-casexfrm: New file.
85101         Tests for module 'unicase/u32-casecmp'.
85102         * modules/unicase/u32-casecmp-tests: New file.
85103         * tests/unicase/test-u32-casecmp.c: New file.
85105         Tests for module 'unicase/u16-casecmp'.
85106         * modules/unicase/u16-casecmp-tests: New file.
85107         * tests/unicase/test-u16-casecmp.c: New file.
85109         Tests for module 'unicase/u8-casecmp'.
85110         * modules/unicase/u8-casecmp-tests: New file.
85111         * tests/unicase/test-u8-casecmp.c: New file.
85112         * tests/unicase/test-casecmp.h: New file.
85114         New module 'unicase/u32-casecmp'.
85115         * lib/unicase/u32-casecmp.c: New file.
85116         * modules/unicase/u32-casecmp: New file.
85118         New module 'unicase/u16-casecmp'.
85119         * lib/unicase/u16-casecmp.c: New file.
85120         * modules/unicase/u16-casecmp: New file.
85122         New module 'unicase/u8-casecmp'.
85123         * lib/unicase/u8-casecmp.c: New file.
85124         * lib/unicase/u-casecmp.h: New file.
85125         * modules/unicase/u8-casecmp: New file.
85127         Tests for module 'unicase/u32-casefold'.
85128         * modules/unicase/u32-casefold-tests: New file.
85129         * tests/unicase/test-u32-casefold.c: New file.
85131         Tests for module 'unicase/u16-casefold'.
85132         * modules/unicase/u16-casefold-tests: New file.
85133         * tests/unicase/test-u16-casefold.c: New file.
85135         Tests for module 'unicase/u8-casefold'.
85136         * modules/unicase/u8-casefold-tests: New file.
85137         * tests/unicase/test-u8-casefold.c: New file.
85139         New module 'unicase/u32-casefold'.
85140         * lib/unicase/u32-casefold.c: New file.
85141         * modules/unicase/u32-casefold: New file.
85143         New module 'unicase/u16-casefold'.
85144         * lib/unicase/u16-casefold.c: New file.
85145         * modules/unicase/u16-casefold: New file.
85147         New module 'unicase/u8-casefold'.
85148         * lib/unicase/u8-casefold.c: New file.
85149         * lib/unicase/u-casefold.h: New file.
85150         * modules/unicase/u8-casefold: New file.
85152         New module 'unicase/tocasefold'.
85153         * lib/unicase/casefold.h: New file.
85154         * lib/unicase/tocasefold.c: New file.
85155         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
85156         * modules/unicase/tocasefold: New file.
85158         Tests for module 'unicase/u32-totitle'.
85159         * modules/unicase/u32-totitle-tests: New file.
85160         * tests/unicase/test-u32-totitle.c: New file.
85162         Tests for module 'unicase/u16-totitle'.
85163         * modules/unicase/u16-totitle-tests: New file.
85164         * tests/unicase/test-u16-totitle.c: New file.
85166         Tests for module 'unicase/u8-totitle'.
85167         * modules/unicase/u8-totitle-tests: New file.
85168         * tests/unicase/test-u8-totitle.c: New file.
85170         New module 'unicase/u32-totitle'.
85171         * lib/unicase/u32-totitle.c: New file.
85172         * modules/unicase/u32-totitle: New file.
85174         New module 'unicase/u16-totitle'.
85175         * lib/unicase/u16-totitle.c: New file.
85176         * modules/unicase/u16-totitle: New file.
85178         New module 'unicase/u8-totitle'.
85179         * lib/unicase/u8-totitle.c: New file.
85180         * lib/unicase/u-totitle.h: New file.
85181         * modules/unicase/u8-totitle: New file.
85183         Tests for module 'unicase/u32-tolower'.
85184         * modules/unicase/u32-tolower-tests: New file.
85185         * tests/unicase/test-u32-tolower.c: New file.
85187         Tests for module 'unicase/u16-tolower'.
85188         * modules/unicase/u16-tolower-tests: New file.
85189         * tests/unicase/test-u16-tolower.c: New file.
85191         Tests for module 'unicase/u8-tolower'.
85192         * modules/unicase/u8-tolower-tests: New file.
85193         * tests/unicase/test-u8-tolower.c: New file.
85195         New module 'unicase/u32-tolower'.
85196         * lib/unicase/u32-tolower.c: New file.
85197         * modules/unicase/u32-tolower: New file.
85199         New module 'unicase/u16-tolower'.
85200         * lib/unicase/u16-tolower.c: New file.
85201         * modules/unicase/u16-tolower: New file.
85203         New module 'unicase/u8-tolower'.
85204         * lib/unicase/u8-tolower.c: New file.
85205         * modules/unicase/u8-tolower: New file.
85207         Tests for module 'unicase/u32-toupper'.
85208         * modules/unicase/u32-toupper-tests: New file.
85209         * tests/unicase/test-u32-toupper.c: New file.
85211         Tests for module 'unicase/u16-toupper'.
85212         * modules/unicase/u16-toupper-tests: New file.
85213         * tests/unicase/test-u16-toupper.c: New file.
85215         Tests for module 'unicase/u8-toupper'.
85216         * modules/unicase/u8-toupper-tests: New file.
85217         * tests/unicase/test-u8-toupper.c: New file.
85219         New module 'unicase/u32-toupper'.
85220         * lib/unicase/u32-toupper.c: New file.
85221         * modules/unicase/u32-toupper: New file.
85223         New module 'unicase/u16-toupper'.
85224         * lib/unicase/u16-toupper.c: New file.
85225         * modules/unicase/u16-toupper: New file.
85227         New module 'unicase/u8-toupper'.
85228         * lib/unicase/u8-toupper.c: New file.
85229         * modules/unicase/u8-toupper: New file.
85231         New module 'unicase/u32-casemap'.
85232         * lib/unicase/u32-casemap.c: New file.
85233         * modules/unicase/u32-casemap: New file.
85235         New module 'unicase/u16-casemap'.
85236         * lib/unicase/u16-casemap.c: New file.
85237         * modules/unicase/u16-casemap: New file.
85239         New module 'unicase/u8-casemap'.
85240         * lib/unicase/unicasemap.h: New file.
85241         * lib/unicase/u8-casemap.c: New file.
85242         * lib/unicase/u-casemap.h: New file.
85243         * modules/unicase/u8-casemap: New file.
85245         New module 'unicase/special-casing'.
85246         * lib/unicase/special-casing.h: New file.
85247         * lib/unicase/special-casing.c: New file.
85248         * lib/unicase/special-casing-table.gperf: New file, generated by
85249         gen-uni-tables.c.
85250         * modules/unicase/special-casing: New file.
85252         Tests for module 'unicase/locale-language'.
85253         * modules/unicase/locale-language-tests: New file.
85254         * tests/unicase/test-locale-language.sh: New file.
85255         * tests/unicase/test-locale-language.c: New file.
85257         New module 'unicase/locale-language'.
85258         * lib/unicase/locale-language.c: New file.
85259         * lib/unicase/locale-languages.gperf: New file.
85260         * modules/unicase/locale-language: New file.
85262         Generate more tables for case conversion and case folding.
85263         * lib/gen-uni-tables.c (SCC_*): New enum items.
85264         (struct special_casing_rule): New type.
85265         (casing_rules, num_casing_rules, allocated_casing_rules): New
85266         variables.
85267         (add_casing_rule, fill_casing_rules): New functions.
85268         (struct casefold_rule): New type.
85269         (casefolding_rules, num_casefolding_rules,
85270         allocated_casefolding_rules): New variables.
85271         (fill_casefolding_rules): New function.
85272         (unicode_casefold): New variable.
85273         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
85274         sort_casing_rules, output_casing_rules): New functions.
85275         (main): Accept to more arguments: SpecialCasing.txt and
85276         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
85277         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
85278         Output mapping for casefolding.
85280         * lib/unicase.h: Include stdbool.h, uninorm.h.
85281         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
85282         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
85283         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
85284         arguments.
85285         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
85286         resultp arguments.
85287         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
85288         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
85289         resultp arguments.
85290         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
85291         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
85292         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
85293         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
85294         declarations.
85295         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
85297 2009-03-08  Bruno Haible  <bruno@clisp.org>
85299         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
85300         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
85301         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
85302         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
85304 2009-03-07  Bruno Haible  <bruno@clisp.org>
85306         Adjust u*_normcmp, u*_normcoll API.
85307         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
85308         u16_normcoll, u32_normcoll): Change failure conventions.
85309         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
85310         errno and return -1.
85311         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
85313 2009-03-07  Bruno Haible  <bruno@clisp.org>
85315         Tests for module 'uninorm/u32-normcoll'.
85316         * modules/uninorm/u32-normcoll-tests: New file.
85317         * tests/uninorm/test-u32-normcoll.c: New file.
85319         Tests for module 'uninorm/u16-normcoll'.
85320         * modules/uninorm/u16-normcoll-tests: New file.
85321         * tests/uninorm/test-u16-normcoll.c: New file.
85323         Tests for module 'uninorm/u8-normcoll'.
85324         * modules/uninorm/u8-normcoll-tests: New file.
85325         * tests/uninorm/test-u8-normcoll.c: New file.
85327 2009-03-07  Bruno Haible  <bruno@clisp.org>
85329         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
85330         tests/uninorm/test-u32-normcmp.c.
85331         * tests/uninorm/test-u32-normcmp.c: Include it.
85332         (test_nonascii): New function, extracted from main. Add some more
85333         tests.
85334         (main): Invoke test_ascii and test_nonascii.
85335         * modules/uninorm/u32-normcmp-tests (Files): Add
85336         tests/uninorm/test-u32-normcmp.h.
85337         (Depends-on): Remove uninorm/u32-normcmp.
85339         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
85340         tests/uninorm/test-u16-normcmp.c.
85341         * tests/uninorm/test-u16-normcmp.c: Include it.
85342         (test_nonascii): New function, extracted from main. Add some more
85343         tests.
85344         (main): Invoke test_ascii and test_nonascii.
85345         * modules/uninorm/u16-normcmp-tests (Files): Add
85346         tests/uninorm/test-u16-normcmp.h.
85347         (Depends-on): Remove uninorm/u16-normcmp.
85349         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
85350         tests/uninorm/test-u8-normcmp.c.
85351         * tests/uninorm/test-u8-normcmp.c: Include it.
85352         (test_nonascii): New function, extracted from main. Add some more
85353         tests.
85354         (main): Invoke test_ascii and test_nonascii.
85355         * modules/uninorm/u8-normcmp-tests (Files): Add
85356         tests/uninorm/test-u8-normcmp.h.
85357         (Depends-on): Remove uninorm/u8-normcmp.
85359 2009-03-07  Bruno Haible  <bruno@clisp.org>
85361         New module 'uninorm/u32-normcoll'.
85362         * lib/uninorm/u32-normcoll.c: New file.
85363         * modules/uninorm/u32-normcoll: New file.
85365         New module 'uninorm/u16-normcoll'.
85366         * lib/uninorm/u16-normcoll.c: New file.
85367         * modules/uninorm/u16-normcoll: New file.
85369         New module 'uninorm/u8-normcoll'.
85370         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
85371         declarations.
85372         * lib/uninorm/u8-normcoll.c: New file.
85373         * lib/uninorm/u-normcoll.h: New file.
85374         * modules/uninorm/u8-normcoll: New file.
85376         New module 'uninorm/u32-normxfrm'.
85377         * lib/uninorm/u32-normxfrm.c: New file.
85378         * modules/uninorm/u32-normxfrm: New file.
85380         New module 'uninorm/u16-normxfrm'.
85381         * lib/uninorm/u16-normxfrm.c: New file.
85382         * modules/uninorm/u16-normxfrm: New file.
85384         New module 'uninorm/u8-normxfrm'.
85385         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
85386         declarations.
85387         * lib/uninorm/u8-normxfrm.c: New file.
85388         * lib/uninorm/u-normxfrm.h: New file.
85389         * modules/uninorm/u8-normxfrm: New file.
85391 2009-03-07  Bruno Haible  <bruno@clisp.org>
85393         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
85394         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
85395         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
85397 2009-03-07  Bruno Haible  <bruno@clisp.org>
85399         New module 'memxfrm'.
85400         * lib/memxfrm.h: New file.
85401         * lib/memxfrm.c: New file.
85402         * modules/memxfrm: New file.
85404 2009-03-07  Bruno Haible  <bruno@clisp.org>
85406         New module 'memcmp2'.
85407         * lib/memcmp2.h: New file.
85408         * lib/memcmp2.c: New file.
85409         * modules/memcmp2: New file.
85411 2009-03-07  Bruno Haible  <bruno@clisp.org>
85413         Tests for module 'uninorm/decomposing-form'.
85414         * modules/uninorm/decomposing-form-tests: New file.
85415         * tests/uninorm/test-decomposing-form.c: New file.
85417         New module 'uninorm/decomposing-form'.
85418         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
85419         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
85420         Add 'decomposing_variant' field.
85421         * lib/uninorm/decomposing-form.c: New file.
85422         * lib/uninorm/nfc.c (uninorm_nfc): Update.
85423         * lib/uninorm/nfd.c (uninorm_nfd): Update.
85424         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
85425         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
85426         * modules/uninorm/decomposing-form: New file.
85427         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
85428         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
85430 2009-03-07  Bruno Haible  <bruno@clisp.org>
85432         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
85433         strings.
85435 2009-03-06  Bruno Haible  <bruno@clisp.org>
85437         Tests for module 'uninorm/u32-normcmp'.
85438         * tests/uninorm/test-u32-normcmp.c: New file.
85439         * modules/uninorm/u32-normcmp-tests: New file.
85441         Tests for module 'uninorm/u16-normcmp'.
85442         * tests/uninorm/test-u16-normcmp.c: New file.
85443         * modules/uninorm/u16-normcmp-tests: New file.
85445         Tests for module 'uninorm/u8-normcmp'.
85446         * tests/uninorm/test-u8-normcmp.c: New file.
85447         * modules/uninorm/u8-normcmp-tests: New file.
85449         New module 'uninorm/u32-normcmp'.
85450         * lib/uninorm/u32-normcmp.c: New file.
85451         * modules/uninorm/u32-normcmp: New file.
85453         New module 'uninorm/u16-normcmp'.
85454         * lib/uninorm/u16-normcmp.c: New file.
85455         * modules/uninorm/u16-normcmp: New file.
85457         New module 'uninorm/u8-normcmp'.
85458         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
85459         declarations.
85460         * lib/uninorm/u8-normcmp.c: New file.
85461         * lib/uninorm/u-normcmp.h: New file.
85462         * modules/uninorm/u8-normcmp: New file.
85464 2009-03-06  Bruno Haible  <bruno@clisp.org>
85466         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
85467         Reported by Eric Blake.
85469 2009-03-06  Eric Blake  <ebb9@byu.net>
85470             Bruno Haible  <bruno@clisp.org>
85472         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
85473         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
85474         condition.
85475         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
85476         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
85477         condition.
85478         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
85480 2009-03-06  Eric Blake  <ebb9@byu.net>
85482         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
85483         to avoid compiler warnings.
85484         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
85486 2009-03-05  Bruno Haible  <bruno@clisp.org>
85488         * tests/test-ftell.c (main): Disable test beyond end of file on
85489         FreeMiNT.
85490         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
85492 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
85494         * lib/filevercmp.c: Move hidden files up in ordering.
85495         * tests/test-filevercmp.c: Add tests for hidden files.
85497 2009-03-04  Bruno Haible  <bruno@clisp.org>
85499         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
85500         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
85501         AM_CFLAGS.
85502         Reported by Simon Josefsson.
85504 2009-03-03  Bruno Haible  <bruno@clisp.org>
85506         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
85507         Reported by Simon Josefsson.
85509         * doc/ld-version-script.texi: Update node reference.
85511 2009-03-03  Bruno Haible  <bruno@clisp.org>
85513         * modules/visibility (License): Change to 'unlimited'.
85514         Suggested by Simon Josefsson.
85516 2009-03-03  Jim Meyering  <meyering@redhat.com>
85518         unlinkdir: cannot_unlink_dir may modify process state
85519         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
85520         it's neither thread-safe nor appropriate for use in a library.
85522 2009-03-03  Eric Blake  <ebb9@byu.net>
85524         test-closein: silence test under Darwin
85525         * tests/test-closein.sh: Ignore stderr from cat, since we don't
85526         care if it dies from EPIPE or EBADF.
85528 2009-03-03  Bruno Haible  <bruno@clisp.org>
85530         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
85531         earlier.
85532         * doc/visibility.texi: Fix @node and @section.
85534 2009-03-03  Simon Josefsson  <simon@josefsson.org>
85536         * doc/gnulib.texi: Link to sections for ld version script and
85537         visibility.
85538         * doc/visibility.texi: Add @node and @section.
85539         * modules/ld-version-script: New module.
85540         * m4/ld-version-script.m4: New file.
85541         * doc/ld-version-script.texi: New file.
85543 2009-03-02  David Lutterkort  <lutter@redhat.com>
85545         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
85546         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
85548 2009-03-02  Bruno Haible  <bruno@clisp.org>
85550         * doc/visibility.texi: Mention libtool's -export-symbols option.
85552 2009-03-02  Jim Meyering  <meyering@redhat.com>
85554         announce-gen: new option: --no-print-checksums
85555         * build-aux/announce-gen (usage): Describe it.
85556         (print_checksums): Print a newline here, not in the [*] footnote.
85557         (main): Honor it.
85559 2009-03-01  Bruno Haible  <bruno@clisp.org>
85561         Use socklen_t in the native Windows replacements prototypes.
85562         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
85563         instead of 'int'.
85564         * lib/getsockopt.c (rpl_getsockopt): Likewise.
85565         * lib/setsockopt.c (rpl_setsockopt): Likewise.
85566         * modules/getsockopt (Depends-on): Add socklen.
85567         * modules/setsockopt (Depends-on): Add socklen.
85569 2009-03-01  Bruno Haible  <bruno@clisp.org>
85571         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
85572         least 4.2.
85574 2009-03-01  Eric Blake  <ebb9@byu.net>
85575             Bruno Haible  <bruno@clisp.org>
85577         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
85578         error messages.
85579         * lib/wait-process.c (wait_subprocess): Omit error message about
85580         deadly signal sent to the child of termsigp != NULL.
85582 2009-03-01  Eric Blake  <ebb9@byu.net>
85584         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
85586 2009-03-01  Bruno Haible  <bruno@clisp.org>
85588         Avoid a gcc warning.
85589         * tests/test-sched.c (b): Make global.
85590         Reported by Eric Blake.
85592 2009-01-19  Martin Lambers  <marlam@marlam.de>
85594         Provide POSIX semantics for socket timeout options on W32.
85595         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
85596         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
85597         * modules/setsockopt: Depend on sys_time module for struct timeval.
85598         * modules/getsockopt: Depend on sys_time module for struct timeval.
85600 2009-03-01  Simon Josefsson  <simon@josefsson.org>
85602         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
85603         __USE_GNU, for consistency with netdb.in.h.
85604         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85606 2009-03-01  Bruno Haible  <bruno@clisp.org>
85608         More support for FreeMiNT.
85609         * lib/fseeko.c (rpl_fseeko): Complete last commit.
85610         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85612 2009-03-01  Bruno Haible  <bruno@clisp.org>
85614         More support for FreeMiNT.
85615         * lib/fpurge.c (fpurge): Correct last commit.
85616         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85618 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85620         Fix unportable awk script in vc-list-files.
85621         * build-aux/vc-list-files: In the replacement awk script, use
85622         substr with a second argument of 1, not zero.
85623         Report by Simon Josefsson.
85625 2009-02-28  Bruno Haible  <bruno@clisp.org>
85627         More support for FreeMiNT.
85628         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
85629         to FreeMiNT today.
85630         * lib/fwriting.c (fwriting): Likewise.
85631         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
85633 2009-02-28  Bruno Haible  <bruno@clisp.org>
85635         * tests/test-freadseek.c (main): Disable test beyond end of file on
85636         FreeMiNT.
85637         * tests/test-ftello.c (main): Likewise.
85638         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
85640 2009-02-28  Bruno Haible  <bruno@clisp.org>
85642         Add tentative support for FreeMiNT.
85643         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
85644         * lib/fpurge.c (fpurge): Likewise.
85645         * lib/freadable.c (freadable): Likewise.
85646         * lib/freading.c (freading): Likewise.
85647         * lib/freadptr.c (freadptr): Likewise.
85648         * lib/freadseek.c (freadptrinc): Likewise.
85649         * lib/fseeko.c (rpl_fseeko): Likewise.
85650         * lib/fseterr.c (fseterr): Likewise.
85651         * lib/fwritable.c (fwritable): Likewise.
85652         * lib/fwriting.c (fwriting): Likewise.
85653         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
85654         Hourihane.
85655         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85657 2009-02-28  Bruno Haible  <bruno@clisp.org>
85659         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
85660         SIGCHLD.
85661         Reported by Jim Meyering.
85663 2009-02-28  Bruno Haible  <bruno@clisp.org>
85665         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
85666         Mention the results of these tests on various platforms.
85667         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
85668         order.
85669         * doc/posix-functions/printf.texi: Likewise.
85670         * doc/posix-functions/snprintf.texi: Likewise.
85671         * doc/posix-functions/sprintf.texi: Likewise.
85672         * doc/posix-functions/vfprintf.texi: Likewise.
85673         * doc/posix-functions/vprintf.texi: Likewise.
85674         * doc/posix-functions/vsnprintf.texi: Likewise.
85675         * doc/posix-functions/vsprintf.texi: Likewise.
85676         * doc/glibc-functions/obstack_printf.texi: Likewise.
85677         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
85679 2009-02-28  Bruno Haible  <bruno@clisp.org>
85681         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
85682         Reported by Loïc Minier <lool@dooz.org>.
85684 2009-02-27  Bruno Haible  <bruno@clisp.org>
85686         * gnulib-tool (func_import): Make the sed expression used to create the
85687         sed script for updating the .gitignore file POSIX compliant.
85688         Reported by Eric Blake.
85690 2009-02-27  Bruno Haible  <bruno@clisp.org>
85692         * gnulib-tool (sed): Don't alias as "sed --posix".
85693         Reported by Eric Blake.
85695 2009-02-27  Bruno Haible  <bruno@clisp.org>
85697         Avoid test link errors.
85698         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
85699         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
85700         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
85701         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
85702         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
85704 2009-02-27  Bruno Haible  <bruno@clisp.org>
85706         Avoid spurious "(cached)" in configure output.
85707         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
85708         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
85709         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
85710         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
85711         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
85712         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
85713         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
85714         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
85715         Reported by Eric Blake.
85717 2009-02-27  Eric Blake  <ebb9@byu.net>
85719         printf: fix regression in previous patch
85720         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
85722 2009-02-27  Bruno Haible  <bruno@clisp.org>
85724         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
85725         value.
85726         * lib/stdint.in.h: Likewise.
85727         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
85729 2009-02-27  Eric Blake  <ebb9@byu.net>
85731         doc: mention more functions added in cygwin 1.7.0
85732         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
85733         addition.
85734         * doc/posix-functions/open_wmemstream.texi: Likewise.
85735         * doc/posix-functions/wcsnlen.texi: Likewise.
85736         * doc/posix-functions/wcsnrtombs.texi: Likewise.
85737         * doc/posix-functions/wcstod.texi: Likewise.
85738         * doc/posix-functions/wcstof.texi: Likewise.
85739         * doc/posix-functions/wcstoimax.texi: Likewise.
85740         * doc/posix-functions/wcstok.texi: Likewise.
85741         * doc/posix-functions/wcstoumax.texi: Likewise.
85743         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
85744         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
85745         * doc/posix-functions/fprintf.texi: Update.
85746         * doc/posix-functions/printf.texi: Update.
85747         * doc/posix-functions/snprintf.texi: Update.
85748         * doc/posix-functions/sprintf.texi: Update.
85749         * doc/posix-functions/vfprintf.texi: Update.
85750         * doc/posix-functions/vprintf.texi: Update.
85751         * doc/posix-functions/vsnprintf.texi: Update.
85752         * doc/posix-functions/vsprintf.texi: Update.
85753         * doc/glibc-functions/obstack_printf.texi: Update.
85754         * doc/glibc-functions/obstack_vprintf.texi: Update.
85756 2009-02-26  Eric Blake  <ebb9@byu.net>
85758         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
85759         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
85760         compilation bug by using runtime conversion.
85761         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
85762         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
85763         * modules/ceill-tests (Files): Use nan.h.
85764         * modules/floorl-tests (Files): Likewise.
85765         * modules/frexpl-tests (Files): Likewise.
85766         * modules/isnanl-tests (Files): Likewise.
85767         * modules/ldexpl-tests (Files): Likewise.
85768         * modules/roundl-tests (Files): Likewise.
85769         * modules/truncl-tests (Files): Likewise.
85770         * tests/test-ceill.c (main): Use a working NaN.
85771         * tests/test-floorl.c (main): Likewise.
85772         * tests/test-frexpl.c (main): Likewise.
85773         * tests/test-isnan.c (test_long_double): Likewise.
85774         * tests/test-isnanl.h (main): Likewise.
85775         * tests/test-ldexpl.h (main): Likewise.
85776         * tests/test-roundl.h (main): Likewise.
85777         * tests/test-truncl.h (main): Likewise.
85778         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
85780 2009-02-26  Eric Blake  <ebb9@byu.net>
85781             Bruno Haible  <bruno@clisp.org>
85783         Work around a *printf bug with %ls on Solaris.
85784         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
85785         precision is specified, sprintf stops converting the wide string
85786         argument when the number of bytes that have been produced by this
85787         conversion equals or exceeds the precision.
85788         * doc/posix-functions/fprintf.texi: Update.
85789         * doc/posix-functions/printf.texi: Update.
85790         * doc/posix-functions/snprintf.texi: Update.
85791         * doc/posix-functions/sprintf.texi: Update.
85792         * doc/posix-functions/vfprintf.texi: Update.
85793         * doc/posix-functions/vprintf.texi: Update.
85794         * doc/posix-functions/vsnprintf.texi: Update.
85795         * doc/posix-functions/vsprintf.texi: Update.
85796         * doc/glibc-functions/obstack_printf.texi: Update.
85797         * doc/glibc-functions/obstack_vprintf.texi: Update.
85799 2009-02-26  Eric Blake  <ebb9@byu.net>
85801         stdlib: favor compiler check of random.h
85802         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
85803         to avoid an ObjC random.h installed by Swarm.
85805 2009-02-26  Bruno Haible  <bruno@clisp.org>
85807         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
85808         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
85809         Reported by Gary V. Vaughan <gary@gnu.org>.
85811 2009-02-26  Bruno Haible  <bruno@clisp.org>
85813         Fix *printf behaviour regarding the %ls directive.
85814         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
85815         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
85816         NEED_PRINTF_DIRECTIVE_LS.
85817         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
85818         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
85819         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
85820         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
85821         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
85822         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
85823         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
85824         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
85825         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
85826         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
85827         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
85828         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
85829         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
85830         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
85831         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
85832         * doc/posix-functions/fprintf.texi: Update.
85833         * doc/posix-functions/printf.texi: Update.
85834         * doc/posix-functions/snprintf.texi: Update.
85835         * doc/posix-functions/sprintf.texi: Update.
85836         * doc/posix-functions/vfprintf.texi: Update.
85837         * doc/posix-functions/vprintf.texi: Update.
85838         * doc/posix-functions/vsnprintf.texi: Update.
85839         * doc/posix-functions/vsprintf.texi: Update.
85840         * doc/glibc-functions/obstack_printf.texi: Update.
85841         * doc/glibc-functions/obstack_vprintf.texi: Update.
85842         Reported by Eric Blake.
85844 2009-02-25  Bruno Haible  <bruno@clisp.org>
85846         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
85847         with known value.
85848         Reported by Gary V. Vaughan <gary@gnu.org>.
85850 2009-02-25  Bruno Haible  <bruno@clisp.org>
85852         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
85853         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
85854         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
85855         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
85856         Reported by Gary V. Vaughan <gary@gnu.org>.
85858 2009-02-25  Bruno Haible  <bruno@clisp.org>
85860         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
85861         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
85862         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
85863         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
85864         Reported by Gary V. Vaughan <gary@gnu.org>.
85866 2009-02-25  Eric Blake  <ebb9@byu.net>
85868         tests: skip fseek/ftell tests if ungetc is broken
85869         * m4/ungetc.m4: New file.
85870         * modules/fseek-tests: Split test, so ungetc dependency is
85871         separate from rest of test.
85872         * modules/fseeko-tests: Likewise.
85873         * modules/ftell-tests: Likewise.
85874         * modules/ftello-tests: Likewise.
85875         * tests/test-fseek.c (main): Isolate ungetc dependency.
85876         * tests/test-fseeko.c (main): Likewise.
85877         * tests/test-ftell.c (main): Likewise.
85878         * tests/test-ftello.c (main): Likewise.
85879         * tests/test-fseek2.sh: New file.
85880         * tests/test-fseeko2.sh: Likewise.
85881         * tests/test-ftell2.sh: Likewise.
85882         * tests/test-ftello2.sh: Likewise.
85884 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
85886         test-getaddrinfo: fix usage of skip return code 77
85887         * tests/test-gettaddrinfo.c: Return skip code 77 only
85888         for first occurrence of skip (4x77 is not 77)
85890 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
85892         strtod: avoid C99 decl-after-statement
85893         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
85895 2009-02-24  Eric Blake  <ebb9@byu.net>
85897         strtod: detect HP-UX 11.31 bug
85898         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
85899         Reported by Gary V. Vaughan.
85901 2009-02-23  Bruno Haible  <bruno@clisp.org>
85903         Fix invalid read past end of memory block.
85904         * lib/vasnprintf.c (DCHAR_SET): Define.
85905         (local_wcslen): Define only when needed.
85906         (local_strnlen, local_wcsnlen): New functions.
85907         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
85908         directives that involve a conversion ourselves.
85909         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
85910         wcsnlen, mbrtowc, wcrtomb.
85911         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
85912         * tests/test-vasprintf-posix.c (test_function): Likewise.
85913         * tests/test-snprintf-posix.h (test_function): Likewise.
85914         * tests/test-sprintf-posix.h (test_function): Likewise.
85915         Reported by Ben Pfaff <blp@cs.stanford.edu>.
85917 2009-02-22  Bruno Haible  <bruno@clisp.org>
85919         Implement new clarified decomposition of Hangul syllables.
85920         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
85921         of type LTV, return only a pairwise decomposition.
85922         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
85923         Likewise.
85924         * tests/uninorm/test-decomposition.c (main): Updated expected result.
85925         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
85926         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
85928 2009-02-22  Bruno Haible  <bruno@clisp.org>
85930         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
85931         zero-length results and shrink excess allocated memory.
85932         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
85933         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
85934         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
85935         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
85936         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
85937         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
85938         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
85939         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
85940         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
85941         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
85942         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
85943         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
85945 2009-02-21  Bruno Haible  <bruno@clisp.org>
85947         * doc/gnulib.texi: Include safe-alloc.texi earlier.
85948         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
85949         spaces after a period. Put a space between a macro name and its
85950         argument list. Trivial rewordings.
85951         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
85952         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
85953         (main): Return 0 explicitly.
85955 2009-02-21  Bruno Haible  <bruno@clisp.org>
85957         Tests for module 'uninorm/filter'.
85958         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
85959         * modules/uninorm/filter-tests: New file.
85961         New module 'uninorm/filter'.
85962         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
85963         uninorm_filter_flush, uninorm_filter_free): New declarations.
85964         * lib/uninorm/uninorm-filter.c: New file.
85965         * modules/uninorm/filter: New file.
85967 2009-02-21  Bruno Haible  <bruno@clisp.org>
85969         Tests for module 'uninorm/nfkc'.
85970         * tests/uninorm/test-nfkc.c: New file.
85971         * tests/uninorm/test-u8-nfkc.c: New file.
85972         * tests/uninorm/test-u16-nfkc.c: New file.
85973         * tests/uninorm/test-u32-nfkc.c: New file.
85974         * tests/uninorm/test-u32-nfkc-big.sh: New file.
85975         * tests/uninorm/test-u32-nfkc-big.c: New file.
85976         * modules/uninorm/nfkc-tests: New file.
85978         New module 'uninorm/nfkc'.
85979         * lib/uninorm/nfkc.c: New file.
85980         * modules/uninorm/nfkc: New file.
85982         Tests for module 'uninorm/nfkd'.
85983         * tests/uninorm/test-nfkd.c: New file.
85984         * tests/uninorm/test-u8-nfkd.c: New file.
85985         * tests/uninorm/test-u16-nfkd.c: New file.
85986         * tests/uninorm/test-u32-nfkd.c: New file.
85987         * tests/uninorm/test-u32-nfkd-big.sh: New file.
85988         * tests/uninorm/test-u32-nfkd-big.c: New file.
85989         * modules/uninorm/nfkd-tests: New file.
85991         New module 'uninorm/nfkd'.
85992         * lib/uninorm/nfkd.c: New file.
85993         * modules/uninorm/nfkd: New file.
85995         Tests for module 'uninorm/nfc'.
85996         * tests/uninorm/test-nfc.c: New file.
85997         * tests/uninorm/test-u8-nfc.c: New file.
85998         * tests/uninorm/test-u16-nfc.c: New file.
85999         * tests/uninorm/test-u32-nfc.c: New file.
86000         * tests/uninorm/test-u32-nfc-big.sh: New file.
86001         * tests/uninorm/test-u32-nfc-big.c: New file.
86002         * modules/uninorm/nfc-tests: New file.
86004         New module 'uninorm/nfc'.
86005         * lib/uninorm/nfc.c: New file.
86006         * modules/uninorm/nfc: New file.
86008         Tests for module 'uninorm/nfd'.
86009         * tests/uninorm/test-nfd.c: New file.
86010         * tests/uninorm/test-u8-nfd.c: New file.
86011         * tests/uninorm/test-u16-nfd.c: New file.
86012         * tests/uninorm/test-u32-nfd.c: New file.
86013         * tests/uninorm/test-u32-nfd-big.sh: New file.
86014         * tests/uninorm/test-u32-nfd-big.c: New file.
86015         * tests/uninorm/test-u32-normalize-big.h: New file.
86016         * tests/uninorm/test-u32-normalize-big.c: New file.
86017         * tests/uninorm/NormalizationTest.txt: New file, created from
86018         Unicode 5.1.0 NormalizationTest.txt.
86019         * modules/uninorm/nfd-tests: New file.
86021         New module 'uninorm/nfd'.
86022         * lib/uninorm/nfd.c: New file.
86023         * modules/uninorm/nfd: New file.
86025         New module 'uninorm/u32-normalize'.
86026         * lib/uninorm/u32-normalize.c: New file.
86027         * modules/uninorm/u32-normalize: New file.
86029         New module 'uninorm/u16-normalize'.
86030         * lib/uninorm/u16-normalize.c: New file.
86031         * modules/uninorm/u16-normalize: New file.
86033         New module 'uninorm/u8-normalize'.
86034         * lib/uninorm/u8-normalize.c: New file.
86035         * lib/uninorm/normalize-internal.h: New file.
86036         * lib/uninorm/u-normalize-internal.h: New file.
86037         * modules/uninorm/u8-normalize: New file.
86039         New module 'uninorm/decompose-internal'.
86040         * lib/uninorm/decompose-internal.c: New file.
86041         * modules/uninorm/decompose-internal: New file.
86043         Tests for module 'uninorm/composition'.
86044         * tests/uninorm/test-composition.c: New file.
86045         * modules/uninorm/composition-tests: New file.
86047         New module 'uninorm/composition'.
86048         * lib/uninorm/composition.c: New file.
86049         * lib/uninorm/composition-table.gperf: New file, generated by
86050         gen-uni-tables.
86051         * modules/uninorm/composition: New file.
86053         Tests for module 'uninorm/compat-decomposition'.
86054         * tests/uninorm/test-compat-decomposition.c: New file.
86055         * modules/uninorm/compat-decomposition-tests: New file.
86057         New module 'uninorm/compat-decomposition'.
86058         * lib/uninorm/decompose-internal.h: New file.
86059         * lib/uninorm/compat-decomposition.c: New file.
86060         * modules/uninorm/compat-decomposition: New file.
86062         Tests for module 'uninorm/canonical-decomposition'.
86063         * tests/uninorm/test-canonical-decomposition.c: New file.
86064         * modules/uninorm/canonical-decomposition-tests: New file.
86066         New module 'uninorm/canonical-decomposition'.
86067         * lib/uninorm/canonical-decomposition.c: New file.
86068         * modules/uninorm/canonical-decomposition: New file.
86070         Tests for module 'uninorm/decomposition'.
86071         * tests/uninorm/test-decomposition.c: New file.
86072         * modules/uninorm/decomposition-tests: New file.
86074         New module 'uninorm/decomposition'.
86075         * lib/uninorm/decomposition.c: New file.
86076         * modules/uninorm/decomposition: New file.
86078         New module 'uninorm/decomposition-table'.
86079         * lib/uninorm/decomposition-table.h: New file.
86080         * lib/uninorm/decomposition-table.c: New file.
86081         * lib/uninorm/decomposition-table1.h: New file, generated by
86082         gen-uni-tables.
86083         * lib/uninorm/decomposition-table2.h: New file, generated by
86084         gen-uni-tables.
86085         * modules/uninorm/decomposition-table: New file.
86087         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
86088         (UC_DECOMP_*): New enumeration items.
86089         (get_decomposition): New function.
86090         (struct decomp_table): New type.
86091         (output_decomposition, output_decomposition_tables): New functions.
86092         (unicode_composition_exclusions): New variable.
86093         (fill_composition_exclusions, debug_output_composition_tables): New
86094         functions.
86095         (main): Accept one more argument. Invoke fill_composition_exclusions.
86096         Output decomposition and composition tables.
86098         New module 'uninorm/base'.
86099         * lib/uninorm.h: New file.
86100         * lib/unictype.h: Update comment.
86101         * modules/uninorm/base: New file.
86103 2009-02-21  David Lutterkort  <lutter@redhat.com>
86105         Tests for module 'safe-alloc'.
86106         * tests/test-safe-alloc.c: New file.
86107         * modules/safe-alloc-tests: New file.
86109         New module 'safe-alloc'.
86110         * lib/safe-alloc.h: New file.
86111         * lib/safe-alloc.c: New file.
86112         * m4/safe-alloc.m4: New file.
86113         * modules/safe-alloc: New file.
86114         * doc/safe-alloc.texi: New file.
86115         * doc/gnulib.texi: Include it.
86116         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
86117         safe-alloc.
86119 2009-02-18  Bruno Haible  <bruno@clisp.org>
86121         Fix link error on non-glibc systems.
86122         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
86123         variable.
86124         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
86126 2009-02-18  Jim Meyering  <meyering@redhat.com>
86128         fts: avoid used-uninitialized error due to recent change
86129         * lib/fts.c (fts_read): Guard uses of the new member,
86130         parent->fts_n_dirs_remaining, since it's not relevant for
86131         the parent of a directory specified on the command-line.
86133 2009-02-17  James Youngman  <jay@gnu.org>
86134             Bruno Haible  <bruno@clisp.org>
86136         * m4/include_next.m4: Reformulate comment.
86138 2009-02-16  Jim Meyering  <meyering@redhat.com>
86140         fts: add #if guards so that the fts_lgpl module still builds
86141         * lib/fts.c: Guard just-added hash-table-using parts with
86142         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
86143         Reported by Simon Josefsson.
86145 2009-02-15  Bruno Haible  <bruno@clisp.org>
86147         * modules/array-mergesort-tests: New file.
86148         * tests/test-array-mergesort.c: New file.
86150         New module 'array-mergesort'.
86151         * modules/array-mergesort: New file.
86152         * lib/array-mergesort.h: New file.
86154 2009-02-15  Bruno Haible  <bruno@clisp.org>
86156         Fix 2009-02-07 commit.
86157         * lib/gen-uni-tables.c (output_predicate, output_category,
86158         output_combclass, output_bidi_category, output_decimal_digit,
86159         output_digit, output_numeric, output_mirror, output_scripts,
86160         output_ident_category, output_simple_mapping): Fix format directives.
86161         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
86163 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
86165         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
86166         fixes are available from IBM.
86168 2009-02-13  Jim Meyering  <meyering@redhat.com>
86170         fts: arrange not to stat non-directories in more cases
86171         This makes GNU find (when it doesn't need to stat each file)
86172         *much* more efficient at traversing reiserfs file systems.
86173         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
86174         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
86175         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
86176         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
86177         (leaf_optimization_applies): New function.
86178         (LCO_hash, LCO_compare): New helper functions.
86179         (link_count_optimize_ok): New function.
86180         (fts_stat): Initialize new member (if dir).
86181         (fts_read): Decrement parent's fts_n_dirs_remaining count if
86182         we've just stat'ed a directory.  Skip the stat call when possible.
86183         ---
86184         Note this AFS-related exchange:
86185         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
86186         and note find's pioctl call in find/fstype.c.
86187         But that is necessary only if you want to enable the
86188         optimization for AFS, and for now, I don't.
86190         fts: move a function definition "up" (no semantic change)
86191         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
86192         "up" to precede upcoming use of a related function.
86194 2009-02-11  Jim Meyering  <meyering@redhat.com>
86196         fts: correct internal computation of nlinks (optimization-related)
86197         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
86198         whether the current entry is a directory, so don't test it.
86200 2009-02-10  Bruno Haible  <bruno@clisp.org>
86202         Tests for module 'uniwbrk/ulc-wordbreaks'.
86203         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
86204         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
86205         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
86207         Tests for module 'uniwbrk/u32-wordbreaks'.
86208         * modules/uniwbrk/u32-wordbreaks-tests: New file.
86209         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
86211         Tests for module 'uniwbrk/u16-wordbreaks'.
86212         * modules/uniwbrk/u16-wordbreaks-tests: New file.
86213         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
86215         Tests for module 'uniwbrk/u8-wordbreaks'.
86216         * modules/uniwbrk/u8-wordbreaks-tests: New file.
86217         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
86219 2009-02-10  Bruno Haible  <bruno@clisp.org>
86221         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
86222         property.
86223         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
86224         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
86225         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
86227 2009-02-10  Simon Josefsson  <simon@josefsson.org>
86229         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
86230         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
86232 2009-02-10  Bruno Haible  <bruno@clisp.org>
86234         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
86235         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
86236         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
86237         * lib/unilbrk/u8-possible-linebreaks.c: Update.
86238         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
86239         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
86241 2009-02-09  Simon Josefsson  <simon@josefsson.org>
86243         * lib/sockets.h (gl_fd_to_handle): New function.
86245         * tests/test-sockets.c: Call gl_fd_to_handle.
86247 2009-02-09  Bruno Haible  <bruno@clisp.org>
86249         * doc/havelib.texi: Document the conventions on bi-arch systems.
86251 2009-02-08  Bruno Haible  <bruno@clisp.org>
86253         Document the AC_LIB_LINKFLAGS macro.
86254         * doc/havelib.texi: New file, mostly written on 2005-05-24.
86255         * doc/gnulib.texi: Include it.
86257 2009-02-08  Bruno Haible  <bruno@clisp.org>
86259         Fix wrong order of sections, compared to TOC.
86260         * doc/gnulib.texi: Include relocatable-maint.texi after the
86261         "Regular expressions" node, not before.
86263 2009-02-08  Bruno Haible  <bruno@clisp.org>
86265         Tests for module 'unicase/totitle'.
86266         * modules/unicase/totitle-tests: New file.
86268         Tests for module 'unicase/tolower'.
86269         * modules/unicase/tolower-tests: New file.
86271         Tests for module 'unicase/toupper'.
86272         * modules/unicase/toupper-tests: New file.
86273         * tests/unicase/test-mapping-part1.h: New file.
86274         * tests/unicase/test-mapping-part2.h: New file.
86276         New module 'unicase/totitle'.
86277         * modules/unicase/totitle: New file.
86278         * lib/unicase/totitle.c: New file.
86280         New module 'unicase/tolower'.
86281         * modules/unicase/tolower: New file.
86282         * lib/unicase/tolower.c: New file.
86284         New module 'unicase/toupper'.
86285         * modules/unicase/toupper: New file.
86286         * lib/unicase/toupper.c: New file.
86287         * lib/unicase/simple-mapping.h: New file.
86289         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
86290         (mapping_table): New structure.
86291         (output_simple_mapping): New function.
86292         (main): Invoke output_simple_mapping_test and output_simple_mapping.
86293         * modules/gen-uni-tables (Description): Update.
86294         * lib/unicase/toupper.h: New file, automatically generated by
86295         gen-uni-tables.
86296         * lib/unicase/tolower.h: New file, automatically generated by
86297         gen-uni-tables.
86298         * lib/unicase/totitle.h: New file, automatically generated by
86299         gen-uni-tables.
86300         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
86301         gen-uni-tables.
86302         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
86303         gen-uni-tables.
86304         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
86305         gen-uni-tables.
86307         New module 'unicase/base'.
86308         * modules/unicase/base: New file.
86309         * lib/unicase.h: New file.
86311 2009-02-08  Bruno Haible  <bruno@clisp.org>
86313         New module 'uniwbrk/ulc-wordbreaks'.
86314         * modules/uniwbrk/ulc-wordbreaks: New file.
86315         * lib/uniwbrk/ulc-wordbreaks.c: New file.
86317         New module 'uniwbrk/u32-wordbreaks'.
86318         * modules/uniwbrk/u32-wordbreaks: New file.
86319         * lib/uniwbrk/u32-wordbreaks.c: New file.
86321         New module 'uniwbrk/u16-wordbreaks'.
86322         * modules/uniwbrk/u16-wordbreaks: New file.
86323         * lib/uniwbrk/u16-wordbreaks.c: New file.
86325         New module 'uniwbrk/u8-wordbreaks'.
86326         * modules/uniwbrk/u8-wordbreaks: New file.
86327         * lib/uniwbrk/u8-wordbreaks.c: New file.
86328         * lib/uniwbrk/u-wordbreaks.h: New file.
86330         New module 'uniwbrk/table'.
86331         * modules/uniwbrk/table: New file.
86332         * lib/uniwbrk/wbrktable.h: New file.
86333         * lib/uniwbrk/wbrktable.c: New file.
86335         New module 'uniwbrk/wordbreak-property'.
86336         * modules/uniwbrk/wordbreak-property: New file.
86337         * lib/uniwbrk/wordbreak-property.c: New file.
86339         * lib/gen-uni-tables.c (WBP_*): New enum items.
86340         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
86341         (unicode_org_wbp): New variable.
86342         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
86343         New functions.
86344         (wbp_table): New structure.
86345         (output_wbp, output_wbrk_tables): New functions.
86346         (main): Accept additional argument. Invoke fill_org_wbp,
86347         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
86348         output_wbrk_tables.
86349         * modules/gen-uni-tables (Description): Update.
86350         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
86351         gen-uni-tables.
86353         New module 'uniwbrk/base'.
86354         * modules/uniwbrk/base: New file.
86355         * lib/uniwbrk.h: New file.
86357 2009-02-08  Bruno Haible  <bruno@clisp.org>
86359         Update to Unicode 5.1.0.
86360         * lib/gen-uni-tables.c (is_property_alphabetic): Include
86361         U+2185..U+2188.
86362         (is_property_default_ignorable_code_point): Don't include characters
86363         of category Cc or Cs and not-a-characters.
86364         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
86365         U+0D79, U+109E, U+109F, U+A60C.
86366         * lib/unictype/bidi_of.h: Regenerated.
86367         * lib/unictype/blocks.h: Regenerated.
86368         * lib/unictype/categ_C.h: Regenerated.
86369         * lib/unictype/categ_Cf.h: Regenerated.
86370         * lib/unictype/categ_Cn.h: Regenerated.
86371         * lib/unictype/categ_L.h: Regenerated.
86372         * lib/unictype/categ_Ll.h: Regenerated.
86373         * lib/unictype/categ_Lm.h: Regenerated.
86374         * lib/unictype/categ_Lo.h: Regenerated.
86375         * lib/unictype/categ_Lu.h: Regenerated.
86376         * lib/unictype/categ_M.h: Regenerated.
86377         * lib/unictype/categ_Mc.h: Regenerated.
86378         * lib/unictype/categ_Me.h: Regenerated.
86379         * lib/unictype/categ_Mn.h: Regenerated.
86380         * lib/unictype/categ_N.h: Regenerated.
86381         * lib/unictype/categ_Nd.h: Regenerated.
86382         * lib/unictype/categ_Nl.h: Regenerated.
86383         * lib/unictype/categ_No.h: Regenerated.
86384         * lib/unictype/categ_P.h: Regenerated.
86385         * lib/unictype/categ_Pd.h: Regenerated.
86386         * lib/unictype/categ_Pe.h: Regenerated.
86387         * lib/unictype/categ_Pf.h: Regenerated.
86388         * lib/unictype/categ_Pi.h: Regenerated.
86389         * lib/unictype/categ_Po.h: Regenerated.
86390         * lib/unictype/categ_Ps.h: Regenerated.
86391         * lib/unictype/categ_S.h: Regenerated.
86392         * lib/unictype/categ_Sk.h: Regenerated.
86393         * lib/unictype/categ_Sm.h: Regenerated.
86394         * lib/unictype/categ_So.h: Regenerated.
86395         * lib/unictype/categ_of.h: Regenerated.
86396         * lib/unictype/combining.h: Regenerated.
86397         * lib/unictype/ctype_alnum.h: Regenerated.
86398         * lib/unictype/ctype_alpha.h: Regenerated.
86399         * lib/unictype/ctype_graph.h: Regenerated.
86400         * lib/unictype/ctype_lower.h: Regenerated.
86401         * lib/unictype/ctype_print.h: Regenerated.
86402         * lib/unictype/ctype_punct.h: Regenerated.
86403         * lib/unictype/ctype_upper.h: Regenerated.
86404         * lib/unictype/decdigit.h: Regenerated.
86405         * lib/unictype/digit.h: Regenerated.
86406         * lib/unictype/mirror.h: Regenerated.
86407         * lib/unictype/numeric.h: Regenerated.
86408         * lib/unictype/pr_alphabetic.h: Regenerated.
86409         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
86410         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
86411         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
86412         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
86413         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
86414         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
86415         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
86416         * lib/unictype/pr_combining.h: Regenerated.
86417         * lib/unictype/pr_dash.h: Regenerated.
86418         * lib/unictype/pr_decimal_digit.h: Regenerated.
86419         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
86420         * lib/unictype/pr_deprecated.h: Regenerated.
86421         * lib/unictype/pr_diacritic.h: Regenerated.
86422         * lib/unictype/pr_extender.h: Regenerated.
86423         * lib/unictype/pr_format_control.h: Regenerated.
86424         * lib/unictype/pr_grapheme_base.h: Regenerated.
86425         * lib/unictype/pr_grapheme_extend.h: Regenerated.
86426         * lib/unictype/pr_grapheme_link.h: Regenerated.
86427         * lib/unictype/pr_id_continue.h: Regenerated.
86428         * lib/unictype/pr_id_start.h: Regenerated.
86429         * lib/unictype/pr_ideographic.h: Regenerated.
86430         * lib/unictype/pr_ignorable_control.h: Regenerated.
86431         * lib/unictype/pr_lowercase.h: Regenerated.
86432         * lib/unictype/pr_math.h: Regenerated.
86433         * lib/unictype/pr_numeric.h: Regenerated.
86434         * lib/unictype/pr_other_alphabetic.h: Regenerated.
86435         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
86436         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
86437         * lib/unictype/pr_other_id_continue.h: Regenerated.
86438         * lib/unictype/pr_other_lowercase.h: Regenerated.
86439         * lib/unictype/pr_other_math.h: Regenerated.
86440         * lib/unictype/pr_punctuation.h: Regenerated.
86441         * lib/unictype/pr_sentence_terminal.h: Regenerated.
86442         * lib/unictype/pr_soft_dotted.h: Regenerated.
86443         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
86444         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
86445         * lib/unictype/pr_unified_ideograph.h: Regenerated.
86446         * lib/unictype/pr_uppercase.h: Regenerated.
86447         * lib/unictype/pr_xid_continue.h: Regenerated.
86448         * lib/unictype/pr_xid_start.h: Regenerated.
86449         * lib/unictype/pr_zero_width.h: Regenerated.
86450         * lib/unictype/scripts.h: Regenerated.
86451         * lib/unictype/scripts_byname.gperf: Regenerated.
86452         * lib/unictype/sy_java_ident.h: Regenerated.
86453         * lib/unilbrk/lbrkprop1.h: Regenerated.
86454         * lib/unilbrk/lbrkprop2.h: Regenerated.
86455         * tests/unictype/test-categ_C.c: Regenerated.
86456         * tests/unictype/test-categ_Cf.c: Regenerated.
86457         * tests/unictype/test-categ_Cn.c: Regenerated.
86458         * tests/unictype/test-categ_L.c: Regenerated.
86459         * tests/unictype/test-categ_Ll.c: Regenerated.
86460         * tests/unictype/test-categ_Lm.c: Regenerated.
86461         * tests/unictype/test-categ_Lo.c: Regenerated.
86462         * tests/unictype/test-categ_Lu.c: Regenerated.
86463         * tests/unictype/test-categ_M.c: Regenerated.
86464         * tests/unictype/test-categ_Mc.c: Regenerated.
86465         * tests/unictype/test-categ_Me.c: Regenerated.
86466         * tests/unictype/test-categ_Mn.c: Regenerated.
86467         * tests/unictype/test-categ_N.c: Regenerated.
86468         * tests/unictype/test-categ_Nd.c: Regenerated.
86469         * tests/unictype/test-categ_Nl.c: Regenerated.
86470         * tests/unictype/test-categ_No.c: Regenerated.
86471         * tests/unictype/test-categ_P.c: Regenerated.
86472         * tests/unictype/test-categ_Pd.c: Regenerated.
86473         * tests/unictype/test-categ_Pe.c: Regenerated.
86474         * tests/unictype/test-categ_Pf.c: Regenerated.
86475         * tests/unictype/test-categ_Pi.c: Regenerated.
86476         * tests/unictype/test-categ_Po.c: Regenerated.
86477         * tests/unictype/test-categ_Ps.c: Regenerated.
86478         * tests/unictype/test-categ_S.c: Regenerated.
86479         * tests/unictype/test-categ_Sk.c: Regenerated.
86480         * tests/unictype/test-categ_Sm.c: Regenerated.
86481         * tests/unictype/test-categ_So.c: Regenerated.
86482         * tests/unictype/test-ctype_alnum.c: Regenerated.
86483         * tests/unictype/test-ctype_alpha.c: Regenerated.
86484         * tests/unictype/test-ctype_graph.c: Regenerated.
86485         * tests/unictype/test-ctype_lower.c: Regenerated.
86486         * tests/unictype/test-ctype_print.c: Regenerated.
86487         * tests/unictype/test-ctype_punct.c: Regenerated.
86488         * tests/unictype/test-ctype_upper.c: Regenerated.
86489         * tests/unictype/test-decdigit.h: Regenerated.
86490         * tests/unictype/test-digit.h: Regenerated.
86491         * tests/unictype/test-numeric.h: Regenerated.
86492         * tests/unictype/test-pr_alphabetic.c: Regenerated.
86493         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
86494         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
86495         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
86496         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
86497         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
86498         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
86499         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
86500         * tests/unictype/test-pr_combining.c: Regenerated.
86501         * tests/unictype/test-pr_dash.c: Regenerated.
86502         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
86503         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
86504         * tests/unictype/test-pr_deprecated.c: Regenerated.
86505         * tests/unictype/test-pr_diacritic.c: Regenerated.
86506         * tests/unictype/test-pr_extender.c: Regenerated.
86507         * tests/unictype/test-pr_format_control.c: Regenerated.
86508         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
86509         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
86510         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
86511         * tests/unictype/test-pr_id_continue.c: Regenerated.
86512         * tests/unictype/test-pr_id_start.c: Regenerated.
86513         * tests/unictype/test-pr_ideographic.c: Regenerated.
86514         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
86515         * tests/unictype/test-pr_lowercase.c: Regenerated.
86516         * tests/unictype/test-pr_math.c: Regenerated.
86517         * tests/unictype/test-pr_numeric.c: Regenerated.
86518         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
86519         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
86520         Regenerated.
86521         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
86522         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
86523         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
86524         * tests/unictype/test-pr_other_math.c: Regenerated.
86525         * tests/unictype/test-pr_punctuation.c: Regenerated.
86526         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
86527         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
86528         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
86529         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
86530         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
86531         * tests/unictype/test-pr_uppercase.c: Regenerated.
86532         * tests/unictype/test-pr_xid_continue.c: Regenerated.
86533         * tests/unictype/test-pr_xid_start.c: Regenerated.
86534         * tests/unictype/test-pr_zero_width.c: Regenerated.
86536         Update to Unicode 5.1.0.
86537         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
86538         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
86539         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
86540         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
86541         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
86542         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
86543         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
86544         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
86545         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
86546         (nonspacing_table_ind): Update.
86547         * tests/uniwidth/test-uc_width2.sh: Update expected result.
86549         Update to Unicode 5.1.0.
86550         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
86551         code transform.
86552         * lib/uniname/uniname.c (unicode_character_name,
86553         unicode_name_character): Add the range 0x1Fxxx to the code transform.
86554         * lib/uniname/uninames.h: Regenerated.
86555         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
86557 2009-02-07  Bruno Haible  <bruno@clisp.org>
86559         Merge gen-ctype and gen-lbrk into a single program.
86560         * lib/gen-uni-tables.c: New file, incorporating
86561         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
86562         Add directory prefixes to the names of the generated files.
86563         * lib/unictype/gen-ctype.c: Remove file.
86564         * lib/unilbrk/gen-lbrk.c: Remove file.
86565         * modules/gen-uni-tables: New file.
86566         * modules/unictype/gen-ctype: Remove file.
86567         * modules/unilbrk/gen-lbrk: Remove file.
86569 2009-02-07  Bruno Haible  <bruno@clisp.org>
86571         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
86573         New module 'unistr/u32-strcoll'.
86574         * modules/unistr/u32-strcoll: New file.
86575         * lib/unistr/u32-strcoll.c: New file.
86577         New module 'unistr/u16-strcoll'.
86578         * modules/unistr/u16-strcoll: New file.
86579         * lib/unistr/u16-strcoll.c: New file.
86581         New module 'unistr/u8-strcoll'.
86582         * modules/unistr/u8-strcoll: New file.
86583         * lib/unistr/u8-strcoll.c: New file.
86584         * lib/unistr/u-strcoll.h: New file.
86586 2009-02-07  Bruno Haible  <bruno@clisp.org>
86588         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
86589         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
86590         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
86591         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
86592         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
86593         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
86595 2009-02-07  Bruno Haible  <bruno@clisp.org>
86597         Make 64-bit clean.
86598         * lib/unictype/gen-ctype.c (output_predicate, output_category,
86599         output_combclass, output_bidi_category, output_decimal_digit,
86600         output_digit, output_numeric, output_mirror, output_scripts,
86601         output_ident_category): Use proper width specifier in format strings.
86603 2009-02-07  Bruno Haible  <bruno@clisp.org>
86605         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
86606         failure behaviour.
86608 2009-02-07  Jim Meyering  <meyering@redhat.com>
86610         regex: avoid compilation failure with upcoming gcc-4.4
86611         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
86612         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
86613         "... error: integer overflow in preprocessor expression".
86615 2009-02-05  Ben Pfaff  <blp@gnu.org>
86617         Fix link errors on Windows when close module is used.
86618         * modules/close: Add $(LIB_CLOSE) to Link section.
86619         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
86620         $(LIB_CLOSE) on Windows.
86622 2009-02-05  Jim Meyering  <meyering@redhat.com>
86624         still avoid unused-parameter warnings, but do it cleanly
86625         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
86626         (get_fs_usage): Cast to void instead.
86627         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
86628         (dev_from_mount_options, read_file_system_list): Cast to void.
86629         Prompted by Bruno Haible.
86631 2009-02-04  Jim Meyering  <meyering@redhat.com>
86633         fsusage.c: correct copyright year
86634         * lib/fsusage.c: Reflect year in which the change is pushed into
86636         avoid misc. warnings
86637         * lib/fsusage.c (UNUSED_PARAM): Define.
86638         (get_fs_usage): Mark parameter "disk" as unused.
86639         * lib/getugroups.c (getgrent): Use "void" in prototype.
86640         * lib/mountlist.c: Mark unused parameters.
86641         (read_file_system_list): Declare a local with "const".
86642         * lib/nanosleep.c (getnow): Declare static.
86643         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
86645         dirfd: set errno upon failure
86646         * lib/dirfd.c: Include <errno.h>.
86647         Set errno to ENOTSUP when returning -1.
86648         * modules/dirfd (Depends-on): Add errno.
86649         Suggested by John Kodis <kodis@comcast.net>.
86651 2009-02-01  Bruno Haible  <bruno@clisp.org>
86653         Don't assume sizeof (long) >= sizeof (void *).
86654         * lib/memcmp.c: Include stdint.h.
86655         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
86656         srcp2 to 'const byte *'.
86657         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
86658         types to uintptr_t.
86659         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
86660         * modules/memcmp (Depends-on): Add stdint.
86661         Reported by Ozkan Sezer <sezeroz@gmail.com>.
86663 2009-01-30  Eric Blake  <ebb9@byu.net>
86665         fix more require-before-expand issues
86666         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
86667         expand, AC_PROG_AWK.
86668         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
86670 2009-01-28  Eric Blake  <ebb9@byu.net>
86672         version-etc: use consistent URL formatting
86673         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
86674         Improve formatting.  Use fputs for string without %.
86676 2009-01-28  Jim Meyering  <meyering@redhat.com>
86678         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
86679         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
86680         "underquoted definition of NAME" from autoconf-2.59.
86682 2009-01-28  Bruno Haible  <bruno@clisp.org>
86684         * doc/gnulib.texi: Add "Obsolete modules" to index.
86686 2009-01-28  Jim Meyering  <meyering@redhat.com>
86688         useless-if-before-free: recognize more variants
86689         * build-aux/useless-if-before-free: Also recognize e.g.,
86690         if (NULL != p) free (p);
86692 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
86694         test-getaddrinfo: skip (don't fail) this test when there's no network
86695         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
86696         on the presumption that it means you lack network access.
86698 2009-01-26  Jim Meyering  <meyering@redhat.com>
86700         fflush: avoid warnings on modern systems
86701         * lib/fflush.c (rpl_fflush): Move declarations of locals,
86702         pos and result, into scopes where they're used.
86704 2009-01-26  Eric Blake  <ebb9@byu.net>
86706         Silence warning reintroduced by recent extensions patch.
86707         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
86708         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
86709         autoconf.
86711         Backport improved autoconf semantics of AC_DEFUN_ONCE.
86712         * m4/00gnulib.m4: New file.
86713         * gnulib-tool (func_get_filelist): Always use it.
86714         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
86715         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
86717 2009-01-25  Bruno Haible  <bruno@clisp.org>
86719         Make test-quotearg work on MacOS X and AIX.
86720         * tests/test-quotearg.sh: New file.
86721         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
86722         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
86723         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
86724         include <libintl.h>.
86725         (fake_locale): Remove variable.
86726         (gettext, dgettext, dcgettext): Remove functions.
86727         (main): Instead of setting a fake locale, set a real locale. Call
86728         textdomain and bindtextdomain.
86729         * modules/quotearg-tests (Files): Add the new files.
86730         (Depends-on): Add gettext, setenv, unsetenv.
86731         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
86732         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
86733         Augment TESTS_ENVIRONMENT.
86735 2009-01-25  Bruno Haible  <bruno@clisp.org>
86737         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
86738         fr_FR.ISO8859-1 locale on MacOS X.
86739         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
86740         ja_JP.eucJP locale on MacOS X.
86741         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
86742         zh_CN.GB18030 locale on MacOS X.
86744 2009-01-25  Bruno Haible  <bruno@clisp.org>
86746         Avoid link errors on MacOS X 10.3.
86747         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
86748         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
86750 2009-01-25  Bruno Haible  <bruno@clisp.org>
86752         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
86753         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
86754         * modules/pipe (Files): Remove m4/posix_spawn.m4.
86755         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
86756         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
86757         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
86758         posix_spawnattr_init, posix_spawnattr_setsigmask,
86759         posix_spawnattr_setflags, posix_spawnattr_destroy.
86761         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
86762         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
86763         * modules/execute (Files): Remove m4/posix_spawn.m4.
86764         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
86765         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
86766         posix_spawnattr_init, posix_spawnattr_setsigmask,
86767         posix_spawnattr_setflags, posix_spawnattr_destroy.
86769 2009-01-25  Bruno Haible  <bruno@clisp.org>
86771         * lib/glthread/threadlib.c: Include <stdlib.h>.
86773 2009-01-25  Bruno Haible  <bruno@clisp.org>
86775         * lib/glthread/threadlib.c (dummy): New declaration.
86777 2009-01-25  Bruno Haible  <bruno@clisp.org>
86779         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
86780         multibyte characters also for the GB18030 encoding. Don't crash when
86781         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
86783 2009-01-25  Bruno Haible  <bruno@clisp.org>
86785         Avoid redefining 'struct random_data' on OSF/1 5.1.
86786         * lib/stdlib.in.h: Include <random.h> if it exists.
86787         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
86788         HAVE_RANDOM_H. Include <random.h> when testing whether
86789         'struct random_data' exists.
86790         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
86792 2009-01-25  Bruno Haible  <bruno@clisp.org>
86794         Don't install charset.alias on MacOS X >= 10.3.
86795         * lib/localcharset.c (DARWIN7): New macro.
86796         (get_charset_aliases): Hardcode the result for Darwin7.
86797         * modules/localcharset (install-exec-local): Don't install
86798         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
86800 2009-01-25  Bruno Haible  <bruno@clisp.org>
86802         Don't install charset.alias on mingw and Cygwin.
86803         * modules/localcharset (install-exec-local): Don't install
86804         charset.alias on mingw and Cygwin, if the file does not yet exist.
86805         The result for these platforms is hardcoded in localcharset.c.
86807 2009-01-25  Bruno Haible  <bruno@clisp.org>
86809         Make it possible again to use AC_GNU_SOURCE together with gnulib.
86810         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
86811         before requiring AC_USE_SYSTEM_EXTENSIONS.
86813 2009-01-25  Jim Meyering  <meyering@redhat.com>
86815         c-strtod: avoid warnings
86816         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
86817         "assignment discards qualifiers from pointer target type" warnings.
86819 2009-01-24  Bruno Haible  <bruno@clisp.org>
86821         Add support for non-UTF-8 locales on MacOS X.
86822         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
86823         canonical encodings. For Darwin 7 and newer, don't map traditional
86824         encodings to UTF-8.
86825         Reported by Vincent Lefevre <vincent@vinc17.org>
86826         at <http://savannah.gnu.org/bugs/?25235>.
86828 2009-01-24  Bruno Haible  <bruno@clisp.org>
86830         * doc/gnulib.texi (Obsolete modules): New section.
86831         Reported by Mike Frysinger <vapier@gentoo.org>.
86833 2009-01-24  Bruno Haible  <bruno@clisp.org>
86835         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
86836         (%.dvi): New rule.
86838 2009-01-24  Bruno Haible  <bruno@clisp.org>
86840         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
86841         Reported by Eric Blake.
86843 2009-01-24  Bruno Haible  <bruno@clisp.org>
86845         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
86846         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
86847         Reported by Gary V. Vaughan <gary@gnu.org>.
86849 2009-01-24  Bruno Haible  <bruno@clisp.org>
86851         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
86853 2009-01-23  Bruno Haible  <bruno@clisp.org>
86855         Make c-strtod, c-strtold usable in libraries.
86856         * lib/c-strtod.c: Include string.h instead of xalloc.h.
86857         (C_STRTOD): Call strdup instead of xstrdup.
86858         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
86859         * modules/c-strtold (Depends-on): Likewise.
86860         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
86861         * NEWS: Mention the change.
86862         Reported by Michael Gold <mgold@ncf.ca>.
86864 2009-01-23  Jim Meyering  <meyering@redhat.com>
86866         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
86867         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
86868         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
86870 2009-01-23  Simon Josefsson  <simon@josefsson.org>
86872         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
86873         GNU CoreUtils.
86874         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
86875         * modules/version-etc (Description): Update.
86877 2009-01-22  Bruno Haible  <bruno@clisp.org>
86879         Cache the C locale object.
86880         * lib/c-strtod.c (c_locale_cache): New variable.
86881         (c_locale): New function.
86882         (C_STRTOD): Use it, and don't call freelocale.
86883         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
86884         Suggested by Paolo Bonzini.
86886 2009-01-21  Bruno Haible  <bruno@clisp.org>
86888         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
86889         conditions other than overflow.
86891 2009-01-21  Bruno Haible  <bruno@clisp.org>
86893         * lib/c-strtod.c: Include errno.h.
86894         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
86895         value from STRTOD_L and STRTOD.
86897 2009-01-21  Bruno Haible  <bruno@clisp.org>
86898         and Jim Meyering  <meyering@redhat.com>
86900         nanosleep: skip configure test (fail it) for apple universal builds
86901         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
86902         universal builds, assume that nanosleep does not work.
86903         * modules/nanosleep (Depends-on): Add multiarch.
86905         mktime: skip configure test (fail it) for apple universal builds
86906         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
86907         universal builds, assume that mktime does not work.
86908         * modules/mktime (Depends-on): Add multiarch.
86910 2009-01-21  Eric Blake  <ebb9@byu.net>
86912         multiarch: avoid expand-before-require warning
86913         * modules/multiarch (configure.ac): Require, rather than expand,
86914         gl_MULTIARCH.
86915         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
86916         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
86917         enforce that all clients require it.  Partial reversion of
86918         2008-12-29 patch.
86920         error: avoid expand-before-require warning
86921         * modules/errno (configure.ac): Require, rather than expand,
86922         gl_HEADER_ERRNO_H.
86923         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
86924         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
86925         enforce that all clients require it.
86927         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
86928         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
86929         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
86930         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
86932 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
86934         Revert:
86935         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
86937         regex: do not depend on obsolete modules.
86938         * modules/regex: Remove memcmp and memmove.
86940 2009-01-20  Bruno Haible  <bruno@clisp.org>
86942         Make the 'link' module link on Windows NT 4.
86943         * lib/link.c (_WIN32_WINNT): Don't define.
86944         (CreateHardLinkFuncType): New type.
86945         (CreateHardLinkFunc, initialized): New variables.
86946         (initialize): New function.
86947         (link): Invoke CreateHardLink indirectly through the function pointer.
86949 2009-01-20  Bruno Haible  <bruno@clisp.org>
86951         Fix compilation failure on mingw.
86952         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
86954 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
86956         * doc/c-strtod.texi: Mention a couple of restrictions.
86958 2009-01-20  Jim Meyering  <meyering@redhat.com>
86960         gettimeofday: move more declarations out of functions
86961         * lib/gettimeofday.c: Move extern declarations of tzset and
86962         gmtime out of containing functions.  Prompted by Bruno Haible.
86964 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
86966         regex: do not depend on obsolete modules.
86967         * modules/regex: Remove memcmp and memmove.
86969 2009-01-19  Bruno Haible  <bruno@clisp.org>
86971         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
86972         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
86973         gl_BIGENDIAN, not AC_C_BIGENDIAN.
86974         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
86975         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
86977 2009-01-19  Bruno Haible  <bruno@clisp.org>
86979         * tests/test-link.c: Include <errno.h>.
86980         (main): Exit with code 77 when a hard link cannot be created due to
86981         the file system.
86982         * tests/test-link.sh: Skip test when a hard link cannot be created due
86983         to the file system.
86984         Suggested by Eric Blake.
86986 2009-01-19  Martin Lambers  <marlam@marlam.de>
86988         * modules/link-tests: New file.
86989         * tests/test-link.sh: New file.
86990         * tests/test-link.c: New file.
86992 2009-01-19  Eric Blake  <ebb9@byu.net>
86994         doc: mention another function added in cygwin 1.7.0
86995         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
86996         Another new function in cygwin 1.7.
86998 2009-01-19  Bruno Haible  <bruno@clisp.org>
87000         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
87001         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
87002         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
87003         gl_BIGENDIAN, not AC_C_BIGENDIAN.
87004         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
87005         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
87006         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
87007         * m4/md4.m4 (gl_MD4): Likewise.
87008         * m4/md5.m4 (gl_MD5): Likewise.
87009         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
87010         * m4/sha1.m4 (gl_SHA1): Likewise.
87011         * m4/sha256.m4 (gl_SHA256): Likewise.
87012         * m4/sha512.m4 (gl_SHA512): Likewise.
87014 2009-01-19  Bruno Haible  <bruno@clisp.org>
87016         * modules/uniname/uniname-tests (Depends-on): Add progname.
87017         * tests/uniname/test-uninames.c: Include progname.h.
87018         (main): Call set_program_name.
87020         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
87021         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
87022         (main): Call set_program_name.
87024         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
87025         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
87026         (main): Call set_program_name.
87028         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
87029         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
87030         (main): Call set_program_name.
87032         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
87033         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
87034         (main): Call set_program_name.
87036         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
87037         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
87038         (main): Call set_program_name.
87040         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
87041         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
87042         (main): Call set_program_name.
87044         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
87045         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
87046         (main): Call set_program_name.
87048         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
87049         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
87050         (main): Call set_program_name.
87052 2009-01-19  Eric Blake  <ebb9@byu.net>
87054         test-unistd: test previous patch
87055         * tests/test-unistd.c: Test *_FILENO macros.
87057         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
87058         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87059         Guarantee a definition.
87060         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
87061         * modules/unistd-safer (Depends-on): Add dependency on unistd.
87062         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
87063         * lib/dup-safer.c (STDERR_FILENO): Likewise.
87064         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87065         Likewise.
87066         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
87067         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
87068         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87069         Likewise.
87070         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
87071         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
87072         (STDERR_FILENO): Likewise.
87073         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
87074         (STDERR_FILENO): Likewise.
87075         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
87076         (STDERR_FILENO): Likewise.
87077         Reported by Elbert Pol.
87079 2009-01-19  Eric Blake  <ebb9@byu.net>
87081         doc: mention more functions added in cygwin 1.7.0
87082         * doc/posix-functions/abort.texi (abort): Update wording related
87083         to cygwin.
87084         * doc/posix-functions/daylight.texi (daylight): Likewise.
87085         * doc/posix-functions/optarg.texi (optarg): Likewise.
87086         * doc/posix-functions/optarg.texi (opterr): Likewise.
87087         * doc/posix-functions/optarg.texi (optind): Likewise.
87088         * doc/posix-functions/optarg.texi (optopt): Likewise.
87089         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
87090         worked in 1.5.x, and was withdrawn in 1.7.
87091         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
87092         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
87093         cygwin versions.
87094         * doc/posix-functions/perror.texi (perror): Likewise.
87095         * doc/posix-functions/printf.texi (printf): Likewise.
87096         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
87097         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
87098         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
87099         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
87100         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
87101         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
87102         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
87103         Likewise.
87104         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
87105         Likewise.
87106         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
87107         this function.
87108         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
87109         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
87110         Likewise.
87111         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
87112         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
87113         * doc/posix-functions/confstr.texi (confstr): Likewise.
87114         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
87115         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
87116         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
87117         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
87118         * doc/posix-functions/fputws.texi (fputws): Likewise.
87119         * doc/posix-functions/fwide.texi (fwide): Likewise.
87120         * doc/posix-functions/getwc.texi (getwc): Likewise.
87121         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
87122         * doc/posix-functions/putwc.texi (putwc): Likewise.
87123         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
87124         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
87125         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
87126         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
87127         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
87128         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
87129         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
87130         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
87131         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
87132         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
87133         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
87135 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
87137         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
87138         * lib/ioctl.c: Include <sys/ioctl.h>.
87140 2009-01-19  Simon Josefsson  <simon@josefsson.org>
87142         * modules/getdate-tests (Depends-on): Add progname.
87143         * tests/test-getdate.c: Use progname module, to avoid link errors
87144         on non-glibc systems.
87146 2009-01-18  Simon Josefsson  <simon@josefsson.org>
87148         * modules/filenamecat-tests (Depends-on): Add progname.
87149         * modules/fstrcmp-tests (Depends-on): Likewise.
87151         * tests/test-filenamecat.c: Use progname module, to avoid link
87152         errors on non-glibc systems.
87153         * tests/test-fstrcmp.c: Likewise.
87155 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
87157         gettimeofday: avoid warning: nested extern declaration of 'localtime'
87158         * lib/gettimeofday.c: Move extern declaration out of function.
87160 2009-01-18  Bruno Haible  <bruno@clisp.org>
87162         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
87163         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
87164         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
87166 2009-01-18  Bruno Haible  <bruno@clisp.org>
87168         * lib/strftime.c (MEMPCPY): Remove unused macro.
87169         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
87171 2009-01-18  Martin Lambers  <marlam@marlam.de>
87173         New module 'link'.
87174         * lib/unistd.in.h (link): New declaration.
87175         * lib/link.c: New file.
87176         * m4/link.m4: New file.
87177         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
87178         HAVE_LINK.
87179         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
87180         * modules/link: New file.
87181         * doc/posix-functions/link.texi: Mention the new module.
87183 2009-01-18  Bruno Haible  <bruno@clisp.org>
87185         * tests/test-avltree_list.c (main): Call set_program_name.
87186         * tests/test-avltree_oset.c (main): Likewise.
87187         * tests/test-obstack-printf.c: Include progname.h.
87188         (main): Call set_program_name.
87189         * tests/test-quotearg.c: Include progname.h.
87190         (main): Call set_program_name.
87191         * tests/test-xmemdup0.c: Include progname.h.
87192         (main): Call set_program_name.
87194 2009-01-18  Bruno Haible  <bruno@clisp.org>
87196         New module 'alphasort'.
87197         * lib/dirent.in.h (alphasort): New declaration.
87198         * lib/alphasort.c: New file, from glibc with modifications.
87199         * m4/alphasort.m4: New file.
87200         * modules/alphasort: New file.
87201         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
87202         HAVE_ALPHASORT.
87203         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
87204         HAVE_ALPHASORT.
87205         * doc/posix-functions/alphasort.texi: Mention the new module and the
87206         portability problems.
87208 2009-01-18  Bruno Haible  <bruno@clisp.org>
87210         New module 'scandir'.
87211         * lib/dirent.in.h (scandir): New declaration.
87212         * lib/scandir.c: New file, from glibc with modifications.
87213         * m4/scandir.m4: New file.
87214         * modules/scandir: New file.
87215         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
87216         HAVE_SCANDIR.
87217         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
87218         HAVE_SCANDIR.
87219         * doc/posix-functions/scandir.texi: Mention the new module and the
87220         portability problems.
87222 2009-01-17  Bruno Haible  <bruno@clisp.org>
87224         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
87225         Update documentation.
87226         (func_remove_suffix): Escape all dots in the suffix. Update
87227         documentation.
87228         (func_filter_filelist): Update documentation.
87229         Reported by Ralf Wildenhues.
87231 2009-01-17  Bruno Haible  <bruno@clisp.org>
87233         * modules/dprintf-posix-tests: New file.
87234         * tests/test-dprintf-posix.sh: New file.
87235         * tests/test-dprintf-posix.c: New file.
87237         New modules 'dprintf', 'dprintf-posix'.
87238         * lib/stdio.in.h (dprintf): New declaration.
87239         * lib/dprintf.c: New file.
87240         * m4/dprintf.m4: New file.
87241         * m4/dprintf-posix.m4: New file.
87242         * modules/dprintf: New file.
87243         * modules/dprintf-posix: New file.
87244         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
87245         HAVE_DPRINTF, REPLACE_DPRINTF.
87246         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
87247         HAVE_DPRINTF, REPLACE_DPRINTF.
87248         * doc/posix-functions/dprintf.texi: Mention the new modules.
87250 2009-01-17  Bruno Haible  <bruno@clisp.org>
87252         * modules/vdprintf-posix-tests: New file.
87253         * tests/test-vdprintf-posix.sh: New file.
87254         * tests/test-vdprintf-posix.c: New file.
87256         New modules 'vdprintf', 'vdprintf-posix'.
87257         * lib/stdio.in.h (vdprintf): New declaration.
87258         * lib/vdprintf.c: New file.
87259         * m4/vdprintf.m4: New file.
87260         * m4/vdprintf-posix.m4: New file.
87261         * modules/vdprintf: New file.
87262         * modules/vdprintf-posix: New file.
87263         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
87264         HAVE_VDPRINTF, REPLACE_VDPRINTF.
87265         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
87266         HAVE_VDPRINTF, REPLACE_VDPRINTF.
87267         * doc/posix-functions/vdprintf.texi: Mention the new modules.
87269 2009-01-17  Bruno Haible  <bruno@clisp.org>
87271         Fix replacement of fopen on mingw.
87272         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
87273         mingw.
87275 2009-01-17  Bruno Haible  <bruno@clisp.org>
87277         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
87278         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
87280 2009-01-17  Bruno Haible  <bruno@clisp.org>
87282         Avoid test-fflush2.sh failure on mingw.
87283         * tests/test-fflush2.c: Include binary-io.h.
87284         (main): Put standard input into binary mode.
87285         * modules/fflush-tests (Depends-on): Add binary-io.
87287 2009-01-17  Bruno Haible  <bruno@clisp.org>
87289         * lib/wchar.in.h: In another particular situation, include only the
87290         system's <wchar.h> file.
87291         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
87292         Reported by Albert Chin-A-Young <china@thewrittenword.com>
87293         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
87295 2009-01-17  Bruno Haible  <bruno@clisp.org>
87297         Support for stripping executables in --enable-relocatable.
87298         * build-aux/install-reloc: Expect one more argument, or an environment
87299         variable RELOC_STRIP_PROG. If set, strip the destination program and
87300         its wrapper.
87301         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
87302         RELOC_STRIP_PROG.
87303         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
87304         to set RELOCATABLE_STRIP.
87305         * NEWS: Mention the new Makefile requirement.
87307 2009-01-17  Bruno Haible  <bruno@clisp.org>
87309         * build-aux/install-reloc: Remove debugging information left over by
87310         C compiler on MacOS X.
87312 2009-01-17  Bruno Haible  <bruno@clisp.org>
87314         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
87315         * lib/progreloc.c (find_executable): Fix type of pointer passed to
87316         _NSGetExecutablePath.
87318 2009-01-16  Jim Meyering  <meyering@redhat.com>
87320         strerror: avoid warnings about discarding "const"
87321         * lib/strerror.c (rpl_strerror): Instead of returning a const
87322         string from each and every "case", use a variable, and add a single
87323         cast after the switch.
87325 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
87327         * lib/arpa_inet.in.h: Add extern "C" block for C++.
87329 2009-01-16  Bruno Haible  <bruno@clisp.org>
87331         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
87332         array initializer syntax that also works in C++ mode.
87333         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
87335 2009-01-16  Jim Meyering  <meyering@redhat.com>
87337         poll: suppress a warning
87338         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
87339         to ignore "...unsigned expression < 0 is always false" warnings.
87341 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
87343         poll: remove declarations of unused variables
87344         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
87345         sockbuf and optlen.
87347 2009-01-15  Bruno Haible  <bruno@clisp.org>
87349         Make fflush-after-ungetc POSIX compliant on BSD systems.
87350         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
87351         (clear_ungetc_buffer): Implement also for other systems.
87352         (rpl_fflush): On glibc systems, invoke
87353         clear_ungetc_buffer_preserving_position. Otherwise, invoke
87354         clear_ungetc_buffer after fetching the stream's position, not before.
87356 2009-01-15  Bruno Haible  <bruno@clisp.org>
87358         Make fflush-after-ungetc POSIX compliant on glibc systems.
87359         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
87360         after ungetc.
87361         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
87362         (rpl_fflush): On glibc systems, simply call the system's fflush
87363         function after clearing the ungetc buffer.
87364         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
87365         Instead, lseek only to the end of file, then use the system's fseeko
87366         for the rest. On glibc systems, reset the EOF indicator bit.
87368 2009-01-15  Jim Meyering  <meyering@redhat.com>
87370         openmp.m4: revert quote-adding change, for portability to older autoconf
87371         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
87372         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
87373         Simon Josefsson noticed the problem when using autoconf-2.61.
87375 2009-01-15  Bruno Haible  <bruno@clisp.org>
87377         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
87378         * tests/test-fflush2.c (ASSERT): Always fail.
87379         (main): Add two tests for fflush() after ungetc(), taking into account
87380         the Austin Group's clarification.
87381         Suggested by Eric Blake.
87383 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
87385         mktime.m4: remove K&R-style function prototypes
87386         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
87387         for the Sun C++ compiler.
87389 2009-01-14  Bruno Haible  <bruno@clisp.org>
87391         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
87392         while including <wchar.h>.
87393         * lib/wchar.in.h: In two particular situations on HP-UX, include only
87394         the system's <wchar.h> file.
87395         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
87397 2009-01-14  Bruno Haible  <bruno@clisp.org>
87399         * m4/csharp.m4: Don't mention gettext on the serial number line.
87400         * m4/csharpexec.m4: Likewise.
87401         * m4/eaccess.m4: Likewise.
87402         * m4/javaexec.m4: Likewise.
87403         * m4/sig_atomic_t.m4: Likewise.
87404         * m4/tmpdir.m4: Likewise.
87405         * m4/intldir.m4: Bump gettext version.
87406         * m4/lib-ld.m4: Likewise.
87408 2009-01-14  Bruno Haible  <bruno@clisp.org>
87410         * lib/progname.c (set_program_name): Add more comments.
87411         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
87413 2009-01-14  Simon Josefsson  <simon@josefsson.org>
87415         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
87416         were sys/stat.h does not define it.
87418 2009-01-14  Jim Meyering  <meyering@redhat.com>
87420         many *.m4 files: improve m4 quoting
87421         99% of this change was performed by running the following commands:
87422         git ls-files | grep '\.m4$' | xargs perl -pi \
87423           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
87424           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
87425           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
87426           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
87427         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
87428         The remainder were to add Copyright dates, increment serial numbers,
87429         undo some changes in comments, exclude m4/intl.m4, and add quotes
87430         around the "1" in ",1" where the unusual spacing prohibited the
87431         above regexps from doing the job.  For more details, see
87432         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
87433         * m4/acl.m4: Modified.
87434         * m4/afs.m4: Likewise.
87435         * m4/alloca.m4: Likewise.
87436         * m4/argp.m4: Likewise.
87437         * m4/argz.m4: Likewise.
87438         * m4/atexit.m4: Likewise.
87439         * m4/bison-i18n.m4: Likewise.
87440         * m4/bison.m4: Likewise.
87441         * m4/byteswap.m4: Likewise.
87442         * m4/c-stack.m4: Likewise.
87443         * m4/c-strtod.m4: Likewise.
87444         * m4/calloc.m4: Likewise.
87445         * m4/canonicalize-lgpl.m4: Likewise.
87446         * m4/chown.m4: Likewise.
87447         * m4/clock_time.m4: Likewise.
87448         * m4/codeset.m4: Likewise.
87449         * m4/copy-file.m4: Likewise.
87450         * m4/csharp.m4: Likewise.
87451         * m4/csharpcomp.m4: Likewise.
87452         * m4/csharpexec.m4: Likewise.
87453         * m4/d-ino.m4: Likewise.
87454         * m4/d-type.m4: Likewise.
87455         * m4/dirfd.m4: Likewise.
87456         * m4/double-slash-root.m4: Likewise.
87457         * m4/eaccess.m4: Likewise.
87458         * m4/eealloc.m4: Likewise.
87459         * m4/environ.m4: Likewise.
87460         * m4/errno_h.m4: Likewise.
87461         * m4/euidaccess.m4: Likewise.
87462         * m4/execute.m4: Likewise.
87463         * m4/fatal-signal.m4: Likewise.
87464         * m4/fchdir.m4: Likewise.
87465         * m4/fcntl_h.m4: Likewise.
87466         * m4/fileblocks.m4: Likewise.
87467         * m4/filenamecat.m4: Likewise.
87468         * m4/findprog.m4: Likewise.
87469         * m4/flexmember.m4: Likewise.
87470         * m4/fnmatch.m4: Likewise.
87471         * m4/fopen.m4: Likewise.
87472         * m4/fpending.m4: Likewise.
87473         * m4/fprintf-posix.m4: Likewise.
87474         * m4/free.m4: Likewise.
87475         * m4/frexp.m4: Likewise.
87476         * m4/frexpl.m4: Likewise.
87477         * m4/fsusage.m4: Likewise.
87478         * m4/ftruncate.m4: Likewise.
87479         * m4/gc-camellia.m4: Likewise.
87480         * m4/gc-random.m4: Likewise.
87481         * m4/gc.m4: Likewise.
87482         * m4/getaddrinfo.m4: Likewise.
87483         * m4/getcwd-abort-bug.m4: Likewise.
87484         * m4/getcwd-path-max.m4: Likewise.
87485         * m4/getdate.m4: Likewise.
87486         * m4/getdomainname.m4: Likewise.
87487         * m4/getgroups.m4: Likewise.
87488         * m4/gethostname.m4: Likewise.
87489         * m4/gethrxtime.m4: Likewise.
87490         * m4/getline.m4: Likewise.
87491         * m4/getloadavg.m4: Likewise.
87492         * m4/getndelim2.m4: Likewise.
87493         * m4/getpass.m4: Likewise.
87494         * m4/gettext.m4: Likewise.
87495         * m4/gettime.m4: Likewise.
87496         * m4/gettimeofday.m4: Likewise.
87497         * m4/gnulib-common.m4: Likewise.
87498         * m4/group-member.m4: Likewise.
87499         * m4/host-os.m4: Likewise.
87500         * m4/iconv.m4: Likewise.
87501         * m4/iconv_open.m4: Likewise.
87502         * m4/inet_ntop.m4: Likewise.
87503         * m4/inet_pton.m4: Likewise.
87504         * m4/inline.m4: Likewise.
87505         * m4/intldir.m4: Likewise.
87506         * m4/intlmacosx.m4: Likewise.
87507         * m4/intmax.m4: Likewise.
87508         * m4/intmax_t.m4: Likewise.
87509         * m4/inttypes.m4: Likewise.
87510         * m4/inttypes_h.m4: Likewise.
87511         * m4/inttypes-pri.m4: Likewise.
87512         * m4/isapipe.m4: Likewise.
87513         * m4/isnand.m4: Likewise.
87514         * m4/isnanf.m4: Likewise.
87515         * m4/isnanl.m4: Likewise.
87516         * m4/javacomp.m4: Likewise.
87517         * m4/javaexec.m4: Likewise.
87518         * m4/jm-winsz1.m4: Likewise.
87519         * m4/jm-winsz2.m4: Likewise.
87520         * m4/lchown.m4: Likewise.
87521         * m4/lcmessage.m4: Likewise.
87522         * m4/ldexpl.m4: Likewise.
87523         * m4/lib-ld.m4: Likewise.
87524         * m4/lib-link.m4: Likewise.
87525         * m4/libsigsegv.m4: Likewise.
87526         * m4/link-follow.m4: Likewise.
87527         * m4/localcharset.m4: Likewise.
87528         * m4/locale-fr.m4: Likewise.
87529         * m4/locale-ja.m4: Likewise.
87530         * m4/locale-tr.m4: Likewise.
87531         * m4/locale-zh.m4: Likewise.
87532         * m4/lock.m4: Likewise.
87533         * m4/longlong.m4: Likewise.
87534         * m4/ls-mntd-fs.m4: Likewise.
87535         * m4/lstat.m4: Likewise.
87536         * m4/malloc.m4: Likewise.
87537         * m4/mathl.m4: Likewise.
87538         * m4/mbrtowc.m4: Likewise.
87539         * m4/mbstate_t.m4: Likewise.
87540         * m4/mbswidth.m4: Likewise.
87541         * m4/memchr.m4: Likewise.
87542         * m4/memcmp.m4: Likewise.
87543         * m4/memcpy.m4: Likewise.
87544         * m4/memmem.m4: Likewise.
87545         * m4/memmove.m4: Likewise.
87546         * m4/mempcpy.m4: Likewise.
87547         * m4/memrchr.m4: Likewise.
87548         * m4/memset.m4: Likewise.
87549         * m4/minmax.m4: Likewise.
87550         * m4/mkdir-slash.m4: Likewise.
87551         * m4/mkdtemp.m4: Likewise.
87552         * m4/mktime.m4: Likewise.
87553         * m4/mmap-anon.m4: Likewise.
87554         * m4/mountlist.m4: Likewise.
87555         * m4/nanosleep.m4: Likewise.
87556         * m4/nls.m4: Likewise.
87557         * m4/nocrash.m4: Likewise.
87558         * m4/open.m4: Likewise.
87559         * m4/openat.m4: Likewise.
87560         * m4/openmp.m4: Likewise.
87561         * m4/pathmax.m4: Likewise.
87562         * m4/perl.m4: Likewise.
87563         * m4/physmem.m4: Likewise.
87564         * m4/pipe.m4: Likewise.
87565         * m4/po.m4: Likewise.
87566         * m4/poll.m4: Likewise.
87567         * m4/posixtm.m4: Likewise.
87568         * m4/posixver.m4: Likewise.
87569         * m4/printf-frexp.m4: Likewise.
87570         * m4/printf-frexpl.m4: Likewise.
87571         * m4/printf-posix.m4: Likewise.
87572         * m4/printf-posix-rpl.m4: Likewise.
87573         * m4/printf.m4: Likewise.
87574         * m4/progtest.m4: Likewise.
87575         * m4/putenv.m4: Likewise.
87576         * m4/readline.m4: Likewise.
87577         * m4/readlink.m4: Likewise.
87578         * m4/readutmp.m4: Likewise.
87579         * m4/realloc.m4: Likewise.
87580         * m4/regex.m4: Likewise.
87581         * m4/relocatable.m4: Likewise.
87582         * m4/relocatable-lib.m4: Likewise.
87583         * m4/rename-dest-slash.m4: Likewise.
87584         * m4/rename.m4: Likewise.
87585         * m4/rmdir-errno.m4: Likewise.
87586         * m4/rmdir.m4: Likewise.
87587         * m4/roundf.m4: Likewise.
87588         * m4/roundl.m4: Likewise.
87589         * m4/rpmatch.m4: Likewise.
87590         * m4/save-cwd.m4: Likewise.
87591         * m4/selinux-selinux-h.m4: Likewise.
87592         * m4/setenv.m4: Likewise.
87593         * m4/settime.m4: Likewise.
87594         * m4/sig2str.m4: Likewise.
87595         * m4/sig_atomic_t.m4: Likewise.
87596         * m4/signalblocking.m4: Likewise.
87597         * m4/signbit.m4: Likewise.
87598         * m4/sigpipe.m4: Likewise.
87599         * m4/sockets.m4: Likewise.
87600         * m4/sockpfaf.m4: Likewise.
87601         * m4/st_dm_mode.m4: Likewise.
87602         * m4/stat-time.m4: Likewise.
87603         * m4/stdbool.m4: Likewise.
87604         * m4/stdint.m4: Likewise.
87605         * m4/stdint_h.m4: Likewise.
87606         * m4/stpcpy.m4: Likewise.
87607         * m4/stpncpy.m4: Likewise.
87608         * m4/strcase.m4: Likewise.
87609         * m4/strchrnul.m4: Likewise.
87610         * m4/strcspn.m4: Likewise.
87611         * m4/strdup.m4: Likewise.
87612         * m4/strftime.m4: Likewise.
87613         * m4/strndup.m4: Likewise.
87614         * m4/strnlen.m4: Likewise.
87615         * m4/strpbrk.m4: Likewise.
87616         * m4/strptime.m4: Likewise.
87617         * m4/strsep.m4: Likewise.
87618         * m4/strtod.m4: Likewise.
87619         * m4/strtoimax.m4: Likewise.
87620         * m4/strtok_r.m4: Likewise.
87621         * m4/strtol.m4: Likewise.
87622         * m4/strtoll.m4: Likewise.
87623         * m4/strtoul.m4: Likewise.
87624         * m4/strtoull.m4: Likewise.
87625         * m4/strtoumax.m4: Likewise.
87626         * m4/strverscmp.m4: Likewise.
87627         * m4/threadlib.m4: Likewise.
87628         * m4/timegm.m4: Likewise.
87629         * m4/tm_gmtoff.m4: Likewise.
87630         * m4/tmpdir.m4: Likewise.
87631         * m4/tmpfile.m4: Likewise.
87632         * m4/tzset.m4: Likewise.
87633         * m4/uintmax_t.m4: Likewise.
87634         * m4/unlinkdir.m4: Likewise.
87635         * m4/unlocked-io.m4: Likewise.
87636         * m4/uptime.m4: Likewise.
87637         * m4/userspec.m4: Likewise.
87638         * m4/utimbuf.m4: Likewise.
87639         * m4/utime.m4: Likewise.
87640         * m4/utimes-null.m4: Likewise.
87641         * m4/utimes.m4: Likewise.
87642         * m4/vararrays.m4: Likewise.
87643         * m4/vasnprintf.m4: Likewise.
87644         * m4/vfprintf-posix.m4: Likewise.
87645         * m4/vprintf-posix.m4: Likewise.
87646         * m4/wait-process.m4: Likewise.
87647         * m4/wchar_t.m4: Likewise.
87648         * m4/wint_t.m4: Likewise.
87649         * m4/write-any-file.m4: Likewise.
87650         * m4/yield.m4: Likewise.
87652 2009-01-13  Bruno Haible  <bruno@clisp.org>
87654         Avoid test-copy-file.sh failures when ACL support insufficient.
87655         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
87656         TESTS_ENVIRONMENT.
87657         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
87658         Reported by Jim Meyering.
87660 2009-01-13  Bruno Haible  <bruno@clisp.org>
87662         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
87663         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
87664         * modules/unistdio/u8-printf-parse (Files): Likewise.
87665         * modules/unistdio/u32-printf-parse (Files): Likewise.
87666         * modules/unistdio/ulc-printf-parse (Files): Likewise.
87668 2009-01-13  Simon Josefsson  <simon@josefsson.org>
87670         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
87671         and m4/inttypes_h.m4 too.
87673 2009-01-12  Eric Blake  <ebb9@byu.net>
87675         tests: IRIX 6.2 cc can't compile -0.0 into .data
87676         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
87677         rather than at compile-time.
87678         * tests/test-floorl.c (minus_zero): Likewise.
87679         * tests/test-frexpl.c (minus_zero): Likewise.
87680         * tests/test-isnan.c (minus_zerol): Likewise.
87681         * tests/test-isnanl.h (minus_zero): Likewise.
87682         * tests/test-ldexpl.c (minus_zero): Likewise.
87683         * tests/test-roundl.c (minus_zero): Likewise.
87684         * tests/test-signbit.c (minus_zerol): Likewise.
87685         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
87686         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
87687         * tests/test-truncl.c (minus_zero): Likewise.
87688         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
87689         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
87690         Reported by Tom G. Christensen and Nelson H. F. Beebe.
87692 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
87694         regex: fix glibc bug 9697
87695         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
87696         handling.
87698 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
87700         regex: fix glibc bug 697
87701         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
87702         being NULL also if there are no backreferences.
87704 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
87706         regex: merge glibc changes
87707         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
87708         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
87709         re_string_skip_chars, re_string_reconstruct): Likewise.
87710         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
87712 2009-01-07  Jim Meyering  <meyering@redhat.com>
87714         poll: filter through cppi
87715         * lib/poll.c: Indent cpp directives to reflect nesting.
87717 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
87719         poll: don't return uninitialized
87720         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
87722 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
87724         avoid compile failure on AIX 6.1
87725         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
87726         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
87728 2009-01-04  Jim Meyering  <meyering@redhat.com>
87730         remove duplicate inclusion of <stdio.h>
87731         * tests/test-fprintf-posix.c: Likewise.
87732         * tests/test-printf-posix.c: Likewise.
87733         * tests/test-snprintf-posix.c: Likewise.
87734         * tests/test-sprintf-posix.c: Likewise.
87735         * tests/test-vasprintf-posix.c: Likewise.
87736         * tests/test-vfprintf-posix.c: Likewise.
87737         * tests/test-vprintf-posix.c: Likewise.
87738         * tests/test-vsnprintf-posix.c: Likewise.
87739         * tests/test-vsprintf-posix.c: Likewise.
87741 2009-01-03  Jim Meyering  <meyering@redhat.com>
87743         gnulib-tool: fix sed-based filtering
87744         * gnulib-tool (func_filter_filelist): Remove extra backslash
87745         in sed_fff_filter definition.
87747 2009-01-02  Jim Meyering  <meyering@redhat.com>
87749         strftime: avoid compilation failure on Solaris 2.6
87750         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
87751         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
87752         Don't #define mbrlen or mbsinit, since now they're guaranteed to
87753         be available.  Reported by Tom G. Christensen.  Details in
87754         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
87756 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87757             Bruno Haible  <bruno@clisp.org>
87759         Speed up gnulib-tool by doing more string processing through shell
87760         built-ins.
87761         * gnulib-tool (fast_func_append): New variable.
87762         (func_remove_prefix, func_remove_suffix): New functions.
87763         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
87764         (func_filter_filelist): New function.
87765         (func_get_dependencies): Use func_remove_suffix instead of sed.
87766         (func_get_automake_snippet): Use func_filter_filelist instead of a
87767         subshell and sed invocation.
87769 2009-01-01  Bruno Haible  <bruno@clisp.org>
87771         Fix a security bug.
87772         * gnulib-tool (func_import, import, update): Don't allow the characters
87773         '"', '$', '`', '\' in macro arguments that become part of commands that
87774         are evaluated.
87776 2009-01-01  Bruno Haible  <bruno@clisp.org>
87778         * gnulib-tool (func_reset_sigpipe): Add more comments.
87780 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87782         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
87783         func_emit_tests_Makefile_am, func_import): Abort loops early if we
87784         already know the answer.
87786 2009-01-01  Jim Meyering  <meyering@redhat.com>
87788         * lib/version-etc.c (version_etc_va): Update copyright year.
87790 2008-12-30  Bruno Haible  <bruno@clisp.org>
87792         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
87793         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
87794         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
87796 2008-12-29  Eric Blake  <ebb9@byu.net>
87798         multiarch: avoid autoconf AC_REQUIRE bug
87799         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
87800         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
87801         2.63 and older.
87802         Reported by Bruno Haible, and analyzed in
87803         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
87805 2008-12-29  Bruno Haible  <bruno@clisp.org>
87807         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
87808         files in subdirectories correctly.
87809         Reported by Ralf Wildenhues.
87811 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87813         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
87814         rather than 'join FILE -', for Solaris join.
87816 2008-12-29  Bruno Haible  <bruno@clisp.org>
87818         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
87819         quoting.
87820         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
87821         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
87822         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
87823         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
87824         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
87825         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
87826         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
87827         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
87828         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
87829         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
87830         * m4/nls.m4 (AM_NLS): Likewise.
87831         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
87832         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
87833         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
87834         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
87835         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
87836         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
87837         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
87838         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
87839         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
87840         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
87841         * m4/xsize.m4 (gl_XSIZE): Likewise.
87842         Suggested by Jim Meyering.
87844 2008-11-17  Bruce Korb  <bkorb@gnu.org>
87846         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
87847         * lib/parse-duration.c: use a switch instead of cascading if's.
87849 2008-12-29  Eric Blake  <ebb9@byu.net>
87851         wchar.h: supply WEOF on Irix 5.3
87852         * lib/wchar.in.h (wint_t): Also supply WEOF.
87853         * lib/wctype.in.h (wint_t): Likewise.
87854         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
87855         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
87856         Reported by Tom G. Christensen.
87858 2008-12-26  Bruno Haible  <bruno@clisp.org>
87860         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
87861         i486, i586, i686.
87863 2008-12-26  Bruno Haible  <bruno@clisp.org>
87865         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
87867 2008-12-26  Bruno Haible  <bruno@clisp.org>
87869         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
87870         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
87871         not __STDC_CONSTANT_MACROS.
87872         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
87874 2008-12-25  Bruno Haible  <bruno@clisp.org>
87876         Add support for universal builds to vasnprintf.
87877         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
87878         universal builds, guess no.
87879         * modules/vasnprintf-posix (Depends-on): Add multiarch.
87880         * modules/vasprintf-posix (Depends-on): Likewise.
87881         * modules/fprintf-posix (Depends-on): Likewise.
87882         * modules/vfprintf-posix (Depends-on): Likewise.
87883         * modules/snprintf-posix (Depends-on): Likewise.
87884         * modules/vsnprintf-posix (Depends-on): Likewise.
87885         * modules/sprintf-posix (Depends-on): Likewise.
87886         * modules/vsprintf-posix (Depends-on): Likewise.
87887         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
87888         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
87889         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
87890         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
87891         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
87892         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
87893         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
87895         Add support for universal builds to <inttypes.h>.
87896         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
87897         _SCNu64_PREFIX): In Apple
87898         universal builds, define directly, using _LP64.
87899         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
87900         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
87901         * modules/inttypes (Depends-on): Add multiarch.
87902         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
87904         Add support for universal builds to <stdint.h>.
87905         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
87906         universal builds, define directly, using _LP64.
87907         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
87908         Apple universal builds, don't test for the size and suffix of ptrdiff_t
87909         and size_t.
87910         * modules/stdint (Depends-on): Add multiarch.
87911         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
87913         New module 'multiarch'.
87914         * modules/multiarch: New file.
87915         * m4/multiarch.m4: New file.
87917 2008-12-25  Bruno Haible  <bruno@clisp.org>
87919         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
87921 2008-12-25  Bruno Haible  <bruno@clisp.org>
87923         * modules/btowc (License): Relicense under LGPLv2+.
87924         * modules/mbsinit (License): Likewise.
87925         * modules/mbrtowc (License): Likewise.
87926         * modules/wcrtomb (License): Likewise.
87927         * modules/streq (License): Likewise.
87928         Reported by David Lutterkort <lutter@redhat.com>.
87930 2008-12-23  Bruno Haible  <bruno@clisp.org>
87932         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
87934 2008-12-23  Bruno Haible  <bruno@clisp.org>
87936         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
87937         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
87938         GETADDRINFO_LIB, not in LIBS.
87939         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
87940         * modules/canon-host (Link): Likewise.
87941         * NEWS: Mention the change.
87942         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
87943         GETADDRINFO_LIB.
87945 2008-12-22  Bruno Haible  <bruno@clisp.org>
87947         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
87948         * doc/posix-functions/iswalpha_l.texi: Likewise.
87949         * doc/posix-functions/iswblank_l.texi: Likewise.
87950         * doc/posix-functions/iswcntrl_l.texi: Likewise.
87951         * doc/posix-functions/iswctype_l.texi: Likewise.
87952         * doc/posix-functions/iswdigit_l.texi: Likewise.
87953         * doc/posix-functions/iswgraph_l.texi: Likewise.
87954         * doc/posix-functions/iswlower_l.texi: Likewise.
87955         * doc/posix-functions/iswprint_l.texi: Likewise.
87956         * doc/posix-functions/iswpunct_l.texi: Likewise.
87957         * doc/posix-functions/iswspace_l.texi: Likewise.
87958         * doc/posix-functions/iswupper_l.texi: Likewise.
87959         * doc/posix-functions/iswxdigit_l.texi: Likewise.
87960         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
87961         * doc/posix-functions/open_wmemstream.texi: Likewise.
87962         * doc/posix-functions/swscanf.texi: Likewise.
87963         * doc/posix-functions/towctrans_l.texi: Likewise.
87964         * doc/posix-functions/towlower.texi: Likewise.
87965         * doc/posix-functions/towlower_l.texi: Likewise.
87966         * doc/posix-functions/towupper.texi: Likewise.
87967         * doc/posix-functions/towupper_l.texi: Likewise.
87968         * doc/posix-functions/vfwprintf.texi: Likewise.
87969         * doc/posix-functions/vfwscanf.texi: Likewise.
87970         * doc/posix-functions/vswscanf.texi: Likewise.
87971         * doc/posix-functions/vwprintf.texi: Likewise.
87972         * doc/posix-functions/vwscanf.texi: Likewise.
87973         * doc/posix-functions/wcpcpy.texi: Likewise.
87974         * doc/posix-functions/wcpncpy.texi: Likewise.
87975         * doc/posix-functions/wcscasecmp.texi: Likewise.
87976         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
87977         * doc/posix-functions/wcscoll_l.texi: Likewise.
87978         * doc/posix-functions/wcsdup.texi: Likewise.
87979         * doc/posix-functions/wcsncasecmp.texi: Likewise.
87980         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
87981         * doc/posix-functions/wcsnlen.texi: Likewise.
87982         * doc/posix-functions/wcsnrtombs.texi: Likewise.
87983         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
87984         * doc/posix-functions/wctrans_l.texi: Likewise.
87985         * doc/posix-functions/wctype_l.texi: Likewise.
87986         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
87987         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
87988         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
87989         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
87990         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
87991         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
87992         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
87993         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
87994         * doc/glibc-functions/wcschrnul.texi: Likewise.
87995         * doc/glibc-functions/wcsftime_l.texi: Likewise.
87996         * doc/glibc-functions/wcstod_l.texi: Likewise.
87997         * doc/glibc-functions/wcstof_l.texi: Likewise.
87998         * doc/glibc-functions/wcstol_l.texi: Likewise.
87999         * doc/glibc-functions/wcstold_l.texi: Likewise.
88000         * doc/glibc-functions/wcstoll_l.texi: Likewise.
88001         * doc/glibc-functions/wcstoq.texi: Likewise.
88002         * doc/glibc-functions/wcstoul_l.texi: Likewise.
88003         * doc/glibc-functions/wcstoull_l.texi: Likewise.
88004         * doc/glibc-functions/wcstouq.texi: Likewise.
88005         * doc/glibc-functions/wmempcpy.texi: Likewise.
88007 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
88008             Eric Blake  <ebb9@byu.net>
88009             Paolo Bonzini  <bonzini@gnu.org>
88010             Bruno Haible  <bruno@clisp.org>
88012         Make c-stack work on Haiku.
88013         * lib/c-stack.c (SA_ONSTACK): Define fallback.
88014         (c_stack_action): Use SA_ONSTACK flag.
88016 2008-12-22  Bruno Haible  <bruno@clisp.org>
88018         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
88020 2008-12-22  Bruno Haible  <bruno@clisp.org>
88022         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
88023         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
88024         being overridden.
88025         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
88026         New macros.
88027         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
88028         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
88029         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
88030         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
88032 2008-12-22  Bruno Haible  <bruno@clisp.org>
88034         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
88035         from test code.
88037 2008-12-22  Eric Blake  <ebb9@byu.net>
88039         Avoid gcc warnings on cygwin.
88040         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
88041         Avoid unused variable.
88042         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
88043         Likewise.
88045 2008-12-22  Bruno Haible  <bruno@clisp.org>
88047         Remove HAVE_MBRTOWC conditionals.
88048         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
88049         (mbscasecmp): Assume mbrtowc function.
88050         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
88051         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
88052         * lib/mbschr.c: Include mbuiter.h unconditionally.
88053         (mbschr): Assume mbrtowc function.
88054         * lib/mbscspn.c: Include mbuiter.h unconditionally.
88055         (mbscspn): Assume mbrtowc function.
88056         * lib/mbslen.c: Include mbuiter.h unconditionally.
88057         (mbslen): Assume mbrtowc function.
88058         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
88059         (mbsncasecmp): Assume mbrtowc function.
88060         * lib/mbsnlen.c: Include mbiter.h unconditionally.
88061         (mbsnlen): Assume mbrtowc function.
88062         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
88063         (mbspbrk): Assume mbrtowc function.
88064         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
88065         (mbspcasecmp): Assume mbrtowc function.
88066         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
88067         (mbsrchr): Assume mbrtowc function.
88068         * lib/mbssep.c: Include mbuiter.h unconditionally.
88069         (mbssep): Assume mbrtowc function.
88070         * lib/mbsspn.c: Include mbuiter.h unconditionally.
88071         (mbsspn): Assume mbrtowc function.
88072         * lib/mbsstr.c: Include mbuiter.h unconditionally.
88073         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
88074         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
88075         (mbstok_r): Assume mbrtowc function.
88076         * lib/propername.c: Include mbuiter.h unconditionally.
88077         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
88078         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
88079         (trim2): Assume mbrtowc function.
88080         * lib/mbswidth.c (mbsinit): Remove fallback definition.
88081         (mbsnwidth): Assume mbrtowc function.
88082         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
88083         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
88084         fallback definitions.
88085         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
88087 2008-12-22  Bruno Haible  <bruno@clisp.org>
88089         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
88091 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
88093         * modules/regex: Request emulations for the mb*/wc* functions we need.
88094         * m4/regex.m4: Don't look for those functions here.
88095         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
88097 2008-12-22  Bruno Haible  <bruno@clisp.org>
88099         * modules/fnmatch (Depends-on): Remove duplicated dependency.
88101 2008-12-21  Bruno Haible  <bruno@clisp.org>
88103         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
88104         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
88105         (Include): Remove conditionalization.
88106         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
88107         (Include): Remove conditionalization.
88108         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
88109         (Include): Remove conditionalization.
88110         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
88111         * m4/mbfile.m4 (gl_MBFILE): Likewise.
88112         * NEWS: Mention the change.
88113         Reported by Alan Hourihane <alanh@fairlite.co.uk>
88114         via Sergey Poznyakoff <gray@gnu.org.ua>.
88116 2008-12-21  Bruno Haible  <bruno@clisp.org>
88118         * MODULES.html.sh (Extended multibyte and wide character utilities
88119         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
88120         wcrtomb, wcsrtombs.
88121         (Support for systems lacking POSIX:2008): Add accept, bind, close,
88122         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
88123         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
88124         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
88126 2008-12-21  Bruno Haible  <bruno@clisp.org>
88128         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
88130 2008-12-21  Bruno Haible  <bruno@clisp.org>
88132         * modules/wcsnrtombs-tests: New file.
88133         * tests/test-wcsnrtombs1.sh: New file.
88134         * tests/test-wcsnrtombs2.sh: New file.
88135         * tests/test-wcsnrtombs3.sh: New file.
88136         * tests/test-wcsnrtombs4.sh: New file.
88137         * tests/test-wcsnrtombs.c: New file.
88139         New module 'wcsnrtombs'.
88140         * lib/wchar.in.h (wcsnrtombs): New declaration.
88141         * lib/wcsnrtombs.c: New file.
88142         * lib/wcsrtombs-state.c: New file.
88143         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
88144         (internal_state): Remove variable.
88145         * m4/wcsnrtombs.m4: New file.
88146         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
88147         compilation units.
88148         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
88149         HAVE_WCSNRTOMBS.
88150         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
88151         HAVE_WCSNRTOMBS.
88152         * modules/wcsnrtombs: New file.
88153         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
88154         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
88156 2008-12-21  Bruno Haible  <bruno@clisp.org>
88158         * modules/wcsrtombs-tests: New file.
88159         * tests/test-wcsrtombs1.sh: New file.
88160         * tests/test-wcsrtombs2.sh: New file.
88161         * tests/test-wcsrtombs3.sh: New file.
88162         * tests/test-wcsrtombs4.sh: New file.
88163         * tests/test-wcsrtombs.c: New file.
88165         New module 'wcsrtombs'.
88166         * lib/wchar.in.h (wcsrtombs): New declaration.
88167         * lib/wcsrtombs.c: New file.
88168         * m4/wcsrtombs.m4: New file.
88169         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
88170         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
88171         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
88172         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
88173         * modules/wcsrtombs: New file.
88174         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
88175         bugs.
88177 2008-12-21  Bruno Haible  <bruno@clisp.org>
88179         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
88180         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
88181         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
88182         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
88183         if not correct.
88184         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
88185         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
88186         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
88187         m4/locale-zh.m4, m4/codeset.m4.
88188         * doc/posix-functions/wcrtomb.texi: Document the bug.
88190 2008-12-21  Bruno Haible  <bruno@clisp.org>
88192         Work around a btowc() bug on IRIX 6.5.
88193         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
88194         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
88195         REPLACE_WTOBC if not.
88196         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
88197         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
88198         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
88200 2008-12-21  Bruno Haible  <bruno@clisp.org>
88202         * modules/wcrtomb-tests: New file.
88203         * tests/test-wcrtomb.sh: New file.
88204         * tests/test-wcrtomb.c: New file.
88206         New module 'wcrtomb'.
88207         * lib/wchar.in.h (wcrtomb): New declaration.
88208         * lib/wcrtomb.c: New file.
88209         * m4/wcrtomb.m4: New file.
88210         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
88211         HAVE_WCRTOMB.
88212         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
88213         HAVE_WCRTOMB.
88214         * modules/wcrtomb: New file.
88215         * doc/posix-functions/wcrtomb.texi: Mention the new module.
88217 2008-12-21  Bruno Haible  <bruno@clisp.org>
88219         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
88220         * modules/mbsrtowcs (Files): Likewise.
88221         * modules/wctob (Files): Likewise.
88222         * modules/c-strcase-tests (Files): Likewise.
88223         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
88224         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
88225         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
88226         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
88227         * modules/vasnprintf-posix-tests (Files): Likewise.
88229 2008-12-21  William Pursell  <bill.pursell@gmail.com>
88231         gitlog-to-changelog: pass all command-line arguments to git-log
88232         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
88233         it is sometimes convenient to filter the commits in various ways.
88234         gitlog-to-changelog only allows --since to specify a start date,
88235         but git-log itself supports many other filtering mechanisms.
88236         At the moment, I want to filter by branch name.  Rather than
88237         adding a --branch option to gitlog-to-changelog, it seems more
88238         flexible to simply pass all options directly to git-log and let
88239         git do the work.  Notice that this effectively makes --since a
88240         redundant option for gitlog-to-changelog, but removing it would
88241         require current usage to change since calls would then require
88242         an additional '--'.
88244 2008-12-21  Bruno Haible  <bruno@clisp.org>
88246         * modules/mbsnrtowcs-tests: New file.
88247         * tests/test-mbsnrtowcs1.sh: New file.
88248         * tests/test-mbsnrtowcs2.sh: New file.
88249         * tests/test-mbsnrtowcs3.sh: New file.
88250         * tests/test-mbsnrtowcs4.sh: New file.
88251         * tests/test-mbsnrtowcs.c: New file.
88253         New module 'mbsnrtowcs'.
88254         * lib/wchar.in.h (mbsnrtowcs): New declaration.
88255         * lib/mbsnrtowcs.c: New file.
88256         * lib/mbsrtowcs-state.c: New file.
88257         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
88258         (internal_state): Remove variable.
88259         * m4/mbsnrtowcs.m4: New file.
88260         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
88261         compilation units.
88262         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
88263         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
88264         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
88265         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
88266         * modules/mbsnrtowcs: New file.
88267         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
88268         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
88269         portability problem.
88271 2008-12-21  Bruno Haible  <bruno@clisp.org>
88273         Work around mbsrtowcs bug.
88274         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
88275         (gl_FUNC_MBSRTOWCS): Invoke it.
88276         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
88277         m4/locale-zh.m4.
88278         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
88280 2008-12-21  Bruno Haible  <bruno@clisp.org>
88282         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
88284 2008-12-21  Bruno Haible  <bruno@clisp.org>
88286         Update doc for AIX.
88287         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
88288         16-bit wchar_t type.
88289         * doc/posix-functions/btowc.texi: Likewise.
88290         * doc/posix-functions/fgetwc.texi: Likewise.
88291         * doc/posix-functions/fgetws.texi: Likewise.
88292         * doc/posix-functions/fputwc.texi: Likewise.
88293         * doc/posix-functions/fputws.texi: Likewise.
88294         * doc/posix-functions/fwide.texi: Likewise.
88295         * doc/posix-functions/fwprintf.texi: Likewise.
88296         * doc/posix-functions/fwscanf.texi: Likewise.
88297         * doc/posix-functions/getwchar.texi: Likewise.
88298         * doc/posix-functions/getwc.texi: Likewise.
88299         * doc/posix-functions/iswalnum.texi: Likewise.
88300         * doc/posix-functions/iswalpha.texi: Likewise.
88301         * doc/posix-functions/iswblank.texi: Likewise.
88302         * doc/posix-functions/iswcntrl.texi: Likewise.
88303         * doc/posix-functions/iswctype.texi: Likewise.
88304         * doc/posix-functions/iswdigit.texi: Likewise.
88305         * doc/posix-functions/iswgraph.texi: Likewise.
88306         * doc/posix-functions/iswlower.texi: Likewise.
88307         * doc/posix-functions/iswprint.texi: Likewise.
88308         * doc/posix-functions/iswpunct.texi: Likewise.
88309         * doc/posix-functions/iswspace.texi: Likewise.
88310         * doc/posix-functions/iswupper.texi: Likewise.
88311         * doc/posix-functions/iswxdigit.texi: Likewise.
88312         * doc/posix-functions/mbrtowc.texi: Likewise.
88313         * doc/posix-functions/mbsrtowcs.texi: Likewise.
88314         * doc/posix-functions/mbstowcs.texi: Likewise.
88315         * doc/posix-functions/mbtowc.texi: Likewise.
88316         * doc/posix-functions/putwchar.texi: Likewise.
88317         * doc/posix-functions/putwc.texi: Likewise.
88318         * doc/posix-functions/swprintf.texi: Likewise.
88319         * doc/posix-functions/tolower.texi: Likewise.
88320         * doc/posix-functions/toupper.texi: Likewise.
88321         * doc/posix-functions/towctrans.texi: Likewise.
88322         * doc/posix-functions/ungetwc.texi: Likewise.
88323         * doc/posix-functions/vswprintf.texi: Likewise.
88324         * doc/posix-functions/wcrtomb.texi: Likewise.
88325         * doc/posix-functions/wcscat.texi: Likewise.
88326         * doc/posix-functions/wcschr.texi: Likewise.
88327         * doc/posix-functions/wcscmp.texi: Likewise.
88328         * doc/posix-functions/wcscoll.texi: Likewise.
88329         * doc/posix-functions/wcscpy.texi: Likewise.
88330         * doc/posix-functions/wcscspn.texi: Likewise.
88331         * doc/posix-functions/wcsftime.texi: Likewise.
88332         * doc/posix-functions/wcslen.texi: Likewise.
88333         * doc/posix-functions/wcsncat.texi: Likewise.
88334         * doc/posix-functions/wcsncmp.texi: Likewise.
88335         * doc/posix-functions/wcsncpy.texi: Likewise.
88336         * doc/posix-functions/wcspbrk.texi: Likewise.
88337         * doc/posix-functions/wcsrchr.texi: Likewise.
88338         * doc/posix-functions/wcsrtombs.texi: Likewise.
88339         * doc/posix-functions/wcsspn.texi: Likewise.
88340         * doc/posix-functions/wcsstr.texi: Likewise.
88341         * doc/posix-functions/wcstod.texi: Likewise.
88342         * doc/posix-functions/wcstof.texi: Likewise.
88343         * doc/posix-functions/wcstoimax.texi: Likewise.
88344         * doc/posix-functions/wcstok.texi: Likewise.
88345         * doc/posix-functions/wcstold.texi: Likewise.
88346         * doc/posix-functions/wcstoll.texi: Likewise.
88347         * doc/posix-functions/wcstol.texi: Likewise.
88348         * doc/posix-functions/wcstombs.texi: Likewise.
88349         * doc/posix-functions/wcstoull.texi: Likewise.
88350         * doc/posix-functions/wcstoul.texi: Likewise.
88351         * doc/posix-functions/wcstoumax.texi: Likewise.
88352         * doc/posix-functions/wcswidth.texi: Likewise.
88353         * doc/posix-functions/wcsxfrm.texi: Likewise.
88354         * doc/posix-functions/wctob.texi: Likewise.
88355         * doc/posix-functions/wctomb.texi: Likewise.
88356         * doc/posix-functions/wctrans.texi: Likewise.
88357         * doc/posix-functions/wctype.texi: Likewise.
88358         * doc/posix-functions/wcwidth.texi: Likewise.
88359         * doc/posix-functions/wmemchr.texi: Likewise.
88360         * doc/posix-functions/wmemcmp.texi: Likewise.
88361         * doc/posix-functions/wmemcpy.texi: Likewise.
88362         * doc/posix-functions/wmemmove.texi: Likewise.
88363         * doc/posix-functions/wmemset.texi: Likewise.
88364         * doc/posix-functions/wprintf.texi: Likewise.
88365         * doc/posix-functions/wscanf.texi: Likewise.
88367 2008-12-21  Bruno Haible  <bruno@clisp.org>
88369         Update doc for HP-UX 11.11.
88370         * doc/posix-functions/btowc.texi: Clarify that the function is missing
88371         in HP-UX version 11.00, not in all versions of HP-UX 11.
88372         * doc/posix-functions/fwide.texi: Likewise.
88373         * doc/posix-functions/fwprintf.texi: Likewise.
88374         * doc/posix-functions/fwscanf.texi: Likewise.
88375         * doc/posix-functions/inet_ntop.texi: Likewise.
88376         * doc/posix-functions/inet_pton.texi: Likewise.
88377         * doc/posix-functions/mbrlen.texi: Likewise.
88378         * doc/posix-functions/mbrtowc.texi: Likewise.
88379         * doc/posix-functions/mbsinit.texi: Likewise.
88380         * doc/posix-functions/mbsrtowcs.texi: Likewise.
88381         * doc/posix-functions/swprintf.texi: Likewise.
88382         * doc/posix-functions/swscanf.texi: Likewise.
88383         * doc/posix-functions/towctrans.texi: Likewise.
88384         * doc/posix-functions/vfwprintf.texi: Likewise.
88385         * doc/posix-functions/vswprintf.texi: Likewise.
88386         * doc/posix-functions/vwprintf.texi: Likewise.
88387         * doc/posix-functions/wcrtomb.texi: Likewise.
88388         * doc/posix-functions/wcsrtombs.texi: Likewise.
88389         * doc/posix-functions/wcsstr.texi: Likewise.
88390         * doc/posix-functions/wctob.texi: Likewise.
88391         * doc/posix-functions/wctrans.texi: Likewise.
88392         * doc/posix-functions/wmemchr.texi: Likewise.
88393         * doc/posix-functions/wmemcmp.texi: Likewise.
88394         * doc/posix-functions/wmemcpy.texi: Likewise.
88395         * doc/posix-functions/wmemmove.texi: Likewise.
88396         * doc/posix-functions/wmemset.texi: Likewise.
88397         * doc/posix-functions/wprintf.texi: Likewise.
88398         * doc/posix-functions/wscanf.texi: Likewise.
88400 2008-12-21  Bruno Haible  <bruno@clisp.org>
88402         Work around a portability problem.
88403         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
88404         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
88406 2008-12-20  Bruno Haible  <bruno@clisp.org>
88408         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
88409         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
88410         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
88411         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
88412         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
88414         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
88415         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
88416         set.
88417         (GNULIB_defined_mbstate_t): New macro.
88418         (mbsinit): Redefine if REPLACE_MBSINIT is set.
88419         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
88420         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
88421         reuses the system's mbrtowc function but works around the bugs.
88422         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
88423         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
88424         macros.
88425         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
88426         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
88427         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
88428         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
88429         REPLACE_MBSINIT if mbsinit needs to be overridden.
88430         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
88431         REPLACE_MBSINIT, REPLACE_MBRTOWC.
88432         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
88433         REPLACE_MBSINIT, REPLACE_MBRTOWC.
88434         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
88435         m4/locale-zh.m4.
88436         (Depends): Add mbsinit.
88437         * modules/mbsinit (Depends): Add mbrtowc.
88438         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
88440 2008-12-20  Bruno Haible  <bruno@clisp.org>
88442         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
88443         so that there are no conversion errors on AIX.
88444         * tests/test-mbsrtowcs.c (main): LIkewise.
88446 2008-12-20  Bruno Haible  <bruno@clisp.org>
88448         Work around wctob bug on Solaris <= 9.
88449         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
88450         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
88451         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
88452         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
88453         * modules/wctob (Files): Add m4/locale-fr.m4.
88454         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
88456 2008-12-20  Bruno Haible  <bruno@clisp.org>
88458         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
88459         /dev/null.
88460         * tests/test-select-in.sh: Likewise.
88461         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
88463 2008-12-20  Bruno Haible  <bruno@clisp.org>
88465         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
88466         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
88467         Cygwin 1.5.x.
88469 2008-12-20  Bruno Haible  <bruno@clisp.org>
88471         Ensure mbstate_t is defined on HP-UX 11.11.
88472         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
88473         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
88474         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
88475         AC_USE_SYSTEM_EXTENSIONS.
88476         * modules/fnmatch (Depends-on): Add extensions.
88477         * modules/mbrlen (Depends-on): Likewise.
88478         * modules/mbrtowc (Depends-on): Likewise.
88479         * modules/mbsinit (Depends-on): Likewise.
88480         * modules/mbsrtowcs (Depends-on): Likewise.
88481         * modules/mbswidth (Depends-on): Likewise.
88482         * modules/quotearg (Depends-on): Likewise.
88483         * modules/strftime (Depends-on): Likewise.
88485 2008-12-20  Bruno Haible  <bruno@clisp.org>
88487         Ensure wctob is declared on IRIX 6.5.
88488         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
88489         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
88490         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
88491         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
88492         of HAVE_WCTOB.
88493         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
88494         HAVE_WCTOB.
88495         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
88497 2008-12-19  Bruno Haible  <bruno@clisp.org>
88499         * modules/mbsrtowcs-tests: New file.
88500         * tests/test-mbsrtowcs1.sh: New file.
88501         * tests/test-mbsrtowcs2.sh: New file.
88502         * tests/test-mbsrtowcs3.sh: New file.
88503         * tests/test-mbsrtowcs4.sh: New file.
88504         * tests/test-mbsrtowcs.c: New file.
88506         New module 'mbsrtowcs'.
88507         * lib/wchar.in.h (mbsrtowcs): New declaration.
88508         * lib/mbsrtowcs.c: New file.
88509         * m4/mbsrtowcs.m4: New file.
88510         * modules/mbsrtowcs: New file.
88511         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
88512         HAVE_MBSRTOWCS.
88513         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
88514         HAVE_MBSRTOWCS.
88515         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
88517 2008-12-19  Bruno Haible  <bruno@clisp.org>
88519         New module 'mbrlen'.
88520         * lib/wchar.in.h (mbrlen): New declaration.
88521         * lib/mbrlen.c: New file.
88522         * m4/mbrlen.m4: New file.
88523         * modules/mbrlen: New file.
88524         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
88525         HAVE_MBRLEN.
88526         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
88527         HAVE_MBRLEN.
88528         * doc/posix-functions/mbrlen.texi: Document the new module.
88530 2008-12-19  Bruno Haible  <bruno@clisp.org>
88532         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
88533         * modules/mbrtowc (Depends-on): Add verify.
88534         Suggested by Paul Eggert.
88536 2008-12-18  Bruno Haible  <bruno@clisp.org>
88538         * modules/mbsinit-tests: New file.
88539         * tests/test-mbsinit.sh: New file.
88540         * tests/test-mbsinit.c: New file.
88542 2008-12-18  Bruno Haible  <bruno@clisp.org>
88544         * modules/mbrtowc-tests: New file.
88545         * tests/test-mbrtowc1.sh: New file.
88546         * tests/test-mbrtowc2.sh: New file.
88547         * tests/test-mbrtowc3.sh: New file.
88548         * tests/test-mbrtowc4.sh: New file.
88549         * tests/test-mbrtowc.c: New file.
88551         New module 'mbrtowc'.
88552         * lib/wchar.in.h (mbstate_t): Override when the system does not have
88553         mbsinit and mbrtowc.
88554         (mbrtowc): New declaration.
88555         * lib/mbrtowc.c: New file.
88556         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
88557         * modules/mbrtowc: New file.
88558         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
88559         HAVE_MBRTOWC.
88560         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
88561         HAVE_MBRTOWC.
88562         * doc/posix-functions/mbrtowc.texi: Document the new module.
88564 2008-12-18  Bruno Haible  <bruno@clisp.org>
88566         New module 'wctob'.
88567         * lib/wchar.in.h (wctob): New declaration.
88568         * lib/wctob.c: New file.
88569         * m4/wctob.m4: New file.
88570         * modules/wctob: New file.
88571         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
88572         HAVE_WCTOB.
88573         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
88574         * doc/posix-functions/wctob.texi: Document the new module.
88576 2008-12-18  Bruno Haible  <bruno@clisp.org>
88578         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
88579         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
88581 2008-12-18  Simon Josefsson  <simon@josefsson.org>
88583         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
88584         G. Christensen" <tgc@jupiterrise.com>.
88586         * lib/flock.c: Need to include errno.h.  Reported by "Tom
88587         G. Christensen" <tgc@jupiterrise.com>.
88589         * lib/flock.c: Need to include string.h.  Reported by "Tom
88590         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
88591         <ebb9@byu.net>.
88593 2008-12-18  Bruno Haible  <bruno@clisp.org>
88595         * m4/locale-ja.m4: New file, from GNU gettext.
88597 2008-12-17  Bruno Haible  <bruno@clisp.org>
88599         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
88600         Suggested by Eric Blake.
88602 2008-12-17  Bruno Haible  <bruno@clisp.org>
88604         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
88606 2008-12-17  Bruno Haible  <bruno@clisp.org>
88608         * lib/mbsinit.c: Include verify.h. Verify an assumption.
88609         * modules/mbsinit (Depends-on): Add verify.
88610         Suggested by Paul Eggert.
88612 2008-12-17  Bruno Haible  <bruno@clisp.org>
88614         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
88615         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
88616         gl_FUNC_MBRTOWC.
88617         * m4/mbiter.m4 (gl_MBITER): LIkewise.
88618         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
88619         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
88620         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
88621         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
88622         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
88623         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
88624         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
88625         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
88626         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
88627         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
88628         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
88629         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
88630         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
88631         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
88632         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
88633         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
88634         * modules/trim (configure.ac): Likewise.
88636 2008-12-17  Bruno Haible  <bruno@clisp.org>
88638         * modules/btowc-tests: New file.
88639         * tests/test-btowc1.sh: New file.
88640         * tests/test-btowc2.sh: New file.
88641         * tests/test-btowc.c: New file.
88643         New module 'btowc'.
88644         * lib/wchar.in.h (btowc): New declaration.
88645         * lib/btowc.c: New file.
88646         * m4/btowc.m4: New file.
88647         * modules/btowc: New file.
88648         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
88649         HAVE_BTOWC.
88650         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
88651         * doc/posix-functions/btowc.texi: Document the new module.
88653 2008-12-17  Bruno Haible  <bruno@clisp.org>
88655         New module 'mbsinit'.
88656         * lib/wchar.in.h (mbsinit): New declaration.
88657         * lib/mbsinit.c: New file.
88658         * m4/mbsinit.m4: New file.
88659         * modules/mbsinit: New file.
88660         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
88661         HAVE_MBSINIT.
88662         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
88663         HAVE_MBSINIT.
88664         * doc/posix-functions/mbsinit.texi: Document the new module.
88666 2008-12-16  Bruno Haible  <bruno@clisp.org>
88668         * lib/unistd.in.h: Add comment.
88669         * tests/test-environ.c: Don't include <stdlib.h>.
88671 2008-12-16  Bruno Haible  <bruno@clisp.org>
88673         * lib/parse-duration.h (parse_duration): Document return value
88674         convention.
88675         * lib/parse-duration.c: Include specification header first. Add
88676         comments.
88677         (_): Remove macro.
88678         (parse_year_month_day, parse_hour_minute_second): Move side effects
88679         outside of strchr call.
88680         (parse_non_iso8601): Move side effects outside of isspace call.
88681         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
88682         call.
88684 2008-12-16  Bruno Haible  <bruno@clisp.org>
88686         * tests/test-parse-duration.sh: Produce no output when the test
88687         succeeds.
88689 2008-12-16  Bruno Haible  <bruno@clisp.org>
88691         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
88692         expressions.
88694 2008-12-15  Bruno Haible  <bruno@clisp.org>
88696         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
88697         * doc/glibc-functions/flistxattr.texi: Likewise.
88698         * doc/glibc-functions/fopencookie.texi: Likewise.
88699         * doc/glibc-functions/fremovexattr.texi: Likewise.
88700         * doc/glibc-functions/fsetxattr.texi: Likewise.
88701         * doc/glibc-functions/getxattr.texi: Likewise.
88702         * doc/glibc-functions/lgetxattr.texi: Likewise.
88703         * doc/glibc-functions/listxattr.texi: Likewise.
88704         * doc/glibc-functions/llistxattr.texi: Likewise.
88705         * doc/glibc-functions/lremovexattr.texi: Likewise.
88706         * doc/glibc-functions/lsetxattr.texi: Likewise.
88707         * doc/glibc-functions/removexattr.texi: Likewise.
88708         * doc/glibc-functions/setxattr.texi: Likewise.
88709         * doc/posix-functions/open_memstream.texi: Likewise.
88711 2008-12-15  Eric Blake  <ebb9@byu.net>
88713         Update doc for cygwin 1.7.
88714         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
88715         functions.
88716         * doc/posix-functions/fchmodat.texi: Likewise.
88717         * doc/posix-functions/fchownat.texi: Likewise.
88718         * doc/posix-functions/fdopendir.texi: Likewise.
88719         * doc/posix-functions/fmemopen.texi: Likewise.
88720         * doc/posix-functions/freeaddrinfo.texi: Likewise.
88721         * doc/posix-functions/fstatat.texi: Likewise.
88722         * doc/posix-functions/futimens.texi: Likewise.
88723         * doc/posix-functions/gai_strerror.texi: Likewise.
88724         * doc/posix-functions/getaddrinfo.texi: Likewise.
88725         * doc/posix-functions/getnameinfo.texi: Likewise.
88726         * doc/posix-functions/if_freenameindex.texi: Likewise.
88727         * doc/posix-functions/if_indextoname.texi: Likewise.
88728         * doc/posix-functions/if_nameindex.texi: Likewise.
88729         * doc/posix-functions/if_nametoindex.texi: Likewise.
88730         * doc/posix-functions/insque.texi: Likewise.
88731         * doc/posix-functions/linkat.texi: Likewise.
88732         * doc/posix-functions/llrint.texi: Likewise.
88733         * doc/posix-functions/llrintf.texi: Likewise.
88734         * doc/posix-functions/llrintl.texi: Likewise.
88735         * doc/posix-functions/lockf.texi: Likewise.
88736         * doc/posix-functions/lrintl.texi: Likewise.
88737         * doc/posix-functions/mkdirat.texi: Likewise.
88738         * doc/posix-functions/mkfifoat.texi: Likewise.
88739         * doc/posix-functions/mknodat.texi: Likewise.
88740         * doc/posix-functions/mq_close.texi: Likewise.
88741         * doc/posix-functions/mq_getattr.texi: Likewise.
88742         * doc/posix-functions/mq_notify.texi: Likewise.
88743         * doc/posix-functions/mq_open.texi: Likewise.
88744         * doc/posix-functions/mq_receive.texi: Likewise.
88745         * doc/posix-functions/mq_send.texi: Likewise.
88746         * doc/posix-functions/mq_setattr.texi: Likewise.
88747         * doc/posix-functions/mq_timedreceive.texi: Likewise.
88748         * doc/posix-functions/mq_timedsend.texi: Likewise.
88749         * doc/posix-functions/mq_unlink.texi: Likewise.
88750         * doc/posix-functions/open_memstream.texi: Likewise.
88751         * doc/posix-functions/openat.texi: Likewise.
88752         * doc/posix-functions/posix_fadvise.texi: Likewise.
88753         * doc/posix-functions/posix_fallocate.texi: Likewise.
88754         * doc/posix-functions/posix_madvise.texi: Likewise.
88755         * doc/posix-functions/posix_memalign.texi: Likewise.
88756         * doc/posix-functions/posix_openpt.texi: Likewise.
88757         * doc/posix-functions/readlinkat.texi: Likewise.
88758         * doc/posix-functions/remque.texi: Likewise.
88759         * doc/posix-functions/renameat.texi: Likewise.
88760         * doc/posix-functions/rintl.texi: Likewise.
88761         * doc/posix-functions/sem_unlink.texi: Likewise.
88762         * doc/posix-functions/shm_open.texi: Likewise.
88763         * doc/posix-functions/shm_unlink.texi: Likewise.
88764         * doc/posix-functions/signgam.texi: Likewise.
88765         * doc/posix-functions/sigset.texi: Likewise.
88766         * doc/posix-functions/stpcpy.texi: Likewise.
88767         * doc/posix-functions/stpncpy.texi: Likewise.
88768         * doc/posix-functions/strerror.texi: Likewise.
88769         * doc/posix-functions/strtod.texi: Likewise.
88770         * doc/posix-functions/symlinkat.texi: Likewise.
88771         * doc/posix-functions/unlinkat.texi: Likewise.
88772         * doc/posix-functions/utimensat.texi: Likewise.
88773         * doc/glibc-functions/bindresvport.texi: Likewise.
88774         * doc/glibc-functions/dn_expand.texi: Likewise.
88775         * doc/glibc-functions/exp10.texi: Likewise.
88776         * doc/glibc-functions/exp10f.texi: Likewise.
88777         * doc/glibc-functions/fgetxattr.texi: Likewise.
88778         * doc/glibc-functions/flistxattr.texi: Likewise.
88779         * doc/glibc-functions/fopencookie.texi: Likewise.
88780         * doc/glibc-functions/freeifaddrs.texi: Likewise.
88781         * doc/glibc-functions/fremovexattr.texi: Likewise.
88782         * doc/glibc-functions/fsetxattr.texi: Likewise.
88783         * doc/glibc-functions/getifaddrs.texi: Likewise.
88784         * doc/glibc-functions/getxattr.texi: Likewise.
88785         * doc/glibc-functions/lgetxattr.texi: Likewise.
88786         * doc/glibc-functions/listxattr.texi: Likewise.
88787         * doc/glibc-functions/llistxattr.texi: Likewise.
88788         * doc/glibc-functions/lremovexattr.texi: Likewise.
88789         * doc/glibc-functions/lsetxattr.texi: Likewise.
88790         * doc/glibc-functions/pow10.texi: Likewise.
88791         * doc/glibc-functions/pow10f.texi: Likewise.
88792         * doc/glibc-functions/rcmd_af.texi: Likewise.
88793         * doc/glibc-functions/removexattr.texi: Likewise.
88794         * doc/glibc-functions/res_init.texi: Likewise.
88795         * doc/glibc-functions/res_mkquery.texi: Likewise.
88796         * doc/glibc-functions/res_query.texi: Likewise.
88797         * doc/glibc-functions/res_querydomain.texi: Likewise.
88798         * doc/glibc-functions/res_send.texi: Likewise.
88799         * doc/glibc-functions/rresvport_af.texi: Likewise.
88800         * doc/glibc-functions/setxattr.texi: Likewise.
88801         * doc/glibc-functions/strcasestr.texi: Likewise.
88803 2008-12-15  Bruno Haible  <bruno@clisp.org>
88805         Fix compilation error on OSF/1 4.0.
88806         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
88807         <sys/time.h>, simply delegate to the system header.
88808         Reported by Daniel Richard G. <oss@teragram.com>.
88810 2008-12-15  Bruno Haible  <bruno@clisp.org>
88812         * doc/posix-functions/openat.texi: Mention the 'openat' module.
88813         * doc/posix-functions/fchmodat.texi: Likewise.
88814         * doc/posix-functions/fchownat.texi: Likewise.
88815         * doc/posix-functions/fdopendir.texi: Likewise.
88816         * doc/posix-functions/fstatat.texi: Likewise.
88817         * doc/posix-functions/mkdirat.texi: Likewise.
88818         * doc/posix-functions/unlinkat.texi: Likewise.
88820 2008-12-14  Bruno Haible  <bruno@clisp.org>
88822         Update doc for POSIX:2008.
88823         * doc/posix-functions/faccessat.texi: New file.
88824         * doc/posix-functions/fchmodat.texi: New file.
88825         * doc/posix-functions/fchownat.texi: New file.
88826         * doc/posix-functions/fdopendir.texi: New file.
88827         * doc/posix-functions/fstatat.texi: New file.
88828         * doc/posix-functions/futimens.texi: New file.
88829         * doc/posix-functions/linkat.texi: New file.
88830         * doc/posix-functions/mkdirat.texi: New file.
88831         * doc/posix-functions/mkfifoat.texi: New file.
88832         * doc/posix-functions/mknodat.texi: New file.
88833         * doc/posix-functions/open_wmemstream.texi: New file.
88834         * doc/posix-functions/openat.texi: New file.
88835         * doc/posix-functions/psiginfo.texi: New file.
88836         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
88837         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
88838         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
88839         * doc/posix-functions/readlinkat.texi: New file.
88840         * doc/posix-functions/renameat.texi: New file.
88841         * doc/posix-functions/strerror_l.texi: New file.
88842         * doc/posix-functions/symlinkat.texi: New file.
88843         * doc/posix-functions/unlinkat.texi: New file.
88844         * doc/posix-functions/utimensat.texi: New file.
88845         * doc/gnulib.texi (Function Substitutes): Add these subsections.
88847 2008-12-14  Bruno Haible  <bruno@clisp.org>
88849         Update doc for POSIX:2008.
88850         * doc/posix-functions/alphasort.texi: Renamed from
88851         doc/glibc-functions/alphasort.texi.
88852         * doc/posix-functions/dirfd.texi: Renamed from
88853         doc/glibc-functions/dirfd.texi.
88854         * doc/posix-functions/dprintf.texi: Renamed from
88855         doc/glibc-functions/dprintf.texi.
88856         * doc/posix-functions/duplocale.texi: Renamed from
88857         doc/glibc-functions/duplocale.texi.
88858         * doc/posix-functions/fexecve.texi: Renamed from
88859         doc/glibc-functions/fexecve.texi.
88860         * doc/posix-functions/fmemopen.texi: Renamed from
88861         doc/glibc-functions/fmemopen.texi.
88862         * doc/posix-functions/freelocale.texi: Renamed from
88863         doc/glibc-functions/freelocale.texi.
88864         * doc/posix-functions/getdate_err.texi: Renamed from
88865         doc/glibc-functions/getdate_err.texi.
88866         * doc/posix-functions/isalnum_l.texi: Renamed from
88867         doc/glibc-functions/isalnum_l.texi.
88868         * doc/posix-functions/isalpha_l.texi: Renamed from
88869         doc/glibc-functions/isalpha_l.texi.
88870         * doc/posix-functions/isblank_l.texi: Renamed from
88871         doc/glibc-functions/isblank_l.texi.
88872         * doc/posix-functions/iscntrl_l.texi: Renamed from
88873         doc/glibc-functions/iscntrl_l.texi.
88874         * doc/posix-functions/isdigit_l.texi: Renamed from
88875         doc/glibc-functions/isdigit_l.texi.
88876         * doc/posix-functions/isgraph_l.texi: Renamed from
88877         doc/glibc-functions/isgraph_l.texi.
88878         * doc/posix-functions/islower_l.texi: Renamed from
88879         doc/glibc-functions/islower_l.texi.
88880         * doc/posix-functions/isprint_l.texi: Renamed from
88881         doc/glibc-functions/isprint_l.texi.
88882         * doc/posix-functions/ispunct_l.texi: Renamed from
88883         doc/glibc-functions/ispunct_l.texi.
88884         * doc/posix-functions/isspace_l.texi: Renamed from
88885         doc/glibc-functions/isspace_l.texi.
88886         * doc/posix-functions/isupper_l.texi: Renamed from
88887         doc/glibc-functions/isupper_l.texi.
88888         * doc/posix-functions/iswalnum_l.texi: Renamed from
88889         doc/glibc-functions/iswalnum_l.texi.
88890         * doc/posix-functions/iswalpha_l.texi: Renamed from
88891         doc/glibc-functions/iswalpha_l.texi.
88892         * doc/posix-functions/iswblank_l.texi: Renamed from
88893         doc/glibc-functions/iswblank_l.texi.
88894         * doc/posix-functions/iswcntrl_l.texi: Renamed from
88895         doc/glibc-functions/iswcntrl_l.texi.
88896         * doc/posix-functions/iswctype_l.texi: Renamed from
88897         doc/glibc-functions/iswctype_l.texi.
88898         * doc/posix-functions/iswdigit_l.texi: Renamed from
88899         doc/glibc-functions/iswdigit_l.texi.
88900         * doc/posix-functions/iswgraph_l.texi: Renamed from
88901         doc/glibc-functions/iswgraph_l.texi.
88902         * doc/posix-functions/iswlower_l.texi: Renamed from
88903         doc/glibc-functions/iswlower_l.texi.
88904         * doc/posix-functions/iswprint_l.texi: Renamed from
88905         doc/glibc-functions/iswprint_l.texi.
88906         * doc/posix-functions/iswpunct_l.texi: Renamed from
88907         doc/glibc-functions/iswpunct_l.texi.
88908         * doc/posix-functions/iswspace_l.texi: Renamed from
88909         doc/glibc-functions/iswspace_l.texi.
88910         * doc/posix-functions/iswupper_l.texi: Renamed from
88911         doc/glibc-functions/iswupper_l.texi.
88912         * doc/posix-functions/iswxdigit_l.texi: Renamed from
88913         doc/glibc-functions/iswxdigit_l.texi.
88914         * doc/posix-functions/isxdigit_l.texi: Renamed from
88915         doc/glibc-functions/isxdigit_l.texi.
88916         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
88917         doc/glibc-functions/mbsnrtowcs.texi.
88918         * doc/posix-functions/mkdtemp.texi: Renamed from
88919         doc/glibc-functions/mkdtemp.texi.
88920         * doc/posix-functions/newlocale.texi: Renamed from
88921         doc/glibc-functions/newlocale.texi.
88922         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
88923         doc/glibc-functions/nl_langinfo_l.texi.
88924         * doc/posix-functions/open_memstream.texi: Renamed from
88925         doc/glibc-functions/open_memstream.texi.
88926         * doc/posix-functions/opterr.texi: Renamed from
88927         doc/glibc-functions/opterr.texi.
88928         * doc/posix-functions/optind.texi: Renamed from
88929         doc/glibc-functions/optind.texi.
88930         * doc/posix-functions/optopt.texi: Renamed from
88931         doc/glibc-functions/optopt.texi.
88932         * doc/posix-functions/psignal.texi: Renamed from
88933         doc/glibc-functions/psignal.texi.
88934         * doc/posix-functions/scandir.texi: Renamed from
88935         doc/glibc-functions/scandir.texi.
88936         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
88937         doc/glibc-functions/sched_get_priority_min.texi.
88938         * doc/posix-functions/signgam.texi: Renamed from
88939         doc/glibc-functions/signgam.texi.
88940         * doc/posix-functions/stpcpy.texi: Renamed from
88941         doc/glibc-functions/stpcpy.texi.
88942         * doc/posix-functions/stpncpy.texi: Renamed from
88943         doc/glibc-functions/stpncpy.texi.
88944         * doc/posix-functions/strcasecmp_l.texi: Renamed from
88945         doc/glibc-functions/strcasecmp_l.texi.
88946         * doc/posix-functions/strcoll_l.texi: Renamed from
88947         doc/glibc-functions/strcoll_l.texi.
88948         * doc/posix-functions/strfmon_l.texi: Renamed from
88949         doc/glibc-functions/strfmon_l.texi.
88950         * doc/posix-functions/strftime_l.texi: Renamed from
88951         doc/glibc-functions/strftime_l.texi.
88952         * doc/posix-functions/strncasecmp_l.texi: Renamed from
88953         doc/glibc-functions/strncasecmp_l.texi.
88954         * doc/posix-functions/strndup.texi: Renamed from
88955         doc/glibc-functions/strndup.texi.
88956         * doc/posix-functions/strnlen.texi: Renamed from
88957         doc/glibc-functions/strnlen.texi.
88958         * doc/posix-functions/strsignal.texi: Renamed from
88959         doc/glibc-functions/strsignal.texi.
88960         * doc/posix-functions/strxfrm_l.texi: Renamed from
88961         doc/glibc-functions/strxfrm_l.texi.
88962         * doc/posix-functions/timer_gettime.texi: Renamed from
88963         doc/glibc-functions/timer_gettime.texi.
88964         * doc/posix-functions/tolower_l.texi: Renamed from
88965         doc/glibc-functions/tolower_l.texi.
88966         * doc/posix-functions/toupper_l.texi: Renamed from
88967         doc/glibc-functions/toupper_l.texi.
88968         * doc/posix-functions/towctrans_l.texi: Renamed from
88969         doc/glibc-functions/towctrans_l.texi.
88970         * doc/posix-functions/towlower_l.texi: Renamed from
88971         doc/glibc-functions/towlower_l.texi.
88972         * doc/posix-functions/towupper_l.texi: Renamed from
88973         doc/glibc-functions/towupper_l.texi.
88974         * doc/posix-functions/uselocale.texi: Renamed from
88975         doc/glibc-functions/uselocale.texi.
88976         * doc/posix-functions/vdprintf.texi: Renamed from
88977         doc/glibc-functions/vdprintf.texi.
88978         * doc/posix-functions/wcpcpy.texi:
88979         Renamed from doc/glibc-functions/wcpcpy.texi.
88980         * doc/posix-functions/wcpncpy.texi: Renamed from
88981         doc/glibc-functions/wcpncpy.texi.
88982         * doc/posix-functions/wcscasecmp.texi: Renamed from
88983         doc/glibc-functions/wcscasecmp.texi.
88984         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
88985         doc/glibc-functions/wcscasecmp_l.texi.
88986         * doc/posix-functions/wcscoll_l.texi: Renamed from
88987         doc/glibc-functions/wcscoll_l.texi.
88988         * doc/posix-functions/wcsdup.texi: Renamed from
88989         doc/glibc-functions/wcsdup.texi.
88990         * doc/posix-functions/wcsncasecmp.texi: Renamed from
88991         doc/glibc-functions/wcsncasecmp.texi.
88992         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
88993         doc/glibc-functions/wcsncasecmp_l.texi.
88994         * doc/posix-functions/wcsnlen.texi: Renamed from
88995         doc/glibc-functions/wcsnlen.texi.
88996         * doc/posix-functions/wcsnrtombs.texi: Renamed from
88997         doc/glibc-functions/wcsnrtombs.texi.
88998         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
88999         doc/glibc-functions/wcsxfrm_l.texi.
89000         * doc/posix-functions/wctrans_l.texi: Renamed from
89001         doc/glibc-functions/wctrans_l.texi.
89002         * doc/posix-functions/wctype_l.texi: Renamed from
89003         doc/glibc-functions/wctype_l.texi.
89004         * doc/gnulib.texi (Function Substitutes): Add these subsections.
89005         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
89006         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
89007         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
89008         these subsections.
89009         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
89010         Remove sections.
89012 2008-12-14  Bruno Haible  <bruno@clisp.org>
89014         Update doc for POSIX:2008.
89015         * doc/posix-functions/*.texi: Update URL of POSIX specification.
89017 2008-12-14  Bruno Haible  <bruno@clisp.org>
89019         Update doc for POSIX:2008.
89020         * doc/pastposix-functions/bcmp.texi: Renamed from
89021         doc/posix-functions/bcmp.texi.
89022         * doc/pastposix-functions/bcopy.texi: Renamed from
89023         doc/posix-functions/bcopy.texi.
89024         * doc/pastposix-functions/bsd_signal.texi: Renamed from
89025         doc/posix-functions/bsd_signal.texi.
89026         * doc/pastposix-functions/bzero.texi: Renamed from
89027         doc/posix-functions/bzero.texi.
89028         * doc/pastposix-functions/ecvt.texi: Renamed from
89029         doc/posix-functions/ecvt.texi.
89030         * doc/pastposix-functions/fcvt.texi: Renamed from
89031         doc/posix-functions/fcvt.texi.
89032         * doc/pastposix-functions/ftime.texi: Renamed from
89033         doc/posix-functions/ftime.texi.
89034         * doc/pastposix-functions/gcvt.texi: Renamed from
89035         doc/posix-functions/gcvt.texi.
89036         * doc/pastposix-functions/getcontext.texi: Renamed from
89037         doc/posix-functions/getcontext.texi.
89038         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
89039         doc/posix-functions/gethostbyaddr.texi.
89040         * doc/pastposix-functions/gethostbyname.texi: Renamed from
89041         doc/posix-functions/gethostbyname.texi.
89042         * doc/pastposix-functions/getwd.texi: Renamed from
89043         doc/posix-functions/getwd.texi.
89044         * doc/pastposix-functions/h_errno.texi: Renamed from
89045         doc/posix-functions/h_errno.texi.
89046         * doc/pastposix-functions/index.texi: Renamed from
89047         doc/posix-functions/index.texi.
89048         * doc/pastposix-functions/makecontext.texi: Renamed from
89049         doc/posix-functions/makecontext.texi.
89050         * doc/pastposix-functions/mktemp.texi: Renamed from
89051         doc/posix-functions/mktemp.texi.
89052         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
89053         doc/posix-functions/pthread_attr_getstackaddr.texi.
89054         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
89055         doc/posix-functions/pthread_attr_setstackaddr.texi.
89056         * doc/pastposix-functions/rindex.texi: Renamed from
89057         doc/posix-functions/rindex.texi.
89058         * doc/pastposix-functions/scalb.texi: Renamed from
89059         doc/posix-functions/scalb.texi.
89060         * doc/pastposix-functions/setcontext.texi: Renamed from
89061         doc/posix-functions/setcontext.texi.
89062         * doc/pastposix-functions/swapcontext.texi: Renamed from
89063         doc/posix-functions/swapcontext.texi.
89064         * doc/pastposix-functions/ualarm.texi: Renamed from
89065         doc/posix-functions/ualarm.texi.
89066         * doc/pastposix-functions/usleep.texi: Renamed from
89067         doc/posix-functions/usleep.texi.
89068         * doc/pastposix-functions/vfork.texi: Renamed from
89069         doc/posix-functions/vfork.texi.
89070         * doc/pastposix-functions/wcswcs.texi: Renamed from
89071         doc/posix-functions/wcswcs.texi.
89072         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
89073         (Function Substitutes): Update.
89075 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89077         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
89078         m4/strerror.m4.
89080 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89081             Bruno Haible  <bruno@clisp.org>
89083         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
89085 2008-12-13  Bruno Haible  <bruno@clisp.org>
89087         * modules/strtoull (Depends-on): Remove unistd.
89089 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89091         * modules/strtoull (Depends-on): Add stdlib.
89093 2008-12-11  Simon Josefsson  <simon@josefsson.org>
89095         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
89097 2008-12-10  Jim Meyering  <meyering@redhat.com>
89099         gl_ASSERT: don't say assertions are disabled when they're not
89100         * m4/assert.m4 (gl_ASSERT): Do not make configure report
89101         "checking whether to enable assertions... no", when they are in
89102         fact enabled.  This is solely a bug in the output of configure.
89103         In spite of saying "no", NDEBUG was not defined in that case.
89104         Also, as noted by Eric Blake, leave assertions enabled upon
89105         --enable-assert=INVALID.
89107 2008-12-10  Bruno Haible  <bruno@clisp.org>
89109         Change MODULES.html to refer to POSIX:2008 where possible.
89110         * MODULES.html.sh (POSIX2008_URL): New variable.
89111         (posix_headers): Remove sys/timeb, ucontext.
89112         (posix2001_headers): New variable.
89113         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
89114         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
89115         index, makecontext, mktemp, pthread_attr_getstackaddr,
89116         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
89117         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
89118         (posix2001_functions): New variable.
89119         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
89120         otherwise.
89122 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89124         add missing include to parse-duration.c
89125         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
89126         * modules/parse-duration (Depends-on): Add xalloc.
89128         fix sed script reading maint.mk
89129         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
89130         (syntax-check-rules): Use it.
89132 2008-12-09  Bruno Haible  <bruno@clisp.org>
89134         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
89135         MacOS X 10.4/PowerPC.
89136         Reported by Simon Josefsson.
89138 2008-12-08  Jim Meyering  <meyering@redhat.com>
89140         work around mingw's lack of some S_IF definitions
89141         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
89142         Reported by Simon Josefsson.
89144 2008-12-08  Bruno Haible  <bruno@clisp.org>
89146         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
89147         applied to variables. Needed on MacOS X 10.4/PowerPC.
89148         Reported by Simon Josefsson.
89150 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
89151         and Eric Blake  <ebb9@byu.net>
89153         assert: honor --enable-assert
89154         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
89155         order to honor --enable-assert, rather than treating it as a
89156         synonym for --disable-assert.
89158 2008-12-08  Jim Meyering  <meyering@redhat.com>
89160         * lib/posixtm.c: Remove now-useless declaration of mktime.
89162         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
89164 2008-12-07  Bruno Haible  <bruno@clisp.org>
89166         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
89167         test_once): Mark functions as static.
89168         * tests/test-tls.c (test_tls): Likewise.
89170 2008-12-07  Bruno Haible  <bruno@clisp.org>
89172         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
89173         iconv_register_autodetect.
89175 2008-12-07  Jim Meyering  <meyering@redhat.com>
89177         posixtm.c: avoid a warning
89178         * lib/posixtm.c (posixtime): Don't initialize tm0.
89179         It's no longer needed to placate gcc4's -Wuninitialized,
89180         and the attempt to placate would elicit a new warning.
89182         unicodeio.c: mark unused parameters
89183         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
89184         (fallback_failure_callback): Likewise.
89186 2008-12-07  Bruno Haible  <bruno@clisp.org>
89188         * gnulib-tool (func_create_testdir): When building the tests
89189         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
89190         Reported by Simon Josefsson.
89192 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89194         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
89196 2008-12-06  Bruno Haible  <bruno@clisp.org>
89198         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
89199         Suggested by Eric Blake.
89201 2008-12-06  Bruno Haible  <bruno@clisp.org>
89203         Fix a c-stack test failure on MacOS X.
89204         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
89205         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
89206         handler for SIGBUS as well.
89207         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
89208         install a signal handler for SIGBUS as well.
89209         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
89211 2008-12-06  Bruno Haible  <bruno@clisp.org>
89213         Advocacy documentation.
89214         * doc/gnulib-intro.texi (Benefits): New section.
89215         * doc/gnulib.texi: Update.
89217 2008-12-06  Bruno Haible  <bruno@clisp.org>
89219         Document the 'manywarnings' module.
89220         * doc/manywarnings.texi: New file.
89221         * doc/gnulib.texi: Include it.
89223 2008-12-05  Eric Blake  <ebb9@byu.net>
89225         tests: silence some gcc warnings
89226         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
89227         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
89228         type mismatches.
89230 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89231             Bruno Haible  <bruno@clisp.org>
89233         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
89235 2008-11-29  Jim Meyering  <meyering@redhat.com>
89237         unicodeio.c: mark unused parameters
89238         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
89239         (fallback_failure_callback): Likewise.
89241         fts: fix a thinko
89242         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
89243         (set_stat_type): Return S_IF*-valued "type" directly.
89244         Prompted by James Youngman's spotting a related bug.
89245         Confirmed by further testing through find.
89247         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
89248         * lib/fts.c (D_TYPE): Define.
89249         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
89250         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
89251         (s_ifmt_shift_bits): New function.
89252         (set_stat_type): New function.
89253         (fts_build): When not calling fts_stat, call set_stat_type
89254         to propagate dirent.d_type info to fts_read caller.
89255         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
89256         fts_statp->st_mode type information may be valid.
89258 2008-11-28  Simon Josefsson  <simon@josefsson.org>
89260         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
89261         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
89262         <sds@gnu.org>.
89264 2008-11-20  Bruno Haible  <bruno@clisp.org>
89266         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
89267         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
89268         INCLUDE_NEXT.
89269         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
89270         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
89271         * modules/math (Makefile.am): Substitute
89272         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
89273         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
89275 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
89276             Bruno Haible  <bruno@clisp.org>
89278         * lib/stdint.in.h: Define all type macros so that their expansion is
89279         a single typedef'ed token. Fixes a compilation failure in Boost which
89280         does "using ::int8_t;".
89282 2008-11-18  Simon Josefsson  <simon@josefsson.org>
89284         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
89285         gl_MANYWARN_ALL_GCC.
89286         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
89287         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
89288         * modules/manywarnings: New file.
89289         * MODULES.html.sh: Mention manywarnings module.
89291 2008-11-18  Bruno Haible  <bruno@clisp.org>
89293         * doc/gnulib-tool.texi (Unit tests): New section.
89295 2008-11-18  Simon Josefsson  <simon@josefsson.org>
89297         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
89298         paths like 'lib/po/foo.po'.
89300 2008-11-17  Simon Josefsson  <simon@josefsson.org>
89302         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
89303         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
89305 2008-11-17  Simon Josefsson  <simon@josefsson.org>
89307         * m4/warnings.m4: Use CPPFLAGS to really check whether the
89308         parameter works.
89310 2008-11-17  Simon Josefsson  <simon@josefsson.org>
89312         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
89314 2008-11-17  Bruce Korb  <bkorb@gnu.org>
89316         * modules/parse-duration-tests: New file.
89317         * tests/test-parse-duration.sh: New file.
89318         * tests/test-parse-duration.c: New file.
89320         New module 'parse-duration'.
89321         * lib/parse-duration.h: New file.
89322         * lib/parse-duration.c: New file.
89323         * modules/parse-duration: New file.
89325 2008-11-17  Bruno Haible  <bruno@clisp.org>
89327         * tests/test-select-out.sh: Comment out the first pipe test.
89328         Reported by Simon Josefsson.
89330 2008-11-17  Bruno Haible  <bruno@clisp.org>
89332         * modules/getaddrinfo (Depends-on): Add servent, hostent.
89333         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
89334         gl_HOSTENT.
89336 2008-11-17  Bruno Haible  <bruno@clisp.org>
89338         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
89339         -lnetwork and -lnet. Needed for Haiku and BeOS.
89341 2008-11-16  Bruno Haible  <bruno@clisp.org>
89343         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
89345 2008-11-16  Bruno Haible  <bruno@clisp.org>
89347         Avoid test failure on Haiku.
89348         * tests/test-fsync.c: Include <errno.h>.
89349         (main): Don't require that fsync (0) fails.
89351 2008-11-15  Bruno Haible  <bruno@clisp.org>
89353         New module 'hostent'.
89354         * modules/hostent: New file.
89355         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
89357 2008-11-15  Bruno Haible  <bruno@clisp.org>
89359         New module 'servent'.
89360         * modules/servent: New file.
89361         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
89363 2008-11-15  Bruno Haible  <bruno@clisp.org>
89365         Avoid generating same test program with two different rules.
89366         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
89367         test-frexp to test-frexp-nolibm.
89368         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
89369         test-frexpl to test-frexpl-nolibm.
89371 2008-11-15  Bruno Haible  <bruno@clisp.org>
89373         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
89374         $(FREXPL_LIBM).
89376 2008-11-15  Bruno Haible  <bruno@clisp.org>
89378         * lib/netdb.in.h: Activate the definitions also when the system's
89379         <netdb.h> has 'struct addrinfo'.
89380         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
89381         EAI_OVERFLOW or AI_NUMERICSERV.
89382         * doc/posix-headers/netdb.texi: Document the problem.
89384 2008-11-15  Bruno Haible  <bruno@clisp.org>
89386         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
89388         Make the 'sched' module work on platforms where <sched.h> exists but
89389         is incomplete (such as Haiku).
89390         * lib/sched.in.h; Include the system's <sched.h> if it exists.
89391         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
89392         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
89393         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
89394         HAVE_STRUCT_SCHED_PARAM.
89395         * modules/sched (Depends-on): Add include_next.
89396         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
89397         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
89398         * doc/posix-headers/sched.texi: Document the issue.
89400 2008-11-13  Jim Meyering  <meyering@redhat.com>
89402         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
89403         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
89404         test would fail due to the difference in the Report bugs to ...
89405         line.  The expected address is empty, "<>", while the actual
89406         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
89408 2008-11-12  Bruno Haible  <bruno@clisp.org>
89410         lstat: don't compile lstat.c on systems lacking lstat
89411         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
89412         which don't have lstat; this is handled by lib/sys_stat.in.h already.
89413         Reported by Daniel P. Berrange via Jim Meyering.
89415 2008-11-12  Jim Meyering  <meyering@redhat.com>
89417         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
89419 2008-11-12  Simon Josefsson  <simon@josefsson.org>
89421         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
89422         instead.
89424 2008-11-12  Bruno Haible  <bruno@clisp.org>
89426         * lib/unicodeio.c: Include unistr.h.
89427         (utf8_wctomb): Remove function.
89428         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
89430 2008-11-12  Simon Josefsson  <simon@josefsson.org>
89432         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
89433         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
89434         <bruno@clisp.org>.
89435         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
89437 2008-11-12  Simon Josefsson  <simon@josefsson.org>
89439         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
89440         * doc/gnulib.texi: Add section for warnings.
89442 2008-11-11  Bruno Haible  <bruno@clisp.org>
89444         * lib/sockets.h: Add a comment.
89446 2008-11-11  Karl Berry  <karl@gnu.org>
89448         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
89450 2008-11-11  Eric Blake  <ebb9@byu.net>
89452         fdl.texi: avoid git symlinks
89453         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
89455 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89457         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
89459 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89461         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
89462         (gl_WARN_ADD): Substitute $2 if literal.
89464 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89466         * m4/warning.m4: Remove.
89468 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89470         * m4/warnings.m4: Almost complete rewrite. :-)
89472 2008-11-10  Simon Josefsson  <simon@josefsson.org>
89474         * modules/warnings: New module.
89475         * m4/warnings.m4: New file.
89476         * MODULES.html.sh: Mention warnings module.
89477         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
89478         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
89480 2008-11-10  Eric Blake  <ebb9@byu.net>
89482         fdl.texi: make a symlink to the latest version
89483         * doc/standards.texi: Revert today's earlier change.
89484         * doc/fdl-1.2.texi: Rename from old fdl.texi...
89485         * doc/fdl.texi: ...and replace this with a symlink to the newer
89486         fdl-1.3.texi.
89488 2008-11-10  Bruno Haible  <bruno@clisp.org>
89490         * tests/test-select-fd.c (main): Accept the result file name as fourth
89491         argument.
89492         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
89493         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
89495 2008-11-10  Bruno Haible  <bruno@clisp.org>
89497         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
89498         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
89499         as autoconf-substituted macros.
89500         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
89501         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
89502         gl_NETDB_H_DEFAULTS. Set these variables.
89503         * modules/netdb (Makefile.am): Substitute these variables.
89505 2008-11-10  Eric Blake  <ebb9@byu.net>
89507         standards.texi: include correct file for FDL 1.3
89508         * doc/standards.texi (GNU Free Documentation License): Change
89509         include file to pull in FDL 1.3, not 1.2.
89511         fdl.texi: revert accidental change to license
89512         * doc/fdl.texi: This is FDL 1.2, not 1.3.
89514 2008-11-10  Bruno Haible  <bruno@clisp.org>
89516         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
89517         cross-compiling guesses also when the native compile gives no result.
89519 2008-11-10  Bruno Haible  <bruno@clisp.org>
89521         * lib/spawni.c (__spawni): Force variable into the stack.
89523 2008-11-10  Bruno Haible  <bruno@clisp.org>
89525         Add support for Haiku.
89526         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
89527         glibc and BeOS, but also on Haiku.
89528         * lib/fpurge.c (fpurge): Likewise.
89529         * lib/freadable.c (freadable): Likewise.
89530         * lib/freadahead.c (freadahead): Likewise.
89531         * lib/freading.c (freading): Likewise.
89532         * lib/freadptr.c (freadptr): Likewise.
89533         * lib/freadseek.c (freadptrinc): Likewise.
89534         * lib/fseeko.c (rpl_fseeko): Likewise.
89535         * lib/fseterr.c (fseterr): Likewise.
89536         * lib/fwritable.c (fwritable): Likewise.
89537         * lib/fwriting.c (fwriting): Likewise.
89538         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
89540 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
89542         * lib/config.charset: Treat Haiku like BeOS.
89544 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
89546         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
89547         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
89549 2008-11-08  Bruno Haible  <bruno@clisp.org>
89551         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
89552         AC_CACHE_CHECK.
89554 2008-11-08  Bruno Haible  <bruno@clisp.org>
89556         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
89558 2008-11-08  Bruno Haible  <bruno@clisp.org>
89560         * tests/test-select-fd.c: New file.
89561         * tests/test-select-in.sh: New file.
89562         * tests/test-select-out.sh: New file.
89563         * tests/test-select-stdin.c: New file.
89564         * modules/select-tests (Files): Add the new files.
89565         (Depends-on): Add gettimeofday.
89566         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
89567         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
89568         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
89570 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
89571             Bruno Haible  <bruno@clisp.org>
89573         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
89575 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
89577         * build-aux/pmccabe2html: Added support for C++ source files.
89579 2008-11-05  Ben Pfaff  <blp@gnu.org>
89581         Fix lib/close.c build on Windows.
89582         * modules/close (Files): Add lib/w32sock.h.
89584 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
89586         Accept Bison's NEWS format.
89587         * build-aux/announce-gen (print_news_deltas): Tweak
89588         $re_prefix.
89590 2008-11-04  Bruno Haible  <bruno@clisp.org>
89592         * modules/random_r (Maintainer): Add glibc.
89594 2008-11-04  Simon Josefsson  <simon@josefsson.org>
89596         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
89597         by karl@freefriends.org (Karl Berry).
89598         * doc/alloca.texi: Likewise.
89599         * doc/c-ctype.texi: Likewise.
89600         * doc/c-strcase.texi: Likewise.
89601         * doc/c-strcaseeq.texi: Likewise.
89602         * doc/c-strcasestr.texi: Likewise.
89603         * doc/c-strstr.texi: Likewise.
89604         * doc/c-strtod.texi: Likewise.
89605         * doc/c-strtold.texi: Likewise.
89606         * doc/ctime.texi: Likewise.
89607         * doc/error.texi: Likewise.
89608         * doc/fdl.texi: Likewise.
89609         * doc/gcd.texi: Likewise.
89610         * doc/getdate.texi: Likewise.
89611         * doc/gnulib-intro.texi: Likewise.
89612         * doc/gnulib-tool.texi: Likewise.
89613         * doc/gnulib.texi: Likewise.
89614         * doc/inet_ntoa.texi: Likewise.
89615         * doc/maintain.texi: Likewise.
89616         * doc/make-stds.texi: Likewise.
89617         * doc/quote.texi: Likewise.
89618         * doc/regexprops-generic.texi: Likewise.
89619         * doc/standards.texi: Likewise.
89620         * doc/verify.texi: Likewise.
89621         * doc/visibility.texi: Likewise.
89622         * doc/gnulib.texi (GNU Free Documentation License): Include
89623         fdl-1.3.texi instead of fdl.texi.
89625 2008-11-04  Simon Josefsson  <simon@josefsson.org>
89627         * doc/fdl-1.3.texi: New file, from
89628         <http://www.gnu.org/licenses/fdl-1.3.texi>.
89629         * modules/fdl-1.3: Add.
89630         * MODULES.html.sh: Add fdl-1.3.
89632 2008-11-03  Bruno Haible  <bruno@clisp.org>
89634         Make determination of absolute name of header file work with AIX xlc.
89635         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
89636         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
89637         preprocessing.
89638         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
89639         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
89641 2008-11-03  Simon Josefsson  <simon@josefsson.org>
89643         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
89644         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
89645         <ludo@gnu.org>.
89647 2008-11-02  Bruno Haible  <bruno@clisp.org>
89649         Mark 'strpbrk' obsolete.
89650         * modules/strpbrk (Status, Notice): New sections.
89651         * modules/strtok_r (Depends-on): Add strpbrk.
89653 2008-11-02  Bruno Haible  <bruno@clisp.org>
89655         Mark 'strdup' obsolete.
89656         * modules/strdup (Status, Notice): New sections.
89657         * modules/findprog (Depends-on): Add strdup.
89658         * modules/getaddrinfo (Depends-on): Likewise.
89659         * modules/localename (Depends-on): Likewise.
89660         * modules/relocatable-lib (Depends-on): Likewise.
89661         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
89662         * modules/relocatable-prog (Depends-on): Likewise.
89663         * modules/trim (Depends-on): Likewise.
89664         * modules/unictype/gen-ctype (Depends-on): Likewise.
89665         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
89667 2008-11-02  Bruno Haible  <bruno@clisp.org>
89669         Mark 'strcspn' obsolete.
89670         * modules/strcspn (Status, Notice): New sections.
89672 2008-11-02  Bruno Haible  <bruno@clisp.org>
89674         Mark 'rmdir' obsolete.
89675         * modules/rmdir (Status, Notice): New sections.
89676         * modules/clean-temp (Depends-on): Add rmdir.
89677         * modules/openat (Depends-on): Likewise.
89679 2008-11-02  Bruno Haible  <bruno@clisp.org>
89681         Mark 'raise' obsolete.
89682         * modules/raise (Status, Notice): New sections.
89683         (Include): Specify <signal.h>.
89684         * modules/stdio (Depends-on): Add raise.
89685         * modules/write (Depends-on): Likewise.
89687 2008-11-02  Bruno Haible  <bruno@clisp.org>
89689         Mark 'memset' obsolete.
89690         * modules/memset (Status, Notice): New sections.
89692 2008-11-02  Bruno Haible  <bruno@clisp.org>
89694         Mark 'memmove' obsolete.
89695         * modules/memmove (Status, Notice): New sections.
89696         * modules/argp (Depends-on): Add memmove.
89697         * modules/argz (Depends-on): Likewise.
89698         * modules/canonicalize (Depends-on): Likewise.
89699         * modules/canonicalize-lgpl (Depends-on): Likewise.
89700         * modules/fts (Depends-on): Likewise.
89701         * modules/getcwd (Depends-on): Likewise.
89702         * modules/human (Depends-on): Likewise.
89703         * modules/regex (Depends-on): Likewise.
89704         * modules/striconveh (Depends-on): Likewise.
89705         * modules/trim (Depends-on): Likewise.
89706         * modules/unistr/u8-move (Depends-on): Likewise.
89707         * modules/unistr/u16-move (Depends-on): Likewise.
89708         * modules/unistr/u32-move (Depends-on): Likewise.
89710 2008-11-02  Bruno Haible  <bruno@clisp.org>
89712         Mark 'memcpy' obsolete.
89713         * modules/memcpy (Status, Notice): New sections.
89715 2008-11-02  Bruno Haible  <bruno@clisp.org>
89717         Mark 'memcmp' obsolete.
89718         * modules/memcmp (Status, Notice): New sections.
89719         * modules/argmatch (Depends-on): Add memchr.
89720         * modules/backupfile (Depends-on): Likewise.
89721         * modules/c-strcasestr (Depends-on): Likewise.
89722         * modules/crypto/des (Depends-on): Likewise.
89723         * modules/csharpcomp (Depends-on): Likewise.
89724         * modules/fnmatch (Depends-on): Likewise.
89725         * modules/git-merge-changelog (Depends-on): Likewise.
89726         * modules/isnand (Depends-on): Likewise.
89727         * modules/isnand-nolibm (Depends-on): Likewise.
89728         * modules/isnanf (Depends-on): Likewise.
89729         * modules/isnanf-nolibm (Depends-on): Likewise.
89730         * modules/isnanl (Depends-on): Likewise.
89731         * modules/isnanl-nolibm (Depends-on): Likewise.
89732         * modules/mbchar (Depends-on): Likewise.
89733         * modules/memcoll (Depends-on): Likewise.
89734         * modules/quotearg (Depends-on): Likewise.
89735         * modules/regex (Depends-on): Likewise.
89736         * modules/relocatable-prog (Depends-on): Likewise.
89737         * modules/same (Depends-on): Likewise.
89738         * modules/signbit (Depends-on): Likewise.
89739         * modules/strcasestr-simple (Depends-on): Likewise.
89740         * modules/unictype/gen-ctype (Depends-on): Likewise.
89741         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
89742         * modules/uniname/uniname (Depends-on): Likewise.
89743         * modules/unistr/u8-cmp (Depends-on): Likewise.
89745 2008-11-02  Bruno Haible  <bruno@clisp.org>
89747         Mark 'memchr' obsolete.
89748         * modules/memchr (Status, Notice): New sections.
89749         * modules/argp (Depends-on): Add memchr.
89750         * modules/base64 (Depends-on): Likewise.
89751         * modules/c-strcasestr (Depends-on): Likewise.
89752         * modules/chdir-long (Depends-on): Likewise.
89753         * modules/fnmatch (Depends-on): Likewise.
89754         * modules/getsubopt (Depends-on): Likewise.
89755         * modules/git-merge-changelog (Depends-on): Likewise.
89756         * modules/glob (Depends-on): Likewise.
89757         * modules/strcasestr-simple (Depends-on): Likewise.
89758         * modules/strnlen (Depends-on): Likewise.
89760 2008-11-02  Bruno Haible  <bruno@clisp.org>
89762         Mark 'atexit' obsolete.
89763         * modules/atexit (Status, Notice): New sections.
89764         * modules/chdir-long (Depends-on): Add atexit.
89765         * modules/wait-process (Depends-on): Likewise.
89767 2008-11-02  Bruno Haible  <bruno@clisp.org>
89769         * gnulib-tool: New option --with-obsolete.
89770         (func_usage): Document it.
89771         (func_modules_transitive_closure): Drop obsolete dependencies if
89772         incobsolete is not true.
89773         (func_import): Read and save the incobsolete variable to the cache.
89775 2008-11-02  Bruno Haible  <bruno@clisp.org>
89777         * modules/TEMPLATE-EXTENDED: New field 'Status'.
89778         * gnulib-tool: New option --extract-status.
89779         (func_usage): Document it.
89780         (sed_extract_prog): Recognize it.
89781         (func_get_status): New function.
89783 2008-10-30  Simon Josefsson  <simon@josefsson.org>
89785         * modules/sockets (License): Change from LGPL to LGPLv2+.
89787 2008-10-28  Simon Josefsson  <simon@josefsson.org>
89789         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
89791 2008-10-28  Simon Josefsson  <simon@josefsson.org>
89793         * MODULES.html.sh (Support for systems lacking POSIX:2001):
89794         Mention times and sys_times.
89795         * modules/sys_times, modules/sys_times-tests: New modules.
89796         * modules/times, modules/times-tests: Likewise
89797         * m4/sys_times_h.m4: New file.
89798         * lib/sys_times.in.h: Likewise
89799         * lib/times.c: Likewise.
89800         * tests/test-sys_times.c: Likewise.
89801         * tests/test-times.c: Likewise.
89802         * doc/posix-headers/sys_times.texi: Update.
89803         * doc/posix-functions/times.texi: Update.
89805 2008-10-28  Jim Meyering  <meyering@redhat.com>
89807         * modules/tempname (Depends-on): Add lstat.
89809         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
89811 2008-10-28  Simon Josefsson  <simon@josefsson.org>
89813         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
89814         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
89815         using idiom used elsewhere in gnulib.
89817 2008-10-27  Jim Meyering  <meyering@redhat.com>
89819         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
89821 2008-10-27  Simon Josefsson  <simon@josefsson.org>
89823         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
89824         TESTS_ENVIRONMENT, for shell scripts that needs to call built
89825         programs.
89826         * tests/test-argp-2.sh: Use $EXEEXT when needed.
89828 2008-10-27  Simon Josefsson  <simon@josefsson.org>
89830         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
89832 2008-10-27  Bruno Haible  <bruno@clisp.org>
89834         * tests/test-lstat.c: Include <stdio.h>.
89836 2008-10-27  Simon Josefsson  <simon@josefsson.org>
89838         * modules/lstat-tests: New module.
89839         * tests/test-lstat.c: New file.
89841 2008-10-26  Jim Meyering  <meyering@redhat.com>
89843         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
89845 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89846             Bruno Haible  <bruno@clisp.org>
89848         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
89849         * modules/configmake (Include): Add a note that the include must come
89850         after all system headers.
89851         * lib/javaversion.c: Include configmake.h after all other includes.
89853 2008-10-26  Bruno Haible  <bruno@clisp.org>
89855         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
89856         HAVE_STRUCT_RANDOM_DATA to 1.
89857         (gl_STDLIB_H): Simplify.
89859 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89861         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
89862         substitute HAVE_STRUCT_RANDOM_DATA.
89863         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
89864         random_data.
89865         * modules/stdlib (Makefile.am): Substitute
89866         HAVE_STRUCT_RANDOM_DATA.
89868 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89870         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
89871         * doc/gnulib-intro.texi (Copyright): Likewise.
89873 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89875         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
89876         findings.
89878 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
89879             Bruno Haible  <bruno@clisp.org>
89881         * lib/unistd.in.h: Include <winsock2.h>.
89882         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
89883         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
89884         Provide dummy declarations.
89885         (gethostname): Override.
89886         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
89887         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
89888         gl_PREREQ_SYS_H_WINSOCK2.
89889         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
89890         * doc/posix-functions/gethostname.texi: More details.
89892 2008-10-25  Bruno Haible  <bruno@clisp.org>
89894         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
89895         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
89896         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
89898         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
89899         here ...
89900         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
89901         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
89902         gl_UNISTD_H_DEFAULTS.
89904 2008-10-25  Eric Blake  <ebb9@byu.net>
89906         signbit: avoid spurious compiler failure
89907         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
89908         declarations inside function.
89910 2008-10-24  Simon Josefsson  <simon@josefsson.org>
89911             Bruno Haible  <bruno@clisp.org>
89913         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
89914         * modules/random_r (Depends-on): Add stdint.
89916 2008-10-24  Bruno Haible  <bruno@clisp.org>
89918         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
89919         Eggert.
89920         * modules/strerror (License): Likewise.
89922 2008-10-24  Jim Meyering  <meyering@redhat.com>
89924         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
89925         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
89927 2008-10-24  Eric Blake  <ebb9@byu.net>
89929         getgroups: fix compilation when getgroups is available
89930         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
89931         but with <config.h> override of getgroups disabled.
89933 2008-10-24  Simon Josefsson  <simon@josefsson.org>
89935         * doc/gnulib.texi (Header files): Add note about C++ problems.
89936         Explained by Bruno Haible <bruno@clisp.org>.
89938 2008-10-23  Bruno Haible  <bruno@clisp.org>
89940         Define a dummy SA_NODEFER macro on Interix.
89941         * lib/signal.in.h (SA_NODEFER): Define fallback.
89942         Reported by Aleksey Cheusov <cheusov@tut.by> via
89943         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
89945 2008-10-23  Bruno Haible  <bruno@clisp.org>
89947         * modules/freadahead (License): Change to LGPLv2+.
89948         Suggested by Simon Josefsson.
89950 2008-10-23  Jim Meyering  <meyering@redhat.com>
89952         random_r: new module
89953         * modules/random_r: New file.
89954         * m4/random_r.m4: New file.
89955         * lib/random_r.c: New file, from glibc.
89956         * modules/random_r-tests: New file.
89957         * tests/test-random_r.c: New file.
89958         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
89959          Declare.
89960         (RAND_MAX): Define.
89961         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
89962         * modules/stdlib: Substitute them, too.
89963         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
89964         * doc/glibc-functions/initstate_r.texi: Mention the new module.
89965         * doc/glibc-functions/random_r.texi: Likewise.
89966         * doc/glibc-functions/setstate_r.texi: Likewise.
89967         * doc/glibc-functions/srandom_r.texi: Likewise.
89968         * config/srclist.txt: Mention it.
89970 2008-10-23  David Lutterkort  <lutter@redhat.com>
89972         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
89973         link requirement
89975 2008-10-23  Jim Meyering  <meyering@redhat.com>
89977         selinux-h: mark parameters of stub functions as intentionally unused
89978         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
89979         * lib/se-context.in.h: Likewise.
89981 2008-10-22  Simon Josefsson  <simon@josefsson.org>
89983         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
89985 2008-10-22  Simon Josefsson  <simon@josefsson.org>
89987         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
89989 2008-10-22  Eric Blake  <ebb9@byu.net>
89991         glthread/thread: avoid compiler warning
89992         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
89993         Add unreachable abort to silence compiler.
89995 2008-10-22  Eric Blake  <ebb9@byu.net>
89997         netdb: also supply struct addrinfo for cygwin 1.5.x
89998         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
89999         older cygwin.
90000         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
90001         cygwin.
90002         * doc/posix-headers/netdb.texi (netdb.h): Document this.
90004 2008-10-22  Bruno Haible  <bruno@clisp.org>
90006         * users.txt: Update entry about pspp.
90008 2008-10-21  Bruno Haible  <bruno@clisp.org>
90010         Simplification.
90011         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
90012         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
90014         Simplification.
90015         * lib/ioctl.c (ioctl): Don't undefine.
90016         * lib/socket.c (socket): Don't undefine.
90018         Remove unused module indicator macros.
90019         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
90020         GNULIB_$1 as a C macro.
90022         * doc/posix-functions/close.texi: Undo last change.
90023         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
90024         Windows platforms.
90026 2008-10-21  Bruno Haible  <bruno@clisp.org>
90028         Add gethostname() declaration to <unistd.h>.
90029         * lib/unistd.in.h (gethostname): New declaration.
90030         * lib/gethostname.c: Include <unistd.h>.
90031         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
90032         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
90033         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
90034         and HAVE_GETHOSTNAME.
90035         * modules/gethostname (Depends-on): Add unistd.
90036         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90037         (Include): Specify <unistd.h>.
90038         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
90039         HAVE_GETHOSTNAME.
90040         * tests/test-gethostname.c: Include <unistd.h> first.
90042 2008-10-21  Bruno Haible  <bruno@clisp.org>
90044         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
90045         * modules/select-tests (Depends-on): Likewise.
90046         Reported by Simon Josefsson.
90048 2008-10-21  Simon Josefsson  <simon@josefsson.org>
90050         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
90051         * lib/accept.c: New file, based on winsock.c.
90052         * lib/bind.c: New file, based on winsock.c.
90053         * lib/connect.c: New file, based on winsock.c.
90054         * lib/getpeername.c: New file, based on winsock.c.
90055         * lib/getsockname.c: New file, based on winsock.c.
90056         * lib/getsockopt.c: New file, based on winsock.c.
90057         * lib/ioctl.c: New file, based on winsock.c.
90058         * lib/listen.c: New file, based on winsock.c.
90059         * lib/recv.c: New file, based on winsock.c.
90060         * lib/recvfrom.c: New file, based on winsock.c.
90061         * lib/send.c: New file, based on winsock.c.
90062         * lib/sendto.c: New file, based on winsock.c.
90063         * lib/setsockopt.c: New file, based on winsock.c.
90064         * lib/shutdown.c: New file, based on winsock.c.
90065         * lib/socket.c: New file, based on winsock.c.
90066         * lib/w32sock.h: New file, based on winsock.c.
90067         * lib/winsock.c: Remove file.
90068         * modules/accept: Likewise.
90069         * modules/bind: Likewise.
90070         * modules/connect: Likewise.
90071         * modules/getpeername: Likewise.
90072         * modules/getsockname: Likewise.
90073         * modules/getsockopt: Likewise.
90074         * modules/ioctl: Likewise.
90075         * modules/listen: Likewise.
90076         * modules/recv: Likewise.
90077         * modules/recvfrom: Likewise.
90078         * modules/send: Likewise.
90079         * modules/sendto: Likewise.
90080         * modules/setsockopt: Likewise.
90081         * modules/shutdown: Likewise.
90082         * modules/socket: Use socket.c instead of winsock.c.
90083         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
90084         * doc/posix-functions/accept.texi: Doc fix.
90085         * doc/posix-functions/bind.texi: Doc fix.
90086         * doc/posix-functions/close.texi: Doc fix.
90087         * doc/posix-functions/connect.texi: Doc fix.
90088         * doc/posix-functions/getpeername.texi: Doc fix.
90089         * doc/posix-functions/getsockname.texi: Doc fix.
90090         * doc/posix-functions/getsockopt.texi: Doc fix.
90091         * doc/posix-functions/ioctl.texi: Doc fix.
90092         * doc/posix-functions/listen.texi: Doc fix.
90093         * doc/posix-functions/recv.texi: Doc fix.
90094         * doc/posix-functions/recvfrom.texi: Doc fix.
90095         * doc/posix-functions/send.texi: Doc fix.
90096         * doc/posix-functions/sendto.texi: Doc fix.
90097         * doc/posix-functions/setsockopt.texi: Doc fix.
90098         * doc/posix-functions/shutdown.texi: Doc fix.
90099         * doc/posix-functions/socket.texi: Doc fix.
90101 2008-10-20  Bruno Haible  <bruno@clisp.org>
90103         Take into account the role of SIGABRT_COMPAT on Windows 2008.
90104         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
90105         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
90106         as an alias for SIGABRT.
90107         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
90108         (sigaction): Map it to SIGABRT.
90109         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
90111 2008-10-20  Bruno Haible  <bruno@clisp.org>
90113         * lib/fts.c: Don't include lstat.h.
90114         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
90116         Move the lstat() declaration to <sys/stat.h>.
90117         * lib/lstat.h: Remove file.
90118         * lib/sys_stat.in.h: Add special invocation convention.
90119         (lstat): New declaration.
90120         * lib/lstat.c (orig_lstat): New function.
90121         (rpl_lstat): Use orig_lstat instead of lstat.
90122         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
90123         AC_C_INLINE. Set REPLACE_LSTAT.
90124         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
90125         and REPLACE_LSTAT.
90126         * modules/lstat (Files): Remove lib/lstat.h.
90127         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
90128         (Include): Specify <sys/stat.h> instead of lstat.h.
90129         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
90130         REPLACE_LSTAT.
90131         * NEWS: Mention the change.
90133 2008-10-20  Bruno Haible  <bruno@clisp.org>
90135         * modules/posix_spawn-tests: New file.
90136         * tests/test-posix_spawn3.c: New file.
90138 2008-10-20  Bruno Haible  <bruno@clisp.org>
90140         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
90141         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
90142         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
90143         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
90144         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
90146 2008-10-20  Bruno Haible  <bruno@clisp.org>
90148         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
90149         of posix_spawn on AIX 5.3.
90151 2008-10-20  Bruno Haible  <bruno@clisp.org>
90153         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
90155 2008-10-20  Bruno Haible  <bruno@clisp.org>
90157         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
90158         of AC_LANG_PROGRAM.
90160 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90162         * lib/netdb.in.h: Don't define GNU specific constants until they
90163         are supported or needed.  Reported by Bruno Haible
90164         <bruno@clisp.org>.
90166 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90168         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
90170 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90172         * lib/getaddrinfo.h: Remove file.
90173         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
90174         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
90175         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
90176         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
90177         * modules/netdb: Substitute GNULIB_GETADDRINFO.
90178         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
90179         * tests/test-getaddrinfo.c: Likewise.
90180         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
90181         * NEWS: Mention change.
90183 2008-10-19  Bruno Haible  <bruno@clisp.org>
90185         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
90187 2008-10-19  Bruno Haible  <bruno@clisp.org>
90189         * lib/wait-process.c: Include simply <sys/wait.h>.
90190         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
90191         WIFSTOPPED): Remove fallback definitions.
90192         * modules/wait-process (Depends-on): Add sys_wait.
90194         New module 'sys_wait'.
90195         * modules/sys_wait: New file.
90196         * lib/sys_wait.in.h: New file, partially copied from
90197         lib/wait-process.c.
90198         * m4/sys_wait_h.m4: New file.
90199         * doc/posix-headers/sys_wait.texi: Mention the new module.
90201 2008-10-19  Bruno Haible  <bruno@clisp.org>
90203         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
90205 2008-10-19  Bruno Haible  <bruno@clisp.org>
90207         Assume that waitpid() fills an 'int' status, not a 'union wait'.
90208         * lib/wait-process.c (WAIT_T): Remove type.
90209         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
90210         (wait_subprocess): Update.
90212 2008-10-19  Bruno Haible  <bruno@clisp.org>
90214         New module 'atoll'.
90215         * modules/atoll: New file.
90216         * lib/stdlib.in.h (atoll): New declaration.
90217         * lib/atoll.c: New file, from glibc with modifications.
90218         * m4/atoll.m4: New file.
90219         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
90220         HAVE_ATOLL.
90221         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
90222         * doc/posix-functions/atoll.texi: Mention the new module.
90224 2008-10-19  Bruno Haible  <bruno@clisp.org>
90226         Add strtoull() declaration to <stdlib.h>.
90227         * lib/stdlib.in.h (strtoull): New declaration.
90228         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
90229         Set HAVE_STRTOULL.
90230         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
90231         HAVE_STRTOULL.
90232         * modules/strtoull (Depends-on): Add stdlib.
90233         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90234         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
90235         HAVE_STRTOULL.
90237 2008-10-19  Bruno Haible  <bruno@clisp.org>
90239         Add strtoll() declaration to <stdlib.h>.
90240         * lib/stdlib.in.h (strtoll): New declaration.
90241         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
90242         Set HAVE_STRTOLL.
90243         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
90244         HAVE_STRTOLL.
90245         * modules/strtoll (Depends-on): Add stdlib.
90246         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90247         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
90249 2008-10-19  Bruno Haible  <bruno@clisp.org>
90251         * modules/bcopy (Depends-on): Add strings.
90252         (Include): Specify <strings.h>.
90254 2008-10-19  Bruno Haible  <bruno@clisp.org>
90256         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
90258 2008-10-19  Bruno Haible  <bruno@clisp.org>
90260         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
90261         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
90262         mingw.
90264 2008-10-19  Bruno Haible  <bruno@clisp.org>
90266         * lib/atanl.c: Don't include isnanl.h.
90267         * lib/cosl.c: Likewise.
90268         * lib/ldexpl.c: Likewise.
90269         * lib/logl.c: Likewise.
90270         * lib/sinl.c: Likewise.
90271         * lib/sqrtl.c: Likewise.
90272         * lib/tanl.c: Likewise.
90274         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
90275         * lib/isnanf.h: Remove file.
90276         * lib/isnand.h: Remove file.
90277         * lib/isnanl.h: Remove file.
90278         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
90279         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
90280         macros.
90281         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
90282         HAVE_ISNANF, don't define it as a C macro.
90283         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
90284         HAVE_ISNAND, don't define it as a C macro.
90285         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
90286         HAVE_ISNANL, don't define it as a C macro.
90287         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
90288         HAVE_ISNAN[FDL].
90289         * modules/isnanf (Files): Remove lib/isnanf.h.
90290         (Depends-on): Add math.
90291         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
90292         (Include): Specify <math.h> instead of isnanf.h.
90293         * modules/isnand (Files): Remove lib/isnand.h.
90294         (Depends-on): Add math.
90295         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
90296         (Include): Specify <math.h> instead of isnand.h.
90297         * modules/isnanl (Files): Remove lib/isnanl.h.
90298         (Depends-on): Add math.
90299         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
90300         (Include): Specify <math.h> instead of isnanl.h.
90301         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
90302         HAVE_ISNAN[FDL].
90303         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
90304         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
90305         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
90306         * NEWS: Mention the change.
90308 2008-10-18  Bruno Haible  <bruno@clisp.org>
90310         Add getusershell(), setusershell(), endusershell() declarations to
90311         <unistd.h>.
90312         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
90313         declarations.
90314         * lib/getusershell.c: Include unistd.h.
90315         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
90316         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
90317         HAVE_GETUSERSHELL.
90318         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
90319         and HAVE_GETUSERSHELL.
90320         * modules/getusershell (Depends-on): Add unistd, extensions.
90321         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90322         (Include): Specify <unistd.h>.
90323         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
90324         HAVE_GETUSERSHELL.
90326 2008-10-18  Bruno Haible  <bruno@clisp.org>
90328         Add a getloadavg() declaration to <stdlib.h>.
90329         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
90330         getloadavg declaration.
90331         (getloadavg): New declaration.
90332         * lib/getloadavg.c: Include <stdlib.h> first.
90333         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
90334         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
90335         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
90336         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
90337         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
90338         * modules/getloadavg (Depends-on): Add stdlib, extensions.
90339         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90340         (Include): Specify <stdlib.h>.
90341         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
90342         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
90344 2008-10-18  Bruno Haible  <bruno@clisp.org>
90346         * lib/dirchownmod.c: Don't include lchmod.h.
90348         Move the lchmod() declaration to <sys/stat.h>.
90349         * lib/lchmod.h: Remove file.
90350         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
90351         (lchmod): New declaration, moved here from lib/lchown.h.
90352         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
90353         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
90354         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
90355         and HAVE_LCHMOD.
90356         * modules/lchmod (Files): Remove lib/lchmod.h.
90357         (Depends-on): Add sys_stat, extensions.
90358         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
90359         (Include): Specify <sys/stat.h> instead of lchmod.h.
90360         * modules/sys_stat (Depends-on): Add link-warning.
90361         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
90362         definition of GL_LINK_WARNING.
90363         * NEWS: Mention the change.
90365 2008-10-18  Bruno Haible  <bruno@clisp.org>
90367         * lib/fchdir.c: Don't include dirfd.h.
90368         * lib/fts.c: Likewise.
90369         * lib/getcwd.c: Likewise.
90370         * lib/glob.c: Likewise.
90372         Move the dirfd() declaration to <dirent.h>.
90373         * lib/dirfd.h: Remove file.
90374         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
90375         (dirfd): New declaration.
90376         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
90377         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
90378         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
90379         HAVE_DECL_DIRFD.
90380         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
90381         HAVE_DECL_DIRFD.
90382         * modules/dirfd (Files): Remove lib/dirfd.h.
90383         (Depends-on): Add dirent, extensions.
90384         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
90385         (Include): Specify <dirent.h> instead of dirfd.h.
90386         * modules/dirent (Depends-on): Add link-warning.
90387         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
90388         definition of GL_LINK_WARNING.
90389         * NEWS: Mention the change.
90391 2008-10-18  Bruno Haible  <bruno@clisp.org>
90393         Move the euidaccess() declaration to <unistd.h>.
90394         * lib/euidaccess.h: Remove file.
90395         * lib/unistd.in.h (euidaccess): New declaration.
90396         * lib/euidaccess.c: Don't include euidaccess.h.
90397         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
90398         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
90399         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
90400         and HAVE_EUIDACCESS.
90401         * modules/euidaccess (Files): Remove lib/euidaccess.h.
90402         (Depends-on): Add unistd.
90403         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90404         (Include): Specify <unistd.h> instead of euidaccess.h.
90405         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
90406         HAVE_EUIDACCESS.
90407         * NEWS: Mention the change.
90409 2008-10-18  Bruno Haible  <bruno@clisp.org>
90411         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
90413         Move the getdomainname() declaration to <unistd.h>.
90414         * lib/getdomainname.h: Remove file.
90415         * lib/unistd.in.h (getdomainname): New declaration.
90416         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
90417         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
90418         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
90419         HAVE_GETDOMAINNAME.
90420         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
90421         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
90422         * modules/getdomainname (Files): Remove lib/getdomainname.h.
90423         (Depends-on): Add unistd, extensions.
90424         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90425         (Includes): Specify <unistd.h> instead of getdomainname.h.
90426         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
90427         HAVE_GETDOMAINNAME.
90428         * NEWS: Mention the change.
90430 2008-10-18  Bruno Haible  <bruno@clisp.org>
90432         * modules/dirent: New file.
90433         * m4/dirent_h.m4: New file.
90434         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
90435         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
90436         * modules/fchdir (Files): Remove lib/dirent.in.h.
90437         (Depends-on): Add dirent.
90438         (Makefile.am): Move rules to modules/dirent.
90439         * doc/posix-headers/dirent.texi: Mention the new module.
90441 2008-10-18  Bruno Haible  <bruno@clisp.org>
90443         Avoid -Wunused-parameter warnings in public gnulib header files.
90444         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
90445         macro.
90446         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
90448 2008-10-18  Bruno Haible  <bruno@clisp.org>
90450         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
90451         * doc/glibc-functions/error.texi: Mention the module 'error'.
90452         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
90453         * doc/glibc-functions/getdomainname.texi: Mention the module
90454         'getdomainname'.
90455         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
90456         * doc/glibc-functions/getpagesize.texi: Mention the module
90457         'getpagesize'.
90458         * doc/glibc-functions/getusershell.texi: Mention the module
90459         'getusershell'.
90460         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
90461         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
90462         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
90463         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
90464         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
90465         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
90466         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
90467         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
90468         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
90469         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
90470         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
90471         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
90472         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
90473         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
90475 2008-10-17  Bruno Haible  <bruno@clisp.org>
90477         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
90478         HP-UX and IRIX, use -0.0L.
90479         * tests/test-ceill.c (minus_zero): Likewise.
90480         * tests/test-floorl.c (minus_zero): Likewise.
90481         * tests/test-frexpl.c (minus_zero): Likewise.
90482         * tests/test-isnan.c (minus_zerol): Likewise.
90483         * tests/test-isnanl.h (minus_zero): Likewise.
90484         * tests/test-ldexpl.c (minus_zero): Likewise.
90485         * tests/test-roundl.c (minus_zero): Likewise.
90486         * tests/test-signbit.c (minus_zerol): Likewise.
90487         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
90488         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
90489         * tests/test-truncl.c (minus_zero): Likewise.
90490         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
90491         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
90492         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
90493         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
90495 2008-10-17  Bruno Haible  <bruno@clisp.org>
90497         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
90498         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
90499         that it gets activated only for gcc >= 3.0.
90500         * lib/dirent.in.h: Likewise.
90501         * lib/errno.in.h: Likewise.
90502         * lib/fcntl.in.h: Likewise.
90503         * lib/float.in.h: Likewise.
90504         * lib/iconv.in.h: Likewise.
90505         * lib/inttypes.in.h: Likewise.
90506         * lib/locale.in.h: Likewise.
90507         * lib/math.in.h: Likewise.
90508         * lib/netdb.in.h: Likewise.
90509         * lib/netinet_in.in.h: Likewise.
90510         * lib/search.in.h: Likewise.
90511         * lib/signal.in.h: Likewise.
90512         * lib/spawn.in.h: Likewise.
90513         * lib/stdarg.in.h: Likewise.
90514         * lib/stdint.in.h: Likewise.
90515         * lib/stdio.in.h: Likewise.
90516         * lib/stdlib.in.h: Likewise.
90517         * lib/string.in.h: Likewise.
90518         * lib/strings.in.h: Likewise.
90519         * lib/sys_file.in.h: Likewise.
90520         * lib/sys_ioctl.in.h: Likewise.
90521         * lib/sys_select.in.h: Likewise.
90522         * lib/sys_socket.in.h: Likewise.
90523         * lib/sys_stat.in.h: Likewise.
90524         * lib/sys_time.in.h: Likewise.
90525         * lib/sysexits.in.h: Likewise.
90526         * lib/time.in.h: Likewise.
90527         * lib/unistd.in.h: Likewise.
90528         * lib/wchar.in.h: Likewise.
90529         * lib/wctype.in.h: Likewise.
90530         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
90532 2008-10-17  Jim Meyering  <meyering@redhat.com>
90534         ignore-value: don't depend on inline module
90535         * modules/ignore-value (Depends-on): Remove 'inline'.
90536         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
90537         Suggestion from Bruno Haible.
90539 2008-10-17  Bruno Haible  <bruno@clisp.org>
90541         New implementation of condition variables for Win32.
90542         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
90543         (gl_linked_waitqueue_t): New type.
90544         (gl_cond_t): Use it.
90545         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
90546         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
90547         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
90548         (glthread_cond_init_func, glthread_cond_wait_func,
90549         glthread_cond_timedwait_func, glthread_cond_signal_func,
90550         glthread_cond_broadcast_func, glthread_cond_destroy_func):
90551         Reimplemented on the basis of gl_linked_waitqueue_t.
90552         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
90553         gl_waitqueue_t.
90554         (gl_rwlock_t): Update.
90555         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
90557 2008-10-17  Simon Josefsson  <simon@josefsson.org>
90559         * modules/recvfrom (Depends-on): Add dependency on getpeername.
90560         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
90562 2008-10-17  Jim Meyering  <meyering@redhat.com>
90564         ignore-value: new module
90565         * modules/ignore-value: New file.
90566         * lib/ignore-value.h: New file.
90567         * MODULES.html.sh (Compiler warning management): New section,
90568         just for this module.  More to come.
90570 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
90572         open-safer.c: avoid 'signed and unsigned in conditional...' warning
90573         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
90574         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
90576 2008-10-16  Jim Meyering  <meyering@redhat.com>
90578         openat-die.c: avoid 'no previous prototype' warning
90579         * lib/openat-die.c: Include "openat.h".
90580         Reported by Reuben Thomas <rrt@sc3d.org>.
90582 2008-10-16  Simon Josefsson  <simon@josefsson.org>
90584         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
90585         * lib/netdb.in.h: Fix typo.
90586         Reported by Bruno Haible  <bruno@clisp.org>
90588         * lib/netdb.in.h: Include sys/socket.h for platforms without
90589         netdb.h, to get structures like hostent on MinGW.
90590         * modules/netdb (Depends-on): Add sys_socket.
90592 2008-10-15  Simon Josefsson  <simon@josefsson.org>
90594         * modules/netdb, modules/netdb-tests: New file.
90595         * m4/netdb_h.m4: New file.
90596         * lib/netdb.in.h: Add, currently just an empty file pending
90597         definitions.
90598         * tests/test-netdb.c: New file.
90599         * doc/posix-headers/netdb.texi: Mention that we replace it if
90600         needed.
90601         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
90602         netdb.
90604 2008-10-15  Simon Josefsson  <simon@josefsson.org>
90606         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
90607         with code.
90609 2008-10-13  Bruno Haible  <bruno@clisp.org>
90611         * lib/glthread/cond.c (glthread_cond_wait_func,
90612         glthread_cond_timedwait_func): Add a comment.
90614 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
90616         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
90617         * tests/test-select.c: Likewise,
90619 2008-10-13  Bruno Haible  <bruno@clisp.org>
90621         * lib/glthread/cond.c (glthread_cond_wait_func,
90622         glthread_cond_timedwait_func): Fix variable name.
90623         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
90625 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
90627         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
90628         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
90629         struct sockaddr.sa_len.
90630         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
90632 2008-10-13  Simon Josefsson  <simon@josefsson.org>
90634         * build-aux/pmccabe2html: Add css and css_url parameters.
90636 2008-10-12  Bruno Haible  <bruno@clisp.org>
90638         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
90639         calling aclx_get.
90640         Reported by Rainer Tammer <tammer@tammer.net>.
90642 2008-10-12  Bruno Haible  <bruno@clisp.org>
90644         Use msvcrt aware primitives for creation/termination of Win32 threads.
90645         * lib/glthread/thread.c: Include <process.h>.
90646         (glthread_create_func): Use _beginthreadex instead of CreateThread.
90647         (wrapper_func): Update signature.
90648         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
90650 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
90651             Bruno Haible  <bruno@clisp.org>
90653         Provide a Win32 implementation of the 'cond' module.
90654         * lib/glthread/cond.h [USE_WIN32]: New implementation.
90655         * lib/glthread/cond.c (glthread_cond_init_func,
90656         glthread_cond_wait_func, glthread_cond_timedwait_func,
90657         glthread_cond_signal_func, glthread_cond_broadcast_func,
90658         glthread_cond_destroy_func) [USE_WIN32]: New functions.
90659         * modules/cond (Dependencies): Add gettimeofday.
90661 2008-10-11  Bruno Haible  <bruno@clisp.org>
90663         Make sleep work on older versions of mingw.
90664         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
90665         only whether it exists.
90666         * doc/posix-functions/sleep.texi: Mention the problem with older
90667         versions of mingw.
90669 2008-10-11  Bruno Haible  <bruno@clisp.org>
90671         New module 'shutdown'.
90672         * modules/shutdown: New file.
90673         * lib/sys_socket.in.h (shutdown): New declaration.
90674         * lib/winsock.c (shutdown): New function.
90675         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
90676         GNULIB_SHUTDOWN.
90677         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
90678         * doc/posix-functions/shutdown.texi: Document the new module.
90680 2008-10-11  Jim Meyering  <meyering@redhat.com>
90682         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
90684 2008-10-11  Bruno Haible  <bruno@clisp.org>
90686         New module 'fclose'.
90687         * modules/fclose: New file.
90688         * lib/stdio.in.h (fclose): New declaration.
90689         * lib/fclose.c: New file.
90690         * m4/fclose.m4: New file.
90691         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
90692         REPLACE_FCLOSE.
90693         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
90694         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
90695         REPLACE_FCLOSE.
90696         * modules/close (Depends-on): fclose.
90697         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
90699 2008-10-11  Bruno Haible  <bruno@clisp.org>
90701         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
90702         set errno and don't call _close.
90704 2008-10-10  Bruno Haible  <bruno@clisp.org>
90706         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
90707         ACL, not afterwards. Fixes test failure on Cygwin.
90709 2008-10-09  Ben Pfaff  <blp@gnu.org>
90711         * build-aux/announce-gen: Fix gnulib version related part of usage
90712         message.  Die with a useful error message if no tarballs are
90713         found.
90715 2008-10-10  Jim Meyering  <meyering@redhat.com>
90717         bootstrap: use git's --depth=N option only if it's supported
90718         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
90719         recognize the --depth option.  Reported by Pádraig Brady.
90721 2008-10-09  Bruno Haible  <bruno@clisp.org>
90723         New module 'ioctl'.
90724         * modules/ioctl: New file.
90725         * lib/sys_socket.in.h (ioctl): Remove declaration.
90726         * lib/winsock.c: Include <sys/ioctl.h>.
90727         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
90728         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
90729         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
90730         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
90731         * doc/posix-functions/ioctl.texi: Mention the new module.
90733 2008-10-09  Bruno Haible  <bruno@clisp.org>
90735         New module 'sys_ioctl'.
90736         * lib/sys_ioctl.in.h: New file.
90737         * m4/sys_ioctl_h.m4: New file.
90738         * modules/sys_ioctl: New file.
90739         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
90741 2008-10-09  Bruno Haible  <bruno@clisp.org>
90743         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
90744         * lib/winsock.c: Include <stdarg.h>.
90745         (rpl_ioctl): Change to second argument 'int' and then varargs.
90747 2008-10-09  Bruno Haible  <bruno@clisp.org>
90749         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
90750         when the sys_socket module is present and the system has <winsock2.h>.
90752 2008-10-09  Bruno Haible  <bruno@clisp.org>
90754         * doc/posix-functions/close.texi: Mention module 'close' instead of
90755         module 'sys_socket'.
90757 2008-10-09  Bruno Haible  <bruno@clisp.org>
90759         * doc/glibc-headers/sys_ioctl.texi: New file.
90760         * doc/gnulib.texi: Include it.
90762 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90763             Bruno Haible  <bruno@clisp.org>
90765         Combine the two replacements of 'close'.
90766         * lib/sys_socket.in.h (close): Define to a reminder to include
90767         <unistd.h>.
90768         (_gl_close_fd_maybe_socket): New declaration.
90769         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
90770         * lib/winsock.c (close): Remove undefinition.
90771         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
90772         needed for the gnulib module 'close'.
90773         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
90774         define to an error symbol or to a warning, if suitable.
90775         * lib/close.c: Include <sys/socket.h>.
90776         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
90777         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
90778         UNISTD_H_HAVE_WINSOCK2_H.
90779         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
90780         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
90781         UNISTD_H_HAVE_WINSOCK2_H.
90782         * modules/sys_socket (Files): Add m4/unistd_h.m4.
90783         (configure.ac): Set a module indicator.
90784         (Makefile.am): Substitute GNULIB_CLOSE.
90785         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
90786         * modules/poll-tests (Depends-on): Add close.
90787         * modules/select-tests (Depends-on): Likewise.
90789 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90790             Bruno Haible  <bruno@clisp.org>
90792         New module 'close'.
90793         * modules/close: New file.
90794         * lib/unistd.in.h (close): Move declaration out of the
90795         FCHDIR_REPLACEMENT scope.
90796         (_gl_unregister_fd): New declaration.
90797         * lib/close.c: New file.
90798         * lib/fchdir.c (rpl_close): Remove function.
90799         * m4/close.m4: New file.
90800         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
90801         close.
90802         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
90803         REPLACE_CLOSE.
90804         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
90805         REPLACE_CLOSE.
90806         * modules/fchdir (Depends-on): Add close.
90808 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90809             Bruno Haible  <bruno@clisp.org>
90811         * lib/fcntl.in.h (open): Simplify conditionals.
90812         (_gl_register_fd): New declaration.
90813         * lib/fchdir.c (rpl_open): Remove function.
90814         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
90815         also.
90816         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
90817         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
90818         open.
90820 2008-10-09  Jim Meyering  <meyering@redhat.com>
90822         GNUmakefile: use the more name-space-friendly "_version"
90823         * top/GNUmakefile (_dummy): Update.
90824         (_version): Rename from "version".
90826 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90827             Bruno Haible  <bruno@clisp.org>
90829         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
90830         rpl_close.
90831         (_gl_register_fd): New function, extracted from rpl_open.
90832         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
90833         (rpl_open, rpl_opendir): Use _gl_register_fd.
90835 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90837         Fix organization of 'open' replacement.
90838         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
90839         (gl_FUNC_OPEN): Use it.
90840         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
90842 2008-10-08  Bruno Haible  <bruno@clisp.org>
90844         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
90846 2008-10-08  Simon Josefsson  <simon@josefsson.org>
90848         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
90849         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
90850         listen).
90852 2008-10-08  Eric Blake  <ebb9@byu.net>
90854         GNUmakefile: add 'make version' target
90855         * top/GNUmakefile (_curr-ver): Split version update rules...
90856         (version): ...into a target.
90858 2008-10-07  Bruno Haible  <bruno@clisp.org>
90860         Use a more portable replacement expression for -0.0L.
90861         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
90862         instead of -0.0L. Fix m4 quotation.
90864         * tests/test-signbit.c: Include <float.h>.
90865         (minus_zero): New variable.
90866         (test_signbitl): Use minus_zero instead of -zero.
90867         * modules/signbit-tests (Depends-on): Add float.
90869         * tests/test-ceill.c: Include <float.h>.
90870         (zero): Remove variable.
90871         (minus_zero): New variable.
90872         (main): Use minus_zero instead of -zero.
90873         * modules/ceill-tests (Depends-on): Add float.
90875         * tests/test-floorl.c: Include <float.h>.
90876         (zero): Remove variable.
90877         (minus_zero): New variable.
90878         (main): Use minus_zero instead of -zero.
90879         * modules/floorl-tests (Depends-on): Add float.
90881         * tests/test-roundl.c: Include <float.h>.
90882         (zero): Remove variable.
90883         (minus_zero): New variable.
90884         (main): Use minus_zero instead of -zero.
90885         * modules/roundl-tests (Depends-on): Add float.
90887         * tests/test-truncl.c: Include <float.h>.
90888         (zero): Remove variable.
90889         (minus_zero): New variable.
90890         (main): Use minus_zero instead of -zero.
90891         * modules/truncl-tests (Depends-on): Add float.
90893         * tests/test-frexpl.c (zero): Remove variable.
90894         (minus_zero): New variable.
90895         (main): Use minus_zero instead of -zero.
90896         * modules/frexpl-tests (Depends-on): Add float.
90898         * tests/test-isnan.c (zerol): Remove variable.
90899         (minus_zerol): New variable.
90900         (test_long_double): Use minus_zerol instead of -zerol.
90901         * modules/isnan-tests (Depends-on): Add float.
90903         * tests/test-isnanl.h (zero): Remove variable.
90904         (minus_zero): New variable.
90905         (main): Use minus_zero instead of -zero.
90906         * modules/isnanl-nolibm-tests (Depends-on): Add float.
90907         * modules/isnanl-tests (Depends-on): Add float.
90909         * tests/test-ldexpl.c (zero): Remove variable.
90910         (minus_zero): New variable.
90911         (main): Use minus_zero instead of -zero.
90912         * modules/ldexpl-tests (Depends-on): Add float.
90914         * tests/test-snprintf-posix.h (zerol): Remove variable.
90915         (minus_zerol): New variable.
90916         (test_function): Use minus_zerol instead of -zerol.
90917         * modules/snprintf-posix-tests (Depends-on): Add float.
90918         * modules/vsnprintf-posix-tests (Depends-on): Add float.
90920         * tests/test-sprintf-posix.h (zerol): Remove variable.
90921         (minus_zerol): New variable.
90922         (test_function): Use minus_zerol instead of -zerol.
90923         * modules/sprintf-posix-tests (Depends-on): Add float.
90924         * modules/vsprintf-posix-tests (Depends-on): Add float.
90926         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
90927         (minus_zerol): New variable.
90928         (test_function): Use minus_zerol instead of -zerol.
90929         * modules/vasnprintf-posix-tests (Depends-on): Add float.
90931         * tests/test-vasprintf-posix.c (zerol): Remove variable.
90932         (minus_zerol): New variable.
90933         (test_function): Use minus_zerol instead of -zerol.
90934         * modules/vasprintf-posix-tests (Depends-on): Add float.
90936 2008-10-07  Simon Josefsson  <simon@josefsson.org>
90938         * MODULES.html.sh (Support for building documentation): Mention
90939         pmccabe2html.  Sort entries.
90941         Add pmccabe2html module, from gnupdf.
90942         * build-aux/pmccabe.css: New file.
90943         * build-aux/pmccabe2html: New file.
90944         * m4/pmccabe2html.m4: New file.
90945         * modules/pmccabe2html: New file.
90947 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
90949         flock: new module
90950         * MODULES.html.sh: Add to list of modules.
90951         * lib/flock.c: flock implementation for Windows and Unix systems
90952         which have fcntl.
90953         * doc/glibc-functions/flock.texi: Update documentation.
90954         * lib/sys_file.in.h: <sys/file.h> header file.
90955         * m4/flock.m4: M4 macros.
90956         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
90957         * modules/flock: flock module.
90958         * modules/flock-tests: flock tests module.
90959         * modules/sys_file: sys/file.h module.
90960         * tests/test-flock.c: test suite for flock.
90962 2008-10-06  Jim Meyering  <meyering@redhat.com>
90964         bootstrap: check for LT_INIT more portably still ;-)
90965         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
90966         Spotted by Bruno Haible.
90968 2008-10-06  Eric Blake  <ebb9@byu.net>
90970         test-signbit: avoid tripping Irix cc bug on -0.0L
90971         * tests/test-signbit.c (minus_zerol): Delete, and replace with
90972         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
90973         entire testsuite consistent and avoids an Irix 6.2 bug.
90975 2008-10-05  Bruno Haible  <bruno@clisp.org>
90976             Jim Meyering  <jim@meyering.net>
90978         Add an option for ignoring EPIPE during close_stdout.
90979         * lib/closeout.h: Include <stdbool.h>.
90980         (close_stdout_set_ignore_EPIPE): New declaration.
90981         * lib/closeout.c: Include <stdbool.h>.
90982         (ignore_EPIPE): New variable.
90983         (close_stdout_set_ignore_EPIPE): New function.
90984         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
90985         * lib/close-stream.c (close_stream): Mention the possible EPIPE
90986         failure.
90987         * modules/closeout (Depends-on): Add stdbool.
90989 2008-10-05  Bruno Haible  <bruno@clisp.org>
90991         * modules/accept: New file.
90992         * modules/bind: New file.
90993         * modules/connect: New file.
90994         * modules/getpeername: New file.
90995         * modules/getsockname: New file.
90996         * modules/getsockopt: New file.
90997         * modules/listen: New file.
90998         * modules/recv: New file.
90999         * modules/recvfrom: New file.
91000         * modules/send: New file.
91001         * modules/sendto: New file.
91002         * modules/setsockopt: New file.
91003         * modules/socket: New file.
91004         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
91005         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
91006         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
91007         the particular module is requested. Add a link warning when the
91008         particular module is not requested.
91009         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
91010         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
91011         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
91012         the particular module is requested.
91013         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
91014         gl_SYS_SOCKET_H_DEFAULTS): New macros.
91015         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
91016         * modules/sys_socket (Depends-on): Add link-warning.
91017         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
91018         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
91019         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
91020         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
91021         GL_LINK_WARNING.
91022         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
91023         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
91024         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
91025         * doc/posix-functions/getpeername.texi: Mention the new module
91026         'getpeername'.
91027         * doc/posix-functions/getsockname.texi: Mention the new module
91028         'getsockname'.
91029         * doc/posix-functions/getsockopt.texi: Mention the new module
91030         'getsockopt'.
91031         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
91032         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
91033         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
91034         * doc/posix-functions/send.texi: Mention the new module 'send'.
91035         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
91036         * doc/posix-functions/setsockopt.texi: Mention the new module
91037         'setsockopt'.
91038         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
91039         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
91040         listen, connect, accept.
91041         * modules/select-tests (Depends-on): Likewise.
91043 2008-10-05  Bruno Haible  <bruno@clisp.org>
91045         * lib/winsock.c (strerror): Remove unused #undef.
91046         (rpl_close): Remove unused local variable.
91048         * modules/sys_socket (Depends-on); Add errno.
91050 2008-10-05  Bruno Haible  <bruno@clisp.org>
91052         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
91053         (select): Add a link warning when the 'select' module is not used.
91054         * modules/sys_select (Depends-on): Add link-warning.
91055         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
91056         Suggested by Paolo Bonzini.
91058 2008-10-05  Jim Meyering  <meyering@redhat.com>
91060         bootstrap: check for LT_INIT more portably
91061         * build-aux/bootstrap: Avoid using grep -E, since it's not
91062         portable enough.  Suggestion from Bruno Haible.
91064 2008-10-05  Bruno Haible  <bruno@clisp.org>
91066         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
91067         as being fixed by gnulib.
91069 2008-10-05  Bruno Haible  <bruno@clisp.org>
91071         * modules/select-tests: New file, mostly copied from
91072         modules/sys_select-tests.
91073         * tests/test-select.c: New file, mostly copied from
91074         tests/test-sys_select.c.
91075         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
91076         * modules/sys_select-tests (Depends-on): Remove all dependencies.
91077         (Makefile.am): Remove test_sys_select_LDADD.
91079         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
91080         to an undefined symbol, for an error message.
91081         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
91082         (gl_SYS_SELECT_H_DEFAULTS): New macro.
91083         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
91084         winsock-select.c here.
91085         * modules/sys_select (Files): Remove lib/winsock-select.c.
91086         (Depends-on): Remove alloca.
91087         (Makefile.am): Substitute GNULIB_SELECT.
91088         * modules/select: New file.
91089         * doc/posix-functions/select.texi: Update.
91091 2008-10-05  Bruno Haible  <bruno@clisp.org>
91093         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
91094         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
91095         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
91096         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
91097         getdtablesize.
91098         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
91099         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
91101 2008-10-05  Bruno Haible  <bruno@clisp.org>
91103         * modules/getdtablesize-tests: New file.
91104         * tests/test-getdtablesize.c: New file.
91106         New module 'getdtablesize'.
91107         * lib/unistd.in.h (getdtablesize): New declaration.
91108         * lib/getdtablesize.c: New file.
91109         * m4/getdtablesize.m4: New file.
91110         * modules/getdtablesize: New file.
91111         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91112         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
91113         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
91114         HAVE_GETDTABLESIZE.
91115         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
91117 2008-10-05  Bruno Haible  <bruno@clisp.org>
91119         * modules/sched (Makefile.am): Fix typo.
91120         Reported by Simon Josefsson.
91122 2008-10-05  Jim Meyering  <meyering@redhat.com>
91124         bootstrap: check for LT_INIT, too
91125         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
91126         are deprecated.  Suggestion from Ralf Wildenhues.
91128 2008-10-05  Bruno Haible  <bruno@clisp.org>
91130         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
91131         overriding them by ours.
91132         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
91134 2008-10-05  Jim Meyering  <meyering@redhat.com>
91136         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
91137         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
91138         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
91140 2008-10-04  Bruno Haible  <bruno@clisp.org>
91142         * modules/dup2 (License): Change to LGPLv2+.
91143         * modules/sleep (License): Likewise.
91144         * modules/perror (License): Likewise.
91145         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
91146         Blake.
91147         * modules/signal (License): Likewise.
91148         * modules/sigprocmask (License): Likewise.
91149         * modules/raise (License): Change to LGPLv2+, with approval by Jim
91150         Meyering.
91152 2008-10-04  Bruno Haible  <bruno@clisp.org>
91154         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
91155         Reported by Rainer Tammer <tammer@tammer.net>.
91157 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
91158             Bruno Haible  <bruno@clisp.org>
91160         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
91161         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
91162         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
91164 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
91166         filevercmp: new module
91167         * lib/filevercmp.h: New function filevercmp comparing version strings.
91168         * lib/filevercmp.c: Implementation of filevercmp function.
91169         * modules/filevercmp: Module metadata.
91170         * tests/test-filevercmp.c: Unit test for new module.
91171         * modules/filevercmp-tests: Unit test metadata.
91172         * MODULES.html.sh: Add filevercmp module.
91174 2008-10-03  Bruno Haible  <bruno@clisp.org>
91176         * lib/c-ctype.h: Add comment.
91177         Reported by Jim Meyering.
91179 2008-10-02  Bruno Haible  <bruno@clisp.org>
91181         * modules/posix_spawn-internal (Depends-on): Add 'open'.
91183 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91185         * build-aux/bootstrap: Allow renaming bootstrap, and change the
91186         name of bootstrap.conf accordingly.
91188 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91190         * build-aux/bootstrap: Install git-merge-changelog configuration
91191         items into .gitconfig if needed.
91193 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91195         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
91196         git repository, and initialize/update it accordingly.
91198 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
91200         * modules/fsync-tests: New file.
91201         * tests/test-fsync.c: New file.
91203         New module 'fsync'.
91204         * lib/fsync.c: New file.
91205         * m4/fsync.m4: New file.
91206         * modules/fsync: New file.
91207         * lib/unistd.in.h (fsync): New declaration.
91208         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
91209         GNULIB_FSYNC and HAVE_FSYNC.
91210         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
91211         * MODULES.html.sh (posix_functions): Add fsync.
91212         * doc/posix-functions/fsync.texi: Mention the new module.
91214 2008-10-02  Jim Meyering  <meyering@redhat.com>
91216         fts.c: sync with similar code from coreutils' remove.c
91217         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
91218         Guard also with "#if defined __linux__", since for now at least,
91219         this code is Linux-kernel-specific.
91221 2008-10-02  Jim Meyering  <meyering@redhat.com>
91223         fts: bug fixes
91224         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
91225         Include <sys/vfs.h>, not <sys/statfs.h>.
91227         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
91228         Include <sys/vfs.h>, not <sys/statfs.h>.
91230 2008-10-01  Bruno Haible  <bruno@clisp.org>
91232         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
91233         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
91234         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
91235         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
91236         * doc/posix-functions/posix_spawnp.texi: Likewise.
91237         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
91238         whether posix_spawn actually works.
91239         * m4/pipe.m4 (gl_PIPE): Likewise.
91240         * modules/execute (Files): Add m4/posix_spawn.m4.
91241         * modules/pipe (Files): Add m4/posix_spawn.m4.
91242         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
91244 2008-10-01  Jim Meyering  <meyering@redhat.com>
91246         remove trailing spaces
91247         * NEWS: Likewise.
91248         * lib/poll.c (poll): Likewise.
91249         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
91250         * lib/winsock.c (rpl_close): Likewise.
91251         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
91252         * modules/yield: Likewise.
91253         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
91254         * tests/test-sys_select.c (connect_to_socket): Likewise.
91256         fts.c: adjust a new interface to be more generally useful
91257         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
91258         (fts_build): Adjust caller.
91260 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91262         * modules/cond-tests: New file.
91263         * tests/test-cond.c: New file.
91265 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91266             Bruno Haible  <bruno@clisp.org>
91268         * modules/cond (Dependencies): Add errno, time.
91269         * lib/glthread/cond.h: Include <time.h>.
91270         (gl_cond_define, gl_cond_define_initialized): Use the same definition
91271         across platforms.
91273 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91274             Bruno Haible  <bruno@clisp.org>
91276         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
91278 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91279             Bruno Haible  <bruno@clisp.org>
91281         * modules/tls-tests (Depends-on): Add thread, yield.
91282         (configure.ac): Remove all checks.
91283         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
91284         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
91285         gl_thread_self): Remove definitions. Include glthread/thread.h and
91286         glthread/yield.h instead.
91287         (test_tls): Pass an additional NULL argument to gl_thread_join.
91289 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91290             Bruno Haible  <bruno@clisp.org>
91292         * modules/lock-tests (Depends-on): Add thread, yield.
91293         (configure.ac): Remove all checks.
91294         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
91295         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
91296         gl_thread_self): Remove definitions. Include glthread/thread.h and
91297         glthread/yield.h instead.
91298         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
91299         additional NULL argument to gl_thread_join.
91301 2008-09-30  Bruno Haible  <bruno@clisp.org>
91303         Fix the Win32 implementation of the 'thread' module.
91304         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
91305         pointer type.
91306         (gl_thread_self): Invoke gl_thread_self_func.
91307         (gl_thread_self_func): New declaration.
91308         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
91309         (do_init_self_key, init_self_key): New functions.
91310         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
91311         Remove some fields.
91312         (running_threads, running_lock): Remove variables.
91313         (get_current_thread_handle): New function.
91314         (gl_thread_self_func, wrapper_func, glthread_create_func,
91315         glthread_join_func, gl_thread_exit_func): Largely rewritten and
91316         simplified.
91318 2008-09-30  Bruno Haible  <bruno@clisp.org>
91320         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
91321         files.
91323 2008-09-30  Jim Meyering  <meyering@redhat.com>
91325         fts.m4: correct the test for statfs.f_type
91326         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
91327         when checking for statfs.f_type.
91329 2008-09-15  Simon Josefsson  <simon@josefsson.org>
91331         tests: avoid some compiler warnings
91332         * tests/test-memchr.c (main): Pass NULL indirectly.
91333         * tests/test-getdate.c (main): Remove unused variable 'ret'.
91335 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
91337         getdate.y: disallow countable dayshifts like "4 yesterday ago"
91338         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
91339         exactly specified dayshifts.
91340         (dayshift): New rule.
91341         (rel): Add dayshift.
91342         (relative_time_table) [tomorrow, yesterday, today, now]:
91343         Use tDAY_SHIFT in place of tDAY_UNIT.
91344         * tests/test-getdate.c: Add tests for now-disallowed countable
91345         dayshifts, e.g., "4 yesterday ago".
91347 2008-09-29  Bruno Haible  <bruno@clisp.org>
91349         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
91350         * tests/test-posix_spawn1.in.sh: Renamed from
91351         tests/test-posix_spawn.in.sh.
91352         * tests/test-posix_spawn2.c: New file.
91353         * tests/test-posix_spawn2.in.sh: New file.
91354         * modules/posix_spawnp-tests (Files): Update.
91355         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
91357 2008-09-29  Bruno Haible  <bruno@clisp.org>
91359         Propagate effects of putenv/setenv/unsetenv to child processes.
91360         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
91361         * lib/pipe.c (create_pipe): Likewise.
91363 2008-09-29  Bruno Haible  <bruno@clisp.org>
91365         Enable use of shell scripts as executables in mingw.
91366         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
91367         run the program as a shell script.
91368         * lib/pipe.c (create_pipe): Likewise.
91369         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
91370         resulting array.
91372 2008-09-29  Eric Blake  <ebb9@byu.net>
91374         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
91376 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
91378         * doc/posix-functions/accept.texi: Update mingw problems.
91379         * doc/posix-functions/bind.texi: Update mingw problems.
91380         * doc/posix-functions/close.texi: Update mingw problems.
91381         * doc/posix-functions/connect.texi: Update mingw problems.
91382         * doc/posix-functions/getpeername.texi: Update mingw problems.
91383         * doc/posix-functions/getsockname.texi: Update mingw problems.
91384         * doc/posix-functions/getsockopt.texi: Update mingw problems.
91385         * doc/posix-functions/ioctl.texi: Update mingw problems.
91386         * doc/posix-functions/listen.texi: Update mingw problems.
91387         * doc/posix-functions/recv.texi: Update mingw problems.
91388         * doc/posix-functions/recvfrom.texi: Update mingw problems.
91389         * doc/posix-functions/select.texi: Update mingw problems.
91390         * doc/posix-functions/send.texi: Update mingw problems.
91391         * doc/posix-functions/sendto.texi: Update mingw problems.
91392         * doc/posix-functions/setsockopt.texi: Update mingw problems.
91393         * doc/posix-functions/socket.texi: Update mingw problems.
91395 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
91396             Bruno Haible  <bruno@clisp.org>
91398         * lib/sys_select.in.h: Include sys/time.h.
91399         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
91400         * modules/sys_select: Depend on sys_time.
91401         * tests/test-sys_select.c: Test that sys/select.h defines struct
91402         timeval fully.
91404 2008-09-29  Bruno Haible  <bruno@clisp.org>
91406         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
91407         * lib/sys_select.in.h: Likewise.
91409 2008-09-29  Bruno Haible  <bruno@clisp.org>
91411         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
91413 2008-09-29  Bruno Haible  <bruno@clisp.org>
91415         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
91416         Set LIBSOCKET instead of augmenting LIBS.
91417         * modules/sockets (Link): New section.
91418         * modules/sockets-tests (test_sockets_LDADD): New variable.
91419         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
91420         * modules/poll-tests (test_poll_LDADD): New variable.
91421         * NEWS: Document the change.
91423 2008-09-29  Bruno Haible  <bruno@clisp.org>
91425         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
91426         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
91427         ARPA_INET_H directly.
91428         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
91430 2008-09-28  Bruno Haible  <bruno@clisp.org>
91432         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
91433         from gl_HEADER_SYS_SOCKET.
91434         (gl_HEADER_SYS_SOCKET): Invoke it.
91435         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
91437 2008-09-28  Bruno Haible  <bruno@clisp.org>
91439         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
91440         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
91441         Needed on OSF/1 4.0.
91443 2008-09-28  Bruno Haible  <bruno@clisp.org>
91445         Override open more carefully.
91446         * lib/open.c (orig_open): New function.
91447         (rpl_open): Use orig_open instead of open.
91448         * lib/fcntl.in.h: Add special invocation convention.
91449         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
91450         (gl_FUNC_OPEN): Invoke it.
91452         Override freopen more carefully.
91453         * lib/freopen.c (orig_freopen): New function.
91454         (rpl_freopen): Use orig_freopen instead of freopen.
91455         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
91456         (gl_FUNC_FREOPEN): Invoke it.
91458         Override fopen more carefully.
91459         * lib/fopen.c (orig_fopen): New function.
91460         (rpl_fopen): Use orig_fopen instead of fopen.
91461         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
91462         (gl_FUNC_FOPEN): Invoke it.
91463         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
91465 2008-09-28  Bruno Haible  <bruno@clisp.org>
91467         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
91468         SIGPIPE.
91470 2008-09-28  Bruno Haible  <bruno@clisp.org>
91472         * tests/test-sigaction.c (handler, main): Disable the check whether
91473         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
91474         glibc systems with LinuxThreads.
91476 2008-09-28  Bruno Haible  <bruno@clisp.org>
91478         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
91480         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
91481         with AIX xlc.
91482         * lib/fcntl.in.h (open): Likewise.
91483         Reported by Rainer Tammer <tammer@tammer.net>.
91485 2008-09-28  Bruno Haible  <bruno@clisp.org>
91487         * modules/posix_spawnp-tests: New file.
91488         * tests/test-posix_spawn.c: New file.
91489         * tests/test-posix_spawn.in.sh: New file.
91491         New module 'posix_spawnp'.
91492         * modules/posix_spawnp: New file.
91493         * lib/spawnp.c: New file, from GNU libc with modifications.
91494         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
91496         New module 'posix_spawn'.
91497         * modules/posix_spawn: New file.
91498         * lib/spawn.c: New file, from GNU libc with modifications.
91499         * doc/posix-functions/posix_spawn.texi: Mention the new module.
91501         New module 'posix_spawnattr_destroy'.
91502         * modules/posix_spawnattr_destroy: New file.
91503         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
91504         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
91505         module.
91507         New module 'posix_spawnattr_setsigmask'.
91508         * modules/posix_spawnattr_setsigmask: New file.
91509         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
91510         modifications.
91511         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
91512         new module.
91514         New module 'posix_spawnattr_getsigmask'.
91515         * modules/posix_spawnattr_getsigmask: New file.
91516         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
91517         modifications.
91518         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
91519         new module.
91521         New module 'posix_spawnattr_setsigdefault'.
91522         * modules/posix_spawnattr_setsigdefault: New file.
91523         * lib/spawnattr_setdefault.c: New file, from GNU libc with
91524         modifications.
91525         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
91526         new module.
91528         New module 'posix_spawnattr_getsigdefault'.
91529         * modules/posix_spawnattr_getsigdefault: New file.
91530         * lib/spawnattr_getdefault.c: New file, from GNU libc with
91531         modifications.
91532         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
91533         new module.
91535         New module 'posix_spawnattr_setschedpolicy'.
91536         * modules/posix_spawnattr_setschedpolicy: New file.
91537         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
91538         modifications.
91539         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
91540         new module.
91542         New module 'posix_spawnattr_getschedpolicy'.
91543         * modules/posix_spawnattr_getschedpolicy: New file.
91544         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
91545         modifications.
91546         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
91547         new module.
91549         New module 'posix_spawnattr_setschedparam'.
91550         * modules/posix_spawnattr_setschedparam: New file.
91551         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
91552         modifications.
91553         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
91554         new module.
91556         New module 'posix_spawnattr_getschedparam'.
91557         * modules/posix_spawnattr_getschedparam: New file.
91558         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
91559         modifications.
91560         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
91561         new module.
91563         New module 'posix_spawnattr_setpgroup'.
91564         * modules/posix_spawnattr_setpgroup: New file.
91565         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
91566         modifications.
91567         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
91568         module.
91570         New module 'posix_spawnattr_getpgroup'.
91571         * modules/posix_spawnattr_getpgroup: New file.
91572         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
91573         modifications.
91574         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
91575         module.
91577         New module 'posix_spawnattr_setflags'.
91578         * modules/posix_spawnattr_setflags: New file.
91579         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
91580         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
91581         module.
91583         New module 'posix_spawnattr_getflags'.
91584         * modules/posix_spawnattr_getflags: New file.
91585         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
91586         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
91587         module.
91589         New module 'posix_spawnattr_init'.
91590         * modules/posix_spawnattr_init: New file.
91591         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
91592         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
91593         module.
91595         New module 'posix_spawn_file_actions_destroy'.
91596         * modules/posix_spawn_file_actions_destroy: New file.
91597         * lib/spawn_faction_destroy.c: New file, from GNU libc with
91598         modifications.
91599         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
91600         the new module.
91602         New module 'posix_spawn_file_actions_addopen'.
91603         * modules/posix_spawn_file_actions_addopen: New file.
91604         * lib/spawn_faction_addopen.c: New file, from GNU libc with
91605         modifications.
91606         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
91607         the new module.
91609         New module 'posix_spawn_file_actions_adddup2'.
91610         * modules/posix_spawn_file_actions_adddup2: New file.
91611         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
91612         modifications.
91613         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
91614         the new module.
91616         New module 'posix_spawn_file_actions_addclose'.
91617         * modules/posix_spawn_file_actions_addclose: New file.
91618         * lib/spawn_faction_addclose.c: New file, from GNU libc with
91619         modifications.
91620         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
91621         the new module.
91623         New module 'posix_spawn_file_actions_init'.
91624         * modules/posix_spawn_file_actions_init: New file.
91625         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
91626         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
91627         new module.
91629         New module 'posix_spawn-internal'.
91630         * modules/posix_spawn-internal: New file.
91631         * lib/spawn_int.h: New file, from GNU libc with modifications.
91632         * lib/spawni.c: New file, from GNU libc with modifications.
91633         * m4/posix_spawn.m4: New file.
91635         New module 'spawn'.
91636         * modules/spawn: New file.
91637         * lib/spawn.in.h: New file, from GNU libc with modifications.
91638         * m4/spawn_h.m4: New file.
91639         * doc/posix-headers/spawn.texi: Mention the new module.
91641 2008-09-28  Bruno Haible  <bruno@clisp.org>
91643         * modules/sched-tests: New file.
91644         * tests/test-sched.c: New file.
91646         New module 'sched'.
91647         * modules/sched: New file.
91648         * lib/sched.in.h: New file.
91649         * m4/sched_h.m4: New file.
91650         * doc/posix-headers/sched.texi: Mention the new module.
91652 2008-09-27  Eric Blake  <ebb9@byu.net>
91654         Fix previous patch, and tweak references to $0.
91655         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
91656         (func_version, func_gnulib_dir): Don't call this program
91657         gnulib-tool.
91658         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
91659         with using $0 in function.
91660         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
91661         (func_fatal_error): Reuse the name the user invoked us with.
91663 2008-09-27  Bruno Haible  <bruno@clisp.org>
91665         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
91666         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
91667         (gl_ICONV_H): Not here.
91668         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
91669         instead of assigning ICONV_H directly.
91671         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
91672         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
91673         WCHAR_H directly.
91675 2008-09-27  Bruno Haible  <bruno@clisp.org>
91677         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
91678         * modules/arpa_inet (Depends-on): Add link-warning.
91679         (Makefile.am): Insert the definition of GL_LINK-WARNING.
91680         * modules/unistd (Makefile.am): Likewise.
91682 2008-09-26  Bruno Haible  <bruno@clisp.org>
91684         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
91685         variables.
91686         (func_version): Essentially copied from gnulib-tool.
91687         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
91688         func_readlink): Copied from gnulib-tool.
91690 2008-09-26  Bruno Haible  <bruno@clisp.org>
91692         * gnulib-tool (func_version): Change directory to $gnulib_dir before
91693         invoking git-version-gen.
91695 2008-09-26  Bruno Haible  <bruno@clisp.org>
91697         * posix-modules: Update to directory names changed on 2008-01-19.
91698         Remove commas in output before splitting into words. No more need to
91699         avoid 'ftruncate' since 2007-02-19.
91701 2008-09-26  Bruno Haible  <bruno@clisp.org>
91703         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
91705 2008-09-26  Bruno Haible  <bruno@clisp.org>
91707         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
91708         * modules/fwriteerror (Depends-on): Add errno.
91710 2008-09-26  Bruno Haible  <bruno@clisp.org>
91712         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
91713         * tests/test-vc-list-files-cvs.sh: Likewise.
91715 2008-09-26  Bruno Haible  <bruno@clisp.org>
91717         * doc/posix-headers/sys_resource.texi: Reorder items.
91719 2008-09-26  Jim Meyering  <meyering@redhat.com>
91721         fts: tweak inode comparison function
91722         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
91723         inode numbers, as documented.
91725         fts: sort dirent entries on inode number before traversing
91726         This avoids a quadratic, seek-related performance penalty when
91727         operating on a directory containing many entries (measurable at 10k;
91728         3.5 hours at 2 million entries with a cold cache) on certain types
91729         of file systems, including ext3 and ext4, but not tmpfs.
91730         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
91731         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
91732         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
91733         (fs_handles_readdir_ordered_dirents_efficiently): New function.
91734         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
91735         (fts_build): Set the stat.st_ino member from D_INO.
91736         If it is likely to be useful, sort dirent entries on inode number.
91738         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
91739         and the struct statfs.f_type member.
91740         * modules/fts (Depends-on): Add d-ino.
91742 2008-09-26  Bruno Haible  <bruno@clisp.org>
91744         * modules/sigpipe-die (Depends-on): Add sigpipe.
91746         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
91747         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
91748         and GNULIB_STDIO_H_SIGPIPE are set.
91749         * lib/stdio-write.c: New file.
91750         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
91751         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
91752         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
91753         REPLACE_STDIO_WRITE_FUNCS.
91754         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
91755         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
91756         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
91757         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
91758         * modules/stdio (Files): Add lib/stdio-write.c.
91759         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
91760         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
91761         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
91762         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
91763         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
91764         REPLACE_FPRINTF_POSIX.
91765         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
91766         REPLACE_PRINTF_POSIX.
91767         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
91768         REPLACE_VFPRINTF_POSIX.
91769         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
91770         REPLACE_VPRINTF_POSIX.
91771         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
91772         SIGPIPE issue.
91773         * doc/posix-functions/fputc.texi: Likewise.
91774         * doc/posix-functions/fputs.texi: Likewise.
91775         * doc/posix-functions/fwrite.texi: Likewise.
91776         * doc/posix-functions/printf.texi: Likewise.
91777         * doc/posix-functions/putc.texi: Likewise.
91778         * doc/posix-functions/putchar.texi: Likewise.
91779         * doc/posix-functions/puts.texi: Likewise.
91780         * doc/posix-functions/vfprintf.texi: Likewise.
91781         * doc/posix-functions/vprintf.texi: Likewise.
91783         * modules/safe-write (Depends-on): Add write.
91785         * modules/sigpipe-tests: New file.
91786         * tests/test-sigpipe.c: New file.
91787         * tests/test-sigpipe.sh: New file.
91789         * modules/write: New file.
91790         * lib/unistd.in.h: Include <sys/types.h>.
91791         (write): New declaration.
91792         * lib/write.c: New file.
91793         * m4/write.m4: New file.
91794         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91795         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
91796         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
91797         GNULIB_WRITE, REPLACE_WRITE.
91798         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
91799         and the SIGPIPE issue.
91801         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
91802         (raise): New declaration.
91803         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
91804         (ext_signal): New function.
91805         (rpl_raise): New function.
91806         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
91807         GNULIB_SIGNAL_H_SIGPIPE.
91808         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
91809         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
91811         * modules/sigpipe: New file.
91812         * m4/sigpipe.m4: New file.
91814 2008-09-25  Derek Price  <derek@ximbiot.com>
91815             Bruno Haible  <bruno@clisp.org>
91817         * gnulib-tool (func_import): Report all license incompatibilities, not
91818         just the first one.
91820 2008-09-25  Bruno Haible  <bruno@clisp.org>
91822         * gnulib-tool (func_import): When computing the edits, consider not
91823         only the Makefile.ams that exist but also those that will be generated.
91825 2008-09-25  Simon Josefsson  <simon@josefsson.org>
91827         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
91828         fixes gnulib-tool --test warning about duplicate dependency.
91830 2008-09-25  Bruno Haible  <bruno@clisp.org>
91832         * gnulib-tool: Don't ask the user to perform edits in the generated
91833         Makefile.ams.
91834         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
91835         apply to the Makefile.am being generated.
91836         (func_emit_tests_Makefile_am): Execute edits that apply to the
91837         Makefile.am being generated.
91838         (func_import): Setup list of Makefile.am edits before emitting the
91839         Makefile.ams, not at the end.
91840         (func_create_testdir): Update.
91841         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
91843 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91845         * gnulib-tool (func_import): Store the --tests-base option in the
91846         comment in gnulib-cache.m4.
91848 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
91850         * NEWS: Document increased portability that sys_select now provides.
91852         * lib/sys_select.in.h: Install select wrapper.
91853         * lib/sys_socket.in.h: Use more descriptive name when there is no
91854         select wrapper.
91855         * lib/winsock-select.c: New.
91856         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
91857         Require gl_HEADER_SYS_SOCKET.
91858         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
91859         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
91860         * tests/test-sys_select.c: Add functional tests.
91862 2008-09-24  Eric Blake  <ebb9@byu.net>
91864         open, fopen: close fd leak in last patch
91865         * lib/open.c (rpl_open): Close fd before returning error.
91866         * lib/fopen.c (rpl_fopen): Close fd before returning error.
91867         * doc/posix-functions/open.texi (open): Document that Irix also
91868         has the bug.
91869         * doc/posix-functions/fopen.texi (fopen): Likewise.
91870         Reported by Paolo Bonzini.
91872 2008-09-24  Bruno Haible  <bruno@clisp.org>
91874         Ensure that a filename ending in a slash cannot be used to access a
91875         non-directory.
91876         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
91877         to check whether it's really a directory.
91878         * lib/fopen.c: Include fcntl.h, unistd.h.
91879         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
91880         and fdopen().
91881         * modules/fopen (Depends-on): Add unistd.
91882         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
91883         * tests/test-fopen.c (main): Likewise.
91884         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
91885         * doc/posix-functions/fopen.texi: Likewise.
91886         Reported by Eric Blake.
91888 2008-09-23  Eric Blake  <ebb9@byu.net>
91890         c-stack: avoid compiler optimizations when provoking overflow
91891         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
91892         recursion harder to optimize, to ensure a stack overflow occurs.
91893         * tests/test-c-stack.c (recurse): Likewise.
91894         Borrowed from libsigsegv.
91896         c-stack: work around Irix sigaltstack bug
91897         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
91898         whether sigaltstack uses wrong end of stack_t (copied in part from
91899         libsigsegv).
91900         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
91901         Irix bug, without requiring an over-allocation.
91902         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
91903         bug.
91905         fopen: document mingw bug on directories
91906         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
91907         not allowing a stream visiting a directory, even though reading
91908         from such a stream is not portable.
91910 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
91912         * lib/poll.c: Rewrite.
91913         * modules/poll: Depend on alloca.
91915 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
91917         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
91918         instead define prototypes for a full set of wrappers.  Ensure
91919         that Cygwin does not use the compatibility code, which is only
91920         for MinGW.
91921         * lib/winsock.c: New.
91922         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
91923         * modules/sys_socket: Add lib/winsock.c.
91925         * modules/poll-tests: Add errno and perror.
91926         * tests/test-poll.c: Use ioctl, not ioctlsocket.
91928 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
91930         * tests/test-poll.c: Downgrade minimum needed Winsock version.
91932 2008-09-23  Bruno Haible  <bruno@clisp.org>
91934         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
91935         * doc/glibc-functions/*: Likewise.
91937 2008-09-23  Simon Josefsson  <simon@josefsson.org>
91939         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
91940         success.
91942 2008-09-22  Eric Blake  <ebb9@byu.net>
91943             Bruno Haible  <bruno@clisp.org>
91945         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
91946         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
91947         supply %A but mishandle pseudo-NaN.
91948         Reported by Simon Josefsson.
91950 2008-09-21  Bruno Haible  <bruno@clisp.org>
91952         * tests/test-lock.c (main): Tweak skip message.
91953         * tests/test-tls.c (main): Likewise.
91955 2008-09-21  Bruno Haible  <bruno@clisp.org>
91957         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
91958         whether 'struct sigaction' has sa_sigaction here...
91959         (gl_PREREQ_SIG_HANDLER_H): ... not here.
91960         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
91962 2008-09-21  Bruno Haible  <bruno@clisp.org>
91964         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
91965         section.
91966         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
91967         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
91968         the new section.
91969         (Support for obsolete systems lacking POSIX:2001): New section.
91970         (String handling <string.h>): Move strdup to the new section.
91971         Suggested by Simon Josefsson and Paolo Bonzini.
91973 2008-09-21  Bruno Haible  <bruno@clisp.org>
91975         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
91976         exponents in %e and %g results on 'long double'. Needed for mingw's
91977         improved *printf functions.
91978         * tests/test-vasprintf-posix.c (test_function): Likewise.
91979         * tests/test-snprintf-posix.h (test_function): Likewise.
91980         * tests/test-sprintf-posix.h (test_function): Likewise.
91981         Reported by Eric Blake.
91983 2008-09-21  Bruno Haible  <bruno@clisp.org>
91985         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
91986         * tests/test-sprintf-posix.h (test_function): Likewise.
91988 2008-09-21  Bruno Haible  <bruno@clisp.org>
91990         * modules/getpass (Depends-on): Add strdup-posix.
91992         New module 'strdup-posix'.
91993         * modules/strdup-posix: New file.
91994         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
91995         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
91996         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91997         REPLACE_STRDUP.
91998         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
91999         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
92000         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
92001         strdup-posix.
92003         * modules/strdup (Depends-on): Remove malloc-posix.
92005 2008-09-20  Bruno Haible  <bruno@clisp.org>
92007         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
92008         Wildenhues.
92010 2008-09-20  Bruno Haible  <bruno@clisp.org>
92012         Ensure that wint_t gets defined on IRIX 5.3.
92013         * lib/wchar.in.h (wint_t): Define if not defined by the system.
92014         * lib/wctype.in.h (wint_t): Likewise.
92015         (__wctype_wint_t): Remove type.
92016         (isw*): Use wint_t instead of __wctype_wint_t.
92017         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
92018         * modules/wchar (Files): Add m4/wint_t.m4.
92019         (Makefile.am): Substitute HAVE_WINT_T.
92020         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
92021         * tests/test-wctype.c: Check that wint_t is defined.
92022         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
92023         * doc/posix-headers/wctype.texi: Likewise.
92024         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
92026 2008-09-18  Bruno Haible  <bruno@clisp.org>
92028         * gnulib-tool (func_exit): Update comment.
92030 2008-09-18  Simon Josefsson  <simon@josefsson.org>
92032         * modules/getaddrinfo (Depends-on): Remove strdup, this module
92033         assumes strdup exists and does not depend on strdup to return
92034         ENOMEM on out of memory conditions.
92036 2008-09-18  Bruno Haible  <bruno@clisp.org>
92038         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
92039         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
92040         digits for the exponent.
92042 2008-09-18  Jim Meyering  <meyering@redhat.com>
92043             Bruno Haible  <bruno@clisp.org>
92045         * lib/vasnprintf.c (decimal_point_char): Define also if
92046         NEED_PRINTF_INFINITE_LONG_DOUBLE.
92048 2008-09-16  Bruno Haible  <bruno@clisp.org>
92049         and Eric Blake  <ebb9@byu.net>
92051         vasnprintf: support Irix 5.3
92052         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
92053         that mishandle long double infinity.
92054         Reported by Tom G. Christensen.
92056 2008-09-16  Bruno Haible  <bruno@clisp.org>
92058         * doc/glibc-functions/scandir.texi: Mention the function is missing on
92059         Solaris 9.
92060         * doc/glibc-functions/alphasort.texi: Likewise.
92061         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
92063 2008-09-16  Jim Meyering  <meyering@redhat.com>
92065         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
92066         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
92067         a umask modification leak out of a subshell.  Otherwise, the
92068         opensolaris /bin/sh would be accepted and thus cause unwarranted
92069         failures in the coreutils test suite.
92071 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
92073         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
92074         to succeed.
92076 2008-09-16  Jim Meyering  <meyering@redhat.com>
92078         avoid spurious test failure when library is built without ACL support
92079         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
92080         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
92081         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
92082         * tests/test-copy-acl.sh: Likewise.
92084 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92086         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
92087         based on character occurrence counts.
92089 2008-09-15  Eric Blake  <ebb9@byu.net>
92091         tests: avoid some compiler warnings
92092         * tests/test-memchr.c (main): Pass NULL indirectly.
92093         * tests/test-closein.c (main): Avoid unused variable.
92095 2008-09-15  Bruno Haible  <bruno@clisp.org>
92097         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
92098         are missing on OpenBSD 4.0 individually.
92099         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
92101 2008-09-15  Bruno Haible  <bruno@clisp.org>
92103         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
92104         * doc/posix-functions/strerror.texi: Mention also Cygwin.
92105         * doc/posix-functions/perror.texi: Likewise.
92106         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
92107         is missing.
92108         Reported by Eric Blake.
92110         * lib/errno.in.h: Use replacement values >= 2000.
92111         Reported by Eric Blake.
92113 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92115         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
92116         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
92117         limit.
92118         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
92119         compareseq was aborted.
92121 2008-09-14  Bruno Haible  <bruno@clisp.org>
92123         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
92124         yvec_edit_count.
92125         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
92126         (fstrcmp_bounded): Simplify result computation accordingly.
92128 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92130         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
92131         (fstrcmp): Define in terms of fstrcmp_bounded.
92132         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
92133         lower_bound argument.
92134         Return quickly if the result is certainly < lower_bound.
92135         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
92137 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92139         * lib/diffseq.h (EARLY_ABORT): New macro.
92140         (compareseq): Change return type to bool. Return true when EARLY_ABORT
92141         evaluates to true.
92143 2008-09-14  Bruno Haible  <bruno@clisp.org>
92145         * modules/perror-tests: New file.
92146         * tests/test-perror.sh: New file.
92147         * tests/test-perror.c: New file.
92149         New module 'perror'.
92150         * lib/stdio.in.h (perror): New declaration.
92151         * lib/perror.c: New file.
92152         * m4/perror.m4: New file.
92153         * modules/perror: New file.
92154         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
92155         * doc/posix-functions/perror.texi: Mention the perror module.
92156         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
92157         REPLACE_PERROR.
92158         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
92159         REPLACE_PERROR.
92161 2008-09-14  Bruno Haible  <bruno@clisp.org>
92163         * modules/stdio (Makefile.am): Reorder to match the order in
92164         lib/stdio.in.h.
92165         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
92167 2008-09-13  Bruno Haible  <bruno@clisp.org>
92169         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
92171 2008-09-13  Bruno Haible  <bruno@clisp.org>
92173         Extend strerror to cover the added errno values.
92174         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
92175         (rpl_strerror): Provide error messages for the added errno values and
92176         for the WSA* values.
92177         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
92178         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
92179         strerror.
92180         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
92181         * modules/strerror (Depends-on): Add errno.
92182         * doc/posix-functions/strerror.texi: Document the change.
92183         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
92184         and EOVERFLOW.
92186 2008-09-13  Bruno Haible  <bruno@clisp.org>
92188         * modules/EOVERFLOW: Remove file.
92189         * m4/eoverflow.m4: Remove file.
92190         * modules/EOVERFLOW-tests: Remove file.
92191         * tests/test-EOVERFLOW.c: Remove file.
92192         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
92193         * modules/ftell (Depends-on): Likewise.
92194         * modules/getdelim (Depends-on): Likewise.
92195         * modules/getugroups (Depends-on): Likewise.
92196         * modules/poll (Depends-on): Likewise.
92197         * modules/snprintf (Depends-on): Likewise.
92198         * modules/sprintf-posix (Depends-on): Likewise.
92199         * modules/vasnprintf (Depends-on): Likewise.
92200         * modules/vasprintf (Depends-on): Likewise.
92201         * modules/vfprintf-posix (Depends-on): Likewise.
92202         * modules/vsnprintf (Depends-on): Likewise.
92203         * modules/vsprintf-posix (Depends-on): Likewise.
92204         * modules/xvasprintf (Depends-on): Likewise.
92205         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
92206         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
92207         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
92208         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
92209         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
92210         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
92211         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
92212         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
92213         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
92214         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
92215         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
92216         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
92217         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
92218         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
92219         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
92220         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
92221         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
92222         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
92223         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
92224         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
92225         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
92226         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
92227         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
92228         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
92229         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
92230         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
92231         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
92232         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
92233         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
92234         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
92235         * MODULES.html.sh: Remove EOVERFLOW.
92236         * NEWS: Mention the change.
92238 2008-09-13  Bruno Haible  <bruno@clisp.org>
92240         * modules/errno-tests: New file.
92241         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
92243         * lib/errno.in.h: New file.
92244         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
92245         * modules/errno: New file.
92246         * doc/posix-headers/errno.texi: Update documentation.
92247         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
92249 2008-09-13  Bruno Haible  <bruno@clisp.org>
92251         * tests/test-poll.c: Use #if for native Windows, rather than testing
92252         __MSVCRT__.
92254 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92255             Bruno Haible  <bruno@clisp.org>
92257         * lib/glob.c: Don't include <pwd.h> on native Windows.
92258         (WINDOWS32): New macro.
92259         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
92261 2008-09-13  Bruno Haible  <bruno@clisp.org>
92263         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
92264         (ETIMEDOUT): Remove macro.
92265         (glthread_cond_timedwait_multithreaded): New declaration.
92266         (glthread_cond_timedwait): Use it.
92267         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
92268         (glthread_cond_timedwait_multithreaded): New function.
92270 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
92272         * modules/poll-tests: Do not check for io.h.
92273         * tests/test-poll.c: Check for __MSVCRT__ instead.
92275 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
92277         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
92278         * modules/poll-tests: Add inet_pton, stdbool, sockets.
92279         * tests/test-poll.c: Use them.  Use _pipe on Windows.
92281 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
92283         * modules/poll-tests: New.
92284         * tests/test-poll.c: New.
92286 2008-09-12  Eric Blake  <ebb9@byu.net>
92288         frexp: test for NetBSD failure on -0.0
92289         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
92290         not all, bugs from NetBSD 3.0 have been fixed.
92291         * doc/posix-functions/frexp.texi (frexp): Document bug.
92292         Reported by Thomas Klausner.
92294         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
92295         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
92296         literal -0.0.
92297         Reported by Jonathan C. Patschke <jp@centtech.com>.
92299 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92301         * lib/glthread/cond.h: Use dummy implementation also if
92302         USE_WIN32_THREADS.
92304 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92306         * modules/fnmatch-posix (License): Change to LGPLv2+.
92307         * modules/fnmatch-gnu (License): Likewise.
92309 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92311         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
92313 2008-09-11  Jim Meyering  <meyering@redhat.com>
92315         * users.txt: Add gtk-vnc.
92317 2008-09-08  Simon Josefsson  <simon@josefsson.org>
92319         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
92320         rotate amounts.
92322         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
92323         required for 16-bit and 8-bit rotates.
92324         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
92325         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
92326         UINT8_MAX instead of hard-coded constants.
92327         Suggested by Paul Eggert.
92329 2008-09-07  Bruno Haible  <bruno@clisp.org>
92331         * tests/test-striconveh.c (main): Check behaviour when converting from
92332         UTF-7.
92334         Make striconveh work better with stateful encodings.
92335         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
92336         that iconv does not increment the inptr when returning -1/EINVAL.
92338 2008-09-07  Bruno Haible  <bruno@clisp.org>
92340         * build-aux/config.rpath: Update according to libtool-2.2.6.
92341         * build-aux/config.libpath: Likewise.
92343 2008-09-06  Bruno Haible  <bruno@clisp.org>
92345         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
92346         * lib/freadptr.c (freadptr): Likewise.
92347         * lib/freadseek.c (freadptrinc): Likewise.
92348         Reported by Simon Josefsson.
92350 2008-09-06  Bruno Haible  <bruno@clisp.org>
92352         * modules/freadptr (License): Change to LGPLv2+.
92353         * modules/freadseek (License): Likewise.
92354         Suggested by Eric Blake.
92356         * modules/memchr2 (License): Change to LGPLv2+.
92357         Approved by Eric Blake.
92359 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92360             Bruno Haible  <bruno@clisp.org>
92362         Make gnulib-tool work with native 'sed' on AIX.
92363         * gnulib-tool (sed_noop): New variable.
92364         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
92365         func_add_or_update, func_create_testdir): Use it to initialize sed
92366         script variables.
92367         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
92369 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
92370             Bruno Haible  <bruno@clisp.org>
92372         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
92373         also works after #include directives.
92375 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
92377         getdate.y: reject an out-of-range timezone value
92378         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
92379         the range [-24...+24].  When specified with only one or two digits,
92380         * tests/test-getdate.c: Tests for the fix.
92381         * doc/getdate.texi: Document this change.
92383 2008-09-03  Bruno Haible  <bruno@clisp.org>
92385         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
92387 2008-09-02  Simon Josefsson  <simon@josefsson.org>
92389         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
92390         <bruce.korb@gmail.com> with ideas from Ben Pfaff
92391         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
92392         Blake <ebb9@byu.net>.
92394         * tests/test-bitrotate.c: Add more test vectors.
92396 2008-09-02  Eric Blake  <ebb9@byu.net>
92398         vasnprintf-posix: handle large precision via %.*d
92399         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
92400         when handling it ourselves.
92401         * tests/test-vasnprintf-posix.c (test_function): Add test.
92402         * tests/test-snprintf-posix.h (test_function): Likewise.
92403         * tests/test-sprintf-posix.h (test_function): Likewise.
92404         * tests/test-vasprintf-posix.c (test_function): Likewise.
92405         Reported by Alain Guibert.
92407 2008-09-01  Eric Blake  <ebb9@byu.net>
92409         c-stack: make configure-time check more robust
92410         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
92411         successful sigaction call.
92412         Reported by Tom G. Christensen.
92414 2008-09-01  Bruno Haible  <bruno@clisp.org>
92416         New module 'findprog-lgpl'.
92417         * modules/findprog-lgpl: New file.
92418         * lib/findprog-lgpl.c: New file.
92419         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
92420         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
92421         to decide whether to use strdup or xstrdup, concatenated_filename or
92422         xconcatenated_filename.
92424 2008-09-01  Bruno Haible  <bruno@clisp.org>
92426         Split module 'concat-filename' into 'concat-filename' (LGPL) and
92427         'xconcat-filename' (GPL).
92428         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
92429         (License): Change to LGPLv2+.
92430         * modules/xconcat-filename: New file.
92431         * lib/concat-filename.h (concatenated_filename): Change specification.
92432         (xconcatenated_filename): New declaration.
92433         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
92434         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
92435         memory situations.
92436         * lib/xconcat-filename.c: New file.
92437         * NEWS: Mention the change.
92438         * lib/findprog.c: Include concat-filename.h, not filename.h.
92439         (find_in_path): Use xconcatenated_filename instead of
92440         concatenated_filename.
92441         * lib/javacomp.c: Include concat-filename.h, not filename.h.
92442         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
92443         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
92444         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
92445         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
92446         instead of concatenated_filename.
92447         * lib/javaexec.c: Include concat-filename.h, not filename.h.
92448         (execute_java_class): Use xconcatenated_filename instead of
92449         concatenated_filename.
92450         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
92451         * modules/javacomp (Depends-on): Likewise.
92452         * modules/javaexec (Depends-on): Likewise.
92454 2008-09-01  Bruno Haible  <bruno@clisp.org>
92456         Split module 'filename' into 'filename' and 'concat-filename'.
92457         * modules/filename: Keep only lib/filename.h.
92458         (License): Change to LGPLv2+.
92459         * modules/concat-filename: New file, extracted from modules/filename.
92460         * lib/filename.h (concatenated_filename): Remove declaration.
92461         * lib/concat-filename.h: New file, extracted from lib/filename.h.
92462         * lib/concat-filename.c: Include concat-filename.h.
92463         * NEWS: Mention the change.
92465 2008-09-01  Simon Josefsson  <simon@josefsson.org>
92467         * lib/bitrotate.h (rotl8, rotr8): Add.
92469         * modules/bitrotate (configure.ac): Need
92470         AC_REQUIRE([AC_C_INLINE]).
92471         (Description): Mention stdint.h.  Reported by Bruno Haible
92472         <bruno@clisp.org>.
92474         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
92475         Paolo Bonzini <bonzini@gnu.org>.
92477 2008-08-31  Bruno Haible  <bruno@clisp.org>
92479         Assume Solaris specific bi-arch conventions on Solaris systems.
92480         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
92481         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
92482         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
92483         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
92484         like acl_libdirstem.
92485         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
92486         acl_libdirstem.
92487         * NEWS: Mention the change.
92488         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
92490 2008-08-31  Jim Meyering  <meyering@redhat.com>
92492         * lib/strftime.h: Add comments describing the two added arguments.
92494         remove duplicate #include directives
92495         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
92496         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
92498 2008-08-31  Bruno Haible  <bruno@clisp.org>
92500         New module 'sigpipe-die'.
92501         * modules/sigpipe-die: New file.
92502         * lib/sigpipe-die.h: New file.
92503         * lib/sigpipe-die.c: New file.
92504         * MODULES.html.sh (Signal handling): Add sigpipe-die.
92506 2008-08-31  Bruno Haible  <bruno@clisp.org>
92508         Don't override previously installed signal handlers.
92509         * lib/fatal-signal.c (saved_sigactions): New variable.
92510         (uninstall_handlers): Reset the signal to the saved handler, not
92511         to SIG_DFL (except when ignored).
92512         (install_handlers): Save the previous handlers.
92514 2008-08-30  Bruno Haible  <bruno@clisp.org>
92516         * gnulib-tool (func_reset_sigpipe): New function.
92517         (func_get_automake_snippet, func_modules_transitive_closure,
92518         func_import): Invoke it before a join command that reads from stdin,
92519         to avoid "echo: write error: Broken pipe" error messages on stderr.
92520         Reported by Sam Steingold <sds@gnu.org>.
92522 2008-08-30  Bruno Haible  <bruno@clisp.org>
92524         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
92525         Code copied from m4/open.m4.
92526         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
92527         access and the filename ends in a slash. Code copied from lib/open.c.
92528         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
92529         * tests/test-fopen.c (main): Check against bug with trailing slash.
92531 2008-08-29  Bruno Haible  <bruno@clisp.org>
92533         Avoid some "gcc -pedantic" warnings.
92534         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
92535         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
92536         * lib/dirent.in.h: Likewise.
92537         * lib/fcntl.in.h: Likewise.
92538         * lib/float.in.h: Likewise.
92539         * lib/iconv.in.h: Likewise.
92540         * lib/inttypes.in.h: Likewise.
92541         * lib/locale.in.h: Likewise.
92542         * lib/math.in.h: Likewise.
92543         * lib/netinet_in.in.h: Likewise.
92544         * lib/search.in.h: Likewise.
92545         * lib/signal.in.h: Likewise.
92546         * lib/stdarg.in.h: Likewise.
92547         * lib/stdint.in.h: Likewise.
92548         * lib/stdio.in.h: Likewise.
92549         * lib/stdlib.in.h: Likewise.
92550         * lib/string.in.h: Likewise.
92551         * lib/strings.in.h: Likewise.
92552         * lib/sys_select.in.h: Likewise.
92553         * lib/sys_socket.in.h: Likewise.
92554         * lib/sys_stat.in.h: Likewise.
92555         * lib/sys_time.in.h: Likewise.
92556         * lib/sysexits.in.h: Likewise.
92557         * lib/time.in.h: Likewise.
92558         * lib/unistd.in.h: Likewise.
92559         * lib/wchar.in.h: Likewise.
92560         * lib/wctype.in.h: Likewise.
92561         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
92562         * modules/fchdir (Makefile.am): Likewise.
92563         * modules/fcntl (Makefile.am): Likewise.
92564         * modules/float (Makefile.am): Likewise.
92565         * modules/iconv_open (Makefile.am): Likewise.
92566         * modules/inttypes (Makefile.am): Likewise.
92567         * modules/locale (Makefile.am): Likewise.
92568         * modules/math (Makefile.am): Likewise.
92569         * modules/netinet_in (Makefile.am): Likewise.
92570         * modules/search (Makefile.am): Likewise.
92571         * modules/signal (Makefile.am): Likewise.
92572         * modules/stdarg (Makefile.am): Likewise.
92573         * modules/stdint (Makefile.am): Likewise.
92574         * modules/stdio (Makefile.am): Likewise.
92575         * modules/stdlib (Makefile.am): Likewise.
92576         * modules/string (Makefile.am): Likewise.
92577         * modules/strings (Makefile.am): Likewise.
92578         * modules/sys_select (Makefile.am): Likewise.
92579         * modules/sys_socket (Makefile.am): Likewise.
92580         * modules/sys_stat (Makefile.am): Likewise.
92581         * modules/sys_time (Makefile.am): Likewise.
92582         * modules/sysexits (Makefile.am): Likewise.
92583         * modules/time (Makefile.am): Likewise.
92584         * modules/unistd (Makefile.am): Likewise.
92585         * modules/wchar (Makefile.am): Likewise.
92586         * modules/wctype (Makefile.am): Likewise.
92587         Reported by Reuben Thomas <rrt@sc3d.org>.
92589 2008-08-29  Bruno Haible  <bruno@clisp.org>
92591         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
92592         any more.
92594 2008-08-29  Simon Josefsson  <simon@josefsson.org>
92596         * MODULES.html.sh (Misc): Add bitrotate.
92598         * modules/bitrotate: New file.
92600         * lib/bitrotate.h: New file.
92602         * modules/bitrotate-tests: New file.
92604         * tests/test-bitrotate.c: New file.
92606         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
92607         on the bitrotate module.
92609         * lib/arctwo.c: Use new bitrotate module.
92611 2008-08-29  Jim Meyering  <meyering@redhat.com>
92613         bootstrap: merge changes from coreutils
92614         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
92615         of copied files.  Remove a kludge, now that this is fixed.
92616         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
92617         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
92618         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
92620 2008-08-29  Bruno Haible  <bruno@clisp.org>
92622         * MODULES.html.sh: Remove --cvs-urls option.
92624 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
92626         maint.mk: adjust to file name change
92627         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
92629 2008-08-28  Jim Meyering  <meyering@redhat.com>
92631         * modules/getndelim2 (License): Relicense to LGPLv2+.
92632         Approved by Richard Stallman for the version of 1995, and by
92633         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
92635 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
92637         * lib/getdelim.c (flockfile, funlockfile): Make all of them
92638         dummy if one is not available.  Do not touch them if
92639         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
92640         (getc_maybe_unlocked): New.
92641         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
92643 2008-08-26  Eric Blake  <ebb9@byu.net>
92645         doc/INSTALL: resync from autoconf
92646         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
92647         (INSTALL_PRELUDE): Delete; this is done more efficiently by
92648         moving...
92649         * install.texi [!autoconf]: ...here.  Resync from autoconf.
92650         * INSTALL: Regenerate.
92651         * INSTALL.ISO: New file.
92652         * INSTALL.UTF-8: Likewise.
92654 2008-08-26  Jim Meyering  <meyering@redhat.com>
92656         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
92657         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
92658         these definitions conditional, so that they may be overridden, too.
92660 2008-08-26  Bruno Haible  <bruno@clisp.org>
92662         Generate INSTALL file variants with prettier quotes.
92663         * doc/Makefile (INSTALL_PRELUDE): New macro.
92664         (INSTALL): Use it.
92665         (INSTALL.ISO, INSTALL.UTF-8): New rules.
92667 2008-08-26  Bruno Haible  <bruno@clisp.org>
92669         Run makeinfo in an English locale.
92670         * doc/Makefile (MAKEINFO): New variable.
92672 2008-08-26  Bruno Haible  <bruno@clisp.org>
92674         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
92675         Suggested by Eric Blake.
92677 2008-08-25  Bruno Haible  <bruno@clisp.org>
92679         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
92681 2008-08-25  Eric Blake  <ebb9@byu.net>
92683         c-stack: test that stack overflow can be caught
92684         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
92685         that platform allows handling stack overflow; at least OS/2 EMX
92686         has sigaltstack, but crashes before transferring control to
92687         handler on stack overflow.
92688         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
92689         check for HAVE_STACK_OVERFLOW_HANDLING.
92690         Reported by Elbert Pol.
92692 2008-08-25  Bruno Haible  <bruno@clisp.org>
92694         * doc/posix-functions/strftime.texi: Fix description of strftime
92695         module.
92697 2008-08-24  Bruno Haible  <bruno@clisp.org>
92699         * tests/uniwidth/test-uc_width2.c: New file.
92700         * tests/uniwidth/test-uc_width2.sh: New file.
92701         * modules/uniwidth/width-tests (Files): Add the new files.
92702         (TESTS): Add uniwidth/test-uc_width2.sh.
92703         (TESTS_ENVIRONMENT): New variable.
92704         (check_PROGRAMS): Add test-uc_width2.
92705         (test_uc_width2_SOURCES): New variable.
92707         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
92708         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
92709         not 0x00AB.
92710         Reported by Alexander V. Lukyanov <lav@netis.ru>.
92712 2008-08-22  Eric Blake  <ebb9@byu.net>
92714         test-lock, test-tls: mention why a test is skipped
92715         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
92716         skipped.
92717         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
92719         count-one-bits: relax license
92720         * modules/count-one-bits (License): Relicense to LGPLv2+.
92721         Suggested by Ludovic Courtès, approved by Ben Pfaff.
92723 2008-08-22  Andreas Schwab  <schwab@suse.de>
92725         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
92726         Remove spurious space in assignment.
92728 2008-08-21  Simon Josefsson  <simon@josefsson.org>
92730         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
92731         Paul Eggert <eggert@CS.UCLA.EDU>.
92733 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
92735         * modules/gettext: Add m4/threadlib.m4.
92737 2008-08-19  Eric Blake  <ebb9@byu.net>
92739         test-c-stack: fix compilation failure on FreeBSD 5.0
92740         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
92741         headers before <sys/resource.h>.
92742         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
92743         the bug.
92744         Reported by Nelson H. F. Beebe.
92746         strverscmp: migrate from "strverscmp.h" to <string.h>
92747         * modules/string (Makefile.am): Add new hooks.
92748         * modules/strverscmp (Files): Remove strverscmp.h.
92749         (Depends-on): Add string.
92750         (configure.ac): Add indicator.
92751         (Include): Mention new header.
92752         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
92753         defaults.
92754         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
92755         results.
92756         * lib/strverscmp.h: Delete.
92757         * lib/string.in.h (strverscmp): Provide declaration, when needed.
92758         * tests/test-strverscmp.c (includes): Adjust client.
92759         * lib/check-version.c (includes): Likewise.
92760         * NEWS: Document the change.
92762         strverscmp: add unit test
92763         * modules/strverscmp-tests: New file.
92764         * tests/test-strverscmp.c: Likewise.
92766 2008-08-19  Simon Josefsson  <simon@josefsson.org>
92768         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
92769         regarding Windows crypto stuff, from Mono.
92771 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
92773         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
92774         if present, for intel RND.  Return error on failures.
92776 2008-08-18  Ben Pfaff  <blp@gnu.org>
92778         gitlog-to-changelog: give better diagnostic for failed pipe-open
92779         * build-aux/gitlog-to-changelog: Improve error message: suggest
92780         that the version of Git may be too old.
92782 2008-08-18  Simon Josefsson  <simon@josefsson.org>
92784         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
92785         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
92787 2008-08-18  Bruno Haible  <bruno@clisp.org>
92789         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
92790         pthread_in_use().
92792 2008-08-18  Bruno Haible  <bruno@clisp.org>
92794         * lib/glthread/threadlib.c: Include <pthread.h>.
92796 2008-08-18  Bruno Haible  <bruno@clisp.org>
92798         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
92799         glthread_recursive_lock_* macros.
92800         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
92801         Fix syntax error.
92803 2008-08-18  Bruno Haible  <bruno@clisp.org>
92805         * lib/glthread/thread.c: Avoid forcing a context switch right after
92806         thread creation.
92808 2008-08-17  Bruno Haible  <bruno@clisp.org>
92810         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
92811         * lib/glthread/thread.h: Provide Win32 specific implementation.
92812         * modules/thread (Files): Add lib/glthread/thread.c.
92813         (Depends-on): Add lock.
92814         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
92816 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92818         New module 'yield'.
92819         * modules/yield: New file.
92820         * lib/glthread/yield.h: New file.
92821         * m4/yield.m4: New file.
92822         * MODULES.html.sh (Multithreading): Add yield.
92824 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92826         New module 'thread'.
92827         * modules/thread: New file.
92828         * lib/glthread/thread.h: New file.
92829         * m4/thread.m4: New file.
92830         * MODULES.html.sh (Multithreading): Add thread.
92832 2008-08-17  Bruno Haible  <bruno@clisp.org>
92834         * lib/glthread/lock.h: Include <stdlib.h> always.
92835         * lib/glthread/tls.h: Likewise.
92836         * lib/glthread/cond.h: Likewise.
92838 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92840         New module 'cond'.
92841         * modules/cond: New file.
92842         * lib/glthread/cond.h: New file.
92843         * lib/glthread/cond.c: New file.
92844         * m4/cond.m4: New file.
92845         * MODULES.html.sh (Multithreading): Add cond.
92847 2008-08-16  Eric Blake  <ebb9@byu.net>
92849         c-stack: fix regression on Irix 5.3 from 2008-06-21
92850         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
92851         sa_sigaction...
92852         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
92853         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
92854         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
92855         * modules/signal (Makefile.am): Use the value.
92856         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
92857         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
92858         * doc/posix-headers/signal.texi (signal.h): Document this
92859         portability issue.
92860         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
92861         Reported by Tom G. Christensen.
92863 2008-08-17  Bruno Haible  <bruno@clisp.org>
92865         New module 'threadlib'.
92866         * modules/threadlib: New file.
92867         * lib/glthread/threadlib.c: New file, extracted from
92868         lib/glthread/lock.c.
92869         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
92870         functions.
92871         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
92872         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
92873         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
92874         macros.
92875         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
92876         (gl_DISABLE_THREADS): Remove macro.
92877         * modules/lock (Files): Remove build-aux/config.rpath.
92878         (Depends-on): Remove havelib. Add threadlib.
92879         (configure.ac-early): Remove section.
92880         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
92881         * modules/tls (Depends-on): Remove lock. Add threadlib.
92882         (Link): New section, copied from threadlib.
92883         * MODULES.html.sh (Multithreading): Add threadlib.
92885 2008-08-14  Bruno Haible  <bruno@clisp.org>
92887         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
92888         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
92889         glthread_rwlock_unlock, glthread_rwlock_destroy,
92890         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
92891         glthread_recursive_lock_destroy): Define as macros always.
92892         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
92893         glthread_lock_lock.
92894         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
92895         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
92896         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
92897         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
92898         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
92899         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
92900         (glthread_recursive_lock_lock_func): Renamed from
92901         glthread_recursive_lock_lock.
92902         (glthread_recursive_lock_unlock_func): Renamed from
92903         glthread_recursive_lock_unlock.
92904         (glthread_recursive_lock_destroy_func): Renamed from
92905         glthread_recursive_lock_destroy.
92907 2008-08-14  Bruno Haible  <bruno@clisp.org>
92909         * lib/glthread/lock.h: Renamed from lib/lock.h.
92910         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
92911         * lib/glthread/tls.h: Renamed from lib/tls.h.
92912         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
92913         * lib/fstrcmp.c: Update includes.
92914         * lib/strsignal.c: Update includes.
92915         * modules/lock (Files, Makefile.am): Update.
92916         (Include): Change to "glthread/lock.h".
92917         * modules/tls (Files, Makefile.am): Update.
92918         (Include): Change to "glthread/tls.h".
92919         * tests/test-lock.c: Update includes.
92920         * tests/test-tls.c: Update includes.
92921         * NEWS: Mention the renamed header files.
92923 2008-08-11  Jim Meyering  <meyering@redhat.com>
92925         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
92927 2008-08-11  Eric Blake  <ebb9@byu.net>
92929         test-c-stack: avoid C99-ism
92930         * tests/test-c-stack.c (main): Fix whitespace, move declaration
92931         before statement.
92932         Reported by Alain Guibert.
92934 2008-08-10  Jim Meyering  <meyering@redhat.com>
92936         ensure that return value of uinttostr et al are not ignored
92937         * lib/inttostr.h (__GNUC_PREREQ): Define.
92938         (__attribute_warn_unused_result__): Define.
92939         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
92941 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
92943         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
92944         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
92946 2008-08-07  Jim Meyering  <meyering@redhat.com>
92948         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
92950         * modules/mkstemp (License): Relicense under LGPLv2+.
92951         * modules/tempname (License): Likewise.
92953 2008-08-06  Bruno Haible  <bruno@clisp.org>
92955         * lib/poll.c (poll): Further micro-optimization.
92957 2008-08-06  Jim Meyering  <meyering@redhat.com>
92959         inet_pton.c: use locale-independent tolower
92960         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
92961         (inet_pton6): Use c_tolower rather than tolower.
92962         * modules/inet_pton (Depends-on): Add c-ctype.
92964 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
92966         * lib/poll.c (poll): Avoid division when timeout is 0, cache
92967         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
92969 2008-08-06  Jim Meyering  <meyering@redhat.com>
92971         * modules/inet_pton (License): Relicense under LGPLv2+.
92973 2008-08-03  Bruno Haible  <bruno@clisp.org>
92975         Additional non-aborting API for lock and tls.
92976         * lib/lock.h: Include <errno.h>.
92977         (glthread_lock_init): New macro/function.
92978         (gl_lock_init): Define as wrapper around glthread_lock_init.
92979         (glthread_lock_lock): New macro/function.
92980         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
92981         (glthread_lock_unlock): New macro/function.
92982         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
92983         (glthread_lock_destroy): New macro/function.
92984         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
92985         (glthread_rwlock_init): New macro/function.
92986         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
92987         (glthread_rwlock_rdlock): New macro/function.
92988         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
92989         (glthread_rwlock_wrlock): New macro/function.
92990         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
92991         (glthread_rwlock_unlock): New macro/function.
92992         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
92993         (glthread_rwlock_destroy): New macro/function.
92994         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
92995         (glthread_recursive_lock_init): New macro/function.
92996         (gl_recursive_lock_init): Define as wrapper around
92997         glthread_recursive_lock_init.
92998         (glthread_recursive_lock_lock): New macro/function.
92999         (gl_recursive_lock_lock): Define as wrapper around
93000         glthread_recursive_lock_lock.
93001         (glthread_recursive_lock_unlock): New macro/function.
93002         (gl_recursive_lock_unlock): Define as wrapper around
93003         glthread_recursive_lock_unlock.
93004         (glthread_recursive_lock_destroy): New macro/function.
93005         (gl_recursive_lock_destroy): Define as wrapper around
93006         glthread_recursive_lock_destroy.
93007         (glthread_once): New macro/function.
93008         (gl_once): Define as wrapper around glthread_once.
93009         Update function declarations.
93010         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
93011         glthread_rwlock_init. Return error code.
93012         (glthread_rwlock_rdlock_multithreaded): Renamed from
93013         glthread_rwlock_rdlock. Return error code.
93014         (glthread_rwlock_wrlock_multithreaded): Renamed from
93015         glthread_rwlock_wrlock. Return error code.
93016         (glthread_rwlock_unlock_multithreaded): Renamed from
93017         glthread_rwlock_unlock. Return error code.
93018         (glthread_rwlock_destroy_multithreaded): Renamed from
93019         glthread_rwlock_destroy. Return error code.
93020         (glthread_recursive_lock_init_multithreaded): Renamed from
93021         glthread_recursive_lock_init. Return error code.
93022         (glthread_recursive_lock_lock_multithreaded): Renamed from
93023         glthread_recursive_lock_lock. Return error code.
93024         (glthread_recursive_lock_unlock_multithreaded): Renamed from
93025         glthread_recursive_lock_unlock. Return error code.
93026         (glthread_recursive_lock_destroy_multithreaded): Renamed from
93027         glthread_recursive_lock_destroy. Return error code.
93028         (glthread_once_call): Make static.
93029         (glthread_once_multithreaded): Renamed from glthread_once.
93030         * lib/tls.h: Include <errno.h>.
93031         (glthread_tls_key_init): New macro/function.
93032         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
93033         (glthread_tls_set): New macro/function.
93034         (gl_tls_set): Define as wrapper around glthread_tls_set.
93035         (glthread_tls_key_destroy): New macro/function.
93036         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
93037         Update function declarations.
93038         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
93039         glthread_tls_get.
93040         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
93042 2008-08-04  Eric Blake  <ebb9@byu.net>
93044         gnumakefile: use space, not TAB, outside of targets
93045         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
93047 2008-08-02  Jim Meyering  <meyering@redhat.com>
93049         getdate.y: avoid locale-dependent date parsing failure
93050         In Turkish locales, getdate would fail to recognize keywords
93051         containing a lowercase "i".  The solution is not to rely on
93052         locale-sensitive case-conversion.
93053         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
93054         (lookup_word): Use c_toupper in place of toupper.
93055         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
93056         Reported by Vefa Bicakci <bicave@superonline.com> in
93057         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
93058         * modules/getdate (Depends-on): Add c-ctype.
93060 2008-08-02  Bruno Haible  <bruno@clisp.org>
93062         * gnulib-tool (func_import): When updating or creating a .gitignore
93063         file, prepend each added line with a slash, and ignore leading slashes
93064         from the existing lines.
93065         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
93067 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93069         Portability fix for GNU make 3.79.1.
93070         * top/GNUmakefile: Avoid 'else COND', which older GNU make
93071         versions do not understand.
93073 2008-08-01  Bruno Haible  <bruno@clisp.org>
93075         Work around bug of HP-UX 10.20 cc with -0.0 literal.
93076         * tests/test-isnanf.h (zero): New variable.
93077         (main): Avoid literal -0.0f.
93078         * tests/test-isnand.h (zero): New variable.
93079         (main): Avoid literal -0.0.
93080         * tests/test-isnanl.h (zero): New variable.
93081         (main): Avoid literal -0.0L.
93082         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
93083         (test_float, test_double, test_long_double): Avoid literals -0.0f,
93084         -0.0, -0.0L.
93085         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
93086         (test_signbitd): Avoid literal -0.0.
93087         (test_signbitl): Avoid literal -0.0L.
93088         * tests/test-ceilf1.c (zero): New variable.
93089         (main): Avoid literal -0.0f.
93090         * tests/test-ceill.c (zero): New variable.
93091         (main): Avoid literal -0.0L.
93092         * tests/test-floorf1.c (zero): New variable.
93093         (main): Avoid literal -0.0f.
93094         * tests/test-floorl.c (zero): New variable.
93095         (main): Avoid literal -0.0L.
93096         * tests/test-roundf1.c (zero): New variable.
93097         (main): Avoid literal -0.0f.
93098         * tests/test-round1.c (zero): New variable.
93099         (main): Avoid literal -0.0.
93100         * tests/test-roundl.c (zero): New variable.
93101         (main): Avoid literal -0.0L.
93102         * tests/test-truncf1.c (zero): New variable.
93103         (main): Avoid literal -0.0f.
93104         * tests/test-trunc1.c (zero): New variable.
93105         (main): Avoid literal -0.0.
93106         * tests/test-truncl.c (zero): New variable.
93107         (main): Avoid literal -0.0L.
93108         * tests/test-frexp.c (zero): New variable.
93109         (main): Avoid literal -0.0.
93110         * tests/test-frexpl.c (zero): New variable.
93111         (main): Avoid literal -0.0L.
93112         * tests/test-ldexpl.c (zero): New variable.
93113         (main): Avoid literal -0.0L.
93114         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
93115         (zerod, zerol): New variables.
93116         (test_function): Avoid literals -0.0, -0.0L.
93117         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
93118         (zerod, zerol): New variables.
93119         (test_function): Avoid literals -0.0, -0.0L.
93120         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
93121         (zerod, zerol): New variables.
93122         (test_function): Avoid literals -0.0, -0.0L.
93123         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
93124         (zerod, zerol): New variables.
93125         (test_function): Avoid literals -0.0, -0.0L.
93126         * tests/test-strtod.c (zero): New variable.
93127         (main): Avoid literal -0.0.
93128         Reported by Jonathan C. Patschke <jp@centtech.com>.
93130 2008-07-31  Jim Meyering  <meyering@redhat.com>
93132         sha256.h: correct definition of SHA224_DIGEST_SIZE
93133         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
93134         Reported by Paulie Pena IV <paulie4@gmail.com>.
93135         Define as 224 / 8, rather than as a literal.
93136         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
93137         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
93138         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
93140 2008-07-31  Bruno Haible  <bruno@clisp.org>
93142         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
93143         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
93144         Reported by Jonathan Patschke <jp@centtech.com>.
93146 2008-07-31  Bruno Haible  <bruno@clisp.org>
93148         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
93149         Reported by Paolo Bonzini <bonzini@gnu.org>.
93151 2008-07-30  Eric Blake  <ebb9@byu.net>
93153         test-strtod: allow compilation without -lm
93154         * tests/test-strtod.c (main): Avoid link dependence on fabs.
93155         Reported by Dennis Clarke <blastwave@gmail.com>.
93157 2008-07-28  Jim Meyering  <meyering@redhat.com>
93159         bootstrap: work also when there are no .po files in po/
93160         * build-aux/bootstrap (update_po_files): Complete the change
93161         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
93163 2008-07-27  Jim Meyering  <meyering@redhat.com>
93165         * users.txt: Add zile.
93167 2008-07-26  Ben Pfaff  <blp@gnu.org>
93169         Add missing dependencies on new m4/exponent[fdl].m4 files.
93170         * modules/isnanf-nolibm: Add m4/exponentf.m4.
93171         * modules/isnand-nolibm: Add m4/exponentd.m4.
93172         * modules/isnanl-nolibm: Add m4/exponentl.m4.
93173         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
93174         m4/isnan[fdl].m4, because the macros actually used moved.
93175         Reported by Jim Meyering.
93177 2008-07-14  Ben Pfaff  <blp@gnu.org>
93179         Add isinf module.
93180         * lib/isinf.c: New file.
93181         * lib/math.in.h: Define isinf macro if we have decided to replace
93182         it.
93183         * m4/isinf.m4: New file.
93184         * m4/math_h.m4: Initialize and substitute variables for isinf
93185         module.
93186         * modules/isinf: New file.
93187         * modules/isinf-tests: New file.
93188         * modules/math: Add substitutions for new module.
93189         * tests/test-isinf.c: New file.
93190         * doc/posix-functions/isinf.texi: Mention new module.
93191         * MODULES.html.sh: Mention new module.
93193 2008-07-14  Ben Pfaff  <blp@gnu.org>
93195         Factor out some macros for use by additional modules.
93196         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
93197         exponentf.m4.
93198         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
93199         exponentd.m4.
93200         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
93201         file exponentl.m4.
93202         * m4/exponentf.m4: New file.
93203         * m4/exponentd.m4: New file.
93204         * m4/exponentl.m4: New file.
93205         * modules/isnanf: Use new file m4/exponentf.m4.
93206         * modules/isnand: Use new file m4/exponentd.m4.
93207         * modules/isnanl: Use new file m4/exponentl.m4.
93209 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
93211         mktime.c: normalize tp->tm_isdst value to -1/0/1.
93212         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
93213         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
93214         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
93216         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
93217         readlink on platforms without PATH_MAX.
93219 2008-07-21  Eric Blake  <ebb9@byu.net>
93221         Warn, not fail, on stale version.
93222         * top/GNUmakefile (_curr-ver): Tone down previous patch.
93224         Don't allow installation with stale devel version number.
93225         * top/GNUmakefile (_is-install-target): New macro.
93226         (_curr-ver): Forbid installation with stale version number.
93228 2008-07-20  Bruno Haible  <bruno@clisp.org>
93230         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
93231         TESTS_ENVIRONMENT.
93232         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
93234 2008-07-20  Bruno Haible  <bruno@clisp.org>
93236         * lib/c-stack.h (c_stack_action): Add documentation.
93237         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
93239 2008-07-20  Bruno Haible  <bruno@clisp.org>
93241         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
93242         * modules/readlink (License): Likewise.
93244 2008-07-17  Eric Blake  <ebb9@byu.net>
93246         * modules/c-stack (Link): Fix typo.
93248         Make c-stack use libsigsegv, when available.
93249         * modules/c-stack (Depends-on): Add libsigsegv.
93250         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
93251         needed.
93252         * lib/c-stack.c (SIGSTKSZ): Define fallback.
93253         (segv_handler, overflow_handler, c_stack_action)
93254         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
93255         implementation when libsigsegv is available, but only when using
93256         the library is necessary.
93257         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
93258         comment, explaining why XSI check fails on Linux.
93259         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
93260         * tests/test-c-stack2.sh: Tweak skip message.
93261         * NEWS: Document new link-time requirements.
93263 2008-07-16  Eric Blake  <ebb9@byu.net>
93265         c-stack: Expose false positives when not using libsigsegv.
93266         * modules/c-stack-tests (Files): Expand test.
93267         * tests/test-c-stack.c (main): Add means to conditionally trigger
93268         non-overflow SIGSEGV.
93269         * tests/test-c-stack2.sh: New file.
93271 2008-07-14  Bruno Haible  <bruno@clisp.org>
93273         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
93274         Reported by Eric Blake.
93276 2008-07-14  Sam Steingold  <sds@gnu.org>
93277             Bruno Haible  <bruno@clisp.org>
93279         New module libsigsegv.
93280         * modules/libsigsegv: New file.
93281         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
93282         modifications.
93283         * MODULES.html.sh (Signal handling): New section.
93285 2008-07-14  Bruno Haible  <bruno@clisp.org>
93287         * modules/unictype/ctype-* (Description): Add the word "function".
93288         Improves the resulting doc in MODULES.html.
93290 2008-07-12  Ben Pfaff  <blp@gnu.org>
93292         Add longlong module.
93293         * modules/longlong: New file.
93295 2008-07-12  Bruno Haible  <bruno@clisp.org>
93297         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
93298         to empty.
93300 2008-07-10  Ben Pfaff  <blp@gnu.org>
93302         Add isnan module.
93303         * doc/posix-functions/isnan.texi: Mention new module.
93304         * lib/math.in.h: Define isnan macro if we have decided to replace
93305         it.
93306         * m4/isnan.m4: New file.
93307         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
93308         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
93309         also.
93310         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
93311         redundancy.
93312         * m4/math_h.m4: Initialize and substitute variables for isnan
93313         module.
93314         * modules/isnan: New file.
93315         * modules/isnan-tests: New file.
93316         * modules/math: Add substitutions for new module.
93317         * tests/test-isnan.c: New file.
93318         * MODULES.html.sh: Mention new module.
93320 2008-07-10  Ben Pfaff  <blp@gnu.org>
93322         Add isnanf module.
93323         * lib/isnanf.m4: New file.
93324         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
93325         (gl_HAVE_ISNANF_IN_LIBM): New macro.
93326         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
93327         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
93328         * modules/isnanf: New file.
93329         * modules/isnanf-tests: New file.
93330         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
93331         files.
93332         * tests/test-isnanf-nolibm.c: factored most of its contents into
93333         new file tests/test-isnanf.h.
93334         * tests/test-isnanf.h: New file.
93335         * tests/test-isnanf.c: New file.
93336         * MODULES.html.sh: Mention new module.
93337         * doc/glibc-functions/isnanf.texi: Mention new module.
93339 2008-07-10  Ben Pfaff  <blp@gnu.org>
93341         Add isnand module.
93342         * lib/isnand.h: New file.
93343         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
93344         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
93345         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
93346         functionality also.
93347         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
93348         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
93349         (gl_HAVE_ISNAND_IN_LIBM): New macro.
93350         * modules/isnand: New file.
93351         * modules/isnand-tests: New file.
93352         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
93353         files.
93354         * tests/test-isnand-nolibm.c: factored most of its contents into
93355         new file tests/test-isnand.h.
93356         * tests/test-isnand.h: New file.
93357         * tests/test-isnand.c: New file.
93358         * MODULES.html.sh: Mention new module.
93360 2008-07-10  Ben Pfaff  <blp@gnu.org>
93362         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
93363         * lib/isnand.h: Rename lib/isnand-nolibm.h.
93364         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
93365         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
93366         * modules/isnanf-nolibm: Update references to renamed files.
93367         * modules/isnand-nolibm: Likewise.
93368         * modules/isnanf-nolibm-tests: Likewise.
93369         * modules/isnand-nolibm-tests: Likewise.
93370         * lib/frexp.c: Likewise.
93371         * lib/isfinite.c: Likewise.
93372         * lib/signbitd.c: Likewise.
93373         * lib/signbitf.c: Likewise.
93374         * lib/vasnprintf.c: Likewise.
93375         * tests/test-ceilf1.c: Likewise.
93376         * tests/test-ceilf2.c: Likewise.
93377         * tests/test-floorf1.c: Likewise.
93378         * tests/test-floorf2.c: Likewise.
93379         * tests/test-frexp.c: Likewise.
93380         * tests/test-round1.c: Likewise.
93381         * tests/test-round2.c: Likewise.
93382         * tests/test-roundf1.c: Likewise.
93383         * tests/test-strtod.c: Likewise.
93384         * tests/test-trunc1.c: Likewise.
93385         * tests/test-trunc2.c: Likewise.
93386         * tests/test-truncf1.c: Likewise.
93387         * tests/test-truncf2.c: Likewise.
93388         * NEWS: Mention the renamed header files.
93390 2008-07-11  Jim Meyering  <meyering@redhat.com>
93392         vc-list-files: make the last-resort awk code more portable
93393         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
93394         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
93395         does not support it.
93397 2008-07-10  Eric Blake  <ebb9@byu.net>
93399         Work with tar's bootstrap.
93400         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
93401         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
93402         an m4 comment.
93404 2008-07-09  Jim Meyering  <meyering@redhat.com>
93406         posix-shell.m4: fix typo that made this test malfunction
93407         * m4/posix-shell.m4: Remove capitalization in variable name.
93409 2008-07-08  Bruno Haible  <bruno@clisp.org>
93411         * m4/onceonly.m4: Update comments.
93412         Reported by Ben Pfaff <blp@cs.stanford.edu>.
93414 2008-07-04  Jim Meyering  <meyering@redhat.com>
93416         * users.txt: Add vc-dwim.
93417         (bison, coreutils): Use the gitweb URL.
93419 2008-07-03  Jim Meyering  <meyering@redhat.com>
93421         * users.txt: Add libffcall.  From Sam Steingold.
93423 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
93425         getdate.y: do not ignore TZ with relative day, month or year offset
93426         * lib/getdate.y (get_date): Move the tz-handling block to follow the
93427         relative-date-handling, since otherwise, the latter would clobber the
93428         sole output (an updated Start value) of the tz-handling block.
93429         * tests/test-getdate.c: Tests for the fix
93431 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93433         Recognize 'foo_LIBRARIES += libgnu.a'.
93434         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
93435         makefile snippet has already specified an installation location,
93436         also using '+='.
93438 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
93440         getdate.y: factor out common actions
93441         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
93442         Use them in place of open-coded actions.
93444 2008-07-01  Simon Josefsson  <simon@josefsson.org>
93446         Add self-test for getdate module.
93447         * modules/getdate-tests: New file.
93448         * tests/test-getdate.c: New file.
93450 2008-06-29  Bruno Haible  <bruno@clisp.org>
93452         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
93453         .gitignore.
93454         Reported by Sylvain Beucler <beuc@beuc.net>.
93456 2008-06-29  Bruno Haible  <bruno@clisp.org>
93458         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
93459         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
93461 2008-06-29  Bruno Haible  <bruno@clisp.org>
93463         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
93464         EXTRA_DIST.
93465         Reported by Sylvain Beucler <beuc@beuc.net>.
93467 2008-06-26  Jim Meyering  <meyering@redhat.com>
93469         make several modules depend on the "open" module
93470         This provides slightly increased consistency when opening-for-write
93471         the name of a non-directory spelled with a trailing slash.
93472         * modules/chdir-safer: Likewise.
93473         * modules/chown: Likewise.
93474         * modules/clean-temp: Likewise.
93475         * modules/copy-file: Likewise.
93476         * modules/fchdir: Likewise.
93477         * modules/fcntl-safer: Likewise.
93478         * modules/pipe: Likewise.
93479         * modules/utime: Likewise.
93480         Prompted by Eric Blake and Bruno Haible.
93482 2008-06-24  Andreas Schwab  <schwab@suse.de>
93484         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
93485         literals can be used as initializers for global variables.
93487 2008-06-23  Eric Blake  <ebb9@byu.net>
93489         Make gnulib-cache.m4 easier to diff.
93490         * gnulib-tool (func_import): Allow newlines when reading cached
93491         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
93493 2008-06-23  Bruno Haible  <bruno@clisp.org>
93495         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
93496         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
93497         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
93498         m4/signalblocking.m4.
93499         (gl_PREREQ_SIGACTION): Don't invoke it.
93500         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
93501         gl_PREREQ_SIG_HANDLER_H.
93502         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
93503         Don't check for sigaction here.
93505 2008-06-23  Bruno Haible  <bruno@clisp.org>
93507         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
93508         (install_handlers): Don't set the SA_RESETHAND flag.
93510 2008-06-23  Bruno Haible  <bruno@clisp.org>
93512         * m4/sigaction.m4: Comment fixes.
93513         * lib/signal.in.h: Likewise.
93515 2008-06-23  Eric Blake  <ebb9@byu.net>
93517         Fix typo.
93518         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
93520         Avoid SA_ namespace.
93521         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
93522         Reported by Ralf Wildenhues.
93524         Avoid test failure due to SA_RESTORER.
93525         * tests/test-sigaction.c (SA_MASK): New macro.
93526         (main): Avoid failing due to extension flags being set.
93527         Reported by Jim Meyering.
93529         Revert use of sig-handler.h in sigprocmask.c.
93530         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
93531         it requires the existence of struct sigaction.
93532         * lib/sigprocmask.c (handler_t): Restore typedef.
93533         (rpl_signal, old_handlers): Use local type.
93535 2008-06-22  Bruno Haible  <bruno@clisp.org>
93537         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
93538         conditionally.
93539         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
93541 2008-06-22  Bruno Haible  <bruno@clisp.org>
93543         * doc/posix-functions/siginterrupt.texi: Move note.
93545         * lib/signal.in.h (SA_RESTART): New macro.
93546         * lib/sigaction.c: Update comment.
93548         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
93550         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
93551         (gl_PREREQ_SIGPROCMASK): Invoke it.
93552         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
93554         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
93556         * lib/sigprocmask.c: Update a comment.
93558 2008-06-21  Eric Blake  <ebb9@byu.net>
93560         Use sigaction module rather than signal().
93561         * modules/c-stack (Depends-on): Add sigaction.
93562         * modules/fatal-signal (Depends-on): Likewise.
93563         * modules/nanosleep (Depends-on): Likewise.
93564         * modules/sigprocmask (Files): Add sig-handler.h.
93565         * modules/sigaction (Files): Likewise.
93566         * lib/sig-handler.h (get_handler): New file, suggested by Paul
93567         Eggert.
93568         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
93569         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
93570         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
93571         (init_fatal_signals): Likewise.
93572         * lib/nanosleep.c (rpl_nanosleep): Likewise.
93573         (siginterrupt): Delete fallback.
93574         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
93575         instead.
93576         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
93577         siginterrupt.
93579         New module sigaction, for mingw.
93580         * modules/sigaction: New module...
93581         * modules/sigaction-tests: ...and its test.
93582         * m4/sigaction.m4: New file.
93583         * lib/sigaction.c: Likewise.
93584         * tests/test-sigaction.c: Likewise.
93585         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
93586         * modules/signal (Makefile.am): Likewise.
93587         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
93588         needed.
93589         * doc/posix-headers/signal.texi (signal.h): Mention provided
93590         types.
93591         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
93592         that sigaction is preferable.
93593         * doc/posix-functions/sigaction.texi (sigaction): Mention new
93594         module.
93595         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
93596         sigaction.
93598         Improve robustness of sigprocmask by overriding signal.
93599         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
93600         is in use.
93601         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
93602         (SIGKILL, SIGSTOP): Provide fallbacks.
93603         (rpl_signal): Implement.
93604         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
93605         signal can be called inside handlers.
93607         Fix nanosleep module on mingw.
93608         * modules/nanosleep (Depends-on): Add sys_select.
93609         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
93611         Fix licensing of sigprocmask.
93612         * modules/raise (License): Relicense as LGPL.
93614 2008-06-21  Bruno Haible  <bruno@clisp.org>
93616         * lib/propername.c (proper_name_utf8): Don't use the transliterated
93617         result if it contains question marks.
93618         Reported by Michael Geng <linux@michaelgeng.de>.
93620 2008-06-19  Bruno Haible  <bruno@clisp.org>
93622         Fix CVS-ism.
93623         * doc/gnulib.texi: Include updated-stamp.texi.
93624         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
93625         (updated-stamp.texi): New rule.
93626         (gnulib.info): Depend on it.
93627         * doc/.gitignore: Add updated-stamp.texi.
93628         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
93630 2008-06-19  Bruno Haible  <bruno@clisp.org>
93632         * doc/Makefile (gnulib.info): Update and simplify dependencies.
93633         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
93635 2008-06-19  Eric Blake  <ebb9@byu.net>
93637         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
93638         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
93639         Reported by Stepan Kasal.
93641 2008-06-18  Bruno Haible  <bruno@clisp.org>
93643         * lib/fatal-signal.c (init_fatal_signals): Add comment.
93644         Reported by Eric Blake.
93646 2008-06-18  Eric Blake  <ebb9@byu.net>
93648         Work around cygwin 1.5.25 strsignal bug.
93649         * tests/test-strsignal.c: Allow for const char *.
93650         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
93652 2008-06-18  Simon Josefsson  <simon@josefsson.org>
93654         * users.txt: Update URL to article and add author/date
93655         information.
93657 2008-06-17  Bruno Haible  <bruno@clisp.org>
93659         New macro gl_DISABLE_THREADS.
93660         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
93661         if the user did not pass --enable-threads or --disable-threads option.
93662         (gl_DISABLE_THREADS): New macro.
93663         Reported by Eric Blake <ebb9@byu.net>.
93665 2008-06-17  Bruno Haible  <bruno@clisp.org>
93667         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
93668         when the macro ignores it.
93669         Based on a patch by Eric Blake <ebb9@byu.net>.
93671 2008-06-17  Bruno Haible  <bruno@clisp.org>
93673         * modules/tls (License): Change to LGPLv2+.
93674         Reported by Eric Blake.
93676 2008-06-17  Eric Blake  <ebb9@byu.net>
93678         Simplify c-stack prerequisites.
93679         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
93680         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
93681         no longer requires <ucontext.h> to exist.  Optimize setrlimit
93682         check.
93683         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
93684         <sys/resource.h>.
93686         Move c-stack test into testsuite.
93687         * modules/c-stack-tests: New file.
93688         * lib/c-stack.c [DEBUG]: Move test program...
93689         * tests/test-c-stack.c: ...into this new file.  Skip rather than
93690         fail test if sigaltstack is lacking.
93691         * tests/test-c-stack.sh: New driver file.
93693 2008-06-16  Eric Blake  <ebb9@byu.net>
93695         Use raise module consistently.
93696         * modules/fatal-signal (Depends-on): Add raise.
93697         * modules/sigprocmask (Depends-on): Likewise.
93698         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
93699         * lib/sigprocmask.c (sigprocmask): Likewise.
93700         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
93701         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
93703         Fix compliance bug in sigpending.
93704         * lib/sigprocmask.c (sigpending): Return pending array via
93705         parameter, not return value.
93707 2008-06-14  Eric Blake  <ebb9@byu.net>
93709         Improve obstack-printf test code.
93710         * tests/test-obstack-printf.c (test_function): Fix comment, and
93711         simplify usage of obstack_* in macros.  Add a test for coverage.
93712         Reported by Bruno Haible.
93714 2008-06-14  Bruno Haible  <bruno@clisp.org>
93716         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
93717         array size as a constant, not as a const variable.
93718         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
93719         AC_USE_SYSTEM_EXTENSIONS.
93720         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
93721         Test whether the obstack_printf function actually exists.
93722         * modules/obstack-printf (Depends-on): Add extensions.
93723         (Include): Remove obstack.h.
93724         * modules/obstack-printf-posix (Depends-on): Add extensions.
93725         (Include): Remove obstack.h.
93727 2008-06-13  Eric Blake  <ebb9@byu.net>
93729         Add obstack-printf and obstack-printf-posix modules.
93730         * modules/obstack-printf: New file.
93731         * modules/obstack-printf-posix: Likewise.
93732         * MODULES.html.sh (Misc): Mention them.
93733         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
93734         Likewise.
93735         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
93736         Likewise.
93737         * modules/stdio (Makefile.am): Accomodate new modules.
93738         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
93739         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
93740         Declare.
93741         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
93742         functions.
93743         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
93744         (gl_REPLACE_OBSTACK_PRINTF): New macros
93745         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
93746         * tests/test-obstack-printf.c: New file.
93747         * modules/obstack-printf-tests: Likewise.
93748         * modules/obstack-printf-posix-tests: Likewise.
93750 2008-06-11  Bruno Haible  <bruno@clisp.org>
93752         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
93753         * lib/open.c: Include errno.h.
93754         (open): Fail when attempting to write to a file that has a trailing
93755         slash.
93756         * tests/test-open.c (main): Test against trailing slash bug.
93757         * doc/posix-functions/open.texi: Mention the trailing slash bug.
93759 2008-06-10  Bruno Haible  <bruno@clisp.org>
93761         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
93762         for $? to work inside the trap command, with various /bin/sh-s.
93763         * tests/test-vc-list-files-cvs.sh: Likewise.
93765 2008-06-10  Bruno Haible  <bruno@clisp.org>
93767         * lib/acl-internal.h: Don't include gettext.h here.
93768         * lib/set-mode-acl.c: Include gettext.h here.
93769         * lib/copy-acl.c: Likewise.
93771 2008-06-10  Bruno Haible  <bruno@clisp.org>
93773         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
93774         * lib/wait-process.c (wait_subprocess): Likewise.
93775         * lib/execute.h (execute): Add termsigp argument.
93776         * lib/execute.c (execute): Likewise.
93777         * lib/csharpcomp.c (compile_csharp_using_pnet,
93778         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
93779         * lib/csharpexec.c (execute_csharp_using_pnet,
93780         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
93781         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
93782         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
93783         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
93784         is_jikes_present): Update.
93785         * lib/javaexec.c (execute_java_class): Update.
93786         * lib/javaversion.c (execute_and_read_line): Update.
93787         * NEWS: Document the changes.
93788         Reported by Eric Blake.
93790 2008-06-10  Eric Blake  <ebb9@byu.net>
93792         Add missing include.
93793         * tests/test-strstr.c (includes): Add <signal.h>.
93794         * tests/test-strcasestr.c (includes): Likewise.
93795         * tests/test-memmem.c (includes): Likewise.
93797 2008-06-10  Bruno Haible  <bruno@clisp.org>
93799         * lib/wait-process.c (wait_subprocess): Add an assertion.
93801 2008-06-10  Bruno Haible  <bruno@clisp.org>
93803         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
93805 2008-06-10  Bruno Haible  <bruno@clisp.org>
93807         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
93808         using alarm().
93809         * tests/test-strcasestr.c (main): Likewise.
93810         * tests/test-strstr.c (main): Likewise.
93812 2008-06-09  Bruno Haible  <bruno@clisp.org>
93814         Work around the Solaris 10 ACE ACLs ABI change.
93815         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
93816         declare if ACL_NO_TRIVIAL is present.
93817         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
93818         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
93819         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
93820         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
93821         define if ACL_NO_TRIVIAL is present.
93822         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
93823         and use the current ABI.
93824         (file_has_acl): Use same #if condition as elsewhere.
93825         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
93826         in use, and use the current ABI.
93827         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
93828         Reported by Jim Meyering.
93830 2008-06-09  Eric Blake  <ebb9@byu.net>
93832         Work around environments that (stupidly) ignore SIGALRM.
93833         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
93834         before using alarm().
93835         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
93836         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
93837         Reported by Ian Beckwith <ianb@erislabs.net>.
93839         Produce autobuild blurb earlier in log.
93840         * modules/autobuild (configure.ac-early): Move AB_INIT here.
93842 2008-06-09  Jim Meyering  <meyering@redhat.com>
93843         and Ondřej Vašík  <ovasik@redhat.com>
93845         utimens.c: correct kernel bug work-around
93846         Ondřej Vašík found that the invalid return value of 280 indicates
93847         failure, not success, and the kernel bug we're trying to work
93848         around affects not just the utimensat call, but also the fallback
93849         futimens call.
93850         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
93851         not success.
93852         [HAVE_FUTIMENS]: Use the same work-around, here.
93854 2008-06-09  Jim Meyering  <meyering@redhat.com>
93856         add more guards around definition of ACE_-related code
93857         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
93858         ALLOW and ACE_OWNER are also defined.
93860 2008-06-08  Bruno Haible  <bruno@clisp.org>
93862         * lib/acl-internal.h: Add me as co-author.
93863         * lib/file-has-acl.c: Likewise.
93864         * lib/set-mode-acl.c: Likewise.
93865         * lib/copy-acl.c: Likewise.
93867 2008-06-08  Bruno Haible  <bruno@clisp.org>
93869         Add support for AIX ACLs.
93870         * lib/acl-internal.h (acl_nontrivial): New declaration.
93871         * lib/file-has-acl.c (acl_nontrivial): New function.
93872         (file_has_acl): Add implementation using AIX 4 ACL API.
93873         * lib/set-mode-acl.c (qset_acl): Likewise.
93874         * lib/copy-acl.c (qcopy_acl): Likewise.
93876 2008-06-08  Bruno Haible  <bruno@clisp.org>
93878         Add support for HP-UX ACLs.
93879         * lib/acl-internal.h (acl_nontrivial): New declaration.
93880         * lib/file-has-acl.c (acl_nontrivial): New function.
93881         (file_has_acl): Add implementation using HP-UX 11 ACL API.
93882         * lib/set-mode-acl.c (qset_acl): Likewise.
93883         * lib/copy-acl.c (qcopy_acl): Likewise.
93885 2008-06-08  Bruno Haible  <bruno@clisp.org>
93887         Add support for Cygwin ACLs.
93888         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
93889         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
93890         the chmod_or_fchmod call.
93891         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
93893 2008-06-08  Bruno Haible  <bruno@clisp.org>
93895         Fix bug with setuid modes in Solaris 10+ code.
93896         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
93897         succeeded, when the mode contains some special bits.
93899 2008-06-08  Bruno Haible  <bruno@clisp.org>
93901         Add support for Solaris 7..10 ACLs.
93902         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
93903         declarations.
93904         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
93905         functions.
93906         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
93907         * lib/set-mode-acl.c (qset_acl): Likewise.
93908         * lib/copy-acl.c (qcopy_acl): Likewise.
93910 2008-06-08  Bruno Haible  <bruno@clisp.org>
93912         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
93913         declaration.
93914         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
93915         (acl_access_nontrivial): Remove MacOS X case.
93916         (file_has_acl): Use acl_extended_nontrivial.
93917         * lib/copy-acl.c (qcopy_acl): Likewise.
93919 2008-06-08  Bruno Haible  <bruno@clisp.org>
93921         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
93923 2008-06-08  Jim Meyering  <meyering@redhat.com>
93925         * modules/acl (Maintainer): Add Bruno Haible.
93927 2008-06-07  Bruno Haible  <bruno@clisp.org>
93929         Improve support for Tru64 ACLs.
93930         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
93931         ACL on OSF/1.
93933 2008-06-07  Bruno Haible  <bruno@clisp.org>
93935         Add support for MacOS X ACLs.
93936         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
93937         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
93938         * lib/set-mode-acl.c (qset_acl): Likewise.
93939         * lib/copy-acl.c (qcopy_acl): Likewise.
93941 2008-06-07  Bruno Haible  <bruno@clisp.org>
93943         Fix memory leak introduced on 2008-05-22.
93944         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
93945         use.
93947 2008-06-07  Bruno Haible  <bruno@clisp.org>
93949         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
93950         to construct an empty ACL.
93952 2008-06-07  Bruno Haible  <bruno@clisp.org>
93954         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
93955         precisely.
93956         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
93958 2008-06-07  Bruno Haible  <bruno@clisp.org>
93960         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
93961         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
93963 2008-06-07  Bruno Haible  <bruno@clisp.org>
93965         * doc/posix-functions/_setjmp.texi: Explain the use of this function
93966         regardless of POSIX.
93967         * doc/posix-functions/_longjmp.texi: Likewise.
93968         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
93969         SystemV platform in this case.
93971 2008-06-06  Eric Blake  <ebb9@byu.net>
93973         Document abort() bugs.
93974         * doc/posix-functions/abort.texi (abort): Mention anomalies.
93976         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
93977         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
93978         sigsetjmp.
93979         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
93980         siglongjmp, but only as a macro.
93981         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
93982         is obsolete.
93983         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
93985         Tweak documentation to cover cygwin argz bugs.
93986         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
93987         argz bug fix; no code change needed since no cygwin releases
93988         occurred between the last fix and the bug being tested.
93989         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
93990         module and recently fixed cygwin bugs.
93991         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
93992         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
93993         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
93994         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
93995         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
93996         Likewise.
93997         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
93998         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
93999         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
94000         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
94001         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
94002         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
94003         Likewise.
94005         Avoid gcc warning on cygwin.
94006         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
94007         !ACL_NO_TRIVIAL]: Avoid unused variable.
94009 2008-06-05  Eric Blake  <ebb9@byu.net>
94011         Be tolerant of UNKNOWN version in gnulib-tool test dir.
94012         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
94013         git-version-gen fails to come up with a version.
94014         Reported by Simon Josefsson.
94016 2008-06-05  Jim Meyering  <meyering@redhat.com>
94017             Paul Eggert  <eggert@cs.ucla.edu>
94019         utimens.c: work around a probable Linux kernel bug
94020         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
94021         appears to be a kernel bug that causes utimensat to return 280
94022         instead of 0, indicating success.
94024 2008-06-04  Bruno Haible  <bruno@clisp.org>
94026         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
94027         2008-06-01 commit.
94029 2008-06-04  Bruno Haible  <bruno@clisp.org>
94031         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
94032         * lib/file-has-acl.c (acl_access_nontrivial): New function.
94033         (file_has_acl): Use it. Save errno afterwards.
94034         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
94036 2008-06-03  Bruno Haible  <bruno@clisp.org>
94038         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
94039         draft code. Simplify #ifs.
94040         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
94041         Put Solaris code after POSIX-draft code. Fix comments regarding
94042         Solaris 10, HP-UX. Mention Cygwin.
94043         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
94045 2008-06-03  Eric Blake  <ebb9@byu.net>
94047         Provide fallback for older kernels.
94048         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
94049         Provide runtime fallback if kernel lacks support.
94050         Reported by Mike Frysinger.
94052 2008-06-02  Bruno Haible  <bruno@clisp.org>
94054         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
94055         it exists.
94057 2008-06-02  Bruno Haible  <bruno@clisp.org>
94059         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
94060         * lib/copy-acl.c (qcopy_acl): Update comment.
94062 2008-06-02  Bruno Haible  <bruno@clisp.org>
94064         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
94065         like ACL APIs.
94067 2008-06-02  Bruno Haible  <bruno@clisp.org>
94069         * tests/test-file-has-acl.sh: Use different code for Cygwin.
94070         * tests/test-set-mode-acl.sh: Likewise.
94071         * tests/test-copy-acl.sh: Likewise.
94072         * tests/test-copy-file.sh: Likewise.
94074 2008-06-02  Bruno Haible  <bruno@clisp.org>
94076         * tests/test-file-has-acl.sh: Remove unused code.
94078 2008-06-01  Bruno Haible  <bruno@clisp.org>
94080         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
94081         (copy_acl): Just a wrapper around qcopy_acl that emits the error
94082         messages.
94083         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
94085 2008-06-01  Bruno Haible  <bruno@clisp.org>
94087         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
94088         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
94089         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
94090         APIs.
94091         * modules/acl-tests (configure.ac): Remove tests now contained in
94092         m4/acl.m4.
94094 2008-06-02  Jim Meyering  <meyering@redhat.com>
94096         announce-gen: use a better key-server host name
94097         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
94098         it may be more consistently reliable.  Suggested by Werner Koch
94099         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
94101 2008-06-01  Bruno Haible  <bruno@clisp.org>
94103         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
94104         Reported by Voroskoi Andras <voroskoi@gmail.com>.
94106 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
94108         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
94110 2008-06-01  Bruno Haible  <bruno@clisp.org>
94112         New ACL tests.
94113         * tests/test-file-has-acl.sh: New file.
94114         * tests/test-file-has-acl.c: New file.
94115         * tests/test-set-mode-acl.sh: New file.
94116         * tests/test-set-mode-acl.c: New file.
94117         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
94118         * tests/test-copy-acl.c: New file.
94119         * modules/acl-tests: New file, based on modules/copy-file-tests.
94120         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
94121         (Depends-on): Add acl-tests.
94122         (configure.ac): Remove checks.
94123         (Makefile.am): Don't create test-sameacls program here any more.
94125 2008-06-01  Bruno Haible  <bruno@clisp.org>
94127         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
94128         * tests/test-sameacls.c: Include progname.h.
94129         (main): Invoke set_program_name. Portability fixes for MacOS X,
94130         Solaris, HP-UX.
94132 2008-06-01  Bruno Haible  <bruno@clisp.org>
94134         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
94135         function.
94136         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
94138 2008-06-01  Bruno Haible  <bruno@clisp.org>
94140         * modules/rpmatch (Depends-on): Add strdup.
94142 2008-06-01  Bruno Haible  <bruno@clisp.org>
94144         * lib/pipe.c: Include unistd-safer.h.
94145         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
94146         * modules/pipe (Depends-on): Add unistd-safer.
94148 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94150         * modules/autobuild (configure.ac): Call AB_INIT.
94152 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94154         * tests/test-getaddrinfo.c: Don't print debug messages by default.
94155         Suggested by Bruno Haible <bruno@clisp.org>.
94157 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94159         * tests/test-base64.c: Cast size_t to unsigned long when invoking
94160         printf.  Use %lu instead of %d.  Reported by Bruno Haible
94161         <bruno@clisp.org>.
94163 2008-05-29  Eric Blake  <ebb9@byu.net>
94165         Prefer new POSIX 200x interfaces over futimesat.
94166         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
94167         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
94168         when available.
94169         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
94171 2008-05-28  Bruno Haible  <bruno@clisp.org>
94173         * modules/stpcpy (License): Change to LGPLv2+.
94174         Requested by David Lutterkort <dlutter@redhat.com>.
94176 2008-05-27  Bruno Haible  <bruno@clisp.org>
94178         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
94179         current mingw.
94180         Reported by Jose E. Marchesi <jemarch@gnu.org>.
94182 2008-05-27  Bruno Haible  <bruno@clisp.org>
94184         * modules/iconv_open (Link): New section, from module 'iconv'.
94185         * modules/striconv (Link): Likewise.
94186         * modules/striconveh (Link): Likewise.
94187         * modules/xstriconv (Link): Likewise.
94188         * modules/unicodeio (Link): Likewise.
94189         * modules/propername (Link): Likewise.
94190         Reported by Jim Meyering.
94192 2008-05-26  Jim Meyering  <meyering@redhat.com>
94194         sha256: do not artificially restrict buffer length to be < 2^32
94195         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
94196         uint32_t to size_t.
94197         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
94198         to match.
94200         avoid unaligned access errors, e.g., on sparc
94201         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
94202         direct access through a possibly-unaligned uint64* pointer.
94203         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
94204         direct access through a possibly-unaligned uint32* pointer.
94205         Prompted by this patch from Tom "spot" Callaway:
94206         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
94208         sha512.c: fix typo in comment
94209         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
94211 2008-05-25  Bruno Haible  <bruno@clisp.org>
94213         * lib/set-mode-acl.c: Renamed from lib/acl.c.
94214         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
94215         (Makefile.am): Update lib_SOURCES.
94217 2008-05-25  Bruno Haible  <bruno@clisp.org>
94219         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
94221 2008-05-25  Jim Meyering  <meyering@redhat.com>
94223         useless-if-before-free: freed expr may have white-space differences
94224         * build-aux/useless-if-before-free: Recognize cases in which the
94225         freed expression differs from the tested one in embedded white
94226         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
94227         $1 was used, so we can't make any regexp shy.  Improved tests now
94228         detect this.
94230         useless-if-before-free: accept white space in the expression.
94231         * build-aux/useless-if-before-free: For now, any white space
94232         in the expression must be identical in the free argument.
94234         useless-if-before-free: efficiency tweak
94235         * build-aux/useless-if-before-free: Make the expression-matching
94236         regexp "shy".
94237         Make the *outer* regexp shy, not the expr-matching one.
94239         update code-in-comment to accept cast of free arg
94240         * build-aux/useless-if-before-free: Update regexp.
94242 2008-05-25  Bruno Haible  <bruno@clisp.org>
94244         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
94245         * modules/copy-file-tests (Files, Makefile.am): Update.
94246         * tests/test-copy-file.c (func_test_copy): Update.
94248 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
94250         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
94252 2008-05-23  Bruno Haible  <bruno@clisp.org>
94254         Improve support for ACLs on OSF/1.
94255         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
94256         Remove fallback for unknown flavors of ACLs.
94258 2008-05-22  Bruno Haible  <bruno@clisp.org>
94260         Add support for ACLs on OSF/1.
94261         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
94262         replacements.
94263         (acl_free_text): New macro fallback.
94264         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
94265         acl_free.
94266         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
94267         acl_free_text function. Require AC_C_INLINE.
94269 2008-05-22  Bruno Haible  <bruno@clisp.org>
94271         Make copy_acl work on MacOS X 10.5.
94272         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
94273         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
94274         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
94275         If MODE_INSIDE_ACL, don't assume that every system has the same text
94276         representation for ACLs as FreeBSD.
94277         * lib/copy-acl.c (copy_acl): Add support for platforms with
94278         !MODE_INSIDE_ACL.
94279         * lib/file-has-acl.c (file_has_acl): Likewise.
94280         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
94281         FreeBSD, MacOS X, or IRIX, respectively.
94283 2008-05-22  Bruno Haible  <bruno@clisp.org>
94285         * lib/acl.h: Don't include <sys/acl.h>.
94286         (GETACLCNT): Move fallback to lib/acl-internal.h.
94287         * lib/acl-internal.h: Include <sys/acl.h> here.
94288         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
94290 2008-05-22  Bruno Haible  <bruno@clisp.org>
94292         Split off copy_acl function to separate file.
94293         * lib/copy-acl.c: New file, extracted from lib/acl.c.
94294         * lib/acl.c (copy_acl): Moved function to separate file.
94295         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
94296         * modules/acl (Files): Add lib/copy-acl.c.
94297         (Makefiles.am): Augment lib_SOURCES.
94299 2008-05-22  Bruno Haible  <bruno@clisp.org>
94301         * modules/copy-file-tests: New file.
94302         * tests/test-copy-file.sh: New file.
94303         * tests/test-copy-file.c: New file.
94304         * tests/test-copy-file-sameacls.c: New file.
94306 2008-05-22  Eric Blake  <ebb9@byu.net>
94308         Avoid gcc warning.
94309         * tests/test-memcmp.c (main): Pass NULL indirectly.
94311 2008-05-21  Bruno Haible  <bruno@clisp.org>
94313         Add reference doc about ACLs.
94314         * doc/acl-resources.txt: New file.
94315         * doc/acl-cygwin.txt: New file.
94317 2008-05-21  Bruno Haible  <bruno@clisp.org>
94319         Avoid one more warning from gcc.
94320         * lib/vasnprintf.c (IF_LINT): Update comments.
94321         (VASNPRINTF): Use it also for the 'prefix' array initializer.
94323 2008-05-21  Jim Meyering  <meyering@redhat.com>
94325         avoid a warning from gcc
94326         * lib/vasnprintf.c (IF_LINT): Define.
94327         (scale10_round_decimal_long_double):
94328         Use it to avoid a "may be used uninitialized" warning.
94329         (scale10_round_decimal_double): Likewise.
94331 2008-05-21  Simon Josefsson  <simon@josefsson.org>
94333         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
94334         declared.
94336 2008-05-20  Bruno Haible  <bruno@clisp.org>
94338         * tests/test-memcmp.c (main): Test also the sign of the result. Test
94339         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
94341 2008-05-20  Simon Josefsson  <simon@josefsson.org>
94343         * modules/memcmp-tests: New file.
94344         * tests/test-memcmp.c: New file.
94346 2008-05-19  Bruno Haible  <bruno@clisp.org>
94348         * modules/propername (Notice, configure.ac): Put quoted "..." into
94349         --keyword option.
94350         * lib/propername.h: Update comments accordingly.
94351         Reported by Eric Blake.
94353 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
94355         * modules/getpass-gnu (Depends-on): Add fseeko.
94357 2008-05-19  Simon Josefsson  <simon@josefsson.org>
94359         * modules/base64-tests: New file.
94361 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
94363         * lib/base64.c (base64_decode_ctx): If a decode context structure
94364         was passed in use it to ignore newlines.  If a context structure
94365         was _not_ passed in, continue to treat newlines as garbage (this
94366         is the historical behavior).  Formerly base64_decode.
94367         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
94368         takes a decode context structure.
94369         * lib/base64.h (base64_decode): Macro for four-argument calls.
94370         (base64_decode_alloc): Likewise.
94371         * lib/base64.c (base64_decode_ctx): If a decode context structure
94372         was passed in use it to ignore newlines.  If a context structure
94373         was _not_ passed in, continue to treat newlines as garbage (this
94374         is the historical behavior).  Formerly base64_decode.
94375         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
94376         takes a decode context structure.
94377         * lib/base64.h (base64_decode): Macro for four-argument calls.
94378         (base64_decode_alloc): Likewise.
94380 2008-05-19  Jim Meyering  <meyering@redhat.com>
94382         avoid a warning from gcc
94383         * lib/trim.c (IF_LINT): Define.
94384         (trim2): Use it to avoid a "may be used uninitialized" warning.
94386         Fix doc typo.
94387         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
94389 2008-05-19  Bruno Haible  <bruno@clisp.org>
94391         * doc/glibc-functions/getpass.texi: Document limits of other
94392         implementations.
94394 2008-05-19  Simon Josefsson  <simon@josefsson.org>
94395             Bruno Haible <bruno@clisp.org>
94397         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
94399 2008-05-18  Bruno Haible  <bruno@clisp.org>
94401         * modules/propername: New file, from GNU gettext.
94402         * lib/propername.h: New file, from GNU gettext.
94403         * lib/propername.c: New file, from GNU gettext.
94404         * MODULES.html.sh (Internationalization functions): Add propername.
94406 2008-05-16  Jim Meyering  <meyering@redhat.com>
94407             Bruno Haible  <bruno@clisp.org>
94409         Avoid some warnings from "gcc -Wshadow".
94410         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
94412 2008-05-15  Eric Blake  <ebb9@byu.net>
94414         Extend previous patch to cygwin 1.7.0.
94415         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
94416         fast implementation in cygwin >= 1.7.0.
94417         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
94418         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94420 2008-05-15  Bruno Haible  <bruno@clisp.org>
94422         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
94423         implementation in glibc >= 2.9.
94424         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
94425         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94427 2008-05-15  Bruno Haible  <bruno@clisp.org>
94429         * MODULES.html.sh (Internationalization functions): Remove linebreak.
94430         (Unicode string functions): Add unilbrk/*.
94431         Reported by Karl Berry.
94433 2008-05-15  Eric Blake  <ebb9@byu.net>
94435         Fix violation of <stdbool.h> replacement in regex.
94436         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
94437         * lib/regexec.c (re_search_internal): Likewise.
94438         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
94440 2008-05-15  Jim Meyering  <meyering@redhat.com>
94442         avoid distracting test output when git or cvs is not found
94443         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
94444         * tests/test-vc-list-files-git.sh: Likewise.
94446 2008-05-15  Eric Blake  <ebb9@byu.net>
94448         Glibc finally accepted the memmem speedup code, bugzilla #5514.
94449         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
94450         glibc version.
94451         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
94452         * doc/posix-functions/strstr.texi (strstr): Likewise.
94453         * lib/str-two-way.h (MAX): Sychronize with glibc.
94455 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
94457         * lib/regcomp.c (optimize_utf8): Add a note on why we test
94458         opr.ctx_type.
94459         (calc_first): Initialize constraint field.
94460         (duplicate_node_closure): Use it instead of special casing ANCHORS.
94461         Fix grammar.
94462         (duplicate_node): Merge constraint field for all node types.
94463         (calc_eclosure_iter): Look at constraint field for all node types.
94464         * lib/regex_internal.c (create_cd_newstate): Don't look at
94465         opr.ctx_type.
94467 2008-05-14  Bruno Haible  <bruno@clisp.org>
94469         Help GCC to do better code generation.
94470         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
94471         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
94472         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
94473         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
94474         Declare with attribute 'malloc' if supported.
94476 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
94478         use "echo STR|wc -c" rather than unportable "expr length STR"
94479         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
94480         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
94482 2008-05-14  Jim Meyering  <meyering@redhat.com>
94484         use dd ibs=$n count=1 ... rather than less-portable head -c$n
94485         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
94486         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
94487         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
94488         via Collin Lasse.
94490 2008-05-14  Eric Blake  <ebb9@byu.net>
94492         Avoid quadratic growth in gl_LIBSOURCES.
94493         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
94494         Suggested by Bruno Haible.
94496         Test xmemdup0.
94497         * modules/xmemdup0-tests: New file.
94498         * tests/test-xmemdup0.c: Likewise.
94500 2008-05-13  Eric Blake  <ebb9@byu.net>
94502         Split xmemdup0 into its own module.
94503         * modules/xmemdup0: New file.
94504         * lib/xmemdup0.h: Likewise.
94505         * lib/xmemdup0.c: Likewise.
94506         * MODULES.html.sh (Memory management functions): Add xmemdup0.
94507         * lib/xalloc.h (xmemdup0): Remove.
94508         * lib/xmalloc.c (xmemdup0): Likewise.
94510 2008-05-13  Eric Blake  <ebb9@byu.net>
94511             Bruno Haible  <bruno@clisp.org>
94513         Reduce number of forks required during autoconf.
94514         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
94515         and gl_LIBSOURCES_DIR.
94516         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
94517         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
94518         m4_syscmd per file.
94519         <m4_foreach_w>: Move...
94520         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
94522 2008-05-13  Eric Blake  <ebb9@byu.net>
94524         * gnulib-tool: Fix various comment typos.
94526 2008-05-12  Bruno Haible  <bruno@clisp.org>
94528         Tailor the linebreaking algorithm.
94529         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
94531 2008-05-12  Bruno Haible  <bruno@clisp.org>
94533         Update to Unicode 5.0.0.
94534         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
94535         LBP_JV, LBP_JT. Redistribute values.
94536         (unilbrk_table): Change size.
94537         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
94538         Unicode TR#14 rev. 22.
94539         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
94540         LBP_JV, LBP_JT. Redistribute values.
94541         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
94542         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
94543         Update.
94544         * lib/unilbrk/lbrkprop1.h: Regenerated.
94545         * lib/unilbrk/lbrkprop2.h: Regenerated.
94546         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
94547         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
94548         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
94549         Likewise.
94550         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
94551         Likewise.
94552         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
94553         result.
94554         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
94555         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
94556         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
94557         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
94558         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
94559         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
94561 2008-05-11  Bruno Haible  <bruno@clisp.org>
94563         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
94565 2008-05-11  Bruno Haible  <bruno@clisp.org>
94567         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
94568         * modules/unilbrk/gen-lbrk: New file.
94570 2008-05-11  Bruno Haible  <bruno@clisp.org>
94572         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
94573         * m4/sha512.m4 (gl_SHA512): Likewise.
94575 2008-05-11  Jim Meyering  <meyering@redhat.com>
94577         New modules: crypto/sha256, crypto/sha512 (from coreutils)
94578         * modules/crypto/sha256: New file.
94579         * modules/crypto/sha512: Likewise.
94580         * lib/sha256.c: Likewise.
94581         * lib/sha256.h: Likewise.
94582         * lib/sha512.c: Likewise.
94583         * lib/sha512.h: Likewise.
94584         * lib/u64.h: Likewise.
94585         * m4/sha256.m4: Likewise.
94586         * m4/sha512.m4: Likewise.
94587         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
94589 2008-05-10  Bruno Haible  <bruno@clisp.org>
94591         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
94592         (Input/Output <stdio.h>): Add xprintf.
94593         (Signal handling <signal.h>): Add strsignal.
94594         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
94595         (Core language properties): Add func.
94596         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
94597         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
94598         strings.
94599         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
94600         (Input/output): New section.
94601         (File system functions): Add openat-die, stat-macros.
94602         (Networking functions): Add sockets.
94603         (Unicode string functions): Add unictype/*.
94604         (Support for building libraries and executables): Add gperf.
94605         (Support for building documentation): Add agpl-3.0.
94606         (Misc): Add nocrash.
94608 2008-05-10  Bruno Haible  <bruno@clisp.org>
94610         * modules/unictype/gen-ctype: New file.
94612 2008-05-10  Jim Meyering  <meyering@redhat.com>
94614         Make chdir-safer.c more efficient on a system with no symlinks.
94615         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
94616         also if ELOOP is zero.  Suggested by Bruno Haible.
94618         Make chdir-safer.c slightly safer.
94619         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
94620         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
94622         Avoid compile failure on systems without ELOOP (like mingw).
94623         * lib/chdir-safer.c (ELOOP): Define if not already defined.
94624         Reported by Bruno Haible.
94626 2008-05-10  Bruno Haible  <bruno@clisp.org>
94628         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
94629         (is_utf8_encoding): Use a case-insensitive comparison.
94630         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
94631         streq.
94633 2008-05-10  Bruno Haible  <bruno@clisp.org>
94635         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
94636         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
94637         * lib/unilbrk/ulc-common.h (iconv_string_length,
94638         iconv_string_keeping_offsets): Remove declarations.
94639         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
94640         Don't include <iconv.h>, streq.h, xsize.h.
94641         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
94642         conversion.
94643         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
94644         <iconv.h>, streq.h, xsize.h.
94645         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
94646         conversion.
94647         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
94648         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
94649         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
94650         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
94652 2008-05-10  Bruno Haible  <bruno@clisp.org>
94654         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
94655         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
94657         * modules/unilbrk/u32-width-linebreaks-tests: New file.
94658         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
94660         * modules/unilbrk/u16-width-linebreaks-tests: New file.
94661         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
94663         * modules/unilbrk/u8-width-linebreaks-tests: New file.
94664         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
94666         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
94667         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
94669         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
94670         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
94672         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
94673         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
94675         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
94676         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
94678 2008-05-10  Bruno Haible  <bruno@clisp.org>
94680         Split up 'linebreak' module.
94681         * lib/unilbrk.h: New file, based on lib/linebreak.h.
94682         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
94683         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
94684         modifications.
94685         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
94686         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
94687         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
94688         lib/linebreak.c.
94689         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
94690         lib/linebreak.c.
94691         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
94692         lib/linebreak.c.
94693         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
94694         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
94695         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
94696         lib/linebreak.c.
94697         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
94698         lib/linebreak.c.
94699         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
94700         lib/linebreak.c.
94701         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
94702         lib/linebreak.c.
94703         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
94704         lib/linebreak.c.
94705         * modules/unilbrk/base: New file.
94706         * modules/unilbrk/tables: New file.
94707         * modules/unilbrk/u8-possible-linebreaks: New file.
94708         * modules/unilbrk/u16-possible-linebreaks: New file.
94709         * modules/unilbrk/u32-possible-linebreaks: New file.
94710         * modules/unilbrk/ulc-common: New file.
94711         * modules/unilbrk/ulc-possible-linebreaks: New file.
94712         * modules/unilbrk/u8-width-linebreaks: New file.
94713         * modules/unilbrk/u16-width-linebreaks: New file.
94714         * modules/unilbrk/u32-width-linebreaks: New file.
94715         * modules/unilbrk/ulc-width-linebreaks: New file.
94716         * lib/linebreak.h: Remove file.
94717         * lib/linebreak.c: Remove file.
94718         * m4/linebreak.m4: Remove file.
94719         * modules/linebreak: Remove file.
94720         * NEWS: Mention the changes.
94722 2008-05-09  Eric Blake  <ebb9@byu.net>
94724         Add xmemdup0.
94725         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
94726         implementation.
94727         * lib/xmalloc.c (xmemdup0): New C implementation.
94729 2008-05-08  Bruno Haible  <bruno@clisp.org>
94731         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
94733 2008-05-07  Eric Blake  <ebb9@byu.net>
94735         Support cross-compilation of <wctype.h>.
94736         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
94737         AC_CACHE_CHECK.
94739 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
94741         * build-aux/vc-list-files: Add support for bzr.
94743 2008-05-03  Jim Meyering  <meyering@redhat.com>
94745         avoid failed assertion with tight malloc
94746         * tests/test-getndelim2.c: Correct an off-by-one assertion.
94748 2008-05-03  Simon Josefsson  <simon@josefsson.org>
94750         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
94751         are needed from arpa/inet.h.
94752         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
94753         Reported by Bruno Haible.
94755 2008-05-02  Jim Meyering  <meyering@redhat.com>
94757         avoid compilation error on FreeBSD 6
94758         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
94760 2008-05-01  Jim Meyering  <meyering@redhat.com>
94762         useless-if-before-free: correct --help's exit status description
94763         * build-aux/useless-if-before-free (usage): Like grep, exit 0
94764         for one or more matches, etc.  Reported by Bruno Haible.
94766         vc-list-files: make the stand-alone gnulib test work
94767         * modules/vc-list-files-tests (configure.ac):
94768         Define and AC_SUBST abs_aux_dir.
94769         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
94770         $(abs_top_srcdir) to each script and having each of them
94771         duplicate the work of setting PATH, set PATH here, using
94772         the new variable, abs_aux_dir instead.
94773         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
94774         * tests/test-vc-list-files-git.sh: Likewise.
94775         Reported by Bruno Haible.
94777 2008-05-01  Bruno Haible  <bruno@clisp.org>
94779         * lib/getndelim2.c (getndelim2): Fix newsize computation during
94780         reallocation. Rename 'done' to 'found_delimiter'.
94782 2008-05-01  Jim Meyering  <meyering@redhat.com>
94784         vc-list-files: accommodate /bin/sh like the one from Solaris 10
94785         * build-aux/vc-list-files: Use `...`, not $(...).
94787 2008-04-30  Jim Meyering  <meyering@redhat.com>
94789         add tests for vc-list-files
94790         * modules/vc-list-files-tests: New module.
94791         * tests/test-vc-list-files-cvs.sh: New file.
94792         * tests/test-vc-list-files-git.sh: New file.
94794         avoid a warning from gcc
94795         * lib/getndelim2.c (IF_LINT): Define.
94796         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
94798         vc-list-files: work properly with build-aux/cvsu, too
94799         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
94800         to all cvs-based clauses.
94802         vc-list-files: work properly in the CVS+awk case, too
94803         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
94805         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
94806         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
94807         take more than one file argument, so .  Add quotes, just in case $dir
94808         ever contains a shell meta-character.  Prompted by Soren Hansen in
94809         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
94811 2008-04-29  Eric Blake  <ebb9@byu.net>
94813         Optimize getndelim2 to use block operations when possible.
94814         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
94815         freadseek, and memchr2.
94816         * lib/getndelim2.c (getndelim2): Use them for block reads.
94818 2008-04-29  Bruno Haible  <bruno@clisp.org>
94820         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
94821         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
94822         * modules/inet_ntop (Depends-on): Add extensions.
94823         * modules/inet_pton (Depends-on): Likewise.
94824         Reported by Simon Josefsson.
94826 2008-04-29  Jim Meyering  <meyering@redhat.com>
94828         When the is more than one match in a block, match all of them.
94829         * build-aux/useless-if-before-free: Iterate through each block
94830         until there are no more matches.
94832         Fix broken useless-if-before-free script.
94833         * build-aux/useless-if-before-free: Fix typo: missing "?" after
94834         the expression to match cast of argument to free-like function.
94836 2008-04-29  Eric Blake  <ebb9@byu.net>
94838         Use new header.
94839         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
94841 2008-04-29  Jim Meyering  <meyering@redhat.com>
94843         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
94844         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
94845         by gnulib to exist and to declare e.g., inet_ntop.
94846         Don't include "inet_ntop.h", now removed.
94848         * m4/arpa_inet_h.m4: Remove trailing blanks.
94850 2008-04-29  Eric Blake  <ebb9@byu.net>
94852         Silence valgrind on safe reads beyond potential array bounds.
94853         * lib/rawmemchr.valgrind: New file.
94854         * lib/strchrnul.valgrind: Likewise.
94855         * modules/rawmemchr (Files): Distribute new file.
94856         * modules/strchrnul (Files): Likewise.
94857         Suggested by Bruno Haible.
94859 2008-04-29  Bruno Haible  <bruno@clisp.org>
94861         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
94862         (inet_ntop, inet_pton): Change portability warning's wording.
94863         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
94864         Invoke gl_CHECK_NEXT_HEADERS.
94865         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
94866         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
94867         set ARPA_INET_H.
94868         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
94869         * modules/arpa_inet (Description): No longer only for systems that
94870         lack it.
94871         (Depends-on): Add include_next.
94872         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
94873         HAVE_ARPA_INET_H.
94875 2008-04-29  Jim Meyering  <meyering@redhat.com>
94877         * modules/mkdir (License): Re-license as LGPLv2+.
94879 2008-04-29  Bruno Haible  <bruno@clisp.org>
94881         * modules/rawmemchr (Maintainer): Set to Eric.
94882         * modules/strchrnul (Maintainer): Likewise.
94884 2008-04-29  Simon Josefsson  <simon@josefsson.org>
94886         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
94887         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
94889         * modules/arpa_inet (arpa/inet.h): Use them.
94891 2008-04-28  Eric Blake  <ebb9@byu.net>
94893         Test getndelim2.
94894         * modules/getndelim2-tests: New file.
94895         * tests/test-getndelim2.c: Likewise.
94896         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
94897         stream.
94898         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
94900         * MODULES.html.sh: Document new module.
94902 2008-04-20  Bruno Haible  <bruno@clisp.org>
94904         * lib/c-stack.c (die): Use raise.
94905         * modules/c-stack (Depends-on): Add raise.
94907 2008-04-28  Bruno Haible  <bruno@clisp.org>
94909         Expect rpmatch to be declared.
94910         * lib/yesno.c (rpmatch): Remove declaration.
94912         Declare rpmatch.
94913         * lib/stdlib.in.h (rpmatch): New declaration.
94914         * lib/rpmatch.c: Include <stdlib.h> first.
94915         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
94916         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
94917         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
94918         HAVE_RPMATCH.
94919         * modules/rpmatch (Depends-on): Add stdlib, extensions.
94920         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
94921         (Include): Set to <stdlib.h>.
94922         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
94923         HAVE_RPMATCH.
94924         * NEWS: Document the change.
94926 2008-04-28  Bruno Haible  <bruno@clisp.org>
94928         Change rpmatch to use nl_langinfo when appropriate.
94929         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
94930         (N_): New macro.
94931         (localized_pattern): New function/macro.
94932         (try): Remove match, nomatch arguments. Copy the pattern into safe
94933         memory before caching it.
94934         (rpmatch): Use localized_pattern. Add translator comments.
94935         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
94936         Suggested by Eric Blake.
94937         * modules/rpmatch (Depends-on): Add stdbool.
94939 2008-04-28  Eric Blake  <ebb9@byu.net>
94941         Add rawmemchr module, matching glibc.
94942         * modules/string (Makefile.am): New indicator.
94943         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
94944         * lib/string.in.h (rawmemchr): Declare when appropriate.
94945         * modules/rawmemchr: New file.
94946         * m4/rawmemchr.m4: Likewise.
94947         * lib/rawmemchr.c: Likewise.
94948         * modules/rawmemchr-tests: Likewise.
94949         * tests/test-rawmemchr.c: Likewise.
94950         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
94951         module.
94952         * modules/strchrnul (Depends-on): Add rawmemchr.
94953         * lib/strchrnul.c (strchrnul): Optimize a corner case.
94955         Whitespace cleanup.
94956         * tests/test-strchrnul.c: Reindent.
94957         * lib/strchrnul.c: Likewise.
94959         Optimize and test strchrnul.
94960         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
94961         * modules/strchrnul-tests: New file.
94962         * tests/test-strchrnul.c: Likewise.
94964         Remove intprops dependency.
94965         * modules/memchr (Depends-on): Remove intprops.
94966         * modules/memrchr (Depends-on): Likewise.
94967         * modules/memchr2 (Depends-on): Likewise.
94968         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
94969         * lib/memrchr.c (__memrchr): Likewise.
94970         * lib/memrchr2.c (memchr2): Likewise.
94971         Reported by Simon Josefsson.
94973 2008-04-28  Simon Josefsson  <simon@josefsson.org>
94975         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
94976         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
94978 2008-04-28  Simon Josefsson  <simon@josefsson.org>
94980         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
94982         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
94984         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
94986         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
94987         declarations.
94988         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
94990         * m4/inet_pton.m4: Don't check for header files.
94992         * m4/inet_ntop.m4: Don't check for header files.
94994 2008-04-28  Simon Josefsson  <simon@josefsson.org>
94996         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
94997         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
94998         trigger for cygwin).
94999         Reported by Bruno Haible  <bruno@clisp.org>.
95001 2008-04-28  Bruno Haible  <bruno@clisp.org>
95003         * doc/posix-functions/strdup.texi: Mention mingw problem.
95005 2008-04-27  Bruno Haible  <bruno@clisp.org>
95007         * modules/stat-time-tests (Depends-on): Add sleep.
95008         * tests/test-stat-time.c (force_unlink): New function.
95009         (cleanup): Use it.
95010         (test_mtime): Remove the ctime related tests.
95011         (test_ctime): New function, containing the ctime related tests.
95012         (main): Call test_ctime, except on native Windows platforms.
95014 2008-04-27  Bruno Haible  <bruno@clisp.org>
95016         * lib/rpmatch.c (rpmatch): Add some comments.
95017         Reported by James Youngman <jay@gnu.org>.
95019 2008-04-27  Bruno Haible  <bruno@clisp.org>
95021         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
95022         quiet NaNs.
95024 2008-04-27  Bruno Haible  <bruno@clisp.org>
95026         Make test-yesno.sh work on mingw.
95027         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
95028         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
95029         (main): Set stdin to binary mode.
95030         * modules/yesno-tests (Depends-on): Add binary-io.
95032 2008-04-27  Bruno Haible  <bruno@clisp.org>
95034         Fix 'isfinite' on x86, x86_64, ia64 platforms.
95035         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
95036         argument that lie outside the IEEE 854 domain.
95037         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
95038         (gl_ISFINITE): Use it.
95039         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
95041 2008-04-27  Bruno Haible  <bruno@clisp.org>
95043         Allow local renaming in config.h.
95044         * lib/memrchr.c (memrchr): Don't undefine outside libc.
95046 2008-04-27  Bruno Haible  <bruno@clisp.org>
95048         * lib/memchr.c (__memchr): Change type of 'i'.
95049         * lib/memchr2.c (memchr2): Likewise.
95051 2008-04-26  Eric Blake  <ebb9@byu.net>
95052         and Bruno Haible  <bruno@clisp.org>
95054         Optimize and test memrchr.
95055         * modules/memrchr (Depends-on): Add intprops.
95056         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
95057         * modules/memrchr-tests: New file.
95058         * tests/test-memrchr.c: New file.
95060 2008-04-26  Bruno Haible  <bruno@clisp.org>
95062         Add tentative support for DragonFly BSD.
95063         * lib/stdio-impl.h: Add macros for DragonFly BSD.
95064         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
95065         fp.
95066         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
95067         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
95068         * lib/fpurge.c (fpurge): Likewise.
95069         * lib/freadable.c (freaadable): Likewise.
95070         * lib/freadahead.c (freadahead): Likewise.
95071         * lib/freading.c (freading): Likewise.
95072         * lib/freadptr.c (freadptr): Likewise.
95073         * lib/freadseek.c (freadptrinc): Likewise.
95074         * lib/fseeko.c (fseeko): Likewise.
95075         * lib/fseterr.c (fseterr): Likewise.
95076         * lib/fwritable.c (fwritable): Likewise.
95077         * lib/fwriting.c (fwriting): Likewise.
95079 2008-04-26  Bruno Haible  <bruno@clisp.org>
95081         * lib/stdio-impl.h: New file.
95082         * lib/fbufmode.c: Include stdio-impl.h.
95083         (fbufmode): Use fp_, remove redundant #defines.
95084         * lib/fflush.c: Include stdio-impl.h.
95085         (clear_ungetc_buffer): Remove redundant #defines.
95086         * lib/fpurge.c: Include stdio-impl.h.
95087         (fpurge): Remove redundant #defines.
95088         * lib/freadable.c: Include stdio-impl.h.
95089         (freadable): Remove redundant #defines.
95090         * lib/freadahead.c: Include stdio-impl.h.
95091         (freadahead): Remove redundant #defines.
95092         * lib/freading.c: Include stdio-impl.h.
95093         (freading): Remove redundant #defines.
95094         * lib/freadptr.c: Include stdio-impl.h.
95095         (freadptr): Remove redundant #defines.
95096         * lib/freadseek.c: Include stdio-impl.h.
95097         (freadptrinc): Remove redundant #defines.
95098         * lib/fseeko.c: Include stdio-impl.h.
95099         (rpl_fseeko): Remove redundant #defines.
95100         * lib/fseterr.c: Include stdio-impl.h.
95101         (fseterr): Remove redundant #defines.
95102         * lib/fwritable.c: Include stdio-impl.h.
95103         (fwritable: Remove redundant #defines.
95104         * lib/fwriting.c: Include stdio-impl.h.
95105         (fwriting): Remove redundant #defines.
95106         * modules/fbufmode (Files): Add lib/stdio-impl.h.
95107         * modules/fflush (Files): Likewise.
95108         * modules/fpurge (Files): Likewise.
95109         * modules/freadable (Files): Likewise.
95110         * modules/freadahead (Files): Likewise.
95111         * modules/freading (Files): Likewise.
95112         * modules/freadptr (Files): Likewise.
95113         * modules/freadseek (Files): Likewise.
95114         * modules/fseeko (Files): Likewise.
95115         * modules/fseterr (Files): Likewise.
95116         * modules/fwritable (Files): Likewise.
95117         * modules/fwriting (Files): Likewise.
95119 2008-04-26  Bruno Haible  <bruno@clisp.org>
95121         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
95122         restore_seek_optimization, update_fpos_cache): New functions, extracted
95123         from rpl_fflush.
95124         (rpl_fflush): Use them.
95125         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
95126         (gl_REPLACE_FFLUSH): Use it.
95128 2008-04-26  Bruno Haible  <bruno@clisp.org>
95130         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
95131         on Solaris.
95132         * tests/test-xstrtoimax.sh: Likewise.
95133         * tests/test-xstrtoumax.sh: Likewise.
95134         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95136 2008-04-26  Bruno Haible  <bruno@clisp.org>
95138         * modules/memchr-tests: New file.
95139         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
95141 2008-04-26  Eric Blake  <ebb9@byu.net>
95142             Bruno Haible  <bruno@clisp.org>
95144         * lib/memchr.c: Include intprops.h.
95145         (__memchr): Optimize parallel detection of matching bytes. Rename local
95146         variables. Add explanatory comments.
95148 2008-04-26  Bruno Haible  <bruno@clisp.org>
95150         Fix module 'memchr', broken since 2000-10-28.
95151         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
95153 2008-04-26  Bruno Haible  <bruno@clisp.org>
95155         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
95156         comments.
95158 2008-04-25  Eric Blake  <ebb9@byu.net>
95160         Use native fstatat on cygwin 1.7.0.
95161         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
95162         first.
95164 2008-04-23  Eric Blake  <ebb9@byu.net>
95166         Improve memchr2 performance.
95167         * lib/memchr2.c (memchr2): Further optimize parallel detection of
95168         NUL bytes.
95169         * modules/memchr2 (Depends-on): Use intprops.h.
95171 2008-04-23  Simon Josefsson  <simon@josefsson.org>
95173         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
95174         an inline function instead of a CPP macro.  Patch by Ben Pfaff
95175         <blp@cs.stanford.edu>.
95177 2008-04-23  Simon Josefsson  <simon@josefsson.org>
95179         * lib/arpa_inet.in.h: New file.
95181         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
95182         (Makefile.am): Sed in substitute header file.
95184         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
95185         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
95187         * modules/inet_ntop (configure.ac): Use
95188         gl_ARPA_INET_MODULE_INDICATOR.
95190         * modules/inet_pton (configure.ac): Use
95191         gl_ARPA_INET_MODULE_INDICATOR.
95193 2008-04-22  Jim Meyering  <meyering@redhat.com>
95195         * modules/verify (License): Re-license as LGPLv2+.
95197 2008-04-22  Simon Josefsson  <simon@josefsson.org>
95199         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
95200         parameter to void* as per POSIX standard (MinGW uses char*).
95202 2008-04-21  Bruno Haible  <bruno@clisp.org>
95204         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
95205         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
95206         Define to replacements if REPLACE_ISWCNTRL is 1.
95207         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
95208         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
95209         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
95210         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
95211         what it fixes.
95212         * doc/posix-functions/iswalpha.texi: Likewise.
95213         * doc/posix-functions/iswblank.texi: Likewise.
95214         * doc/posix-functions/iswcntrl.texi: Likewise.
95215         * doc/posix-functions/iswdigit.texi: Likewise.
95216         * doc/posix-functions/iswgraph.texi: Likewise.
95217         * doc/posix-functions/iswlower.texi: Likewise.
95218         * doc/posix-functions/iswprint.texi: Likewise.
95219         * doc/posix-functions/iswpunct.texi: Likewise.
95220         * doc/posix-functions/iswspace.texi: Likewise.
95221         * doc/posix-functions/iswupper.texi: Likewise.
95222         * doc/posix-functions/iswxdigit.texi: Likewise.
95223         Reported by Alain Guibert.
95225 2008-04-21  Bruno Haible  <bruno@clisp.org>
95227         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
95228         Patch by Alain Guibert.
95230 2008-04-21  Bruno Haible  <bruno@clisp.org>
95232         Fix test failures on mingw.
95233         * tests/test-xstrtol.c (print_no_progname): New function.
95234         (main): Install it in error_print_progname hook.
95235         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
95236         * tests/test-xstrtoimax.sh: Likewise.
95237         * tests/test-xstrtoumax.sh: Likewise.
95239 2008-04-21  Bruno Haible  <bruno@clisp.org>
95241         Fix test failure on mingw.
95242         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
95244 2008-04-21  Bruno Haible  <bruno@clisp.org>
95246         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
95247         Actually assign a value.
95249 2008-04-20  Bruno Haible  <bruno@clisp.org>
95251         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
95252         take 2.
95253         * lib/canonicalize.c (canonicalize_file_name): Elide if the
95254         'canonicalize-lgpl' module is also used.
95255         * lib/canonicalize-lgpl.c: Undo last change.
95256         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
95258 2008-04-20  Bruno Haible  <bruno@clisp.org>
95260         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
95261         config.h. Provide _mkdir based fallback for mingw.
95262         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
95263         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
95264         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
95265         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
95266         rather than defining mkdir in config.h.
95267         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
95268         (gl_SYS_STAT_H_DEFAULTS): New macro.
95269         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
95270         HAVE_IO_H any more.
95271         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
95272         HAVE_DECL_MKDIR and HAVE_IO_H.
95274 2008-04-20  Bruno Haible  <bruno@clisp.org>
95276         * lib/isapipe.c: Port to native Windows platforms.
95278 2008-04-20  Bruno Haible  <bruno@clisp.org>
95280         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
95282 2008-04-21  Eric Blake  <ebb9@byu.net>
95284         Work around preprocessors that don't handle UINTMAX_MAX.
95285         * lib/memchr2.c (memchr2): Avoid embedded #if.
95286         Reported by Alain Guibert, fix suggested by Bruno Haible.
95288 2008-04-21  Simon Josefsson  <simon@josefsson.org>
95290         * doc/posix-functions/strftime.texi (strftime): Explain better
95291         Windows incompatibility.  Suggested by Micah Cowan
95292         <micah@cowan.name>.
95294 2008-04-20  Bruno Haible  <bruno@clisp.org>
95296         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
95297         unistr/u8-mblen.
95299 2008-04-20  Bruno Haible  <bruno@clisp.org>
95301         Fix test failure on platforms with non-GNU iconv.
95302         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
95303         (U_TO_U8): Use it, rather than u16_to_u8.
95304         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
95305         units at the end of the input string.
95306         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
95308 2008-04-20  Bruno Haible  <bruno@clisp.org>
95310         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
95311         when the resulting length is 0.
95312         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
95314 2008-04-20  Bruno Haible  <bruno@clisp.org>
95316         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
95317         works.
95318         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
95320 2008-04-20  Bruno Haible  <bruno@clisp.org>
95322         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
95323         * modules/tsearch-tests (configure.ac): Test for initstate function.
95325 2008-04-20  Bruno Haible  <bruno@clisp.org>
95327         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
95328         for nlink_t if missing.
95329         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
95331 2008-04-19  Bruno Haible  <bruno@clisp.org>
95333         Work around snprintf bug on Linux libc5.
95334         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
95335         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
95336         gl_SNPRINTF_SIZE1.
95337         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
95338         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
95339         that test failed.
95340         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
95341         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
95342         * modules/snprintf (Files): Add m4/printf.m4.
95343         * modules/vsnprintf (Files): Likewise.
95344         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
95345         * doc/posix-functions/vsnprintf.texi: Likewise.
95347 2008-04-19  Bruno Haible  <bruno@clisp.org>
95349         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
95350         from 0.0058 to less than 10^-7.
95352 2008-04-19  Bruno Haible  <bruno@clisp.org>
95354         Fix rounding when a precision is given.
95355         * lib/vasnprintf.c (is_borderline): New function.
95356         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
95357         9...9x.
95358         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
95359         %e, %g.
95360         * tests/test-vasprintf-posix.c (test_function): Likewise.
95361         * tests/test-snprintf-posix.h (test_function): Likewise.
95362         * tests/test-sprintf-posix.h (test_function): Likewise.
95363         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
95364         * tests/test-printf-posix.h (test_function): Likewise.
95365         * tests/test-printf-posix.output: Update.
95366         Reported by John Darrington <john@darrington.wattle.id.au> via
95367         Ben Pfaff <blp@cs.stanford.edu>.
95369 2008-04-18  Simon Josefsson  <simon@josefsson.org>
95371         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
95372         Suggested by Bruno Haible <bruno@clisp.org>.
95374 2008-04-17  Bruno Haible  <bruno@clisp.org>
95376         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
95377         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
95378         implementation.
95379         Patch by Bruce Merry <bmerry@gmail.com>.
95381 2008-04-17  Simon Josefsson  <simon@josefsson.org>
95383         * doc/posix-functions/strftime.texi (strftime): Mention that %e
95384         doesn't work under Windows.
95386 2008-04-16  Bruno Haible  <bruno@clisp.org>
95388         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
95389         New macros.
95390         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
95391         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
95392         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
95393         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
95394         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
95395         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
95396         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
95397         macros.
95398         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
95399         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
95400         Northern Sotho, Uighur.
95402 2008-04-16  Bruno Haible  <bruno@clisp.org>
95404         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
95405         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
95406         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
95407         Reported by Daniel Bergström <daniel@octocode.com>.
95409 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
95410             Bruno Haible  <bruno@clisp.org>
95412         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
95413         function.
95414         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
95415         New functions, mostly extracted from gl_locale_name_default.
95416         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
95418 2008-04-16  Eric Blake  <ebb9@byu.net>
95420         Adjust strtod detection to catch glibc 2.7 bug.
95421         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
95422         Reported by John Gatewood Ham.
95424 2008-04-16  Bruno Haible  <bruno@clisp.org>
95426         Add tentative support for Linux libc5.
95427         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
95428         * lib/fpurge.c (fpurge): Likewise.
95429         * lib/freadable.c (freadable): Likewise.
95430         * lib/freadahead.c (freadahead): Likewise.
95431         * lib/freading.c (freading): Likewise.
95432         * lib/freadptr.c (freadptr): Likewise.
95433         * lib/freadseek.c (freadptrinc): Likewise.
95434         * lib/fseeko.c (rpl_fseeko): Likewise.
95435         * lib/fseterr.c (fseterr): Likewise.
95436         * lib/fwritable.c (fwritable): Likewise.
95437         * lib/fwriting.c (fwriting): Likewise.
95438         Reported by Alain Guibert <alguibert+bts@free.fr>.
95440 2008-04-15  Bruno Haible  <bruno@clisp.org>
95442         * modules/mathl (configure.ac): Define module indicator.
95444 2008-04-15  Bruno Haible  <bruno@clisp.org>
95446         * lib/logl.c (logl): Remove unused variables.
95448 2008-04-15  Bruno Haible  <bruno@clisp.org>
95450         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
95451         fails.
95453 2008-04-15  Bruno Haible  <bruno@clisp.org>
95455         * lib/trim.c (trim2): Fix argument of isspace() macro.
95457 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
95459         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
95460         to 0.
95461         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
95463 2008-04-14  Bruno Haible  <bruno@clisp.org>
95465         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
95466         AC_LANG_PROGRAM argument.
95467         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
95468         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
95469         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
95470         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
95471         * m4/math_h.m4 (gl_MATH_H): Likewise.
95472         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
95473         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
95474         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
95475         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
95476         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
95477         * m4/regex.m4 (gl_REGEX): Likewise.
95478         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
95479         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
95480         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
95481         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
95482         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
95483         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
95484         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
95485         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
95487 2008-04-14  Jim Meyering  <meyering@redhat.com>
95489         test-strtod: fix typos: s/abs/fabs/
95490         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
95492 2008-04-13  Bruno Haible  <bruno@clisp.org>
95494         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
95495         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
95496         module is also used and while not building the reloc-wrapper.
95498 2008-04-13  Bruno Haible  <bruno@clisp.org>
95500         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
95502 2008-04-13  Bruno Haible  <bruno@clisp.org>
95504         Fix AIX compilation failure introduced on 2008-04-02.
95505         * tests/test-frexp.c (exp): Undefine before redefining.
95506         * tests/test-frexpl.c (exp): Likewise.
95508 2008-04-13  Bruno Haible  <bruno@clisp.org>
95510         Work around a HP-UX stdio bug.
95511         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
95512         * tests/test-ftello.c (main): Likewise.
95513         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
95514         * doc/posix-functions/ftello.texi: Likewise.
95516 2008-04-13  Bruno Haible  <bruno@clisp.org>
95518         Make test-signbit pass on HP-UX/hppa.
95519         * tests/test-signbit.c (minus_zerol): New variable.
95520         (test_signbitl): Use it.
95522 2008-04-13  Bruno Haible  <bruno@clisp.org>
95524         Make truncl work on OSF/1 4.0.
95525         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
95526         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
95527         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
95528         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
95529         HAVE_DECL_TRUNCL.
95530         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
95531         HAVE_DECL_TRUNCL.
95532         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
95534 2008-04-13  Bruno Haible  <bruno@clisp.org>
95536         * lib/unictype.h: Remove trailing comma from enumeration definitions.
95538 2008-04-13  Bruno Haible  <bruno@clisp.org>
95540         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
95541         expression, so as to avoid HP-UX 11 cc compiler bug.
95543 2008-04-13  Bruno Haible  <bruno@clisp.org>
95545         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
95547 2008-04-13  Bruno Haible  <bruno@clisp.org>
95549         * lib/git-merge-changelog.c: Remove empty declaration outside of
95550         functions.
95552 2008-04-13  Bruno Haible  <bruno@clisp.org>
95554         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
95556 2008-04-13  Bruno Haible  <bruno@clisp.org>
95558         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
95559         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
95560         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
95561         also if it exists but lacks definitions of the SHUT_* macros.
95562         * modules/sys_socket (Description): Update.
95563         Reported by Elbert Pol <e.pol@chello.nl>.
95565 2008-04-13  Bruno Haible  <bruno@clisp.org>
95567         * lib/localcharset.c (OS2): Don't redefine if already defined.
95568         Reported by Elbert Pol <e.pol@chello.nl>.
95570 2008-04-13  Bruno Haible  <bruno@clisp.org>
95572         * lib/binary-io.h [__EMX__]: Include <io.h>.
95573         Reported by Elbert Pol <e.pol@chello.nl>.
95575 2008-04-12  Bruno Haible  <bruno@clisp.org>
95577         * lib/fpucw.h: Enable the definitions also for x86_64.
95578         Needed for NetBSD/x86_64.
95579         Reported by Thomas Klausner <tk@giga.or.at>.
95581 2008-04-12  Bruno Haible  <bruno@clisp.org>
95583         * tests/test-strtod.c: Include isnand.h.
95584         (main): Use isnand instead of isnan.
95585         Reported by Jim Meyering.
95587 2008-04-12  Bruno Haible  <bruno@clisp.org>
95589         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
95590         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
95592 2008-04-12  Jim Meyering  <meyering@redhat.com>
95594         * m4/math_h.m4 (gl_MATH_H): Fix typos.
95596 2008-04-12  Bruno Haible  <bruno@clisp.org>
95598         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
95599         Reported by Elbert Pol <e.pol@chello.nl>.
95601 2008-04-12  Eric Blake  <ebb9@byu.net>
95603         Work around Solaris 10 math.h bug.
95604         * m4/math_h.m4 (gl_MATH_H): Check for bug.
95605         (gl_MATH_H_DEFAULTS): Set up default.
95606         * modules/math (Makefile.am): Replace new indicators.
95607         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
95608         * tests/test-math.c (main): Test this.
95609         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
95610         * doc/posix-headers/math.texi (math.h): Mention bug.
95611         Reported by Nelson H. F. Beebe and Jim Meyering.
95613 2008-04-11  Bruno Haible  <bruno@clisp.org>
95615         Adapt to future versions of Apple GCC.
95616         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
95617         Reported by Peter O'Gorman <peter@pogma.com>.
95619 2008-04-11  Bruno Haible  <bruno@clisp.org>
95621         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
95623 2008-04-11  Bruno Haible  <bruno@clisp.org>
95625         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
95627         * modules/getaddrinfo-tests (Makefile.am): Define
95628         test_getaddrinfo_LDADD.
95630 2008-04-11  Bruno Haible  <bruno@clisp.org>
95632         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
95633         (init): Fix syntax error.
95634         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
95635         is declared.
95637 2008-04-11  Bruno Haible  <bruno@clisp.org>
95639         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
95640         * modules/glob (Depends-on): Add stdbool.
95642 2008-04-11  Bruno Haible  <bruno@clisp.org>
95644         * lib/trim.c: Include <string.h>.
95646 2008-04-11  Eric Blake  <ebb9@byu.net>
95648         Avoid compile failure on OS/2.
95649         * lib/regex_internal.h (internal_function): Disable optimization
95650         on OS/2 (__EMX__), where it caused compiler error.
95651         Reported by Elbert Pol.
95653 2008-04-11  Bruno Haible  <bruno@clisp.org>
95655         Flush the standard error stream before aborting. Needed on mingw.
95656         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
95657         * tests/test-array_list.c (ASSERT): Likewise.
95658         * tests/test-array_oset.c (ASSERT): Likewise.
95659         * tests/test-avltree_list.c (ASSERT): Likewise.
95660         * tests/test-avltree_oset.c (ASSERT): Likewise.
95661         * tests/test-avltreehash_list.c (ASSERT): Likewise.
95662         * tests/test-binary-io.c (ASSERT): Likewise.
95663         * tests/test-byteswap.c (ASSERT): Likewise.
95664         * tests/test-c-ctype.c (ASSERT): Likewise.
95665         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
95666         * tests/test-c-strcasestr.c (ASSERT): Likewise.
95667         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
95668         * tests/test-c-strstr.c (ASSERT): Likewise.
95669         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
95670         * tests/test-canonicalize.c (ASSERT): Likewise.
95671         * tests/test-carray_list.c (ASSERT): Likewise.
95672         * tests/test-ceilf1.c (ASSERT): Likewise.
95673         * tests/test-ceilf2.c (ASSERT): Likewise.
95674         * tests/test-ceill.c (ASSERT): Likewise.
95675         * tests/test-count-one-bits.c (ASSERT): Likewise.
95676         * tests/test-fbufmode.c (ASSERT): Likewise.
95677         * tests/test-fflush2.c (ASSERT): Likewise.
95678         * tests/test-floorf1.c (ASSERT): Likewise.
95679         * tests/test-floorf2.c (ASSERT): Likewise.
95680         * tests/test-floorl.c (ASSERT): Likewise.
95681         * tests/test-fopen.c (ASSERT): Likewise.
95682         * tests/test-fpending.c (ASSERT): Likewise.
95683         * tests/test-fprintf-posix.c (ASSERT): Likewise.
95684         * tests/test-fpurge.c (ASSERT): Likewise.
95685         * tests/test-freadable.c (ASSERT): Likewise.
95686         * tests/test-freadahead.c (ASSERT): Likewise.
95687         * tests/test-freading.c (ASSERT): Likewise.
95688         * tests/test-freadptr.c (ASSERT): Likewise.
95689         * tests/test-freadptr2.c (ASSERT): Likewise.
95690         * tests/test-freadseek.c (ASSERT): Likewise.
95691         * tests/test-freopen.c (ASSERT): Likewise.
95692         * tests/test-frexp.c (ASSERT): Likewise.
95693         * tests/test-frexpl.c (ASSERT): Likewise.
95694         * tests/test-fseek.c (ASSERT): Likewise.
95695         * tests/test-fseeko.c (ASSERT): Likewise.
95696         * tests/test-fstrcmp.c (ASSERT): Likewise.
95697         * tests/test-ftell.c (ASSERT): Likewise.
95698         * tests/test-ftello.c (ASSERT): Likewise.
95699         * tests/test-func.c (ASSERT): Likewise.
95700         * tests/test-fwritable.c (ASSERT): Likewise.
95701         * tests/test-fwriting.c (ASSERT): Likewise.
95702         * tests/test-getdelim.c (ASSERT): Likewise.
95703         * tests/test-getline.c (ASSERT): Likewise.
95704         * tests/test-i-ring.c (ASSERT): Likewise.
95705         * tests/test-iconv-utf.c (ASSERT): Likewise.
95706         * tests/test-iconv.c (ASSERT): Likewise.
95707         * tests/test-isfinite.c (ASSERT): Likewise.
95708         * tests/test-isnand.c (ASSERT): Likewise.
95709         * tests/test-isnanf.c (ASSERT): Likewise.
95710         * tests/test-isnanl.h (ASSERT): Likewise.
95711         * tests/test-ldexpl.c (ASSERT): Likewise.
95712         * tests/test-linked_list.c (ASSERT): Likewise.
95713         * tests/test-linkedhash_list.c (ASSERT): Likewise.
95714         * tests/test-localename.c (ASSERT): Likewise.
95715         * tests/test-lseek.c (ASSERT): Likewise.
95716         * tests/test-mbscasecmp.c (ASSERT): Likewise.
95717         * tests/test-mbscasestr1.c (ASSERT): Likewise.
95718         * tests/test-mbscasestr2.c (ASSERT): Likewise.
95719         * tests/test-mbscasestr3.c (ASSERT): Likewise.
95720         * tests/test-mbscasestr4.c (ASSERT): Likewise.
95721         * tests/test-mbschr.c (ASSERT): Likewise.
95722         * tests/test-mbscspn.c (ASSERT): Likewise.
95723         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
95724         * tests/test-mbspbrk.c (ASSERT): Likewise.
95725         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
95726         * tests/test-mbsrchr.c (ASSERT): Likewise.
95727         * tests/test-mbsspn.c (ASSERT): Likewise.
95728         * tests/test-mbsstr1.c (ASSERT): Likewise.
95729         * tests/test-mbsstr2.c (ASSERT): Likewise.
95730         * tests/test-mbsstr3.c (ASSERT): Likewise.
95731         * tests/test-memchr2.c (ASSERT): Likewise.
95732         * tests/test-memmem.c (ASSERT): Likewise.
95733         * tests/test-open.c (ASSERT): Likewise.
95734         * tests/test-printf-frexp.c (ASSERT): Likewise.
95735         * tests/test-printf-frexpl.c (ASSERT): Likewise.
95736         * tests/test-printf-posix.c (ASSERT): Likewise.
95737         * tests/test-quotearg.c (ASSERT): Likewise.
95738         * tests/test-rbtree_list.c (ASSERT): Likewise.
95739         * tests/test-rbtree_oset.c (ASSERT): Likewise.
95740         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
95741         * tests/test-round1.c (ASSERT): Likewise.
95742         * tests/test-roundf1.c (ASSERT): Likewise.
95743         * tests/test-roundl.c (ASSERT): Likewise.
95744         * tests/test-signbit.c (ASSERT): Likewise.
95745         * tests/test-sleep.c (ASSERT): Likewise.
95746         * tests/test-snprintf-posix.c (ASSERT): Likewise.
95747         * tests/test-snprintf.c (ASSERT): Likewise.
95748         * tests/test-sprintf-posix.c (ASSERT): Likewise.
95749         * tests/test-stat-time.c (ASSERT): Likewise.
95750         * tests/test-strcasestr.c (ASSERT): Likewise.
95751         * tests/test-strerror.c (ASSERT): Likewise.
95752         * tests/test-striconv.c (ASSERT): Likewise.
95753         * tests/test-striconveh.c (ASSERT): Likewise.
95754         * tests/test-striconveha.c (ASSERT): Likewise.
95755         * tests/test-strsignal.c (ASSERT): Likewise.
95756         * tests/test-strstr.c (ASSERT): Likewise.
95757         * tests/test-strtod.c (ASSERT): Likewise.
95758         * tests/test-trunc1.c (ASSERT): Likewise.
95759         * tests/test-trunc2.c (ASSERT): Likewise.
95760         * tests/test-truncf1.c (ASSERT): Likewise.
95761         * tests/test-truncf2.c (ASSERT): Likewise.
95762         * tests/test-truncl.c (ASSERT): Likewise.
95763         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
95764         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
95765         * tests/test-vasnprintf.c (ASSERT): Likewise.
95766         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
95767         * tests/test-vasprintf.c (ASSERT): Likewise.
95768         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
95769         * tests/test-vprintf-posix.c (ASSERT): Likewise.
95770         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
95771         * tests/test-vsnprintf.c (ASSERT): Likewise.
95772         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
95773         * tests/test-wcwidth.c (ASSERT): Likewise.
95774         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
95775         * tests/test-xprintf-posix.c (ASSERT): Likewise.
95776         * tests/test-xvasprintf.c (ASSERT): Likewise.
95777         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
95778         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
95779         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
95780         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
95781         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
95782         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
95783         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
95784         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
95785         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
95786         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
95787         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
95788         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
95789         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
95790         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
95791         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
95792         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
95793         * tests/unictype/test-block_list.c (ASSERT): Likewise.
95794         * tests/unictype/test-block_of.c (ASSERT): Likewise.
95795         * tests/unictype/test-block_test.c (ASSERT): Likewise.
95796         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
95797         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
95798         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
95799         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
95800         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
95801         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
95802         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
95803         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
95804         * tests/unictype/test-combining.c (ASSERT): Likewise.
95805         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
95806         * tests/unictype/test-digit.c (ASSERT): Likewise.
95807         * tests/unictype/test-mirror.c (ASSERT): Likewise.
95808         * tests/unictype/test-numeric.c (ASSERT): Likewise.
95809         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
95810         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
95811         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
95812         * tests/unictype/test-scripts.c (ASSERT): Likewise.
95813         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
95814         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
95815         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
95816         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
95817         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
95818         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
95819         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
95820         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
95821         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
95822         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
95823         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
95824         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
95825         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
95826         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
95827         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
95828         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
95829         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
95830         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
95831         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
95832         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
95833         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
95834         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
95835         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
95836         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
95837         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
95838         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
95839         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
95840         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
95841         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
95842         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
95843         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
95844         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
95845         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
95846         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
95847         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
95848         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
95849         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
95850         Reported by Eric Blake.
95852 2008-04-11  Bruno Haible  <bruno@clisp.org>
95854         * lib/wchar.in.h: Tweak comment.
95856 2008-04-11  Bruno Haible  <bruno@clisp.org>
95858         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
95859         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
95860         gl_COMMON.
95861         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
95863 2008-04-11  Bruno Haible  <bruno@clisp.org>
95865         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
95867 2008-04-11  Simon Josefsson  <simon@josefsson.org>
95869         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
95870         of attempting to use non-existing /dev/*random.  Based on patch
95871         from Adam Strzelecki <ono@java.pl> in
95872         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
95874 2008-04-08  Bruno Haible  <bruno@clisp.org>
95876         Add tentative support for emx+gcc.
95877         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
95878         * lib/fpurge.c (fpurge): Likewise.
95879         * lib/freadable.c (freadable): Likewise.
95880         * lib/freadahead.c (freadahead): Likewise.
95881         * lib/freading.c (freading): Likewise.
95882         * lib/freadptr.c (freadptr): Likewise.
95883         * lib/freadseek.c (freadptrinc): Likewise.
95884         * lib/fseeko.c (rpl_fseeko): Likewise.
95885         * lib/fseterr.c (fseterr): Likewise.
95886         * lib/fwritable.c (fwritable): Likewise.
95887         * lib/fwriting.c (fwriting): Likewise.
95888         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
95890 2008-04-09  Eric Blake  <ebb9@byu.net>
95892         Avoid some autoconf warnings.
95893         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
95894         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
95895         * m4/afs.m4 (gl_AFS): Likewise.
95896         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
95897         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
95898         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
95899         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
95900         (gl_INTEGER_TYPE_SUFFIX): Likewise.
95901         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
95902         (AC_CHECK_DECLS_ONCE): Likewise.
95903         Rename file...
95904         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
95905         gnulib-tool requires autoconf 2.59 or better.
95906         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
95908 2008-04-08  Eric Blake  <ebb9@byu.net>
95910         Use 'git describe --match' if present (added in git 1.5.5).
95911         * build-aux/git-version-gen: Limit result to tags that match 'v*'
95912         if possible.
95914 2008-04-08  Bruno Haible  <bruno@clisp.org>
95916         Add tentative support for OpenServer.
95917         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
95918         _ptr, _cnt.
95919         * lib/fpurge.c (fpurge): Likewise.
95920         * lib/freadable.c (freadable): Likewise.
95921         * lib/freadahead.c (freadahead): Likewise.
95922         * lib/freading.c (freading): Likewise.
95923         * lib/freadptr.c (freadptr): Likewise.
95924         * lib/freadseek.c (freadptrinc): Likewise.
95925         * lib/fseeko.c (rpl_fseeko): Likewise.
95926         * lib/fseterr.c (fseterr): Likewise.
95927         * lib/fwritable.c (fwritable): Likewise.
95928         * lib/fwriting.c (fwriting): Likewise.
95929         Reported by Roger Cornelius <rac@tenzing.org> and
95930         Brian K. White <brian@aljex.com>.
95932 2008-04-06  Jim Meyering  <meyering@redhat.com>
95934         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
95936 2008-04-06  Bruno Haible  <bruno@clisp.org>
95938         Avoid possible error with non-ASCII bytes in UTF-8 locales.
95939         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
95940         * tests/test-printf-posix.sh: Likewise.
95941         * tests/test-vfprintf-posix.sh: Likewise.
95942         * tests/test-vprintf-posix.sh: Likewise.
95943         * tests/test-xprintf-posix.sh: Likewise.
95945 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95947         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
95948         hide error from 'ls', needed on OS/2.
95949         Report by Elbert Pol <elbert.pol@gmail.com>.
95951 2008-04-04  Eric Blake  <ebb9@byu.net>
95953         Make test-fseeko.c failures meaningful.
95954         * tests/test-fseeko.c: Print line number on failure.
95955         * tests/test-fseek.c: Likewise.
95956         Reported by Nelson H. F. Beebe.
95958         Improve strtod bug detection check.
95959         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
95960         required for Solaris 10.
95961         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
95963 2008-04-04  Bruno Haible  <bruno@clisp.org>
95965         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
95966         by m4/setenv.m4.
95968 2008-04-03  Eric Blake  <ebb9@byu.net>
95970         Ensure sane .version contents.
95971         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
95972         version string.
95973         * build-aux/git-version-gen: Improve documentation.
95975         Make GNU make output nicer.
95976         * top/GNUmakefile [!_have-Makefile]: Add dependency on
95977         MAKECMDGOALS to enforce message for all command line targets.  Set
95978         srcdir for use in maint.mk.
95980         Another maintainer tweak.
95981         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
95982         a target that regenerates version.
95984 2008-04-03  Jim Meyering  <meyering@redhat.com>
95986         vc-list-files: don't cause coreutils "make po-check" failure
95987         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
95989 2008-04-03  Eric Blake  <ebb9@byu.net>
95991         Allow VPATH usage of vc-list-files.
95992         * build-aux/vc-list-files (scriptversion): Add timestamp.
95993         (options): Add --help, --version, -C.
95994         (CVS): Support installed cvsu.
95996 2008-04-02  Bruno Haible  <bruno@clisp.org>
95998         Avoid some "statement with no effect" warnings from gcc.
95999         * tests/test-wctype.c (main): Explicitly ignore unused values.
96000         Reported by Jim Meyering.
96002 2008-04-02  Jim Meyering  <meyering@redhat.com>
96004         Avoid some warnings from "gcc -Wshadow".
96005         * tests/test-frexp.c (exp): Define to a different identifier.
96006         * tests/test-frexpl.c (exp): Likewise.
96008 2008-04-03  Jim Meyering  <meyering@redhat.com>
96010         bootstrap: remove dangling *.[ch] symlinks from lib
96011         * build-aux/bootstrap [dangling symlink removal]: Move find's
96012         -depth option to precede all others, to avoid a warning.
96013         Remove *.[ch] files too, and from "$source_base" (usually lib/).
96015 2008-04-02  Bruno Haible  <bruno@clisp.org>
96017         Avoid some warnings from "gcc -Wshadow".
96018         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
96019         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
96020         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
96021         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
96022         Reported by Jim Meyering.
96024 2008-04-01  Bruno Haible  <bruno@clisp.org>
96026         Fix test to work on IRIX 6.5 with cc.
96027         * tests/test-math.c (numeric_equal): New function.
96028         (main): Use it.
96030 2008-04-01  Bruno Haible  <bruno@clisp.org>
96032         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
96034 2008-04-01  Bruno Haible  <bruno@clisp.org>
96036         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
96037         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96038         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
96039         (Depends-on): Remove math.
96041         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
96042         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96043         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
96044         (Depends-on): Remove math.
96046         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
96047         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96048         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
96049         (Depends-on): Remove math.
96050         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
96051         (Depends-on): Remove math.
96053         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
96054         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96055         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
96056         (Depends-on): Remove math.
96057         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
96058         (Depends-on): Remove math.
96060         * tests/test-round1.c: Include nan.h.
96061         (main): Use NaNd instead of NAN.
96062         * modules/round-tests (Files): Add tests/nan.h.
96064         * tests/test-trunc1.c: Include nan.h.
96065         (main): Use NaNd instead of NAN.
96066         * modules/trunc-tests (Files): Add tests/nan.h.
96068         * tests/test-roundf1.c: Include nan.h.
96069         (main): Use NaNf instead of NAN.
96070         * modules/roundf-tests (Files): Add tests/nan.h.
96072         * tests/test-truncf1.c: Include nan.h.
96073         (main): Use NaNf instead of NAN.
96074         * modules/truncf-tests (Files): Add tests/nan.h.
96076         * tests/test-ceilf1.c: Include nan.h.
96077         (main): Use NaNf instead of NAN.
96078         * modules/ceilf-tests (Files): Add tests/nan.h.
96080         * tests/test-floorf1.c: Include nan.h.
96081         (main): Use NaNf instead of NAN.
96082         * modules/floorf-tests (Files): Add tests/nan.h.
96084         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
96085         (main): Use NaNf instead of NAN.
96086         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
96088         * tests/test-isnand.c: Include nan.h instead of <math.h>.
96089         (main): Use NaNd instead of NAN.
96090         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
96092         * tests/test-frexp.c: Include nan.h.
96093         (main): Use NaNd instead of NAN.
96094         * modules/frexp-tests (Files): Add tests/nan.h.
96096         * lib/isnan.c: Don't include <math.h>.
96097         (FUNC): Don't use NAN macro.
96098         * modules/isnand-nolibm (Depends-on): Remove math.
96099         * modules/isnanf-nolibm (Depends-on): Remove math.
96100         * modules/isnanl (Depends-on): Remove math.
96101         * modules/isnanl-nolibm (Depends-on): Remove math.
96103         * tests/nan.h: New file.
96105 2008-04-01  Eric Blake  <ebb9@byu.net>
96107         Fix typos.
96108         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
96109         values to be the right type.
96111         For now, cater to gnulib strtod inaccuracies.
96112         * tests/test-strtod.c (main): Allow 1-ulp error on expected
96113         fractional results.  While not as nice from a QoI perspective, it
96114         is a quicker patch than correctly implementing decimal to binary
96115         rounding.
96117 2008-03-31  Eric Blake  <ebb9@byu.net>
96119         Guarantee a definition of NAN.
96120         * lib/math.in.h (NAN): Define if missing.
96121         * tests/test-math.c (main): Test it.
96122         * doc/posix-headers/math.texi (math.h): Document this.
96123         * lib/isnan.c (rpl_isnand): Use it.
96124         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
96125         * tests/test-floorf1.c (NaN): Likewise.
96126         * tests/test-frexp.c (NaN): Likewise.
96127         * tests/test-isnand.c (NaN): Likewise.
96128         * tests/test-isnanf.c (NaN): Likewise.
96129         * tests/test-round1.c (NaN): Likewise.
96130         * tests/test-roundf1.c (NaN): Likewise.
96131         * tests/test-snprintf-posix.h (NaN): Likewise.
96132         * tests/test-sprintf-posix.h (NaN): Likewise.
96133         * tests/test-trunc1.c (NaN): Likewise.
96134         * tests/test-truncf1.c (NaN): Likewise.
96135         * tests/test-vasnprintf-posix.c (NaN): Likewise.
96136         * tests/test-vasprintf-posix.c (NaN): Likewise.
96137         * modules/isnand-nolibm (Depends-on): Add math.
96138         * modules/isnanf-nolibm (Depends-on): Likewise.
96139         * modules/isnanl (Depends-on): Likewise.
96140         * modules/isnanl-nolibm (Depends-on): Likewise.
96141         * modules/snprintf-posix-tests (Depends-on): Likewise.
96142         * modules/sprintf-posix-tests (Depends-on): Likewise.
96143         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
96144         * modules/vsprintf-posix-tests (Depends-on): Likewise.
96145         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
96146         * modules/vasprintf-posix-tests (Depends-on): Likewise.
96148 2008-03-31  Bruno Haible  <bruno@clisp.org>
96150         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
96151         * doc/posix-functions/strtod.texi: Likewise.
96153 2008-03-31  Bruno Haible  <bruno@clisp.org>
96155         * tests/test-strtod.c (main): Don't use C99 syntax.
96157 2008-03-31  Bruno Haible  <bruno@clisp.org>
96159         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
96160         Reported by Eric Blake.
96162 2008-03-31  Jim Meyering  <meyering@redhat.com>
96164         Don't compare actual signbit return values.
96165         * tests/test-strtod.c (main): Rather, compare only their
96166         zero/non-zero nature.
96168 2008-03-31  Eric Blake  <ebb9@byu.net>
96170         More strtod documentation.
96171         * doc/posix-functions/strtod.texi (strtod): Interpret more test
96172         failures as distinct bugs.
96174 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
96176         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
96177         Problem reported by Erik Benada in
96178         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
96180 2008-03-30  Bruno Haible  <bruno@clisp.org>
96182         * tests/test-strtod.c: Add comments about which assertion fails on which
96183         platform.
96184         * doc/posix-functions/strtod.texi: Add info about many more platforms.
96186 2008-03-30  Eric Blake  <ebb9@byu.net>
96188         Test signbit behavior on zeros.
96189         * tests/test-signbit.c (test_signbitf): Add tests for zero.
96190         (test_signbitd, test_signbitl): Likewise.
96192         More strtod touchups.
96193         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
96194         sign of negative underflow, for now.  Use .5, not .1.
96195         * doc/posix-functions/strtod.texi (strtod): Mention these
96196         limitations.
96197         Reported by Jim Meyering.
96199 2008-03-30  Bruno Haible  <bruno@clisp.org>
96201         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
96202         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
96204 2008-03-30  Bruno Haible  <bruno@clisp.org>
96206         Avoid failure when attempting to return empty iconv results on some
96207         platforms.
96208         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
96209         allocation, don't report ENOMEM when the resulting string is empty.
96211 2008-03-30  Bruno Haible  <bruno@clisp.org>
96213         Fix buffer overrun.
96214         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
96215         Don't consider the width for tmp_length. Check count against tmp_length
96216         before doing the padding. Ensure enough allocation during padding.
96218 2008-03-30  Eric Blake  <ebb9@byu.net>
96220         strtod touchups.
96221         * lib/strtod.c (strtod): Avoid compiler warnings.
96222         Reported by Jim Meyering.
96224 2008-03-30  Bruno Haible  <bruno@clisp.org>
96226         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
96227         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
96228         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
96229         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
96230         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
96231         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
96232         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
96233         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
96235         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
96236         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
96237         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
96238         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
96239         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
96240         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
96241         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
96242         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
96244         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
96245         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
96246         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
96247         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
96248         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
96249         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
96250         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
96251         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
96253         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
96254         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
96256         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
96257         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
96259         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
96260         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
96262         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
96263         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
96264         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
96266         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
96267         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
96268         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
96270         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
96271         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
96272         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
96274         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
96275         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
96276         * modules/vasprintf (Depends-on): Add EOVERFLOW.
96278         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
96279         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
96280         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
96281         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
96282         (Depends-on): Add EOVERFLOW.
96283         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
96284         (Depends-on): Add EOVERFLOW.
96285         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
96286         (Depends-on): Add EOVERFLOW.
96287         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
96288         (Depends-on): Add EOVERFLOW.
96289         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
96290         (Depends-on): Add EOVERFLOW.
96291         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
96292         (Depends-on): Add EOVERFLOW.
96293         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
96294         (Depends-on): Add EOVERFLOW.
96295         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
96296         (Depends-on): Add EOVERFLOW.
96298         * lib/sprintf.c (EOVERFLOW): Remove fallback.
96299         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
96300         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
96302         * lib/snprintf.c (EOVERFLOW): Remove fallback.
96303         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
96304         * modules/snprintf (Depends-on): Add EOVERFLOW.
96306         * lib/poll.c (EOVERFLOW): Remove fallback.
96307         * modules/poll (Depends-on): Add EOVERFLOW.
96309         * lib/getugroups.c (EOVERFLOW): Remove fallback.
96310         * modules/getugroups (Depends-on): Add EOVERFLOW.
96312         * lib/getdelim.c (EOVERFLOW): Remove fallback.
96313         * modules/getdelim (Depends-on): Add EOVERFLOW.
96315         * lib/ftell.c (EOVERFLOW): Remove fallback.
96316         * modules/ftell (Depends-on): Add EOVERFLOW.
96318         * lib/fprintf.c (EOVERFLOW): Remove fallback.
96319         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
96320         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
96322         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
96324         * modules/EOVERFLOW-tests: New file.
96325         * tests/test-EOVERFLOW.c: New file.
96327         * modules/EOVERFLOW: New file.
96328         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
96330 2008-03-30  Bruno Haible  <bruno@clisp.org>
96332         Fix bug introduced on 2007-06-10.
96333         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
96334         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
96336 2008-03-30  Bruno Haible  <bruno@clisp.org>
96338         Improve freadseek's efficiency after ungetc.
96339         * lib/freadseek.c: Include freadahead.h.
96340         (freadptrinc): New function, extracted from freadseek.
96341         (freadseek): Use it in a loop. Use freadahead to determine the number
96342         of loop iterations.
96343         * modules/freadseek (Depends-on): Add freadahead.
96344         (configure.ac): Require AC_C_INLINE.
96346 2008-03-30  Bruno Haible  <bruno@clisp.org>
96348         * lib/freadseek.c (freadseek): Don't ignore the return value of
96349         freadptr.
96351 2008-03-29  Eric Blake  <ebb9@byu.net>
96353         Add hex float support.
96354         * modules/strtod (Depends-on): Add c-ctype.
96355         (Link): Mention POW_LIB.
96356         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
96357         whitespace between 'e' and exponent.
96358         * tests/test-strtod.c (main): Enable hex float tests.
96359         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
96360         now provides.
96362         Document various strtod bugs, with some fixes.
96363         * doc/posix-functions/strtod.texi (strtod): Document bugs with
96364         "-0x", "inf", "nan", and hex constants.
96365         * doc/posix-functions/atof.texi (atof): Likewise.
96366         * modules/stdlib (Makefile.am): Support strtod.
96367         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
96368         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
96369         detect additional strtod bugs.
96370         * lib/stdlib.in.h (rpl_strtod): Add declarations.
96371         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
96372         bool where appropriate.  Parse 'inf' and 'nan'.
96373         * tests/test-strtod.c: New file.
96374         * modules/strtod (Depends-on): Add stdbool, stdlib.
96375         (configure.ac): Turn on module indicator.
96376         * modules/strtod-tests: New module.
96378 2008-03-29  Eric Blake  <ebb9@byu.net>
96380         Fix ftell on mingw.
96381         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
96382         * modules/ftell-tests (Depends-on): Add binary-io.
96383         * modules/ftello-tests (Depends-on): Likewise.
96384         * tests/test-ftell.c (main): Enhance test to cover behavior after
96385         ungetc.  Enforce binary mode.
96386         * tests/test-ftello.c (main): Likewise.
96388         Pass test-freadseek on cygwin.
96389         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
96390         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
96391         ungetc buffer.
96393         * tests/test-fflush2.c (main): Fix typo.
96395 2008-03-29  Bruno Haible  <bruno@clisp.org>
96397         * tests/test-fflush2.c (main): Temporarily disable the contents of
96398         this test.
96399         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
96400         Reported by Eric Blake.
96402 2008-03-28  Simon Josefsson  <simon@josefsson.org>
96404         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
96405         (GC_SHA224_DIGEST_SIZE): Add.
96407         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
96408         (gc_hash_digest_length): Likewise.
96409         (gc_hash_buffer): Likewise.
96411 2008-03-25  Bruno Haible  <bruno@clisp.org>
96413         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
96414         detail which gettext release to use.
96415         Reported by Simon Josefsson.
96417 2008-03-26  Jim Meyering  <meyering@redhat.com>
96419         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
96420         * modules/gnumakefile (clean-GNUmakefile): Also, use
96421         test ... && ... || : syntax rather than if-then ... fi.
96423         gnumakefile: Don't double-quote-expand $(VPATH) value.
96424         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
96426 2008-03-24  Eric Blake  <ebb9@byu.net>
96428         Alter GNUmakefile to install into top directory.
96429         * modules/maintainer-makefile: Split, and add dependency...
96430         * modules/gnumakefile: to this new module.
96431         * build-aux/GNUmakefile: Move...
96432         * top/GNUmakefile: ...here.
96433         * build-aux/maint.mk: Move...
96434         * top/maint.mk: ...here.
96435         * MODULES.html.sh (Support for maintaining...): Document new
96436         module.
96438 2008-03-23  Bruno Haible  <bruno@clisp.org>
96440         * gnulib-tool: New options --vc-files, --no-vc-files.
96441         (func_usage): Document them.
96442         (vc_files): New variable.
96443         (func_import): Consider vc_files.
96444         (func_create_testdir): Set vc_files to empty.
96445         Suggested by Jim Meyering and Karl Berry.
96447 2008-03-23  Bruno Haible  <bruno@clisp.org>
96449         Fix regex compilation error on HP-UX 11.
96450         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
96451         * modules/regex (Files): Add m4/mbstate_t.m4.
96452         Reported by Ton Voon <ton.voon@altinity.com>.
96454 2008-03-23  Bruno Haible  <bruno@clisp.org>
96456         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
96458 2008-03-23  Eric Blake  <ebb9@byu.net>
96459             Bruno Haible  <bruno@clisp.org>
96461         Install files from top/ in the destination directory.
96462         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
96463         augmentation also for the files from top/.
96464         (func_import, func_create_testdir): Rewrite file names:
96465         top/filename -> filename.
96467 2008-03-23  Bruno Haible  <bruno@clisp.org>
96469         Tweak "gnulib --version" output.
96470         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
96472 2008-03-23  Bruno Haible  <bruno@clisp.org>
96474         Tweak "gnulib --version" output.
96475         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
96476         rather than contents of ChangeLog, when possible.
96478 2008-03-21  Eric Blake  <ebb9@byu.net>
96480         More --version tweaks.
96481         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
96482         date of last ChangeLog entry.
96484 2008-03-21  Jim Meyering  <meyering@redhat.com>
96486         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
96488 2008-03-20  Eric Blake  <ebb9@byu.net>
96490         VPATH fix.
96491         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
96493 2008-03-20  Simon Josefsson  <simon@josefsson.org>
96495         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
96496         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
96498 2008-03-20  Eric Blake  <ebb9@byu.net>
96500         Sync GNUmakefile with coreutils.
96501         * build-aux/GNUmakefile (have-Makefile): Rename...
96502         (_have-Makefile): ...to this, for namespace consideration.
96503         (GNUmakefile.cfg): Include, if present.
96504         (_autoreconf): Define a default.
96505         (_is-dist-target): New rule for rebuilds to pick up intra-release
96506         version.
96507         (maint-cfg.mk): Rename...
96508         (cfg.mk): ...to this.
96510 2008-03-18  Jim Meyering  <meyering@redhat.com>
96512         New script and module: mktempd
96513         * MODULES.html.sh (maint+release support): Add mktempd.
96514         * build-aux/mktempd: New file.
96515         * modules/mktempd: New file.
96517 2008-03-15  Jim Meyering  <meyering@redhat.com>
96519         Undo last change.
96520         * lib/sha1.c, lib/md5.c: 63 != ~63.
96521         Reported by Andreas Schwab.
96523         sha1.c, md5.c: Hoist a redundant expression.
96524         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
96525         "ctx->buflen" only once, before calling *_process_block.
96526         * lib/md5.c (md5_process_bytes): Likewise.
96528 2008-03-14  Eric Blake  <ebb9@byu.net>
96530         Bump copyright year in files generated by gnulib-tool.
96531         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
96532         gnulib-tool, rather than hard-coding it.
96534         Fix 'gnulib-tool --version' output to work with git.
96535         * gnulib-tool (func_gnulib_dir): New function, extracted from...
96536         (startup): ...here.
96537         (func_version): Use it to invoke git-version-gen, rather than
96538         relying on CVS keyword expansion.  Modernize wording.
96539         (cvsdatestamp, last_checkin_date, version): Kill unused
96540         variables.
96542 2008-03-12  Jim Meyering  <meyering@redhat.com>
96544         Recognize optional cast of the argument to free.
96545         * build-aux/useless-if-before-free: Update regexps.
96547         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
96549 2008-03-11  Bruno Haible  <bruno@clisp.org>
96551         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
96552         by a single package.
96553         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
96554         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
96555         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
96556         Reported by Sam Steingold <sds@gnu.org>.
96558 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
96560         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
96561         repositories.
96563 2008-03-11  Bruno Haible  <bruno@clisp.org>
96565         Avoid conflicts between local macro definitions.
96566         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
96567         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
96569 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
96570             Bruno Haible  <bruno@clisp.org>
96572         Make va_copy work with some version of xlc on AIX 5.1.
96573         * lib/stdarg.in.h: New file.
96574         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
96575         On AIX, use a <stdarg.h> file substitute.
96576         * modules/stdarg (Files): Add lib/stdarg.in.h.
96577         (Depends-on): Add include_next.
96578         (Makefile.am): Build a stdarg.h substitute if requested.
96579         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
96581 2008-03-10  Bruno Haible  <bruno@clisp.org>
96583         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
96584         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
96585         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
96587 2008-03-10  Bruno Haible  <bruno@clisp.org>
96589         * modules/stdlib (Depends-on): Add include_next, remove
96590         absolute-header.
96592 2008-03-09  Bruno Haible  <bruno@clisp.org>
96594         * lib/freadahead.h (freadahead): Document more precisely.
96595         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
96596         the sum of both buffer sizes.
96597         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
96598         * NEWS: Document the change.
96600 2008-03-09  Bruno Haible  <bruno@clisp.org>
96602         Extend freadptr to return also the buffer size.
96603         * lib/freadptr.h (freadptr): Add sizep argument.
96604         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
96605         (freadptr): Add sizep argument. Determine buffer size like freadahead
96606         does.
96607         * tests/test-freadptr.c: Don't include freadahead.h.
96608         (main): Adapt for new calling convention of freadptr.
96609         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
96610         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
96611         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
96612         tests/test-freadptr2.sh.
96613         (Depends): Remove freadahead.
96614         (TESTS): Add test-freadptr2.sh.
96615         (check_PROGRAMS): Add test-freadptr2.
96617 2008-03-09  Bruno Haible  <bruno@clisp.org>
96619         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
96620         Report and solution by Simon Josefsson.
96622 2008-03-06  Bruno Haible  <bruno@clisp.org>
96624         Make fflush after ungetc work on BSD platforms.
96625         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
96626         * tests/test-fflush2.c: New file.
96627         * tests/test-fflush2.sh: New file.
96628         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
96629         tests/test-fflush2.c.
96630         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
96631         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
96633 2008-03-06  Eric Blake  <ebb9@byu.net>
96635         Likewise for ftello.
96636         * modules/ftello (Dependencies): Add extensions.
96637         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
96639 2008-03-06  Bruno Haible  <bruno@clisp.org>
96641         * modules/fseeko (Dependencies): Add extensions.
96642         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
96643         Needed on glibc systems.
96645 2008-03-06  Bruno Haible  <bruno@clisp.org>
96647         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
96648         email address.
96649         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
96651 2008-03-06  Bruno Haible  <bruno@clisp.org>
96653         * users.txt: Add libgnupdf.
96655 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
96657         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
96658         (Header File Substitutes, Function Substitutes,
96659         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
96660         (Build robot for gnulib): Fix typo.
96662 2008-03-06  Bruno Haible  <bruno@clisp.org>
96664         * doc/gnulib-tool.texi (VCS Issues): Small updates.
96665         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
96667 2008-03-06  Bruno Haible  <bruno@clisp.org>
96669         * doc/func.texi: New file, extracted from doc/gnulib.texi.
96670         * doc/gnulib.texi: Include it.
96672 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96674         * modules/func (License): Change license to unlimited; there was
96675         no LGPL parts in the module anyway.
96677 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96679         * modules/__func__: Renamed to modules/func.
96680         * modules/__func__-tests: Renamed to modules/func-tests.
96681         * tests/test-__func__.c: Renamed to tests/test-func.c.
96682         * m4/__func__.m4: Renamed to m4/func.m4.
96683         * doc/gnulib.texi (__func__): Section renamed to func.
96684         Suggested by Eric Blake <ebb9@byu.net>.
96686 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96688         * doc/gnulib.texi (__func__): Use C99 terminology when talking
96689         about __func__.  Make example self-contained.  Suggested by Eric
96690         Blake <ebb9@byu.net>.
96692         * tests/test-__func__.c (main): Avoid extraneous () around __func.
96693         Suggested by Eric Blake <ebb9@byu.net>.
96695 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96697         * modules/__func__: New file.
96698         * modules/__func__-tests: New file.
96699         * tests/test-__func__.c: New file.
96700         * m4/__func__.m4: New file.
96701         * doc/gnulib.texi (__func__): Document __func__ module.
96703 2008-03-05  Simon Josefsson  <simon@josefsson.org>
96705         * modules/byteswap (License): Re-license as LGPLv2+.
96707 2008-03-05  Simon Josefsson  <simon@josefsson.org>
96709         * doc/Makefile: Add pdf target.
96711 2008-03-05  Simon Josefsson  <simon@josefsson.org>
96713         * modules/inline (License): Use 'unlimited', since there are only
96714         *.m4 files in this module.
96716 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
96717             Bruno Haible  <bruno@clisp.org>
96719         Add support for HP C 7.1 on OpenVMS 8.3.
96720         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
96722 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
96724         Update VMS specifics.
96725         * lib/getopt.c [VMS]: Remove include of unixlib.h.
96727 2008-03-02  Jim Meyering  <meyering@redhat.com>
96729         Remove the last dependency on the "free" module.
96730         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
96731         Reported by Bob Proulx.
96733         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
96735         Remove useless "if" tests before free.  Deprecate "free" module.
96736         * doc/posix-functions/free.texi: Mention that this
96737         module is no longer useful.
96738         * modules/free (Notice): Say this module is obsolete.
96739         * modules/readutmp (Depends-on): Remove free.
96740         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
96741         * lib/putenv.c (putenv): Likewise.
96742         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
96743         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
96744         * tests/test-c-strcasestr.c (main): Likewise.
96745         * tests/test-c-strstr.c (main): Likewise.
96746         * tests/test-mbscasestr1.c (main): Likewise.
96747         * tests/test-mbscasestr2.c (main): Likewise.
96748         * tests/test-mbsstr1.c (main): Likewise.
96749         * tests/test-mbsstr2.c (main): Likewise.
96750         * tests/test-memmem.c (main): Likewise.
96751         * tests/test-strcasestr.c (main): Likewise.
96752         * tests/test-striconv.c (main): Likewise.
96753         * tests/test-striconveh.c (main): Likewise.
96754         * tests/test-striconveha.c (main): Likewise.
96755         * tests/test-strstr.c (main): Likewise.
96757         * build-aux/git-version-gen: Adjust a comment and the Usage string.
96759         bootstrap: sync from coreutils again
96760         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
96762 2008-03-01  Jim Meyering  <meyering@redhat.com>
96764         bootstrap: sync from coreutils
96765         * build-aux/bootstrap (update_po_files): Copy a .po file into place
96766         also when the target doesn't exist.
96768 2008-03-01  Eric Blake  <ebb9@byu.net>
96770         Fix bugs in last patch.
96771         * lib/memchr2.c (memchr2): Fix typo.
96772         * tests/test-memchr2.c: Test previous bug, and don't use GNU
96773         extension.
96774         Reported by Bruce Korb.
96776         New module 'memchr2'.
96777         * modules/memchr2: New file.
96778         * modules/memchr2-tests: Likewise.
96779         * lib/memchr2.h: Likewise.
96780         * lib/memchr2.c: Likewise, based on memchr.c.
96781         * tests/test-memchr2.c: New test.
96782         * MODULES.html.sh (String handling): Add memchr2.
96784 2008-02-29  Bruno Haible  <bruno@clisp.org>
96786         * modules/freadseek-tests: New file.
96787         * tests/test-freadseek.sh: New file.
96788         * tests/test-freadseek.c: New file.
96790         New module 'freadseek'.
96791         * modules/freadseek: New file.
96792         * lib/freadseek.h: New file.
96793         * lib/freadseek.c: New file.
96794         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
96796 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
96798         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
96799         wydawca.
96801         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
96802         program_invocation_name and program_invocation_short_name are
96803         present.
96805 2008-02-28  Bruno Haible  <bruno@clisp.org>
96807         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
96808         * tests/test-freadptr.sh: Also test non-seekable stdin.
96810 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
96812         * build-aux/bootstrap (source_base, m4_base)
96813         (doc_base, tests_base): New variables.
96814         (gnulib_tool_options): Do not hardcode base directories, use
96815         the above variables instead.
96817 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
96819         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
96821 2008-02-28  Bruno Haible  <bruno@clisp.org>
96823         * modules/freadptr-tests: New file.
96824         * tests/test-freadptr.sh: New file.
96825         * tests/test-freadptr.c: New file.
96827         New module 'freadptr'.
96828         * modules/freadptr: New file.
96829         * lib/freadptr.h: New file.
96830         * lib/freadptr.c: New file.
96831         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
96833 2008-02-26  Karl Berry  <karl@freefriends.org>
96835         Sync from Libtool:
96836         * libltdl/argz.c (argz_add, argz_count): New functions.
96837         * libltdl/argz.in.h: Declare them.
96838         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
96840 2008-02-22  Bruno Haible  <bruno@clisp.org>
96842         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
96843         is a pointer type.  Needed for HP-UX 10.
96844         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
96845         * doc/posix-functions/gmtime_r.texi: Likewise.
96846         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
96848 2008-02-24  Bruno Haible  <bruno@clisp.org>
96850         * modules/environ-tests: New file.
96851         * tests/test-environ.c: New file.
96853         New module 'environ'.
96854         * modules/environ: New file.
96855         * lib/unistd.in.h (environ): New declaration.
96856         * m4/environ.m4: New file.
96857         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
96858         after use.
96859         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
96860         HAVE_DECL_ENVIRON.
96861         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
96862         HAVE_DECL_ENVIRON.
96863         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
96864         wrong claim that 'environ' is missing on some systems.
96865         * modules/execute (Depends-on): Add environ.
96866         * lib/execute.c (environ): Remove fallback declaration.
96867         * modules/pipe (Depends-on): Add environ.
96868         * lib/pipe.c (environ): Remove fallback declaration.
96869         * modules/setenv (Depends-on): Add environ.
96870         * lib/setenv.c (environ): Remove fallback declaration.
96871         * modules/unsetenv (Depends-on): Add environ.
96872         * lib/unsetenv.c (environ): Remove fallback declaration.
96873         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
96874         m4/environ.m4.
96875         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
96876         (gl_PREREQ_UNSETENV): Likewise.
96878 2008-02-24  Bruno Haible  <bruno@clisp.org>
96880         * doc/posix-functions/environ.texi: Document the MacOS X problem.
96882 2008-02-20  Bob Proulx  <bob@proulx.com>
96884         Enable use of older two part flavor 'git describe'.
96885         * build-aux/git-version-gen: If using the older two part flavor of
96886         git version then recreate the third part now present in the
96887         newer three part flavor of git describe.
96889 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
96891         * lib/fts.c (fts_build): Typo correction to comment.
96893 2008-02-17  Bruno Haible  <bruno@clisp.org>
96895         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
96896         generating no-op conflicts.
96898 2008-02-17  Bruno Haible  <bruno@clisp.org>
96900         Speed up by 10%.
96901         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
96902         result_entries, rather than an index-based loop.
96904 2008-02-17  Bruno Haible  <bruno@clisp.org>
96906         Speed up by 25%.
96907         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
96908         'hashcode_cached'.
96909         (entry_create): New function.
96910         (entry_hashcode): Use the cached hashcode if possible.
96911         (read_changelog_file, try_split_merged_entry): Use entry_create.
96913 2008-02-17  Bruno Haible  <bruno@clisp.org>
96915         Speed up from O(n^2) to O(n) for long ChangeLog files.
96916         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
96917         (read_changelog_file): Change implementation of entries_reversed list
96918         to rbtreehash.
96919         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
96921 2008-02-17  Bruno Haible  <bruno@clisp.org>
96923         New option --split-merged-entry.
96924         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
96925         (find_paragraph_end, try_split_merged_entry): New functions.
96926         (long_options): Add option --split-merged-entry.
96927         (usage): Document option --split-merged-entry.
96928         (main): Implement option --split-merged-entry.
96929         Reported by Eric Blake.
96931 2008-02-17  Bruno Haible  <bruno@clisp.org>
96933         * lib/git-merge-changelog.c: Include c-strstr.h.
96934         (main): Support the "git pull --rebase" situation.
96935         * modules/git-merge-changelog (Depends-on): Add c-strstr.
96936         Reported by Eric Blake.
96938 2008-02-16  Eric Blake  <ebb9@byu.net>
96940         Avoid doubling \ in common case of "c-maybe" quoting style.
96941         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
96942         eliding outer quotes.
96943         * lib/quotearg.h: Document this.
96944         * tests/test-quotearg.c (result_strings, inputs, results_g)
96945         (flag_results, locale_results): Test it by adding a new string to
96946         each test group.
96947         (compare_strings): Test new string.
96949 2008-02-13  Eric Blake  <ebb9@byu.net>
96951         Avoid trigraph quoting in default output.
96952         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
96953         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
96954         unless explicitly requested.
96955         * tests/test-quotearg.c (flag_results, main): Add additional tests.
96957 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
96959         Don't rely on signed integer overflowing to negative value.
96960         * lib/getugroups.c (getugroups): Include <limits.h>.
96961         Instead, compare against INT_MAX, and increment only if the test passes.
96963 2008-02-13  Jim Meyering  <meyering@redhat.com>
96964         and Eric Blake  <ebb9@byu.net>
96966         Avoid shadowing warning and compile errors on Linux.
96967         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
96968         forwarding macros on Linux.
96969         (dcgettext): Define a stub, for Linux.
96970         (results_g, main): Avoid warnings.
96972 2008-02-12  Eric Blake  <ebb9@byu.net>
96974         Silence warning in last patch.
96975         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
96977         Quotearg part 4: add tests, fix c-maybe colon quoting.
96978         * lib/quotearg.h: Improve documentation.
96979         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
96980         escapes when adding outer quotes.  When quoting trigraphs, use
96981         valid C notation.  When quoting NUL, omit extra characters if next
96982         character is not digit.  Alter prototype.
96983         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
96984         callers.
96985         * modules/quotearg-tests: New module.
96986         * tests/test-quotearg.c: New test.
96988 2008-02-07  Eric Blake  <ebb9@byu.net>
96990         Quotearg part 3: add flag to control outer quote elision.
96991         * lib/quotearg.h (c_maybe_quoting_style): New style.
96992         (enum quoting_flags): Better documentation of flags.
96993         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
96994         c-maybe style.
96995         (quotearg_buffer_restyled): Handle new flag to elide outer
96996         quotes.
96998         Quotearg part 2: add flag that can control NUL elision.
96999         * lib/quotearg.h (set_quoting_flags): New prototype.
97000         * lib/quotearg.c (struct quoting_options): Add flag field.
97001         (set_quoting_flags): New function.
97002         (quotearg_buffer_restyled): Add flags parameter.
97003         (quotearg_alloc_mem): Set the flag if length cannot be returned.
97004         (quotearg_n_options): Set the flag, since length cannot be
97005         returned.
97006         (quoting_options_from_style): Default flags correctly.
97008         Quotearg part 1: more wrappers, restore quotearg_char state.
97009         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
97010         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
97011         (quotearg_colon_mem): New wrappers.
97012         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
97013         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
97014         functions.
97015         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
97016         (quotearg_colon_mem): New functions.
97018 2008-02-11  Bruno Haible  <bruno@clisp.org>
97020         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
97021         library in the current directory: it does not work with parallel make.
97022         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
97024 2008-02-11  Bruno Haible  <bruno@clisp.org>
97026         * .gitattributes: New file.
97028 2008-02-11  Jim Meyering  <meyering@redhat.com>
97030         useless-if-before-free: Fix reversed exit values.
97031         * build-aux/useless-if-before-free: Use correct values
97032         for EXIT_MATCH and EXIT_NO_MATCH.
97034         * build-aux/useless-if-before-free: Close stdout carefully.
97036 2008-02-10  Bruno Haible  <bruno@clisp.org>
97038         New module 'git-merge-changelog'.
97039         * modules/git-merge-changelog: New file.
97040         * lib/git-merge-changelog.c: New file.
97042 2008-02-10  Jim Meyering  <meyering@redhat.com>
97044         useless-if-before-free: New option: --list (-l).
97046         useless-if-before-free: Don't exit immediately upon open failure.
97047         * build-aux/useless-if-before-free: Exit 2 for errors.
97048         Upon failure to open a file, don't exit immediately.
97049         Rather, just warn and continue with any remaining files.
97051 2008-02-10  Bruno Haible  <bruno@clisp.org>
97053         New abstract list operation 'node_set_value'.
97054         * lib/gl_list.h (gl_list_node_set_value): New function.
97055         (struct gl_list_implementation): New field node_set_value.
97056         * lib/gl_list.c (gl_list_node_set_value): New function.
97057         * lib/gl_array_list.c (gl_array_node_set_value): New function.
97058         (gl_array_list_implementation): Update.
97059         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
97060         (gl_carray_list_implementation): Update.
97061         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
97062         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
97063         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
97064         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
97065         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
97066         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
97067         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
97068         Update.
97069         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
97070         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
97071         (gl_sublist_list_implementation): Update.
97073 2008-02-10  Bruno Haible  <bruno@clisp.org>
97075         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
97076         Needed when ELEMENT is #defined to 'some_type *'.
97078 2008-02-10  Jim Meyering  <meyering@redhat.com>
97080         New script and module: useless-if-before-free
97081         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
97082         * build-aux/useless-if-before-free: New file.
97083         * modules/useless-if-before-free: New file.
97085         * build-aux/gitlog-to-changelog: Use committer date, not author date.
97087         xstrtol_error: Fix typo.
97088         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
97089         s/exit_failure/exit_status/.
97091 2008-02-09  Jim Meyering  <meyering@redhat.com>
97093         New script and module: gitlog-to-changelog
97094         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
97095         * modules/gitlog-to-changelog: New file.
97096         * build-aux/gitlog-to-changelog: New file.
97098 2008-02-08  Jim Meyering  <meyering@redhat.com>
97100         Avoid two "parameter unused" warnings.
97101         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
97102         Mark "st" as used.
97104         Use "git COMMAND", not "git-COMMAND".
97105         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
97106         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
97107         * build-aux/git-version-gen: Use "git status", not "git-status".
97109 2008-02-07  Bruno Haible  <bruno@clisp.org>
97111         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
97112         Avoids a crash on Windows Vista.
97113         Reported by Adam Strzelecki <ono@java.pl> via
97114         Simon Josefsson <simon@josefsson.org>.
97116 2008-02-06  Bruno Haible  <bruno@clisp.org>
97118         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
97119         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
97120         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
97121         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
97122         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
97123         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
97124         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
97125         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
97126         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
97127         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
97128         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
97129         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
97130         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
97131         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
97132         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
97133         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
97134         left-adjust flag.
97135         * tests/test-snprintf-posix.h (test_function): Likewise.
97136         * tests/test-sprintf-posix.h (test_function): Likewise.
97137         * tests/test-vasprintf-posix.c (test_function): Likewise.
97138         * doc/posix-functions/fprintf.texi: Update.
97139         * doc/posix-functions/printf.texi: Update.
97140         * doc/posix-functions/snprintf.texi: Update.
97141         * doc/posix-functions/sprintf.texi: Update.
97142         * doc/posix-functions/vfprintf.texi: Update.
97143         * doc/posix-functions/vprintf.texi: Update.
97144         * doc/posix-functions/vsnprintf.texi: Update.
97145         * doc/posix-functions/vsprintf.texi: Update.
97146         Reported by Peter Fales <psfales@alcatel-lucent.com>.
97148 2008-02-06  Bruno Haible  <bruno@clisp.org>
97150         Fix bug introduced on 2008-01-26.
97151         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
97153 2008-02-06  Bruno Haible  <bruno@clisp.org>
97155         Fix bug introduced on 2007-06-10.
97156         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
97157         !NEED_PRINTF_FLAG_ZERO.
97159 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
97161         getloadavg: use libperfstat on AIX5
97162         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
97164 2008-02-03  Bruno Haible  <bruno@clisp.org>
97166         * lib/diffseq.h: Add comments about required #includes.
97167         Reported by Michael Biggs <gnulib@doubleplum.net>.
97169 2008-02-01  Bruno Haible  <bruno@clisp.org>
97171         * users.txt: Add gnuit.
97173 2008-01-31  Bruno Haible  <bruno@clisp.org>
97175         * lib/md4.c (set_uint32): Mark as inline.
97176         * lib/md5.c (set_uint32): Likewise.
97177         * lib/sha1.c (set_uint32): Likewise.
97178         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
97179         * m4/md5.m4 (gl_MD5): Likewise.
97180         * m4/sha1.m4 (gl_SHA1): Likewise.
97182 2008-01-31  Jim Meyering  <meyering@redhat.com>
97184         Use "sizeof VAR", rather than a literal "4".
97185         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
97186         * lib/md4.c (md4_read_ctx): Likewise.
97187         * lib/sha1.c (sha1_read_ctx): Likewise.
97189 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97191         * tests/test-sha1.c: New file, based on test-md5.c.
97193         * modules/crypto/sha1-tests: New file.
97195 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97197         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
97199 2008-01-31  Jim Meyering  <meyering@redhat.com>
97201         Prefer "sizeof v" over the equivalent "4".
97202         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
97203         * lib/md5.c (set_uint32): Likewise.
97204         * lib/sha1.c (set_uint32): Likewise.
97206 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97208         * lib/sha1.c (set_uint32): Mark function as static.
97210 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97212         md2: clarify comments to say that alignment is not required.
97213         * lib/md2.h: Remove warning about alignment in comment.
97214         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
97215         never been required.
97217 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97219         md4: adapt alignment constraint fix from sha1.
97220         * lib/md4.c (set_uint32): New function, from sha1.c
97221         (md4_read_ctx): Use it.
97222         (md4_finish_ctx): Doc fix.
97223         * lib/md4.h: Doc fix.
97225 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97227         md5: adapt alignment constraint fix from sha1.
97228         * lib/md5.c (set_uint32): New function, from sha1.c
97229         (md5_read_ctx): Use it.
97230         (md5_finish_ctx): Doc fix.
97231         * lib/md5.h: Doc fix.
97233 2008-01-30  Peter Palfrader  <weasel@debian.org>
97235         sha1: remove the result buffer alignment constraint
97236         * lib/sha1.c (set_uint32): New function.
97237         (sha1_read_ctx): Rewrite to remove the result buffer alignment
97238         constraint.
97239         (sha1_finish_ctx): Remove comment warning about alignment constraint.
97240         * lib/sha1.h: Likewise.
97242 2008-01-30  Andreas Schwab  <schwab@suse.de>
97243             Bruno Haible  <bruno@clisp.org>
97245         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
97246         correct definition of LDBL_MIN_EXP.
97248 2008-01-30  Karl Berry  <karl@gnu.org>
97250         * config/srclist-update: try to preserve x bit on updates.
97251         * config/srclistvars.sh: update for karl.
97253 2008-01-29  Jim Meyering  <meyering@redhat.com>
97255         vasnprintf.c: Avoid warning about unused label
97256         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
97257         "overflow" label definition and associated code with the
97258         same cpp condition that guards the sole use of that label.
97260 2008-01-26  Bruno Haible  <bruno@clisp.org>
97262         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
97263         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
97264         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
97265         * lib/isnanl-nolibm.h (isnanl): Likewise.
97266         Reported by Paul Eggert <eggert@cs.ucla.edu>.
97268 2008-01-26  Bruno Haible  <bruno@clisp.org>
97270         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
97271         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
97273 2008-01-26  Bruno Haible  <bruno@clisp.org>
97275         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
97276         GCC >= 4.0 built-in.
97277         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
97279 2008-01-26  Bruno Haible  <bruno@clisp.org>
97281         Rename isnan, applicable to 'double' only, to isnand.
97282         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
97283         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
97284         (configure.ac): Update.
97285         (Include): Replace "isnan.h" with "isnand.h".
97286         * m4/isnand.m4: Renamed from m4/isnan.m4.
97287         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
97288         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
97289         instead of isnan.c.
97290         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
97291         instead of HAVE_ISNAN_IN_LIBC.
97292         (isnand): Renamed from isnan.
97293         * lib/isnand.c: New file.
97294         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
97295         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
97296         (Makefile.am): Update.
97297         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
97298         Include isnand.h instead of isnan.h.
97299         (main): Test isnand instead of isnan.
97300         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
97301         isnan-nolibm.
97302         * modules/frexp (Depends-on): Likewise.
97303         * modules/frexp-tests (Depends-on): Likewise.
97304         * modules/frexp-nolibm (Depends-on): Likewise.
97305         * modules/frexp-nolibm-tests (Depends-on): Likewise.
97306         * modules/isfinite (Depends-on): Likewise.
97307         * modules/round-tests (Depends-on): Likewise.
97308         * modules/signbit (Depends-on): Likewise.
97309         * modules/signbit-tests (Depends-on): Likewise.
97310         * modules/snprintf-posix (Depends-on): Likewise.
97311         * modules/sprintf-posix (Depends-on): Likewise.
97312         * modules/trunc-tests (Depends-on): Likewise.
97313         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
97314         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
97315         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
97316         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
97317         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
97318         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
97319         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
97320         * modules/vasnprintf-posix (Depends-on): Likewise.
97321         * modules/vasprintf-posix (Depends-on): Likewise.
97322         * modules/vfprintf-posix (Depends-on): Likewise.
97323         * modules/vsnprintf-posix (Depends-on): Likewise.
97324         * modules/vsprintf-posix (Depends-on): Likewise.
97325         * lib/frexp.c: Include isnand.h instead of isnan.h.
97326         (ISNAN): Set to isnand instead of isnan.
97327         * lib/isfinite.c: Include isnand.h instead of isnan.h.
97328         (gl_isfinited): Use isnand instead of isnan.
97329         * lib/signbitd.c: Include isnand.h instead of isnan.h.
97330         (gl_signbitd): Use isnand instead of isnan.
97331         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
97332         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
97333         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
97334         (main): Use isnand instead of isnan.
97335         * tests/test-round1.c: Include isnand.h.
97336         (main): Use isnand instead of isnan.
97337         * tests/test-round2.c: Include isnand.h instead of isnan.h.
97338         (ISNAN): Set to isnand instead of isnan.
97339         * tests/test-trunc1.c: Include isnand.h.
97340         (main): Use isnand instead of isnan.
97341         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
97342         (equal): Use isnand instead of isnan.
97343         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
97344         isnand-nolibm.
97345         * NEWS: Mention the change.
97347 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
97348             Bruno Haible  <bruno@clisp.org>
97350         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
97351         the GCC builtins for signbits are present and set
97352         REPLACE_SIGNBIT_USING_GCC if so.
97353         * lib/math.in.h (signbit): Define using GCC builtins if
97354         REPLACE_SIGNBIT_USING_GCC is set.
97355         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
97356         REPLACE_SIGNBIT_USING_GCC.
97357         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
97359 2008-01-25  Jim Meyering  <meyering@redhat.com>
97361         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
97362         * lib/poll.c: Include <config.h>, not "config.h".
97363         * tests/test-getaddrinfo.c: Likewise.
97365 2008-01-25  Simon Josefsson  <simon@josefsson.org>
97367         * modules/sockets-tests: New file.
97369 2008-01-24  Simon Josefsson  <simon@josefsson.org>
97371         * modules/sockets: New module, can be used to call WSA_Startup and
97372         WSA_Cleanup when needed.
97374         * lib/sockets.h, lib/sockets.c: New files.
97376         * m4/sockets.m4: New file.
97378         * tests/test-sockets.c: New file.
97380 2008-01-19  Bruno Haible  <bruno@clisp.org>
97382         * doc/posix-headers: Renamed from doc/headers.
97383         * doc/posix-functions: Renamed from doc/functions.
97384         * doc/gnulib.texi: Update.
97386 2008-01-19  Bruno Haible  <bruno@clisp.org>
97388         * doc/glibc-functions/strcasestr.texi: Include contents of
97389         doc/functions/strcasestr.texi, fixing the list of platforms.
97390         * doc/functions/strcasestr.texi: Remove file.
97392 2008-01-19  Bruno Haible  <bruno@clisp.org>
97394         * doc/glibc-functions/memmem.texi: Include contents of
97395         doc/functions/memmem.texi.
97396         * doc/functions/memmem.texi: Remove file.
97398 2008-01-18  Bruno Haible  <bruno@clisp.org>
97400         * doc/glibc-functions/*.texi: New files.
97401         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
97402         to use the new files.
97404 2008-01-17  Bruno Haible  <bruno@clisp.org>
97406         * tests/test-gethostname.c (main): Fix printf statement.
97408 2008-01-17  Simon Josefsson  <simon@josefsson.org>
97410         * modules/gethostname-tests: New file.
97412         * tests/test-gethostname.c: New file.
97414 2008-01-17  Simon Josefsson  <simon@josefsson.org>
97416         * lib/gethostname.c: Include string.h unconditionally, strncpy is
97417         used by the UNAME case.  Reported by Bruno Haible
97418         <bruno@clisp.org>.
97420 2008-01-17  Eric Blake  <ebb9@byu.net>
97422         Convert c-strcasestr to be more efficient.
97423         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
97424         (Depends-on): Add c-strcase, remove malloca, strnlen.
97425         * tests/test-c-strcasestr.c (main): Enhance test.
97426         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
97428 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
97430         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
97431         Use it in creating po/Makevars.
97433 2008-01-15  Simon Josefsson  <simon@josefsson.org>
97435         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
97436         Applications that requires it should initialize libgcrypt
97437         manually.
97439 2008-01-16  Simon Josefsson  <simon@josefsson.org>
97441         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
97443 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
97445         Fix problem with getdate on mingw32 reported by Simon Josefsson
97446         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
97447         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
97448         tzname", when deciding whether to declare tzname.
97449         * lib/strftime.c (tzname): Likewise.
97451 2008-01-15  Bruno Haible  <bruno@clisp.org>
97453         Work around a MacOS X 10.5 bug in frexpl().
97454         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
97455         * doc/functions/frexpl.texi: Document the bug.
97456         Reported by Elias Pipping <pipping@gentoo.org>.
97458 2008-01-14  Eric Blake  <ebb9@byu.net>
97460         Touch up previous patch.
97461         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
97462         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
97464         Convert strcasestr module to use Two-Way algorithm.
97465         * modules/strcasestr-simple: New module, based on the old
97466         strcasestr, but with Two-Way rather than KMP.
97467         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
97468         * lib/string.in.h (rpl_strcasestr): Declare.
97469         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
97470         performance.
97471         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
97472         * modules/string (Makefile.am): Support strcasestr.
97473         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
97474         * modules/strcasestr-tests (Depends-on): Check for alarm.
97475         * tests/test-strcasestr.c: Augment test.
97476         * lib/str-two-way.h: Clean up stray macro.
97477         * NEWS: Document new module.
97478         * MODULES.html.sh (string handling): Likewise.
97479         * doc/functions/strcasestr.texi: New file.
97480         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
97481         here, since it is not a POSIX function.
97483 2008-01-14  Colin Watson  <cjwatson@debian.org>
97484             Bruno Haible  <bruno@clisp.org>
97486         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
97487         works fine; if not, set REPLACE_STRSIGNAL.
97488         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
97489         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
97490         REPLACE_STRSIGNAL.
97491         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
97492         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
97493         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
97495 2008-01-14  Bruno Haible  <bruno@clisp.org>
97497         * modules/strsignal (Include): Change to <string.h>.
97499 2008-01-14  Colin Watson  <cjwatson@debian.org>
97501         * modules/argp (Notice): Add a notice recommending to change
97502         XGETTEXT_OPTIONS.
97503         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
97505 2008-01-13  Colin Watson  <cjwatson@debian.org>
97507         * modules/strsignal-tests: New file.
97508         * tests/test-strsignal.c: New file.
97510         * lib/strsignal.c: New file, from glibc with modifications.
97511         * lib/siglist.h: New file, from glibc with modifications.
97512         * lib/string.in.h (strsignal): New declaration.
97513         * m4/strsignal.m4: New file.
97514         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
97515         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
97516         * modules/strsignal: New file.
97517         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
97518         HAVE_DECL_STRSIGNAL.
97520 2008-01-13  Bruno Haible  <bruno@clisp.org>
97522         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
97523         locale encoding is not ASCII. Needed for OpenBSD 4.0.
97524         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
97525         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
97527 2008-01-13  Bruno Haible  <bruno@clisp.org>
97529         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
97530         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
97531         * lib/argp.h (__attribute__): Likewise.
97532         * lib/c-stack.c (__attribute__): Likewise.
97533         * lib/error.h (__attribute__): Likewise.
97534         * lib/fts.c (__attribute__): Likewise.
97535         * lib/openat.h (__attribute__): Likewise.
97536         * lib/stdio.in.h (__attribute__): Likewise.
97537         * lib/string.in.h (__attribute__): Likewise.
97538         * lib/utimens.c (__attribute__): Likewise.
97539         * lib/vasnprintf.h (__attribute__): Likewise.
97540         * lib/xalloc.h (__attribute__): Likewise.
97541         * lib/xprintf.h (__attribute__): Likewise.
97542         * lib/xstrtol.h (__attribute__): Likewise.
97543         * lib/xvasprintf.h (__attribute__): Likewise.
97545 2008-01-12  Bruno Haible  <bruno@clisp.org>
97547         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
97548         * doc/glibc-headers/a.out.texi: New file.
97549         * doc/glibc-headers/aliases.texi: New file.
97550         * doc/glibc-headers/alloca.texi: New file.
97551         * doc/glibc-headers/ar.texi: New file.
97552         * doc/glibc-headers/argp.texi: New file.
97553         * doc/glibc-headers/argz.texi: New file.
97554         * doc/glibc-headers/byteswap.texi: New file.
97555         * doc/glibc-headers/crypt.texi: New file.
97556         * doc/glibc-headers/endian.texi: New file.
97557         * doc/glibc-headers/envz.texi: New file.
97558         * doc/glibc-headers/err.texi: New file.
97559         * doc/glibc-headers/error.texi: New file.
97560         * doc/glibc-headers/execinfo.texi: New file.
97561         * doc/glibc-headers/fpu_control.texi: New file.
97562         * doc/glibc-headers/fstab.texi: New file.
97563         * doc/glibc-headers/fts.texi: New file.
97564         * doc/glibc-headers/getopt.texi: New file.
97565         * doc/glibc-headers/ieee754.texi: New file.
97566         * doc/glibc-headers/ifaddrs.texi: New file.
97567         * doc/glibc-headers/libintl.texi: New file.
97568         * doc/glibc-headers/mcheck.texi: New file.
97569         * doc/glibc-headers/mntent.texi: New file.
97570         * doc/glibc-headers/obstack.texi: New file.
97571         * doc/glibc-headers/paths.texi: New file.
97572         * doc/glibc-headers/printf.texi: New file.
97573         * doc/glibc-headers/pty.texi: New file.
97574         * doc/glibc-headers/resolv.texi: New file.
97575         * doc/glibc-headers/shadow.texi: New file.
97576         * doc/glibc-headers/sysexits.texi: New file.
97577         * doc/glibc-headers/ttyent.texi: New file.
97579 2008-01-12  Jim Meyering  <meyering@redhat.com>
97581         announce-gen: emit Gnulib's git-based version string.
97582         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
97583         New option --gnulib-version=V, where V is expected to be
97584         the output of running git describe in the gnulib directory.
97585         (get_tool_versions): Request feedback on xdelta.  I suspect it's
97586         not useful, and plan to stop publishing an xdelta file with each
97587         coreutils release.
97589         * build-aux/announce-gen: Also check for lzma-compressed files.
97591 2008-01-11  Bruno Haible  <bruno@clisp.org>
97593         * tests/test-memmem.c (main): Increase maximum allowed time.
97594         * tests/test-strstr.c (main): Likewise.
97596 2008-01-11  Bruno Haible  <bruno@clisp.org>
97598         * doc/functions/memmem.texi: Add more precisions about platforms.
97599         * doc/functions/strstr.texi: Likewise.
97601 2008-01-10  Eric Blake  <ebb9@byu.net>
97603         * m4/strstr.m4: Delete cruft from copy-n-paste.
97604         Reported by Bruno Haible.
97606 2008-01-10  Bruno Haible  <bruno@clisp.org>
97608         Make c-strstr rely on strstr.
97609         * lib/c-strstr.c: Don't include str-kmp.h.
97610         (c_strstr): Define in terms of strstr.
97611         * modules/c-strstr (Files): Remove lib/str-kmp.h.
97612         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
97614 2008-01-10  Bruno Haible  <bruno@clisp.org>
97616         * doc/gnulib.texi (String Functions in C Locale): New section.
97617         * doc/c-ctype.texi: New file.
97618         * doc/c-strcase.texi: New file.
97619         * doc/c-strcaseeq.texi: New file.
97620         * doc/c-strcasestr.texi: New file.
97621         * doc/c-strstr.texi: New file.
97622         * doc/c-strtod.texi: New file.
97623         * doc/c-strtold.texi: New file.
97625 2008-01-10  Eric Blake  <ebb9@byu.net>
97627         * lib/relocatable.h: Fix a comment.
97629 2008-01-10  Eric Blake  <ebb9@byu.net>
97631         Share two-way algorithm.
97632         * lib/str-two-way.h: New file, merged from...
97633         * lib/memmem.c: ...here...
97634         * lib/strstr.c: ...and here.
97635         * modules/memmem (Files): Use it.
97636         * modules/strstr (Files): Likewise.
97638         Avoid quadratic strstr implementations.
97639         * lib/strstr.c: New file.
97640         * m4/strstr.m4: Likewise.
97641         * modules/strstr: Likewise.
97642         * modules/strstr-tests: Likewise.
97643         * tests/test-strstr.c: Likewise.
97644         * lib/string.in.h (rpl_strstr): Declare.
97645         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
97646         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
97647         * modules/string (Makefile.am): Likewise.
97648         * MODULES.html.sh (string handling): Mention new module.
97649         * doc/functions/strstr.texi (strstr): Document the bug.
97651 2008-01-10  Bruno Haible  <bruno@clisp.org>
97653         * lib/relocatable.h (relocate): State whether result is freshly
97654         allocated or not.
97655         * lib/relocatable.c (relocate): Return a freshly allocated string
97656         instead of a pointer to a privately held string.
97657         Reported by Sylvain Beucler <beuc@gnu.org>.
97659 2008-01-10  Colin Watson  <cjwatson@debian.org>
97661         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
97662         s/S_ISNLK/S_ISLNK/.
97664 2008-01-09  Bruno Haible  <bruno@clisp.org>
97666         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
97667         and other files.
97668         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
97669         if it's only a guess.
97670         * modules/memmem: Simplify by depending on memmem-simple.
97672 2008-01-09  Bruno Haible  <bruno@clisp.org>
97674         Work around OpenBSD 4.0 tdelete() bug.
97675         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
97676         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
97677         macros and don't redefine the enum values.
97678         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
97679         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
97680         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
97682 2008-01-09  Bruno Haible  <bruno@clisp.org>
97684         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
97685         (main): Don't perform the tests if setlocale did not install a UTF-8
97686         locale. Needed on OpenBSD 4.0.
97687         * modules/wcwidth-tests (Depends-on): Add localcharset.
97689 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
97691         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
97692         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
97693         * NEWS: announce this.
97694         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
97696 2008-01-09  Simon Josefsson  <simon@josefsson.org>
97697         and Eric Blake  <ebb9@byu.net>
97699         Add memmem-simple module.
97700         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
97701         (gl_FUNC_MEMMEM): Separate performance from presence checks.
97702         * modules/memmem-simple: New file.
97703         * modules/memmem (Description): Tweak.
97704         * MODULES.html.sh (string handling): Mention new module.
97705         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
97706         addressed by memmem-simple.
97707         * NEWS: Document the difference.
97709 2008-01-09  Eric Blake  <ebb9@byu.net>
97711         Give gcc some memmem optimization hints.
97712         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
97713         (strcasestr): Declare as pure.
97714         * modules/memmem (Maintainer): Claim my implementation.
97716 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97718         Support AIX 6.1 and higher.
97719         * build-aux/config.libpath: Likewise.
97720         * build-aux/config.rpath: Likewise.
97722 2008-01-08  Jim Meyering  <meyering@redhat.com>
97723             Bruno Haible  <bruno@clisp.org>
97725         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
97726         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
97727         Reported by Peter Fales in
97728         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
97730 2008-01-08  Bruno Haible  <bruno@clisp.org>
97732         * modules/unictype/category-of (Depends-on): Add
97733         unictype/category-none.
97734         * modules/unictype/category-and-tests (Depends-on): Add
97735         unictype/category-{L,N,Lu,Nd}.
97736         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
97737         * modules/unictype/category-or-tests (Depends-on): Add
97738         unictype/category-{L,N}.
97739         * modules/unictype/category-name-tests (Depends-on): Add
97740         unictype/category-{Z,Nl}.
97741         Reported by Simon Josefsson.
97743 2008-01-08  Bruno Haible  <bruno@clisp.org>
97745         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
97746         convention better.
97747         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
97748         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
97749         Reported by Peter Miller <millerp@canb.auug.org.au>.
97751 2008-01-08  Eric Blake  <ebb9@byu.net>
97753         Rewrite memmem to guarantee linear complexity without malloc.
97754         * lib/memmem.c (memmem): Use Two-Way rather than
97755         Knuth-Morris-Pratt, to allow O(1) space usage.
97756         (critical_factorization, two_way_short_needle)
97757         (two_way_long_needle): New functions.
97758         (knuth_morris_pratt): Delete.
97759         * modules/memmem (Depends-on): No longer need malloca or stdbool.
97760         Add stdint.
97761         * tests/test-memmem.c (main): Add tests for periodic needle and
97762         sublinear performance.
97763         * doc/functions/memmem.texi (memmem): Document other deficiencies
97764         in cygwin and older glibc.
97766 2008-01-08  Bruno Haible  <bruno@clisp.org>
97768         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
97769         augmentation.
97771 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
97773         Add a configure time option: --disable-acl.
97774         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
97775         AC_ARG_ENABLE(acl).
97777 2008-01-06  Simon Josefsson  <simon@josefsson.org>
97779         * tests/test-localename.c: Don't include obsolete "setenv.h".
97781         * modules/localename-tests (Depends-on): Need unsetenv.
97783 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97785         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
97787 2008-01-06  Colin Watson  <cjwatson@debian.org>
97789         * users.txt: Add man-db.
97791 2008-01-07  Bruno Haible  <bruno@clisp.org>
97793         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
97794         previous section name.
97796 2008-01-07  Bruno Haible  <bruno@clisp.org>
97798         * lib/progname.c (set_program_name): Don't strip off a leading
97799         "lt-" prefix outside a .libs directory.
97800         Suggested by Paul Eggert.
97802 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
97803             Bruno Haible  <bruno@clisp.org>
97805         Improve memory cleanup in 'relocatable' module.
97806         * lib/relocatable.h (compute_curr_prefix): Change return type to
97807         'char *'.
97808         * lib/relocatable.c (compute_curr_prefix): Change return type to
97809         'char *'. Free curr_installdir after use.
97810         (relocate): Free curr_prefix_better after use.
97811         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
97813 2008-01-01  Bruno Haible  <bruno@clisp.org>
97815         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
97816         failure on older glibc systems.
97817         Reported by Peter Fales <psfales@alcatel-lucent.com>.
97819 2008-01-05  Eric Blake  <ebb9@byu.net>
97821         Avoid quadratic system memmem.
97822         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
97823         Reported by Ralf Wildenhues.
97825         Fix memmem test for mingw.
97826         * modules/memmem-tests (configure.ac): Check for alarm.
97827         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
97828         it.
97829         * doc/functions/memmem.texi: New file.
97830         * doc/gnulib.texi (Function Substitutes): Add memmem.
97831         Reported by Bruno Haible.
97833 2008-01-04  Bruno Haible  <bruno@clisp.org>
97835         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
97836         Require gl_HEADER_STRINGS_H_DEFAULTS, not
97837         gl_HEADER_STRING_H_DEFAULTS.
97839 2008-01-04  Eric Blake  <ebb9@byu.net>
97841         Shorten duration of memmem test.
97842         * tests/test-memmem.c (main): Use alarm to declare failure if test
97843         is taking too long.
97844         Reported by Ralf Wildenhues.
97846 2007-12-21  Simon Josefsson  <simon@josefsson.org>
97848         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
97849         string, needed by strerror.
97851 2008-01-03  Colin Watson  <cjwatson@debian.org>
97852             Bruno Haible  <bruno@clisp.org>
97854         * doc/gnulib-tool.texi (Localization): New section.
97856 2008-01-02  Bruno Haible  <bruno@clisp.org>
97858         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
97859         variables to 'unsigned char *' type.
97860         Reported by Paul Eggert.
97862 2008-01-02  Jim Meyering  <jim@meyering.net>
97864         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
97866 2007-12-31  Jim Meyering  <jim@meyering.net>
97868         Avoid use of private FTS type name.
97869         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
97871 2007-12-30  Karl Berry  <karl@gnu.org>
97873         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
97874         work around defect in Texinfo and/or the standalone Info browser.
97876 2007-12-30  Bruno Haible  <bruno@clisp.org>
97878         Unify 5 copies of the KMP code.
97879         * lib/str-kmp.h: New file.
97880         * lib/c-strcasestr.c: Include str-kmp.h.
97881         (knuth_morris_pratt): Remove function.
97882         (c_strcasestr): Update.
97883         * lib/c-strstr.c: Include str-kmp.h.
97884         (knuth_morris_pratt): Remove function.
97885         (c_strcasestr): Update.
97886         * lib/mbscasestr.c: Include str-kmp.h.
97887         (knuth_morris_pratt_unibyte): Remove function.
97888         * lib/mbsstr.c: Include str-kmp.h.
97889         (knuth_morris_pratt_unibyte): Remove function.
97890         * lib/strcasestr.c: Include str-kmp.h.
97891         (knuth_morris_pratt): Remove function.
97892         (strcasestr): Update.
97893         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
97894         * modules/c-strstr (Files): Likewise.
97895         * modules/mbscasestr (Files): Likewise.
97896         * modules/mbsstr (Files): Likewise.
97897         * modules/strcasestr (Files): Likewise.
97898         Suggested by Paul Eggert.
97900 2007-12-30  Bruno Haible  <bruno@clisp.org>
97902         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
97903         defined.
97905 2007-12-30  Bruno Haible  <bruno@clisp.org>
97907         * lib/xmalloca.h: Include xalloc.h.
97908         (xnmalloca): New macro.
97910 2007-12-30  Bruno Haible  <bruno@clisp.org>
97912         * lib/malloca.h (nmalloca): New macro.
97913         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
97914         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
97915         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
97916         knuth_morris_pratt_multibyte): Likewise.
97917         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
97918         knuth_morris_pratt_multibyte): Likewise.
97919         * lib/memmem.c (knuth_morris_pratt): Likewise.
97920         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
97922 2007-12-25  Bruno Haible  <bruno@clisp.org>
97924         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
97925         * lib/glob.c: Don't include openat.h.
97926         (link_exists2_p): Add back the code that deals with the
97927         !GLOB_ALTDIRFUNC case.
97928         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
97929         let it do the filename concatenation.
97930         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
97931         * modules/glob (Depends-on): Remove openat.
97933 2007-12-31  Bruno Haible  <bruno@clisp.org>
97935         * modules/dirfd (License): Change to LGPLv2+.
97936         Approved by Jim Meyering.
97938 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
97940         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
97941         when multiplying M by sizeof (size_t).
97943 2007-12-10  Martin Lambers  <marlam@marlam.de>
97945         Override getpagesize on mingw.
97946         * lib/getpagesize.c: New file.
97947         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
97948         * modules/getpagesize (Files): Add lib/getpagesize.c.
97949         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
97950         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
97951         REPLACE_GETPAGESIZE.
97952         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
97954 2007-12-25  Bruno Haible  <bruno@clisp.org>
97956         * modules/localcharset (Notice): New field.
97957         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
97958         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
97960 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
97961             Bruno Haible  <bruno@clisp.org>
97963         Avoid using the syntax symbol() in formatted documentation.
97964         * MODULES.html.sh (func_module): When replacing symbol() with a
97965         hyperlink, remove the parentheses. Show an error if some remain.
97966         Recognize and render the '...' syntax.
97967         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
97968         Rework. Add paragraph about GCC's inlining.
97969         * doc/alloca.texi: Likewise.
97970         * doc/error.texi: Remove parentheses from symbol reference.
97971         * doc/gnulib-intro.texi: Likewise.
97972         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
97973         * modules/fnmatch (Description): Reword to say "the ... function".
97974         * modules/full-read (Description): Likewise.
97975         * modules/full-write (Description): Likewise.
97976         * modules/safe-read (Description): Likewise.
97977         * modules/safe-write (Description): Likewise.
97978         * modules/strchrnul (Description): Likewise.
97979         * modules/trim (Description): Likewise.
97980         * modules/error (Description): Remove parentheses from symbol
97981         references.
97982         * modules/verror (Description): Likewise.
97983         Reported by Karl Berry.
97985 2007-12-25  Bruno Haible  <bruno@clisp.org>
97987         Fixup after 2007-10-16 commit.
97988         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
97990 2007-12-24  Bruno Haible  <bruno@clisp.org>
97992         Make --enable-relocatable work with DESTDIR.
97993         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
97994         to compute installdir from destprog.
97995         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
97996         also set the RELOC_DESTDIR variable.
97997         Reported by Левашев Иван <octagram@bluebottle.com>.
97999 2007-12-24  Bruno Haible  <bruno@clisp.org>
98001         Fix link error due to xalloc_die().
98002         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
98003         of xreadlink.
98004         * lib/relocwrapper.c: Update comments.
98005         * build-aux/install-reloc: Remove xreadlink.c from file list.
98006         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
98007         xreadlink.c.
98008         Reported by Левашев Иван <octagram@bluebottle.com>.
98010 2007-12-24  Bruno Haible  <bruno@clisp.org>
98012         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
98013         * lib/setenv.h: Remove file.
98014         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
98015         lib/setenv.h.
98016         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
98017         (Depends-on): Add stdlib.
98018         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
98019         gl_FUNC_UNSETENV.
98020         (Include): Replace setenv.h with <stdlib.h>.
98021         * modules/unsetenv: New file.
98022         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
98023         * lib/unsetenv.c: Include <stdlib.h> first.
98024         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
98025         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
98026         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
98027         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
98028         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
98029         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
98030         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
98031         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
98032         * doc/functions/unsetenv.texi: Update.
98033         * modules/xsetenv (Depends-on): Add unsetenv.
98034         * modules/getdate (Depends-on): Likewise.
98035         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
98036         * lib/xsetenv.c: Don't include setenv.h.
98037         * lib/getdate.y: Likewise.
98038         * lib/relocwrapper.c: Likewise.
98039         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
98040         (Depends-on): Add stdlib.
98041         * NEWS: Mention the changes.
98042         Reported by Левашев Иван <octagram@bluebottle.com>.
98044 2007-12-23  Bruno Haible  <bruno@clisp.org>
98046         * lib/memmem.c (memmem): Use lowercase variable names. Tab
98047         indentation.
98049 2007-12-23  Bruno Haible  <bruno@clisp.org>
98051         * lib/c-strcasestr.c: Add more comments.
98052         * lib/c-strstr.c: Likewise.
98053         * lib/mbscasestr.c: Likewise.
98054         * lib/mbsstr.c: Likewise.
98055         * lib/strcasestr.c: Likewise.
98056         * lib/memmem.c: Likewise.
98058 2007-12-23  Bruno Haible  <bruno@clisp.org>
98060         * tests/test-memmem.c: Include <string.h> first.
98062 2007-12-22  Bruno Haible  <bruno@clisp.org>
98064         * gnulib-tool (func_create_testdir): Change $auxdir while generating
98065         the contents of $testsbase.
98066         Reported by Ralf Wildenhues.
98068 2007-12-22  Bruno Haible  <bruno@clisp.org>
98070         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
98071         two variables local_ldadd_before, local_ldadd_last.
98073 2007-12-20  Eric Blake  <ebb9@byu.net>
98075         Work around circular library issue when cross-compiling.
98076         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
98077         that progname.o does not need to pull in rpl_memcmp.
98079 2007-12-19  Eric Blake  <ebb9@byu.net>
98081         Fix memmem to avoid O(n^2) worst-case complexity.
98082         * lib/memmem.c (knuth_morris_pratt): New function.
98083         (memmem): Use it if first few naive iterations fail.
98084         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
98085         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
98086         * modules/memchr (License): Likewise.
98087         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
98088         malloca.
98089         * tests/test-memmem.c: Rewrite, borrowing ideas from
98090         test-mbsstr1.c; the old version wouldn't even compile!
98091         * modules/memmem-tests: New file.
98092         * lib/string.in.h (rpl_memmem): Add declaration.
98093         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
98094         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
98095         REPLACE_MEMMEM.
98097 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
98099         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
98100         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
98101         before any system include files, and undef after them all.  This
98102         should fix a problem on VMS reported by John E. Malmberg in
98103         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
98105 2007-12-17  Eric Blake  <ebb9@byu.net>
98107         Revert addition of verify, for BSD/OS.
98108         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
98109         can't handle large files, for the sake of obsolete platforms.
98110         * modules/fseeko (Depends-on): Remove verify.
98111         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
98112         * doc/functions/ftello.texi (ftello): Likewise.
98113         * doc/functions/fgetpos.texi (fgetpos): Likewise.
98114         Reported by Larry Jones.
98116 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
98118         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
98119         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
98121 2007-12-17  Jim Meyering  <meyering@redhat.com>
98123         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
98124         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
98125         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
98126         * modules/getcwd (Depends-on): Add openat.
98127         Reported by Petr Salinger.
98129 2007-12-17  Bruno Haible  <bruno@clisp.org>
98131         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
98132         avoid a segmentation fault of the configure test on x86_64 systems.
98134 2007-12-15  Jim Meyering  <meyering@redhat.com>
98136         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
98138 2007-12-13  Eric Blake  <ebb9@byu.net>
98140         Another fseek test.
98141         * tests/test-fseek.c (main): Also test ungetc handling.
98142         * tests/test-fseeko.c (main): Likewise.
98143         * modules/fseeko (Depends-on): Add verify.
98144         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
98145         large.
98146         Reported by Larry Jones.
98148         Fix fseeko on mingw.
98149         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
98150         seek.
98152         Beef up fseek tests.
98153         * tests/test-fseek.c (main): Also test eof handling.
98154         * tests/test-fseeko.c (main): Likewise.
98155         Reported by Larry Jones.
98157 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
98159         Fix fseeko on BSD-based platforms.
98160         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
98161         successful seek.
98163 2007-12-12  Eric Blake  <ebb9@byu.net>
98165         Allow circular dependency of separate libtests.a
98166         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
98167         when use_libtests.
98169 2007-12-11  Eric Blake  <ebb9@byu.net>
98171         Fix bug with -0.0L in previous patch.
98172         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
98173         * tests/test-isnan.c (main): Also test on zeroes.
98174         * tests/test-isnanf.c (main): Likewise.
98175         * tests/test-isnanl.h (main): Likewise.
98177         Detect pseudo-denormals on x86 even when cross-compiling.
98178         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
98179         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
98180         invalid bit patterns that happen to satisfy ==.
98182         Avoid link failures with separate libtests.a.
98183         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
98184         last, to satisfy circular dependencies.
98186 2007-12-11  Eric Blake  <ebb9@byu.net>
98187         and Bruno Haible  <bruno@clisp.org>
98189         Fix OpenBSD 4.0 <float.h> handling of long double.
98190         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
98191         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
98192         * doc/headers/float.texi (float.h): Document OpenBSD bug.
98194 2007-12-11  Jim Meyering  <meyering@redhat.com>
98196         * users.txt: Add libvirt.
98198         Support versions of autoconf prior to 2.59c.
98199         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
98200         if it is not already defined.
98202 2007-12-09  Bruno Haible  <bruno@clisp.org>
98204         Let 'gnulib-tool --import' collect sources needed for the tests in
98205         tests/ rather than in lib/.
98206         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
98207         argument. If true, add rules to generate libtests.a, and put libtests.a
98208         into $(LDADD). Consider source files in subdirectories and set
98209         uses_subdirs.
98210         (func_emit_initmacro_start, func_emit_initmacro_end,
98211         func_emit_initmacro_done): Pass all arguments explicitly.
98212         (func_import): Determine two module lists main_modules,
98213         testsrelated_modules. Determine use_libtests. Determine two variables
98214         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
98215         instead of just sed_transform_lib_file. Determine two variables
98216         main_files and testsrelated_files. Compute 'files' as the union of
98217         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
98218         func_add_or_update. In the generated gnulib-comp.m4, collect the
98219         object files for tests/ in different variables than those for lib/.
98220         Substitute LIBTESTS_LIBDEPS.
98221         (func_create_testdir): Combine the uses_subdirs results from
98222         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
98224 2007-12-09  Bruno Haible  <bruno@clisp.org>
98226         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
98227         the build-aux directory.
98229 2007-12-09  Bruno Haible  <bruno@clisp.org>
98231         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
98232         introduced on 2006-09-09.
98234 2007-12-07  Jim Meyering  <meyering@redhat.com>
98236         Let these macros work also with autoconf-2.59.
98237         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
98238         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
98239         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
98241 2007-12-06  Jim Meyering  <meyering@redhat.com>
98243         Avoid a configure-time syntax error in gl_FUNC_ACL.
98244         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
98245         function in each branch, before testing the cache variable.
98247 2007-12-04  Eric Blake  <ebb9@byu.net>
98249         Make scripts executable.
98250         * build-aux/config.guess: Add execute permissions.
98251         * build-aux/config.sub: Likewise.
98252         * build-aux/gendocs.sh: Likewise.
98254         Fix frexp on mingw.
98255         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
98256         cross-compiling.
98257         * doc/functions/frexp.texi (frexp): Document the bug.
98259         Make cygwin fseeko check more reliable.
98260         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
98261         version numbers, rather than unrelated feature check.
98262         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
98263         * doc/functions/ftello.texi (ftello): Likewise.
98264         Reported by Bruno Haible.
98266         * m4/strerror.m4: Bump version number.
98268 2007-12-03  Bruno Haible  <bruno@clisp.org>
98270         * doc/functions/mprotect.texi: Mention the mingw problem.
98272 2007-12-03  Eric Blake  <ebb9@byu.net>
98274         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
98275         REPLACE_STRERROR is initialized before this macro.
98277 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
98279         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
98280         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
98281         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
98282         put -lsec in even for programs other than 'ls'.  This fixes a problem
98283         for gettext reported by Bruno Haible in
98284         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
98285         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
98286         Add support for Solaris 10.  This isn't efficient, but should get the
98287         job done for now.
98289 2007-12-03  James Youngman  <jay@gnu.org>
98291         * doc/regexprops-generic.texi: change "an close-group" to "a
98292         close-group" and "illegal" to "not allowed".
98294 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98296         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
98297         pr_byname.h. Needed for the rare case when the maintainer has done
98298         "make maintainer-clean" in the source directory and then attempts a
98299         build outside the source directory.
98300         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
98301         scripts_byname.h.
98303 2007-12-02  Martin Lambers  <marlam@marlam.de>
98304             Bruno Haible  <bruno@clisp.org>
98306         * lib/getpagesize.h: Remove file.
98307         * lib/unistd.in.h: Include declaration of getpagesize here.
98308         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
98309         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
98310         HAVE_SYS_PARAM_H.
98311         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
98312         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
98313         * modules/getpagesize (Files): Remove lib/getpagesize.h.
98314         (Depends-on): Add unistd.
98315         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
98316         (Include): Use <unistd.h> instead of getpagesize.h.
98317         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
98318         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
98319         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
98320         gl_GETPAGESIZE invocation, already handled by module dependency.
98321         * lib/pagealign_alloc.c: Don't include getpagesize.h.
98323 2007-12-02  Bruno Haible  <bruno@clisp.org>
98325         * modules/strings-tests: New file.
98326         * tests/test-strings.c: New file.
98328         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
98329         * lib/strings.in.h: New file.
98330         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
98331         * m4/strings_h.m4: New file.
98332         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
98333         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
98334         * modules/strings: New file.
98335         * modules/string (Makefile.am): Update.
98336         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
98337         Reported by Karl Berry.
98339 2007-12-01  Eric Blake  <ebb9@byu.net>
98341         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
98342         accommodate fix in cygwin 1.5.25.
98344 2007-12-01  Jim Meyering  <meyering@redhat.com>
98346         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
98347         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
98348         that would inhibit utf8-optimization of a regexp containing line-
98349         or buffer-anchors, e.g., `^', `$'.
98351 2007-11-30  Bruno Haible  <bruno@clisp.org>
98353         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
98354         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
98355         glthread_recursive_lock_init.
98356         * lib/lock.c (glthread_recursive_lock_init)
98357         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
98358         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
98360 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
98362         New function qset_acl, like set_acl but with syscall semantics.
98363         * lib/acl.h (qset_acl): New decl.
98364         * lib/acl.c (qset_acl): New function.
98365         (set_acl): Use new function.  Use more-consistent diagnostics.
98367 2007-11-28  Jim Meyering  <meyering@redhat.com>
98369         * modules/physmem (License): Change from GPL to LGPLv2+.
98371 2007-11-26  Bruno Haible  <bruno@clisp.org>
98373         * lib/vasnprintf.c (decode_long_double): Don't abort if the
98374         'long double' type has excess precision.
98375         Reported by Jim Meyering in
98376         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
98378 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98380         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
98381         Sync from <http://gnu.org/licenses>.
98382         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
98383         with license text from same location.
98384         * doc/maintain.texi, doc/standards.texi:  Sync from
98385         <http://savannah.gnu.org/projects/gnustandards>.
98387 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
98388         and Jim Meyering  <meyering@redhat.com>
98390         Adjust getdate' grammar to accept a slightly more regular language.
98391         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
98392         Before, the former was rejected.
98393         * lib/getdate.y (digits_to_date_time): New function, factored
98394         out of ...
98395         (number): ...here.  Just call digits_to_date_time.
98396         (hybrid): New non-terminal to handle an <unsigned number,
98397         signed relative offset> sequence consistently.
98399 2007-11-18  Jim Meyering  <meyering@redhat.com>
98401         Pull my changes from coreutils:
98402         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
98403         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
98404         use of $gnulib_tool_option_extras, so that it's separated from the
98405         preceding argument.
98407         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
98408         * build-aux/bootstrap (cp_mark_as_generated): Create any required
98409         parent destination directories before copying a file into place.
98411 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
98413         bootstrap: work also with 4-argument variant of AC_INIT
98414         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
98416 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
98418         Port test-getaddrinfo to Solaris.
98419         Problem reported by Bruno Haible in
98420         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
98421         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
98422         explanation of setting 'hints'.
98423         Don't reject an implementation merely because it returns EAI_SERVICE.
98424         (EAI_SERVICE): Define to 0 if not defined.
98426 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
98428         The license of gnu-make and posix-shell is now "GPLed build tool".
98429         * modules/gnu-make (License): Likewise.
98430         * modules/posix-shell (License): Likewise.
98432         New module posix-shell, for determining a POSIX shell
98433         or perhaps something that is close enough to a POSIX shell.
98434         * m4/posix-shell.m4: New file.
98435         * modules/posix-shell: New file.
98437         * MODULES.html.sh: Mention new module.
98439         New module gnu-make, for determining whether we're using GNU Make.
98440         * m4/gnu-make.m4: New file.
98441         * modules/gnu-make: New file.
98442         * MODULES.html.sh: Mention new module.
98444 2007-11-14  Jim Meyering  <meyering@redhat.com>
98446         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
98447         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
98448         use this macro to create a function _definition_.
98449         Remove useless "#undef ARGMATCH_DIE".
98451 2007-11-14  Bruno Haible  <bruno@clisp.org>
98453         * lib/config.charset: Update for OpenBSD 4.1.
98454         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
98456 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
98458         Document 64-bit #if problems in stdint.texi.
98459         * doc/headers/stdint.texi (stdint.h): Mention problems with
98460         64-bit-#if, and how to work around them.
98462         Don't insist on 'long long int' support in the preprocessor.  It
98463         breaks too many things.  For example, PRIdMAX still uses a 'long
98464         long int' format with the latest Sun compiler, even though
98465         HAVE_LONG_LONG_INT isn't defined due to that compiler's
98466         preprocessor problem.  This causes the latest coreutils to dump
98467         core on Solaris 10 sparc with the Sun C compiler.
98468         Instead, fix the 2007-10-16 problem in a different way, by evaluating
98469         the troublesome expressions at configure-time, not at #if-time.
98470         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
98471         preprocessor.
98472         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
98473         compile-time C checks, done at 'configure'-time.
98474         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
98475         * modules/inttypes (Makefile): Substitute the new symbols that
98476         gl_INTTYPES_H now generates.
98477         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
98479 2007-11-12  Bruno Haible  <bruno@clisp.org>
98481         Tests for Unicode character classification functions.
98483         * modules/unictype/bidicategory-byname-tests: New file.
98484         * modules/unictype/bidicategory-name-tests: New file.
98485         * modules/unictype/bidicategory-of-tests: New file.
98486         * modules/unictype/bidicategory-test-tests: New file.
98487         * modules/unictype/block-list-tests: New file.
98488         * modules/unictype/block-of-tests: New file.
98489         * modules/unictype/block-test-tests: New file.
98490         * modules/unictype/category-C-tests: New file.
98491         * modules/unictype/category-Cc-tests: New file.
98492         * modules/unictype/category-Cf-tests: New file.
98493         * modules/unictype/category-Cn-tests: New file.
98494         * modules/unictype/category-Co-tests: New file.
98495         * modules/unictype/category-Cs-tests: New file.
98496         * modules/unictype/category-L-tests: New file.
98497         * modules/unictype/category-Ll-tests: New file.
98498         * modules/unictype/category-Lm-tests: New file.
98499         * modules/unictype/category-Lo-tests: New file.
98500         * modules/unictype/category-Lt-tests: New file.
98501         * modules/unictype/category-Lu-tests: New file.
98502         * modules/unictype/category-M-tests: New file.
98503         * modules/unictype/category-Mc-tests: New file.
98504         * modules/unictype/category-Me-tests: New file.
98505         * modules/unictype/category-Mn-tests: New file.
98506         * modules/unictype/category-N-tests: New file.
98507         * modules/unictype/category-Nd-tests: New file.
98508         * modules/unictype/category-Nl-tests: New file.
98509         * modules/unictype/category-No-tests: New file.
98510         * modules/unictype/category-P-tests: New file.
98511         * modules/unictype/category-Pc-tests: New file.
98512         * modules/unictype/category-Pd-tests: New file.
98513         * modules/unictype/category-Pe-tests: New file.
98514         * modules/unictype/category-Pf-tests: New file.
98515         * modules/unictype/category-Pi-tests: New file.
98516         * modules/unictype/category-Po-tests: New file.
98517         * modules/unictype/category-Ps-tests: New file.
98518         * modules/unictype/category-S-tests: New file.
98519         * modules/unictype/category-Sc-tests: New file.
98520         * modules/unictype/category-Sk-tests: New file.
98521         * modules/unictype/category-Sm-tests: New file.
98522         * modules/unictype/category-So-tests: New file.
98523         * modules/unictype/category-Z-tests: New file.
98524         * modules/unictype/category-Zl-tests: New file.
98525         * modules/unictype/category-Zp-tests: New file.
98526         * modules/unictype/category-Zs-tests: New file.
98527         * modules/unictype/category-and-not-tests: New file.
98528         * modules/unictype/category-and-tests: New file.
98529         * modules/unictype/category-byname-tests: New file.
98530         * modules/unictype/category-name-tests: New file.
98531         * modules/unictype/category-none-tests: New file.
98532         * modules/unictype/category-of-tests: New file.
98533         * modules/unictype/category-or-tests: New file.
98534         * modules/unictype/category-test-withtable-tests: New file.
98535         * modules/unictype/combining-class-tests: New file.
98536         * modules/unictype/ctype-alnum-tests: New file.
98537         * modules/unictype/ctype-alpha-tests: New file.
98538         * modules/unictype/ctype-blank-tests: New file.
98539         * modules/unictype/ctype-cntrl-tests: New file.
98540         * modules/unictype/ctype-digit-tests: New file.
98541         * modules/unictype/ctype-graph-tests: New file.
98542         * modules/unictype/ctype-lower-tests: New file.
98543         * modules/unictype/ctype-print-tests: New file.
98544         * modules/unictype/ctype-punct-tests: New file.
98545         * modules/unictype/ctype-space-tests: New file.
98546         * modules/unictype/ctype-upper-tests: New file.
98547         * modules/unictype/ctype-xdigit-tests: New file.
98548         * modules/unictype/decimal-digit-tests: New file.
98549         * modules/unictype/digit-tests: New file.
98550         * modules/unictype/mirror-tests: New file.
98551         * modules/unictype/numeric-tests: New file.
98552         * modules/unictype/property-alphabetic-tests: New file.
98553         * modules/unictype/property-ascii-hex-digit-tests: New file.
98554         * modules/unictype/property-bidi-arabic-digit-tests: New file.
98555         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
98556         * modules/unictype/property-bidi-block-separator-tests: New file.
98557         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
98558         * modules/unictype/property-bidi-common-separator-tests: New file.
98559         * modules/unictype/property-bidi-control-tests: New file.
98560         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
98561         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
98562         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
98563         * modules/unictype/property-bidi-european-digit-tests: New file.
98564         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
98565         * modules/unictype/property-bidi-left-to-right-tests: New file.
98566         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
98567         * modules/unictype/property-bidi-other-neutral-tests: New file.
98568         * modules/unictype/property-bidi-pdf-tests: New file.
98569         * modules/unictype/property-bidi-segment-separator-tests: New file.
98570         * modules/unictype/property-bidi-whitespace-tests: New file.
98571         * modules/unictype/property-byname-tests: New file.
98572         * modules/unictype/property-combining-tests: New file.
98573         * modules/unictype/property-composite-tests: New file.
98574         * modules/unictype/property-currency-symbol-tests: New file.
98575         * modules/unictype/property-dash-tests: New file.
98576         * modules/unictype/property-decimal-digit-tests: New file.
98577         * modules/unictype/property-default-ignorable-code-point-tests: New file.
98578         * modules/unictype/property-deprecated-tests: New file.
98579         * modules/unictype/property-diacritic-tests: New file.
98580         * modules/unictype/property-extender-tests: New file.
98581         * modules/unictype/property-format-control-tests: New file.
98582         * modules/unictype/property-grapheme-base-tests: New file.
98583         * modules/unictype/property-grapheme-extend-tests: New file.
98584         * modules/unictype/property-grapheme-link-tests: New file.
98585         * modules/unictype/property-hex-digit-tests: New file.
98586         * modules/unictype/property-hyphen-tests: New file.
98587         * modules/unictype/property-id-continue-tests: New file.
98588         * modules/unictype/property-id-start-tests: New file.
98589         * modules/unictype/property-ideographic-tests: New file.
98590         * modules/unictype/property-ids-binary-operator-tests: New file.
98591         * modules/unictype/property-ids-trinary-operator-tests: New file.
98592         * modules/unictype/property-ignorable-control-tests: New file.
98593         * modules/unictype/property-iso-control-tests: New file.
98594         * modules/unictype/property-join-control-tests: New file.
98595         * modules/unictype/property-left-of-pair-tests: New file.
98596         * modules/unictype/property-line-separator-tests: New file.
98597         * modules/unictype/property-logical-order-exception-tests: New file.
98598         * modules/unictype/property-lowercase-tests: New file.
98599         * modules/unictype/property-math-tests: New file.
98600         * modules/unictype/property-non-break-tests: New file.
98601         * modules/unictype/property-not-a-character-tests: New file.
98602         * modules/unictype/property-numeric-tests: New file.
98603         * modules/unictype/property-other-alphabetic-tests: New file.
98604         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
98605         * modules/unictype/property-other-grapheme-extend-tests: New file.
98606         * modules/unictype/property-other-id-continue-tests: New file.
98607         * modules/unictype/property-other-id-start-tests: New file.
98608         * modules/unictype/property-other-lowercase-tests: New file.
98609         * modules/unictype/property-other-math-tests: New file.
98610         * modules/unictype/property-other-uppercase-tests: New file.
98611         * modules/unictype/property-paired-punctuation-tests: New file.
98612         * modules/unictype/property-paragraph-separator-tests: New file.
98613         * modules/unictype/property-pattern-syntax-tests: New file.
98614         * modules/unictype/property-pattern-white-space-tests: New file.
98615         * modules/unictype/property-private-use-tests: New file.
98616         * modules/unictype/property-punctuation-tests: New file.
98617         * modules/unictype/property-quotation-mark-tests: New file.
98618         * modules/unictype/property-radical-tests: New file.
98619         * modules/unictype/property-sentence-terminal-tests: New file.
98620         * modules/unictype/property-soft-dotted-tests: New file.
98621         * modules/unictype/property-space-tests: New file.
98622         * modules/unictype/property-terminal-punctuation-tests: New file.
98623         * modules/unictype/property-test-tests: New file.
98624         * modules/unictype/property-titlecase-tests: New file.
98625         * modules/unictype/property-unassigned-code-value-tests: New file.
98626         * modules/unictype/property-unified-ideograph-tests: New file.
98627         * modules/unictype/property-uppercase-tests: New file.
98628         * modules/unictype/property-variation-selector-tests: New file.
98629         * modules/unictype/property-white-space-tests: New file.
98630         * modules/unictype/property-xid-continue-tests: New file.
98631         * modules/unictype/property-xid-start-tests: New file.
98632         * modules/unictype/property-zero-width-tests: New file.
98633         * modules/unictype/scripts-tests: New file.
98634         * modules/unictype/syntax-c-ident-tests: New file.
98635         * modules/unictype/syntax-c-whitespace-tests: New file.
98636         * modules/unictype/syntax-java-ident-tests: New file.
98637         * modules/unictype/syntax-java-whitespace-tests: New file.
98638         * tests/unictype/test-bidi_byname.c: New file.
98639         * tests/unictype/test-bidi_name.c: New file.
98640         * tests/unictype/test-bidi_of.c: New file.
98641         * tests/unictype/test-bidi_test.c: New file.
98642         * tests/unictype/test-block_list.c: New file.
98643         * tests/unictype/test-block_of.c: New file.
98644         * tests/unictype/test-block_test.c: New file.
98645         * tests/unictype/test-categ_and.c: New file.
98646         * tests/unictype/test-categ_and_not.c: New file.
98647         * tests/unictype/test-categ_byname.c: New file.
98648         * tests/unictype/test-categ_name.c: New file.
98649         * tests/unictype/test-categ_none.c: New file.
98650         * tests/unictype/test-categ_of.c: New file.
98651         * tests/unictype/test-categ_or.c: New file.
98652         * tests/unictype/test-categ_test_withtable.c: New file.
98653         * tests/unictype/test-combining.c: New file.
98654         * tests/unictype/test-decdigit.c: New file.
98655         * tests/unictype/test-digit.c: New file.
98656         * tests/unictype/test-mirror.c: New file.
98657         * tests/unictype/test-numeric.c: New file.
98658         * tests/unictype/test-pr_byname.c: New file.
98659         * tests/unictype/test-pr_test.c: New file.
98660         * tests/unictype/test-predicate-part1.h: New file.
98661         * tests/unictype/test-predicate-part2.h: New file.
98662         * tests/unictype/test-scripts.c: New file.
98663         * tests/unictype/test-sy_c_ident.c: New file.
98664         * tests/unictype/test-sy_java_ident.c: New file.
98666         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
98667         for Unicode 5.0.0.
98668         * tests/unictype/test-categ_Cc.c: Likewise.
98669         * tests/unictype/test-categ_Cf.c: Likewise.
98670         * tests/unictype/test-categ_Cn.c: Likewise.
98671         * tests/unictype/test-categ_Co.c: Likewise.
98672         * tests/unictype/test-categ_Cs.c: Likewise.
98673         * tests/unictype/test-categ_L.c: Likewise.
98674         * tests/unictype/test-categ_Ll.c: Likewise.
98675         * tests/unictype/test-categ_Lm.c: Likewise.
98676         * tests/unictype/test-categ_Lo.c: Likewise.
98677         * tests/unictype/test-categ_Lt.c: Likewise.
98678         * tests/unictype/test-categ_Lu.c: Likewise.
98679         * tests/unictype/test-categ_M.c: Likewise.
98680         * tests/unictype/test-categ_Mc.c: Likewise.
98681         * tests/unictype/test-categ_Me.c: Likewise.
98682         * tests/unictype/test-categ_Mn.c: Likewise.
98683         * tests/unictype/test-categ_N.c: Likewise.
98684         * tests/unictype/test-categ_Nd.c: Likewise.
98685         * tests/unictype/test-categ_Nl.c: Likewise.
98686         * tests/unictype/test-categ_No.c: Likewise.
98687         * tests/unictype/test-categ_P.c: Likewise.
98688         * tests/unictype/test-categ_Pc.c: Likewise.
98689         * tests/unictype/test-categ_Pd.c: Likewise.
98690         * tests/unictype/test-categ_Pe.c: Likewise.
98691         * tests/unictype/test-categ_Pf.c: Likewise.
98692         * tests/unictype/test-categ_Pi.c: Likewise.
98693         * tests/unictype/test-categ_Po.c: Likewise.
98694         * tests/unictype/test-categ_Ps.c: Likewise.
98695         * tests/unictype/test-categ_S.c: Likewise.
98696         * tests/unictype/test-categ_Sc.c: Likewise.
98697         * tests/unictype/test-categ_Sk.c: Likewise.
98698         * tests/unictype/test-categ_Sm.c: Likewise.
98699         * tests/unictype/test-categ_So.c: Likewise.
98700         * tests/unictype/test-categ_Z.c: Likewise.
98701         * tests/unictype/test-categ_Zl.c: Likewise.
98702         * tests/unictype/test-categ_Zp.c: Likewise.
98703         * tests/unictype/test-categ_Zs.c: Likewise.
98704         * tests/unictype/test-ctype_alnum.c: Likewise.
98705         * tests/unictype/test-ctype_alpha.c: Likewise.
98706         * tests/unictype/test-ctype_blank.c: Likewise.
98707         * tests/unictype/test-ctype_cntrl.c: Likewise.
98708         * tests/unictype/test-ctype_digit.c: Likewise.
98709         * tests/unictype/test-ctype_graph.c: Likewise.
98710         * tests/unictype/test-ctype_lower.c: Likewise.
98711         * tests/unictype/test-ctype_print.c: Likewise.
98712         * tests/unictype/test-ctype_punct.c: Likewise.
98713         * tests/unictype/test-ctype_space.c: Likewise.
98714         * tests/unictype/test-ctype_upper.c: Likewise.
98715         * tests/unictype/test-ctype_xdigit.c: Likewise.
98716         * tests/unictype/test-decdigit.h: Likewise.
98717         * tests/unictype/test-digit.h: Likewise.
98718         * tests/unictype/test-numeric.h: Likewise.
98719         * tests/unictype/test-pr_alphabetic.c: Likewise.
98720         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
98721         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
98722         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
98723         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
98724         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
98725         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
98726         * tests/unictype/test-pr_bidi_control.c: Likewise.
98727         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
98728         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
98729         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
98730         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
98731         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
98732         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
98733         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
98734         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
98735         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
98736         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
98737         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
98738         * tests/unictype/test-pr_combining.c: Likewise.
98739         * tests/unictype/test-pr_composite.c: Likewise.
98740         * tests/unictype/test-pr_currency_symbol.c: Likewise.
98741         * tests/unictype/test-pr_dash.c: Likewise.
98742         * tests/unictype/test-pr_decimal_digit.c: Likewise.
98743         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
98744         * tests/unictype/test-pr_deprecated.c: Likewise.
98745         * tests/unictype/test-pr_diacritic.c: Likewise.
98746         * tests/unictype/test-pr_extender.c: Likewise.
98747         * tests/unictype/test-pr_format_control.c: Likewise.
98748         * tests/unictype/test-pr_grapheme_base.c: Likewise.
98749         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
98750         * tests/unictype/test-pr_grapheme_link.c: Likewise.
98751         * tests/unictype/test-pr_hex_digit.c: Likewise.
98752         * tests/unictype/test-pr_hyphen.c: Likewise.
98753         * tests/unictype/test-pr_id_continue.c: Likewise.
98754         * tests/unictype/test-pr_id_start.c: Likewise.
98755         * tests/unictype/test-pr_ideographic.c: Likewise.
98756         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
98757         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
98758         * tests/unictype/test-pr_ignorable_control.c: Likewise.
98759         * tests/unictype/test-pr_iso_control.c: Likewise.
98760         * tests/unictype/test-pr_join_control.c: Likewise.
98761         * tests/unictype/test-pr_left_of_pair.c: Likewise.
98762         * tests/unictype/test-pr_line_separator.c: Likewise.
98763         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
98764         * tests/unictype/test-pr_lowercase.c: Likewise.
98765         * tests/unictype/test-pr_math.c: Likewise.
98766         * tests/unictype/test-pr_non_break.c: Likewise.
98767         * tests/unictype/test-pr_not_a_character.c: Likewise.
98768         * tests/unictype/test-pr_numeric.c: Likewise.
98769         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
98770         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
98771         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
98772         * tests/unictype/test-pr_other_id_continue.c: Likewise.
98773         * tests/unictype/test-pr_other_id_start.c: Likewise.
98774         * tests/unictype/test-pr_other_lowercase.c: Likewise.
98775         * tests/unictype/test-pr_other_math.c: Likewise.
98776         * tests/unictype/test-pr_other_uppercase.c: Likewise.
98777         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
98778         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
98779         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
98780         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
98781         * tests/unictype/test-pr_private_use.c: Likewise.
98782         * tests/unictype/test-pr_punctuation.c: Likewise.
98783         * tests/unictype/test-pr_quotation_mark.c: Likewise.
98784         * tests/unictype/test-pr_radical.c: Likewise.
98785         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
98786         * tests/unictype/test-pr_soft_dotted.c: Likewise.
98787         * tests/unictype/test-pr_space.c: Likewise.
98788         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
98789         * tests/unictype/test-pr_titlecase.c: Likewise.
98790         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
98791         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
98792         * tests/unictype/test-pr_uppercase.c: Likewise.
98793         * tests/unictype/test-pr_variation_selector.c: Likewise.
98794         * tests/unictype/test-pr_white_space.c: Likewise.
98795         * tests/unictype/test-pr_xid_continue.c: Likewise.
98796         * tests/unictype/test-pr_xid_start.c: Likewise.
98797         * tests/unictype/test-pr_zero_width.c: Likewise.
98798         * tests/unictype/test-sy_c_whitespace.c: Likewise.
98799         * tests/unictype/test-sy_java_whitespace.c: Likewise.
98801 2007-11-12  Bruno Haible  <bruno@clisp.org>
98803         Unicode character classification functions.
98804         * lib/unictype.h: New file.
98805         * modules/unictype/base: New file.
98806         * modules/unictype/category-L: New file.
98807         * modules/unictype/category-Lu: New file.
98808         * modules/unictype/category-Ll: New file.
98809         * modules/unictype/category-Lt: New file.
98810         * modules/unictype/category-Lm: New file.
98811         * modules/unictype/category-Lo: New file.
98812         * modules/unictype/category-M: New file.
98813         * modules/unictype/category-Mn: New file.
98814         * modules/unictype/category-Mc: New file.
98815         * modules/unictype/category-Me: New file.
98816         * modules/unictype/category-N: New file.
98817         * modules/unictype/category-Nd: New file.
98818         * modules/unictype/category-Nl: New file.
98819         * modules/unictype/category-No: New file.
98820         * modules/unictype/category-P: New file.
98821         * modules/unictype/category-Pc: New file.
98822         * modules/unictype/category-Pd: New file.
98823         * modules/unictype/category-Ps: New file.
98824         * modules/unictype/category-Pe: New file.
98825         * modules/unictype/category-Pi: New file.
98826         * modules/unictype/category-Pf: New file.
98827         * modules/unictype/category-Po: New file.
98828         * modules/unictype/category-S: New file.
98829         * modules/unictype/category-Sm: New file.
98830         * modules/unictype/category-Sc: New file.
98831         * modules/unictype/category-Sk: New file.
98832         * modules/unictype/category-So: New file.
98833         * modules/unictype/category-Z: New file.
98834         * modules/unictype/category-Zs: New file.
98835         * modules/unictype/category-Zl: New file.
98836         * modules/unictype/category-Zp: New file.
98837         * modules/unictype/category-C: New file.
98838         * modules/unictype/category-Cc: New file.
98839         * modules/unictype/category-Cf: New file.
98840         * modules/unictype/category-Cs: New file.
98841         * modules/unictype/category-Co: New file.
98842         * modules/unictype/category-Cn: New file.
98843         * modules/unictype/category-or: New file.
98844         * modules/unictype/category-of: New file.
98845         * modules/unictype/category-test: New file.
98846         * modules/unictype/category-test-withtable: New file.
98847         * modules/unictype/category-byname: New file.
98848         * modules/unictype/category-none: New file.
98849         * modules/unictype/category-and: New file.
98850         * modules/unictype/category-and-not: New file.
98851         * modules/unictype/category-name: New file.
98852         * modules/unictype/combining-class: New file.
98853         * modules/unictype/category-all: New file.
98854         * modules/unictype/bidicategory-all: New file.
98855         * modules/unictype/bidicategory-byname: New file.
98856         * modules/unictype/bidicategory-name: New file.
98857         * modules/unictype/bidicategory-of: New file.
98858         * modules/unictype/bidicategory-test: New file.
98859         * modules/unictype/decimal-digit: New file.
98860         * modules/unictype/digit: New file.
98861         * modules/unictype/numeric: New file.
98862         * modules/unictype/mirror: New file.
98863         * modules/unictype/property-white-space: New file.
98864         * modules/unictype/property-alphabetic: New file.
98865         * modules/unictype/property-other-alphabetic: New file.
98866         * modules/unictype/property-not-a-character: New file.
98867         * modules/unictype/property-default-ignorable-code-point: New file.
98868         * modules/unictype/property-other-default-ignorable-code-point: New
98869         file.
98870         * modules/unictype/property-deprecated: New file.
98871         * modules/unictype/property-logical-order-exception: New file.
98872         * modules/unictype/property-variation-selector: New file.
98873         * modules/unictype/property-private-use: New file.
98874         * modules/unictype/property-unassigned-code-value: New file.
98875         * modules/unictype/property-uppercase: New file.
98876         * modules/unictype/property-other-uppercase: New file.
98877         * modules/unictype/property-lowercase: New file.
98878         * modules/unictype/property-other-lowercase: New file.
98879         * modules/unictype/property-titlecase: New file.
98880         * modules/unictype/property-soft-dotted: New file.
98881         * modules/unictype/property-id-start: New file.
98882         * modules/unictype/property-other-id-start: New file.
98883         * modules/unictype/property-id-continue: New file.
98884         * modules/unictype/property-other-id-continue: New file.
98885         * modules/unictype/property-xid-start: New file.
98886         * modules/unictype/property-xid-continue: New file.
98887         * modules/unictype/property-pattern-white-space: New file.
98888         * modules/unictype/property-pattern-syntax: New file.
98889         * modules/unictype/property-join-control: New file.
98890         * modules/unictype/property-grapheme-base: New file.
98891         * modules/unictype/property-grapheme-extend: New file.
98892         * modules/unictype/property-other-grapheme-extend: New file.
98893         * modules/unictype/property-grapheme-link: New file.
98894         * modules/unictype/property-bidi-control: New file.
98895         * modules/unictype/property-bidi-left-to-right: New file.
98896         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
98897         * modules/unictype/property-bidi-arabic-right-to-left: New file.
98898         * modules/unictype/property-bidi-european-digit: New file.
98899         * modules/unictype/property-bidi-eur-num-separator: New file.
98900         * modules/unictype/property-bidi-eur-num-terminator: New file.
98901         * modules/unictype/property-bidi-arabic-digit: New file.
98902         * modules/unictype/property-bidi-common-separator: New file.
98903         * modules/unictype/property-bidi-block-separator: New file.
98904         * modules/unictype/property-bidi-segment-separator: New file.
98905         * modules/unictype/property-bidi-whitespace: New file.
98906         * modules/unictype/property-bidi-non-spacing-mark: New file.
98907         * modules/unictype/property-bidi-boundary-neutral: New file.
98908         * modules/unictype/property-bidi-pdf: New file.
98909         * modules/unictype/property-bidi-embedding-or-override: New file.
98910         * modules/unictype/property-bidi-other-neutral: New file.
98911         * modules/unictype/property-hex-digit: New file.
98912         * modules/unictype/property-ascii-hex-digit: New file.
98913         * modules/unictype/property-ideographic: New file.
98914         * modules/unictype/property-unified-ideograph: New file.
98915         * modules/unictype/property-radical: New file.
98916         * modules/unictype/property-ids-binary-operator: New file.
98917         * modules/unictype/property-ids-trinary-operator: New file.
98918         * modules/unictype/property-zero-width: New file.
98919         * modules/unictype/property-space: New file.
98920         * modules/unictype/property-non-break: New file.
98921         * modules/unictype/property-iso-control: New file.
98922         * modules/unictype/property-format-control: New file.
98923         * modules/unictype/property-dash: New file.
98924         * modules/unictype/property-hyphen: New file.
98925         * modules/unictype/property-punctuation: New file.
98926         * modules/unictype/property-line-separator: New file.
98927         * modules/unictype/property-paragraph-separator: New file.
98928         * modules/unictype/property-quotation-mark: New file.
98929         * modules/unictype/property-sentence-terminal: New file.
98930         * modules/unictype/property-terminal-punctuation: New file.
98931         * modules/unictype/property-currency-symbol: New file.
98932         * modules/unictype/property-math: New file.
98933         * modules/unictype/property-other-math: New file.
98934         * modules/unictype/property-paired-punctuation: New file.
98935         * modules/unictype/property-left-of-pair: New file.
98936         * modules/unictype/property-combining: New file.
98937         * modules/unictype/property-composite: New file.
98938         * modules/unictype/property-decimal-digit: New file.
98939         * modules/unictype/property-numeric: New file.
98940         * modules/unictype/property-diacritic: New file.
98941         * modules/unictype/property-extender: New file.
98942         * modules/unictype/property-ignorable-control: New file.
98943         * modules/unictype/property-test: New file.
98944         * modules/unictype/property-byname: New file.
98945         * modules/unictype/property-all: New file.
98946         * modules/unictype/scripts: New file.
98947         * modules/unictype/scripts-all: New file.
98948         * modules/unictype/block-of: New file.
98949         * modules/unictype/block-test: New file.
98950         * modules/unictype/block-list: New file.
98951         * modules/unictype/block-all: New file.
98952         * modules/unictype/syntax-c-whitespace: New file.
98953         * modules/unictype/syntax-java-whitespace: New file.
98954         * modules/unictype/syntax-c-ident: New file.
98955         * modules/unictype/syntax-java-ident: New file.
98956         * modules/unictype/ctype-alnum: New file.
98957         * modules/unictype/ctype-alpha: New file.
98958         * modules/unictype/ctype-cntrl: New file.
98959         * modules/unictype/ctype-digit: New file.
98960         * modules/unictype/ctype-graph: New file.
98961         * modules/unictype/ctype-lower: New file.
98962         * modules/unictype/ctype-print: New file.
98963         * modules/unictype/ctype-punct: New file.
98964         * modules/unictype/ctype-space: New file.
98965         * modules/unictype/ctype-upper: New file.
98966         * modules/unictype/ctype-xdigit: New file.
98967         * modules/unictype/ctype-blank: New file.
98968         * lib/unictype/bidi_byname.c: New file.
98969         * lib/unictype/bidi_name.c: New file.
98970         * lib/unictype/bidi_of.c: New file.
98971         * lib/unictype/bidi_test.c: New file.
98972         * lib/unictype/bitmap.h: New file.
98973         * lib/unictype/block_test.c: New file.
98974         * lib/unictype/blocks.c: New file.
98975         * lib/unictype/categ_C.c: New file.
98976         * lib/unictype/categ_Cc.c: New file.
98977         * lib/unictype/categ_Cf.c: New file.
98978         * lib/unictype/categ_Cn.c: New file.
98979         * lib/unictype/categ_Co.c: New file.
98980         * lib/unictype/categ_Cs.c: New file.
98981         * lib/unictype/categ_L.c: New file.
98982         * lib/unictype/categ_Ll.c: New file.
98983         * lib/unictype/categ_Lm.c: New file.
98984         * lib/unictype/categ_Lo.c: New file.
98985         * lib/unictype/categ_Lt.c: New file.
98986         * lib/unictype/categ_Lu.c: New file.
98987         * lib/unictype/categ_M.c: New file.
98988         * lib/unictype/categ_Mc.c: New file.
98989         * lib/unictype/categ_Me.c: New file.
98990         * lib/unictype/categ_Mn.c: New file.
98991         * lib/unictype/categ_N.c: New file.
98992         * lib/unictype/categ_Nd.c: New file.
98993         * lib/unictype/categ_Nl.c: New file.
98994         * lib/unictype/categ_No.c: New file.
98995         * lib/unictype/categ_P.c: New file.
98996         * lib/unictype/categ_Pc.c: New file.
98997         * lib/unictype/categ_Pd.c: New file.
98998         * lib/unictype/categ_Pe.c: New file.
98999         * lib/unictype/categ_Pf.c: New file.
99000         * lib/unictype/categ_Pi.c: New file.
99001         * lib/unictype/categ_Po.c: New file.
99002         * lib/unictype/categ_Ps.c: New file.
99003         * lib/unictype/categ_S.c: New file.
99004         * lib/unictype/categ_Sc.c: New file.
99005         * lib/unictype/categ_Sk.c: New file.
99006         * lib/unictype/categ_Sm.c: New file.
99007         * lib/unictype/categ_So.c: New file.
99008         * lib/unictype/categ_Z.c: New file.
99009         * lib/unictype/categ_Zl.c: New file.
99010         * lib/unictype/categ_Zp.c: New file.
99011         * lib/unictype/categ_Zs.c: New file.
99012         * lib/unictype/categ_and.c: New file.
99013         * lib/unictype/categ_and_not.c: New file.
99014         * lib/unictype/categ_byname.c: New file.
99015         * lib/unictype/categ_name.c: New file.
99016         * lib/unictype/categ_none.c: New file.
99017         * lib/unictype/categ_of.c: New file.
99018         * lib/unictype/categ_or.c: New file.
99019         * lib/unictype/categ_test.c: New file.
99020         * lib/unictype/combining.c: New file.
99021         * lib/unictype/ctype_alnum.c: New file.
99022         * lib/unictype/ctype_alpha.c: New file.
99023         * lib/unictype/ctype_blank.c: New file.
99024         * lib/unictype/ctype_cntrl.c: New file.
99025         * lib/unictype/ctype_digit.c: New file.
99026         * lib/unictype/ctype_graph.c: New file.
99027         * lib/unictype/ctype_lower.c: New file.
99028         * lib/unictype/ctype_print.c: New file.
99029         * lib/unictype/ctype_punct.c: New file.
99030         * lib/unictype/ctype_space.c: New file.
99031         * lib/unictype/ctype_upper.c: New file.
99032         * lib/unictype/ctype_xdigit.c: New file.
99033         * lib/unictype/decdigit.c: New file.
99034         * lib/unictype/digit.c: New file.
99035         * lib/unictype/identsyntaxmap.h: New file.
99036         * lib/unictype/mirror.c: New file.
99037         * lib/unictype/numeric.c: New file.
99038         * lib/unictype/pr_alphabetic.c: New file.
99039         * lib/unictype/pr_ascii_hex_digit.c: New file.
99040         * lib/unictype/pr_bidi_arabic_digit.c: New file.
99041         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
99042         * lib/unictype/pr_bidi_block_separator.c: New file.
99043         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
99044         * lib/unictype/pr_bidi_common_separator.c: New file.
99045         * lib/unictype/pr_bidi_control.c: New file.
99046         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
99047         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
99048         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
99049         * lib/unictype/pr_bidi_european_digit.c: New file.
99050         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
99051         * lib/unictype/pr_bidi_left_to_right.c: New file.
99052         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
99053         * lib/unictype/pr_bidi_other_neutral.c: New file.
99054         * lib/unictype/pr_bidi_pdf.c: New file.
99055         * lib/unictype/pr_bidi_segment_separator.c: New file.
99056         * lib/unictype/pr_bidi_whitespace.c: New file.
99057         * lib/unictype/pr_byname.c: New file.
99058         * lib/unictype/pr_byname.gperf: New file.
99059         * lib/unictype/pr_combining.c: New file.
99060         * lib/unictype/pr_composite.c: New file.
99061         * lib/unictype/pr_currency_symbol.c: New file.
99062         * lib/unictype/pr_dash.c: New file.
99063         * lib/unictype/pr_decimal_digit.c: New file.
99064         * lib/unictype/pr_default_ignorable_code_point.c: New file.
99065         * lib/unictype/pr_deprecated.c: New file.
99066         * lib/unictype/pr_diacritic.c: New file.
99067         * lib/unictype/pr_extender.c: New file.
99068         * lib/unictype/pr_format_control.c: New file.
99069         * lib/unictype/pr_grapheme_base.c: New file.
99070         * lib/unictype/pr_grapheme_extend.c: New file.
99071         * lib/unictype/pr_grapheme_link.c: New file.
99072         * lib/unictype/pr_hex_digit.c: New file.
99073         * lib/unictype/pr_hyphen.c: New file.
99074         * lib/unictype/pr_id_continue.c: New file.
99075         * lib/unictype/pr_id_start.c: New file.
99076         * lib/unictype/pr_ideographic.c: New file.
99077         * lib/unictype/pr_ids_binary_operator.c: New file.
99078         * lib/unictype/pr_ids_trinary_operator.c: New file.
99079         * lib/unictype/pr_ignorable_control.c: New file.
99080         * lib/unictype/pr_iso_control.c: New file.
99081         * lib/unictype/pr_join_control.c: New file.
99082         * lib/unictype/pr_left_of_pair.c: New file.
99083         * lib/unictype/pr_line_separator.c: New file.
99084         * lib/unictype/pr_logical_order_exception.c: New file.
99085         * lib/unictype/pr_lowercase.c: New file.
99086         * lib/unictype/pr_math.c: New file.
99087         * lib/unictype/pr_non_break.c: New file.
99088         * lib/unictype/pr_not_a_character.c: New file.
99089         * lib/unictype/pr_numeric.c: New file.
99090         * lib/unictype/pr_other_alphabetic.c: New file.
99091         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
99092         * lib/unictype/pr_other_grapheme_extend.c: New file.
99093         * lib/unictype/pr_other_id_continue.c: New file.
99094         * lib/unictype/pr_other_id_start.c: New file.
99095         * lib/unictype/pr_other_lowercase.c: New file.
99096         * lib/unictype/pr_other_math.c: New file.
99097         * lib/unictype/pr_other_uppercase.c: New file.
99098         * lib/unictype/pr_paired_punctuation.c: New file.
99099         * lib/unictype/pr_paragraph_separator.c: New file.
99100         * lib/unictype/pr_pattern_syntax.c: New file.
99101         * lib/unictype/pr_pattern_white_space.c: New file.
99102         * lib/unictype/pr_private_use.c: New file.
99103         * lib/unictype/pr_punctuation.c: New file.
99104         * lib/unictype/pr_quotation_mark.c: New file.
99105         * lib/unictype/pr_radical.c: New file.
99106         * lib/unictype/pr_sentence_terminal.c: New file.
99107         * lib/unictype/pr_soft_dotted.c: New file.
99108         * lib/unictype/pr_space.c: New file.
99109         * lib/unictype/pr_terminal_punctuation.c: New file.
99110         * lib/unictype/pr_test.c: New file.
99111         * lib/unictype/pr_titlecase.c: New file.
99112         * lib/unictype/pr_unassigned_code_value.c: New file.
99113         * lib/unictype/pr_unified_ideograph.c: New file.
99114         * lib/unictype/pr_uppercase.c: New file.
99115         * lib/unictype/pr_variation_selector.c: New file.
99116         * lib/unictype/pr_white_space.c: New file.
99117         * lib/unictype/pr_xid_continue.c: New file.
99118         * lib/unictype/pr_xid_start.c: New file.
99119         * lib/unictype/pr_zero_width.c: New file.
99120         * lib/unictype/scripts.c: New file.
99121         * lib/unictype/sy_c_ident.c: New file.
99122         * lib/unictype/sy_c_whitespace.c: New file.
99123         * lib/unictype/sy_java_ident.c: New file.
99124         * lib/unictype/sy_java_whitespace.c: New file.
99126         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
99127         Unicode 5.0.0.
99128         * lib/unictype/blocks.h: Likewise.
99129         * lib/unictype/categ_C.h: Likewise.
99130         * lib/unictype/categ_Cc.h: Likewise.
99131         * lib/unictype/categ_Cf.h: Likewise.
99132         * lib/unictype/categ_Cn.h: Likewise.
99133         * lib/unictype/categ_Co.h: Likewise.
99134         * lib/unictype/categ_Cs.h: Likewise.
99135         * lib/unictype/categ_L.h: Likewise.
99136         * lib/unictype/categ_Ll.h: Likewise.
99137         * lib/unictype/categ_Lm.h: Likewise.
99138         * lib/unictype/categ_Lo.h: Likewise.
99139         * lib/unictype/categ_Lt.h: Likewise.
99140         * lib/unictype/categ_Lu.h: Likewise.
99141         * lib/unictype/categ_M.h: Likewise.
99142         * lib/unictype/categ_Mc.h: Likewise.
99143         * lib/unictype/categ_Me.h: Likewise.
99144         * lib/unictype/categ_Mn.h: Likewise.
99145         * lib/unictype/categ_N.h: Likewise.
99146         * lib/unictype/categ_Nd.h: Likewise.
99147         * lib/unictype/categ_Nl.h: Likewise.
99148         * lib/unictype/categ_No.h: Likewise.
99149         * lib/unictype/categ_P.h: Likewise.
99150         * lib/unictype/categ_Pc.h: Likewise.
99151         * lib/unictype/categ_Pd.h: Likewise.
99152         * lib/unictype/categ_Pe.h: Likewise.
99153         * lib/unictype/categ_Pf.h: Likewise.
99154         * lib/unictype/categ_Pi.h: Likewise.
99155         * lib/unictype/categ_Po.h: Likewise.
99156         * lib/unictype/categ_Ps.h: Likewise.
99157         * lib/unictype/categ_S.h: Likewise.
99158         * lib/unictype/categ_Sc.h: Likewise.
99159         * lib/unictype/categ_Sk.h: Likewise.
99160         * lib/unictype/categ_Sm.h: Likewise.
99161         * lib/unictype/categ_So.h: Likewise.
99162         * lib/unictype/categ_Z.h: Likewise.
99163         * lib/unictype/categ_Zl.h: Likewise.
99164         * lib/unictype/categ_Zp.h: Likewise.
99165         * lib/unictype/categ_Zs.h: Likewise.
99166         * lib/unictype/categ_of.h: Likewise.
99167         * lib/unictype/combining.h: Likewise.
99168         * lib/unictype/ctype_alnum.h: Likewise.
99169         * lib/unictype/ctype_alpha.h: Likewise.
99170         * lib/unictype/ctype_blank.h: Likewise.
99171         * lib/unictype/ctype_cntrl.h: Likewise.
99172         * lib/unictype/ctype_digit.h: Likewise.
99173         * lib/unictype/ctype_graph.h: Likewise.
99174         * lib/unictype/ctype_lower.h: Likewise.
99175         * lib/unictype/ctype_print.h: Likewise.
99176         * lib/unictype/ctype_punct.h: Likewise.
99177         * lib/unictype/ctype_space.h: Likewise.
99178         * lib/unictype/ctype_upper.h: Likewise.
99179         * lib/unictype/ctype_xdigit.h: Likewise.
99180         * lib/unictype/decdigit.h: Likewise.
99181         * lib/unictype/digit.h: Likewise.
99182         * lib/unictype/mirror.h: Likewise.
99183         * lib/unictype/numeric.h: Likewise.
99184         * lib/unictype/pr_alphabetic.h: Likewise.
99185         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
99186         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
99187         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
99188         * lib/unictype/pr_bidi_block_separator.h: Likewise.
99189         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
99190         * lib/unictype/pr_bidi_common_separator.h: Likewise.
99191         * lib/unictype/pr_bidi_control.h: Likewise.
99192         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
99193         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
99194         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
99195         * lib/unictype/pr_bidi_european_digit.h: Likewise.
99196         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
99197         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
99198         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
99199         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
99200         * lib/unictype/pr_bidi_pdf.h: Likewise.
99201         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
99202         * lib/unictype/pr_bidi_whitespace.h: Likewise.
99203         * lib/unictype/pr_combining.h: Likewise.
99204         * lib/unictype/pr_composite.h: Likewise.
99205         * lib/unictype/pr_currency_symbol.h: Likewise.
99206         * lib/unictype/pr_dash.h: Likewise.
99207         * lib/unictype/pr_decimal_digit.h: Likewise.
99208         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
99209         * lib/unictype/pr_deprecated.h: Likewise.
99210         * lib/unictype/pr_diacritic.h: Likewise.
99211         * lib/unictype/pr_extender.h: Likewise.
99212         * lib/unictype/pr_format_control.h: Likewise.
99213         * lib/unictype/pr_grapheme_base.h: Likewise.
99214         * lib/unictype/pr_grapheme_extend.h: Likewise.
99215         * lib/unictype/pr_grapheme_link.h: Likewise.
99216         * lib/unictype/pr_hex_digit.h: Likewise.
99217         * lib/unictype/pr_hyphen.h: Likewise.
99218         * lib/unictype/pr_id_continue.h: Likewise.
99219         * lib/unictype/pr_id_start.h: Likewise.
99220         * lib/unictype/pr_ideographic.h: Likewise.
99221         * lib/unictype/pr_ids_binary_operator.h: Likewise.
99222         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
99223         * lib/unictype/pr_ignorable_control.h: Likewise.
99224         * lib/unictype/pr_iso_control.h: Likewise.
99225         * lib/unictype/pr_join_control.h: Likewise.
99226         * lib/unictype/pr_left_of_pair.h: Likewise.
99227         * lib/unictype/pr_line_separator.h: Likewise.
99228         * lib/unictype/pr_logical_order_exception.h: Likewise.
99229         * lib/unictype/pr_lowercase.h: Likewise.
99230         * lib/unictype/pr_math.h: Likewise.
99231         * lib/unictype/pr_non_break.h: Likewise.
99232         * lib/unictype/pr_not_a_character.h: Likewise.
99233         * lib/unictype/pr_numeric.h: Likewise.
99234         * lib/unictype/pr_other_alphabetic.h: Likewise.
99235         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
99236         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
99237         * lib/unictype/pr_other_id_continue.h: Likewise.
99238         * lib/unictype/pr_other_id_start.h: Likewise.
99239         * lib/unictype/pr_other_lowercase.h: Likewise.
99240         * lib/unictype/pr_other_math.h: Likewise.
99241         * lib/unictype/pr_other_uppercase.h: Likewise.
99242         * lib/unictype/pr_paired_punctuation.h: Likewise.
99243         * lib/unictype/pr_paragraph_separator.h: Likewise.
99244         * lib/unictype/pr_pattern_syntax.h: Likewise.
99245         * lib/unictype/pr_pattern_white_space.h: Likewise.
99246         * lib/unictype/pr_private_use.h: Likewise.
99247         * lib/unictype/pr_punctuation.h: Likewise.
99248         * lib/unictype/pr_quotation_mark.h: Likewise.
99249         * lib/unictype/pr_radical.h: Likewise.
99250         * lib/unictype/pr_sentence_terminal.h: Likewise.
99251         * lib/unictype/pr_soft_dotted.h: Likewise.
99252         * lib/unictype/pr_space.h: Likewise.
99253         * lib/unictype/pr_terminal_punctuation.h: Likewise.
99254         * lib/unictype/pr_titlecase.h: Likewise.
99255         * lib/unictype/pr_unassigned_code_value.h: Likewise.
99256         * lib/unictype/pr_unified_ideograph.h: Likewise.
99257         * lib/unictype/pr_uppercase.h: Likewise.
99258         * lib/unictype/pr_variation_selector.h: Likewise.
99259         * lib/unictype/pr_white_space.h: Likewise.
99260         * lib/unictype/pr_xid_continue.h: Likewise.
99261         * lib/unictype/pr_xid_start.h: Likewise.
99262         * lib/unictype/pr_zero_width.h: Likewise.
99263         * lib/unictype/scripts.h: Likewise.
99264         * lib/unictype/scripts_byname.gperf: Likewise.
99265         * lib/unictype/sy_c_ident.h: Likewise.
99266         * lib/unictype/sy_c_whitespace.h: Likewise.
99267         * lib/unictype/sy_java_ident.h: Likewise.
99268         * lib/unictype/sy_java_whitespace.h: Likewise.
99270         * lib/unictype/Makefile: New file.
99271         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
99272         glibc.
99273         * lib/unictype/3level.h: New file, copied from glibc.
99274         * lib/unictype/3levelbit.h: New file.
99276 2007-11-11  Bruno Haible  <bruno@clisp.org>
99278         * modules/gperf: New file.
99279         * modules/iconv_open (Depends-on): Add it.
99280         (Makefile.am): Remove the GPERF definition.
99282 2007-11-11  Bruno Haible  <bruno@clisp.org>
99284         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
99285         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
99287 2007-11-11  Bruno Haible  <bruno@clisp.org>
99289         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
99290         (usage): Remove function.
99292 2007-11-11  Bruno Haible  <bruno@clisp.org>
99294         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
99295         gl_FUNC_CEILF_LIBS.
99296         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
99297         gl_FUNC_CEIL_LIBS.
99298         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
99299         gl_FUNC_CEILL_LIBS.
99300         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
99301         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
99302         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
99304 2007-11-11  Bruno Haible  <bruno@clisp.org>
99306         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
99307         roundf were declared but do not exist on functions.
99308         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
99309         roundl were declared but do not exist on functions.
99310         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
99311         HAVE_FLOORL_AND_CEILL, respectively.
99312         Needed for Sun C on Solaris 10.
99314 2007-11-11  Bruno Haible  <bruno@clisp.org>
99316         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
99317         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
99318         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
99319         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
99320         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
99321         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
99322         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
99323         HAVE_DECL_ROUNDF.
99324         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
99325         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
99326         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
99327         of HAVE_DECL_ROUND*.
99328         * modules/math (Makefile.am): Update.
99330 2007-11-10  Bruno Haible  <bruno@clisp.org>
99332         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
99333         ptrdiff_t as m4/intl.m4.
99335 2007-11-10  Jim Meyering  <meyering@redhat.com>
99337         Avoid link failure for the argmatch test.
99338         * tests/test-argmatch.c (usage): Define function to avoid a link
99339         failure: argmatch_die requires a usage function.
99341 2007-11-09  Bruno Haible  <bruno@clisp.org>
99343         * doc/functions/snprintf.texi: Mention BeOS deficiency.
99344         * doc/functions/vsnprintf.texi: Likewise.
99345         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
99346         with a size argument < 2.
99348 2007-11-09  Bruno Haible  <bruno@clisp.org>
99350         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
99351         buffer. Fixes an inefficiency introduced on 2007-11-03.
99353 2007-11-09  Bruno Haible  <bruno@clisp.org>
99355         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
99356         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
99358 2007-11-08  Jim Meyering  <meyering@redhat.com>
99360         Change cache variable name prefix "jm_" to "gl_" everywhere.
99361         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
99362         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
99363         * m4/uptime.m4: s/gl_/jm_/
99365 2007-11-07  Bruno Haible  <bruno@clisp.org>
99367         Update to GNU gettext 0.17.
99368         * m4/intl.m4: Update to GNU gettext 0.17.
99369         * m4/po.m4: Likewise.
99370         * modules/gettext (Files): Remove m4/ulonglong.m4.
99371         (configure.ac): Require gettext infrastructure from version 0.17.
99373 2007-11-06  Bruno Haible  <bruno@clisp.org>
99375         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
99376         symbolic values are not defined in a public header.
99377         * lib/freadable.c (freadable) [QNX]: Likewise.
99378         * lib/freadahead.c (freadahead) [QNX]: Likewise.
99379         * lib/freading.c (freading) [QNX]: Likewise.
99380         * lib/fseterr.c (fseterr) [QNX]: Likewise.
99381         * lib/fwritable.c (fwritable) [QNX]: Likewise.
99382         * lib/fwriting.c (fwriting) [QNX]: Likewise.
99383         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
99384         Reported by Alain Magloire.
99386         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
99388 2007-11-05  Bruno Haible  <bruno@clisp.org>
99390         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
99391         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
99392         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
99393         Reported by Eric Blake.
99395 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99396             Bruno Haible  <bruno@clisp.org>
99398         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
99399         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
99400         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
99401         (malloc): Undefine also before including <stdlib.h>.
99402         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
99403         Needed on OSF/1 4.0.
99405 2007-11-05  Jim Meyering  <meyering@redhat.com>
99407         git-version-gen: sync from coreutils.
99408         * build-aux/git-version-gen: Add comments.
99409         Change the first '-' to '.' in the snapshot version string,
99410         e.g., 6.9-377-08144 -> 6.9.377-08144
99411         Remove first parameter.
99412         Don't declare a version "-dirty" merely because a time
99413         stamp has changed.
99415 2007-11-04  Bruno Haible  <bruno@clisp.org>
99417         * lib/lock.h: Protect all macro definitions containing an 'if'
99418         statement through a "do { ... } while (0)".
99419         * lib/tls.h: Likewise.
99421 2007-11-04  Bruno Haible  <bruno@clisp.org>
99423         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
99425 2007-11-04  Bruno Haible  <bruno@clisp.org>
99427         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
99428         * modules/fprintf-posix (Depends-on): Add nocrash.
99429         * modules/snprintf-posix (Depends-on): Likewise.
99430         * modules/sprintf-posix (Depends-on): Likewise.
99431         * modules/vasnprintf-posix (Depends-on): Likewise.
99432         * modules/vasprintf-posix (Depends-on): Likewise.
99433         * modules/vfprintf-posix (Depends-on): Likewise.
99434         * modules/vsnprintf-posix (Depends-on): Likewise.
99435         * modules/vsprintf-posix (Depends-on): Likewise.
99436         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
99437         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
99438         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
99439         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
99440         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
99441         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
99442         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
99444 2007-11-04  Bruno Haible  <bruno@clisp.org>
99446         * modules/nocrash: New file.
99447         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
99448         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
99450 2007-11-04  Bruno Haible  <bruno@clisp.org>
99452         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
99453         precision handling.
99454         * tests/test-vasprintf-posix.c (test_function): Likewise.
99455         * tests/test-snprintf-posix.h (test_function): Likewise.
99456         * tests/test-sprintf-posix.h (test_function): Likewise.
99458         Fix *printf behaviour for large precisions on mingw and BeOS.
99459         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
99460         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
99461         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
99462         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
99463         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
99464         gl_PRINTF_PRECISION and test its result. Invoke
99465         gl_PREREQ_VASNPRINTF_PRECISION.
99466         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
99467         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
99468         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
99469         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
99470         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
99471         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
99472         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
99473         * doc/functions/fprintf.texi: Update.
99474         * doc/functions/printf.texi: Update.
99475         * doc/functions/snprintf.texi: Update.
99476         * doc/functions/sprintf.texi: Update.
99477         * doc/functions/vfprintf.texi: Update.
99478         * doc/functions/vprintf.texi: Update.
99479         * doc/functions/vsnprintf.texi: Update.
99480         * doc/functions/vsprintf.texi: Update.
99482 2007-11-04  Bruno Haible  <bruno@clisp.org>
99484         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
99486 2007-11-04  Bruno Haible  <bruno@clisp.org>
99488         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
99489         Reported by Sylvain Beucler <beuc@gnu.org>.
99491 2007-11-03  Bruno Haible  <bruno@clisp.org>
99493         * tests/test-fprintf-posix2.sh: New file.
99494         * tests/test-fprintf-posix2.c: New file.
99495         * modules/fprintf-posix-tests (Files): Add them.
99496         (TESTS): Add test-fprintf-posix2.sh.
99497         (configure.ac): Check for getrlimit and setrlimit.
99498         (check_PROGRAMS): Add test-fprintf-posix2.
99500         * tests/test-printf-posix2.sh: New file.
99501         * tests/test-printf-posix2.c: New file.
99502         * modules/printf-posix-tests (Files): Add them.
99503         (TESTS): Add test-printf-posix2.sh.
99504         (configure.ac): Check for getrlimit and setrlimit.
99505         (check_PROGRAMS): Add test-printf-posix2.
99507         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
99508         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
99509         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
99510         (decode_double): New function, copied from decode_long_double.
99511         (scale10_round_decimal_decoded): New function, extracted from
99512         scale10_round_decimal_long_double.
99513         (scale10_round_decimal_long_double): Use it.
99514         (scale10_round_decimal_double): New function.
99515         (floorlog10): New function.
99516         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
99517         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
99518         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
99519         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
99520         gl_PRINTF_ENOMEM and test its result. Invoke
99521         gl_PREREQ_VASNPRINTF_ENOMEM.
99522         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
99523         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
99524         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
99525         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
99526         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
99527         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
99528         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
99529         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
99530         * modules/snprintf-posix (Depends-on): Likewise.
99531         * modules/sprintf-posix (Depends-on): Likewise.
99532         * modules/vasnprintf-posix (Depends-on): Likewise.
99533         * modules/vasprintf-posix (Depends-on): Likewise.
99534         * modules/vfprintf-posix (Depends-on): Likewise.
99535         * modules/vsnprintf-posix (Depends-on): Likewise.
99536         * modules/vsprintf-posix (Depends-on): Likewise.
99537         * doc/functions/fprintf.texi: Update.
99538         * doc/functions/printf.texi: Update.
99539         * doc/functions/snprintf.texi: Update.
99540         * doc/functions/sprintf.texi: Update.
99541         * doc/functions/vfprintf.texi: Update.
99542         * doc/functions/vprintf.texi: Update.
99543         * doc/functions/vsnprintf.texi: Update.
99544         * doc/functions/vsprintf.texi: Update.
99546 2007-11-03  Bruno Haible  <bruno@clisp.org>
99548         * modules/frexp-nolibm-tests: New file.
99550         * modules/frexp-nolibm: New file.
99551         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
99553 2007-11-03  Bruno Haible  <bruno@clisp.org>
99555         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
99556         value is C99 compliant.
99557         Needed for OSF/1 5.1.
99559 2007-11-03  Bruno Haible  <bruno@clisp.org>
99561         Fix out-of-memory handling of vasnprintf.
99562         * lib/printf-parse.c: Include <errno.h>.
99563         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
99564         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
99565         is already set.
99567 2007-11-02  Eric Blake  <ebb9@byu.net>
99569         Fix tests on cygwin.
99570         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
99572 2007-11-01  Bruno Haible  <bruno@clisp.org>
99574         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
99575         warning.
99576         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
99577         needed for POSIX compatibility.
99579 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
99581         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
99582         for compatibility with GNU.
99584 2007-11-01  Bruno Haible  <bruno@clisp.org>
99586         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
99587         (putenv): Renamed from rpl_putenv. Change argument type from
99588         'const char *' to 'char *'.
99589         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
99590         of defining putenv in config.h, just set REPLACE_PUTENV.
99591         * modules/putenv (Depends-on): Add stdlib.
99592         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
99593         (Include): Use <stdlib.h>.
99594         * lib/stdlib.in.h (putenv): New declaration.
99595         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
99596         REPLACE_PUTENV.
99597         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
99598         REPLACE_PUTENV.
99599         Needed for MacOS X 10.5.0.
99600         Reported by Peter O'Gorman <peter@pogma.com>.
99602 2007-11-01  Jim Meyering  <meyering@redhat.com>
99604         Treat an empty date string exactly like "0".
99605         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
99606         if the remaining date string (to be parsed) is empty, use "0".
99607         Reported by Mischa Molhoek and discussed in this thread:
99608         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
99610 2007-10-31  Bruno Haible  <bruno@clisp.org>
99612         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
99613         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
99614         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
99615         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
99616         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
99617         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
99619 2007-10-31  Bruno Haible  <bruno@clisp.org>
99621         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
99622         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
99623         (AC_TYPE_LONG_LONG_INT): Use it.
99624         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
99625         it as well.
99626         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
99627         to m4/longlong.m4.
99628         * modules/stdint (Files): Remove m4/ulonglong.m4.
99629         * modules/strtoull (Files): Use m4/longlong.m4 instead of
99630         m4/ulonglong.m4.
99631         * modules/strtoumax (Files): Likewise.
99633 2007-10-30  Bruno Haible  <bruno@clisp.org>
99635         * modules/xvasprintf-posix: New file.
99636         Suggested by Eric Blake.
99638 2007-10-30  Bruno Haible  <bruno@clisp.org>
99640         * modules/xprintf-posix-tests: New file.
99641         * tests/test-xprintf-posix.sh: New file.
99642         * tests/test-xprintf-posix.c: New file.
99643         * tests/test-xfprintf-posix.c: New file.
99645         * modules/xprintf-posix: New file.
99647 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99649         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
99650         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
99651         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
99653 2007-10-29  Bruno Haible  <bruno@clisp.org>
99655         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
99656         contain the special marker '_cv_'.
99657         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
99658         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
99659         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
99660         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
99661         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
99662         Reported by Ralf Wildenhues.
99664 2007-10-29  Bruno Haible  <bruno@clisp.org>
99666         * gnulib-tool (func_import): When --lgpl is not specified, set
99667         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
99668         GPLv3.
99669         Reported by Simon Josefsson.
99671 2007-10-28  Bruno Haible  <bruno@clisp.org>
99673         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
99674         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
99675         HAVE_DECL_ISFINITE.
99676         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
99677         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
99678         HAVE_DECL_ISFINITE.
99680 2007-10-28  Bruno Haible  <bruno@clisp.org>
99682         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
99683         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
99685 2007-10-28  Bruno Haible  <bruno@clisp.org>
99687         Fix link errors with Sun C 5.0 on Solaris 10.
99688         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
99689         function is declared but not present in the compiler's libm.
99690         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
99691         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
99692         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
99693         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
99694         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
99695         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
99696         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
99697         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
99698         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
99699         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
99700         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
99701         HAVE_DECL_FLOORL.
99703 2007-10-28  Bruno Haible  <bruno@clisp.org>
99705         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
99706         gl_FUNC_FLOORL. Cache the result.
99707         (gl_FUNC_FLOORL): Use it.
99708         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
99709         gl_FUNC_CEILL. Cache the result.
99710         (gl_FUNC_CEILL): Use it.
99712         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
99713         gl_FUNC_FLOOR. Cache the result.
99714         (gl_FUNC_FLOOR): Use it.
99715         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
99716         gl_FUNC_CEIL. Cache the result.
99717         (gl_FUNC_CEIL): Use it.
99719         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
99720         gl_FUNC_FLOORF. Cache the result.
99721         (gl_FUNC_FLOORF): Use it.
99722         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
99723         gl_FUNC_CEILF. Cache the result.
99724         (gl_FUNC_CEILF): Use it.
99726 2007-10-28  Bruno Haible  <bruno@clisp.org>
99728         * gnulib-tool: Allow specifying the LGPL version number through
99729         --lgpl=2 or --lgpl=3.
99730         (func_usage): Document --lgpl with argument.
99731         Handle --lgpl=... arguments.
99732         (func_import): Recognize also gl_LGPL calls with an argument. When
99733         --lgpl=2 is used and the module's license is just LGPL, report an
99734         error. Set sed_transform_lib_file according to the lgpl variable. In
99735         the generated files, use --lgpl or gl_LGPL invocations with argument,
99736         if necessary.
99737         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
99738         an LGPv2+ license.
99739         * doc/gnulib-tool.texi (Modified imports): Update explanation of
99740         gl_LGPL macro.
99742 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99743             Bruno Haible  <bruno@clisp.org>
99745         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
99746         (u16_uctomb_aux): Likewise.
99747         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
99748         !HAVE_INLINE.
99749         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
99751 2007-10-28  Bruno Haible  <bruno@clisp.org>
99753         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
99754         Invoke AM_GETTEXT_OPTION if it exists.
99755         * modules/vasprintf: Likewise.
99756         * modules/verror: Likewise.
99757         * modules/xprintf: Likewise.
99758         * modules/xvasprintf: Likewise.
99760 2007-10-27  Ben Pfaff  <blp@gnu.org>
99762         * lib/math.in.h: Define isfinite macro and prototypes for
99763         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
99764         implementations.
99765         * m4/math_h.m4: New substitutions for isfinite module.
99766         * lib/isfinite.c: New file.
99767         * m4/isfinite.m4: New file.
99768         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
99769         * modules/isfinite: New file.
99770         * modules/isfinite-tests: New file.
99771         * tests/tests-isfinite.c: New file.
99772         * doc/functions/isfinite.texi: Mention isfinite module.
99773         * MODULES.html.sh: Mention new module.
99775 2007-10-27  Ben Pfaff  <blp@gnu.org>
99777         Ralf Wildenhues reported that Tru64 4.0D declares the round
99778         functions but does not have definitions.
99779         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
99780         cannot be found in any library, set the output variable to
99781         "missing" instead of "".
99782         * m4/round.m4: Also use our substitute if we cannot find round in
99783         any library, even if it is declared.
99784         * m4/roundf.m4: Likewise for roundf.
99785         * m4/roundl.m4: Likewise for roundl.
99786         * lib/math.in.h: Undefine roundf, round, roundl before defining
99787         their replacements, to allow for hypothetical systems where these
99788         may be defined as macros but not available in libraries.
99790 2007-10-27  Bruno Haible  <bruno@clisp.org>
99792         * doc/gnulib.texi: Invoke @firstparagraphindent.
99793         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
99794         changes in gnulib.
99795         (Source changes): New section.
99797 2007-10-26  Bruno Haible  <bruno@clisp.org>
99799         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
99800         borrowed from autoconf.
99802 2007-10-26  Bruno Haible  <bruno@clisp.org>
99804         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
99805         strerror returned the empty string. Needed on HP-UX 11.00.
99807 2007-10-24  Micah Cowan  <micah@cowan.name>
99809         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
99810         * build-aux/bootstrap: Remove support for now-unnecessary option,
99811         --cvs-user, and envvars CVS_USER, CVS_RSH.
99813 2007-10-24  Jim Meyering  <meyering@redhat.com>
99815         Avoid diagnostics from sha1sum when there is no cached checksum.
99816         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
99817         if the po.s1 file hasn't been created yet.
99819         * build-aux/bootstrap: Sync from coreutils:
99820         2007-10-24  Jim Meyering  <meyering@redhat.com>
99821         Get gnulib from the git repository, not from an obsolete cvs one.
99822         * build-aux/bootstrap: Suggestion from Micah Cowan.
99823         2007-10-04  Jim Meyering  <jim@meyering.net>
99824         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
99825         (update_po_files): Work also when there are no .po files in po/.
99827 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
99829         * README: Append ".git" to git and cg examples.
99830         Problem reported by Benoit Sigoure.
99832 2007-10-23  Micah Cowan  <micah@cowan.name>
99834         * users.txt: Add wget.
99836 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99838         Fix linking of some unistdio tests on FreeBSD.
99839         * modules/unistdio/u16-vsnprintf-tests
99840         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
99841         * modules/unistdio/u16-vsprintf-tests
99842         (test_u16_vsnprintf1_LDADD): Likewise.
99843         * modules/unistdio/u32-vsnprintf-tests
99844         (test_u32_vsnprintf1_LDADD): Likewise.
99845         * modules/unistdio/u32-vsprintf-tests
99846         (test_u32_vsprintf1_LDADD): Likewise.
99847         * modules/unistdio/u8-vsnprintf-tests
99848         (test_u8_vsnprintf1_LDADD): Likewise.
99849         * modules/unistdio/u8-vsprintf-tests
99850         (test_u8_vsprintf1_LDADD): Likewise.
99851         * modules/unistdio/ulc-vsnprintf-tests
99852         (test_ulc_vsnprintf1_LDADD): Likewise.
99853         * modules/unistdio/ulc-vsprintf-tests
99854         (test_ulc_vsprintf1_LDADD): Likewise.
99856         Fix linking of some uniconv tests on FreeBSD.
99857         * modules/uniconv/u16-conv-from-enc-tests
99858         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
99859         * modules/uniconv/u16-conv-to-enc-tests
99860         (test_u16_conv_to_enc_LDADD): Likewise.
99861         * modules/uniconv/u16-strconv-from-enc-tests
99862         (test_u16_strconv_from_enc_LDADD): Likewise.
99863         * modules/uniconv/u16-strconv-to-enc-tests
99864         (test_u16_strconv_to_enc_LDADD): Likewise.
99865         * modules/uniconv/u32-conv-from-enc-tests
99866         (test_u32_conv_from_enc_LDADD): Likewise.
99867         * modules/uniconv/u32-conv-to-enc-tests
99868         (test_u32_conv_to_enc_LDADD): Likewise.
99869         * modules/uniconv/u32-strconv-from-enc-tests
99870         (test_u32_strconv_from_enc_LDADD): Likewise.
99871         * modules/uniconv/u32-strconv-to-enc-tests
99872         (test_u32_strconv_to_enc_LDADD): Likewise.
99873         * modules/uniconv/u8-conv-from-enc-tests
99874         (test_u8_conv_from_enc_LDADD): Likewise.
99875         * modules/uniconv/u8-conv-to-enc-tests
99876         (test_u8_conv_to_enc_LDADD): Likewise.
99877         * modules/uniconv/u8-strconv-from-enc-tests
99878         (test_u8_strconv_from_enc_LDADD): Likewise.
99879         * modules/uniconv/u8-strconv-to-enc-tests
99880         (test_u8_strconv_to_enc_LDADD): Likewise.
99882 2007-10-22  Bruno Haible  <bruno@clisp.org>
99884         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
99885         size.
99887 2007-10-22  Eric Blake  <ebb9@byu.net>
99889         Tweak x*printf documentation.
99890         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
99891         variable name and comments.
99892         Suggested by Bruno Haible.
99894 2007-10-22  Bruno Haible  <bruno@clisp.org>
99896         * lib/acl.c (copy_acl): Fix file name in comment.
99898 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
99900         Fix Tru64 problem with stdbool.h.
99901         * lib/stdbool.in.h (false, true):
99902         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
99903         Don't declare as an enum in this situation; it runs afoul of Tru64.
99904         Problem reported by Steven M. Schweda in
99905         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
99907 2007-10-22  Eric Blake  <ebb9@byu.net>
99909         Also wrap vf?printf.
99910         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
99911         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
99912         (xvprintf, xvfprintf): New functions.
99914 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99916         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
99917         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
99919         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
99920         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
99922 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
99924         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
99925         by Bruno Haible.
99927 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99929         * lib/getloadavg.c
99930         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
99931         Undef `sys' after including sys/table.h, for Tru64 4.0D.
99933         * tests/test-i-ring.c: Work for C89.
99935 2007-10-22  Bruno Haible  <bruno@clisp.org>
99937         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
99938         -1u, in preprocessor expression, so that we don't test for the bug
99939         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
99940         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
99942 2007-10-22  Eric Blake  <ebb9@byu.net>
99944         * tests/test-yesno.sh: Silence stderr during test.
99946 2007-10-22  Simon Josefsson  <simon@josefsson.org>
99948         * modules/crypto/gc-camellia: New file.
99950         * m4/gc-camellia.m4: New file.
99952         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
99954         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
99956 2007-10-22  Simon Josefsson  <simon@josefsson.org>
99958         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
99959         --help to stdout.  Reported by sms@antinode.org (Steven
99960         M. Schweda).
99962 2007-10-22  Simon Josefsson  <simon@josefsson.org>
99964         * users.txt: Fix link to libksba.
99966 2007-10-21  Ben Pfaff  <blp@gnu.org>
99968         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
99969         round.c roundf implementation that depends on floorf and ceilf to
99970         be tested unconditionally.
99972 2007-10-21  Ben Pfaff  <blp@gnu.org>
99974         * m4/check-libm-func.m4: Removed.
99975         * m4/check-math-lib.m4: New file.
99976         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
99977         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
99978         definition and lack of AC_LIBOBJ([roundf]).
99979         * m4/roundl.m4: Ditto, and similarly for roundl.
99980         * modules/round: Reference new m4 file.
99981         * modules/roundf: Ditto.
99982         * modules/roundl: Ditto.
99983         * tests/test-round2.c (main): Use ROUND instead of round.
99984         Bug report from Bruno Haible.
99986 2007-10-21  Bruno Haible  <bruno@clisp.org>
99988         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
99989         context.
99991 2007-10-21  Bruno Haible  <bruno@clisp.org>
99993         * tests/test-wcwidth.c (main): Allow negative result for some control
99994         characters.
99996         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
99997         Needed on OSF/1 5.1.
99999 2007-10-21  Bruno Haible  <bruno@clisp.org>
100001         * tests/test-floorf1.c: Include isnanf.h.
100002         (main): Use isnanf() instead of isnan().
100003         * tests/test-ceilf1.c: Include isnanf.h.
100004         (main): Use isnanf() instead of isnan().
100005         * tests/test-truncf1.c: Include isnanf.h.
100006         (main): Use isnanf() instead of isnan().
100007         * tests/test-roundf1.c: Include isnanf.h.
100008         (main): Use isnanf() instead of isnan().
100010 2007-10-21  Eric Blake  <ebb9@byu.net>
100012         * users.txt: Update URL for m4.
100014 2007-10-21  Bruno Haible  <bruno@clisp.org>
100016         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
100018 2007-10-21  Bruno Haible  <bruno@clisp.org>
100020         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
100021         Git's management files if the CVS files are not present.
100023 2007-10-20  Bruno Haible  <bruno@clisp.org>
100025         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
100026         gcc-3.4.x.
100028 2007-10-20  Ben Pfaff  <blp@gnu.org>
100030         * lib/math.in.h: Declare round, roundf, roundl if we are providing
100031         implementations.
100032         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
100033         * lib/round.c: New file.
100034         * lib/roundf.c: New file.
100035         * lib/roundl.c: New file.
100036         * m4/round.m4: New file.
100037         * m4/roundf.m4: New file.
100038         * m4/roundl.m4: New file.
100039         * m4/check-libm-func-m4: New file.
100040         * modules/math: Replace round, roundf, roundl related @VARS@ in
100041         math.in.h.
100042         * modules/round: New file.
100043         * modules/round-tests: New file.
100044         * modules/roundf: New file.
100045         * modules/roundf-tests: New file.
100046         * modules/roundl: New file.
100047         * modules/roundl-tests: New file.
100048         * tests/test-round1.c: New file.
100049         * tests/test-round2.c: New file.
100050         * tests/test-roundf1.c: New file.
100051         * tests/test-roundf2.c: New file.
100052         * tests/test-roundl.c: New file.
100053         * doc/functions/round.texi: Mention round module.
100054         * doc/functions/roundf.texi: Mention roundf module.
100055         * doc/functions/roundl.texi: Mention roundl module.
100056         * MODULES.html.sh: Mention new modules.
100057         Thanks to Bruno Haible for suggestions.
100059 2007-10-20  Jim Meyering  <meyering@redhat.com>
100061         * lib/xprintf.c: Include <config.h> unconditionally.
100063         Change xprintf's license to GPL.
100064         * modules/xprintf (License): s/LGPL/GPL/, since this module
100065         depends on modules (exit and exitfail) which are GPL.
100066         Suggestion from Bruno Haible.
100068         xprintf fixes.
100069         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
100070         Use a clearer diagnostic.
100071         Patch from Bruno Haible.
100073 2007-10-20  Bruno Haible  <bruno@clisp.org>
100075         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
100076         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
100077         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100079 2007-10-20  Bruno Haible  <bruno@clisp.org>
100081         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
100082         precision in the comparison result > x - 1 or similar.
100083         * tests/test-ceilf2.c (correct_result_p): Likewise.
100084         * tests/test-truncf2.c (correct_result_p): Likewise.
100085         * tests/test-trunc2.c (correct_result_p): Likewise.
100086         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100088 2007-10-20  Bruno Haible  <bruno@clisp.org>
100090         * modules/ceil: New file.
100091         * m4/ceil.m4: New file.
100092         * doc/functions/ceil.texi: Mention the 'ceil' module.
100094 2007-10-20  Bruno Haible  <bruno@clisp.org>
100096         * modules/floor: New file.
100097         * m4/floor.m4: New file.
100098         * doc/functions/floor.texi: Mention the 'floor' module.
100100 2007-10-20  Bruno Haible  <bruno@clisp.org>
100102         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
100103         of %a.
100104         * modules/floorf-tests (Depends-on): Likewise.
100105         * modules/truncf-tests (Depends-on): Likewise.
100106         * modules/trunc-tests (Depends-on): Likewise.
100107         Reported by Ben Pfaff.
100109 2007-10-19  Jim Meyering  <meyering@redhat.com>
100111         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
100112         Don't bother testing specific errno values.  Just test ferror.
100114         New module: xprintf
100115         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
100117 2007-10-19  Bruno Haible  <bruno@clisp.org>
100119         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
100120         syntax.
100121         * modules/javaexec (Makefile.am): Likewise.
100122         * modules/relocatable-prog (Makefile.am): Likewise.
100123         Suggested by Jim Meyering.
100125 2007-10-18  Bruno Haible  <bruno@clisp.org>
100127         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
100128         Reported by Jim Meyering.
100130 2007-10-18  Eric Blake  <ebb9@byu.net>
100132         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
100134 2007-10-18  Bruno Haible  <bruno@clisp.org>
100136         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
100137         the format string into writable memory. Needed in Fortify conditions.
100139 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
100140             Bruno Haible  <bruno@clisp.org>
100142         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
100143         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
100144         * modules/trim (Depends-on): Add mbchar.
100145         (configure.ac): Add gl_FUNC_MBRTOWC.
100146         (Makefile.am): Augment lib_SOURCES.
100148 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
100150         Modify glob.c to use fstatat and dirfd, to simplify it.
100151         Suggested by Eric Blake.
100152         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
100153         Don't include <stdbool.h>; not used.
100154         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
100155         (link_exists_p): Simplify implementation, since we can now assume
100156         dirfd and fstatat.
100157         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
100159 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100161         * gnulib-tool (func_get_dependencies): Fix sed script to
100162         match only tests.
100164 2007-10-17  Bruno Haible  <bruno@clisp.org>
100166         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
100167         allow locale names without encoding suffix.
100168         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
100169         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
100171 2007-10-16  Bruno Haible  <bruno@clisp.org>
100173         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
100174         * lib/getgroups.c (getgroups): Likewise.
100175         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
100177 2007-10-16  Bruno Haible  <bruno@clisp.org>
100179         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
100180         * modules/malloc-posix (License): Likewise.
100181         * modules/realloc-posix (License): Likewise.
100182         * modules/calloc-posix (License): Likewise.
100183         * modules/intprops (License): Change from GPL to LGPL, with
100184         Paul Eggert's approval.
100186 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
100188         Merge glibc changes into lib/glob.c.
100190         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
100191         2007-10-15 04:59:03 UTC.  Here are the changes:
100193         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
100195         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
100197         * lib/glob.c: Add some branch prediction throughout.
100199         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
100201         [BZ #5103]
100202         * lib/glob.c (glob): Recognize patterns starting \/.
100204         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
100206         [BZ #3996]
100207         * lib/glob.c (attribute_hidden): Define if not defined.
100208         (glob): Unescape dirname, filename or username when needed and not
100209         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
100210         is NULL.  Handle unescaped [ in pattern without closing ].
100211         Don't pass GLOB_CHECK down to recursive glob for directories.
100212         (__glob_pattern_type): New function.
100213         (__glob_pattern_p): Implement using __glob_pattern_type.
100214         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
100215         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
100216         Remove unreachable code.
100218         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
100220         * lib/glob.c (glob_in_dir): Add some comments and asserts to
100221         explain why there are no leaks.
100223         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
100225         [BZ #3253]
100226         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
100227         time, rather allocate increasingly bigger arrays of pointers, if
100228         possible with alloca, if too large with malloc.
100230 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
100232         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
100233         Problem reported by H.Merijn Brand in
100234         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
100235         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
100236         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
100238 2007-10-15  Bruno Haible  <bruno@clisp.org>
100240         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
100241         with explicit rpl_ prefix.
100242         * lib/fopen.c (fopen): Likewise.
100243         * lib/freopen.c (freopen): Likewise.
100244         * lib/iconv.c (iconv): Likewise.
100245         * lib/iconv_close.c (iconv_close): Likewise.
100247 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100249         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
100251 2007-10-15  Bruno Haible  <bruno@clisp.org>
100253         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
100254         <stddef.h> instead of <stdlib.h> since we only need NULL.
100255         Reported by Ben Pfaff <blp@cs.stanford.edu>.
100257 2007-10-15  Bruno Haible  <bruno@clisp.org>
100259         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
100260         Replace paragraph talking about LIBOBJS.
100261         Reported by Colin Watson <cjwatson@debian.org>.
100263 2007-10-15  Bruno Haible  <bruno@clisp.org>
100265         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
100266         <stdlib.h> before using NULL.
100268 2007-10-15  Simon Josefsson  <simon@josefsson.org>
100270         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
100271         Reported by Albert Chin <china@thewrittenword.com>.
100273 2007-10-14  Bruno Haible  <bruno@clisp.org>
100275         * modules/iconv_open-utf-tests: New file.
100276         * tests/test-iconv-utf.c: New file.
100278         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
100279         * modules/iconv_open-utf: New file.
100280         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
100281         (iconv, iconv_close): New declarations.
100282         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
100283         be defined.
100284         (iconv_open): Add special handling of conversion between UTF-8 and
100285         UTF-{16,32}{BE,LE}.
100286         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
100287         * lib/iconv_close.c: New file.
100288         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
100289         gl_FUNC_ICONV_OPEN.
100290         (gl_FUNC_ICONV_OPEN): Use it.
100291         (gl_FUNC_ICONV_OPEN_UTF): New macro.
100292         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
100293         and REPLACE_ICONV_UTF.
100294         * modules/iconv_open (Depends-on): Add c-strcase.
100295         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
100296         ICONV_CONST.
100297         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
100299 2007-10-13  Albert Chin  <china@thewrittenword.com>
100300             Bruno Haible  <bruno@clisp.org>
100302         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
100303         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
100305 2007-10-13  Bruno Haible  <bruno@clisp.org>
100307         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
100308         defined, use the ISO C99 inline semantics.
100309         * lib/argp.h (ARGP_EI): Likewise.
100311 2007-10-13  Bruno Haible  <bruno@clisp.org>
100313         Handle 'inline' change in gcc 4.3.0.
100314         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
100315         argp_fmtstream_write, argp_fmtstream_set_lmargin,
100316         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
100317         argp_fmtstream_point): Disable 'extern' declaration if the function
100318         definition is going to be provided inline.
100319         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
100320         semantics, not the ISO C99 inline semantics.
100321         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
100322         'extern' declaration if the function definition is going to be provided
100323         inline.
100324         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
100325         the GNU C inline semantics, not the ISO C99 inline semantics. With
100326         GCC 4.2, avoid a warning.
100328 2007-10-13  Bruno Haible  <bruno@clisp.org>
100330         * lib/freading.h (freading): Enable the use of __freading for
100331         glibc >= 2.7.
100332         * lib/freading.c (freading): Likewise.
100334 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
100336         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
100337         "warning: C99 inline functions are not supported; using GNU89".
100339 2007-10-12  Bruno Haible  <bruno@clisp.org>
100341         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
100342         of 2.
100343         * tests/test-ceilf2.c: New file.
100344         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
100346         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
100347         * modules/ceilf-tests: Update.
100349 2007-10-12  Bruno Haible  <bruno@clisp.org>
100351         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
100352         of 2.
100353         * tests/test-floorf2.c: New file.
100354         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
100356         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
100357         * modules/floorf-tests: Update.
100359 2007-10-12  Bruno Haible  <bruno@clisp.org>
100361         * tests/test-trunc2.c: New file.
100362         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
100364         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
100365         * modules/trunc-tests: Update.
100367 2007-10-12  Bruno Haible  <bruno@clisp.org>
100369         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
100370         of 2.
100371         * tests/test-truncf2.c: New file.
100372         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
100374         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
100375         * modules/truncf-tests: Update.
100377 2007-10-11  Eric Blake  <ebb9@byu.net>
100379         Don't claim strerror is broken on Interix.
100380         * doc/functions/strerror.texi (strerror): Known broken systems are
100381         now Solaris 8, and not Interix.
100382         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
100383         Interix on cross-compile.
100384         Reported by Martin Koeppe in
100385         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
100387 2007-10-11  Bruno Haible  <bruno@clisp.org>
100389         * modules/i-ring-tests: New file.
100390         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
100391         instead of assert.
100393 2007-10-11  Bruno Haible  <bruno@clisp.org>
100395         * modules/filenamecat-tests: New file.
100396         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
100397         * lib/filenamecat.c: Remove test code.
100399 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
100401         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
100403         * lib/strerror.c: Include <string.h> always, to test interface,
100404         and to remove the need for the dummy.
100405         Include intprops.h to compute width instead of doing it ourselves
100406         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
100407         (strerror): Define it to return NULL if there's no system strerror.
100408         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
100409         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
100410         ancient pre-strerror Unix systems well any more.  Saying "unknown
100411         system error" is enough.
100412         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
100413         simpler strerror.c implementation.
100414         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
100415         Simplify the tests to reflect the simpler strerror implementation.
100416         * modules/strerror (Depends-on): Add intprops.
100418 2007-10-09  Eric Blake  <ebb9@byu.net>
100420         Silence test-fpending.
100421         * modules/fpending-tests (Files): Add wrapper script.
100422         * tests/test-fpending.sh: New file.
100424 2007-10-09  Bruno Haible  <bruno@clisp.org>
100426         * MODULES.html.sh (func_module): Don't create a hyperlink for
100427         function names like 'printf_frexp'.
100428         (Misc): Add crc, memxor.
100429         (Characteristics of floating types): New section.
100430         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
100431         isnanf-nolibm, signbit, trunc, truncf, truncl.
100432         (Enhancements for ISO C 99 functions): New subsection Input/output.
100433         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
100434         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
100435         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
100436         (Compatibility checks for POSIX:2001 functions): Add clock-time.
100437         (Enhancements for POSIX:2001 functions): Add chdir-long.
100438         (File system functions): Add areadlink, chdir-safer, read-file.
100439         Remove cycle-check.
100440         (File system as inode set): New section.
100441         (Date and time): Add gethrxtime.
100442         (Multithreading): Add openmp.
100443         (Internationalization functions): Add localename.
100444         (Unicode string functions): Add unistr/u*-mbsnlen.
100445         (Support for maintaining and releasing projects): Add git-version-gen.
100446         (Lone files): Remove directories.
100448 2007-10-08  Ben Pfaff  <blp@gnu.org>
100450         * lib/xmalloca.h: Fix typo in comment.
100452 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
100454         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
100455         when avoiding problems with integer overflow.  Use a portable test
100456         instead.
100458 2007-10-08  Simon Josefsson  <simon@josefsson.org>
100460         * modules/dummy (License): Change to LGPLv2+.
100461         * modules/float (License): Likewise
100462         * modules/realloc (License): Likewise
100463         * modules/stdlib (License): Likewise
100465 2007-10-07  Bruno Haible  <bruno@clisp.org>
100467         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
100468         * floor.c (TWO_MANT_DIG): Likewise.
100469         * ceil.c (TWO_MANT_DIG): Likewise.
100470         Reported by Ben Pfaff.
100472 2007-10-07  Bruno Haible  <bruno@clisp.org>
100474         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
100475         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
100476         * lib/frexp.c (FUNC): Likewise.
100477         * lib/printf-frexp.h (printf_frexp): Likewise.
100478         * lib/printf-frexpl.h (printf_frexpl): Likewise.
100479         * lib/printf-frexp.c (FUNC): Likewise.
100480         Suggested by Jim Meyering.
100482 2007-10-07  Jim Meyering  <meyering@redhat.com>
100484         Make xnanosleep's integer overflow test more robust.
100485         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
100486         so that gcc-4.3.0 doesn't optimize away this test for overflow.
100488 2007-10-07  Bruno Haible  <bruno@clisp.org>
100490         * NEWS: Mention the license change.
100492         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
100493         abbreviations in the modules files.
100495         Change copyright notice from GPLv2+ to GPLv3+.
100496         * README: Change copyright notice.
100497         * MODULES.html.sh: Likewise.
100498         * build-aux/bootstrap.conf: Likewise.
100499         * build-aux/config.libpath: Likewise.
100500         * build-aux/csharpcomp.sh.in: Likewise.
100501         * build-aux/csharpexec.sh.in: Likewise.
100502         * build-aux/install-reloc: Likewise.
100503         * build-aux/javacomp.sh.in: Likewise.
100504         * build-aux/javaexec.sh.in: Likewise.
100505         * build-aux/ldd.sh.in: Likewise.
100506         * build-aux/reloc-ldflags: Likewise.
100507         * build-aux/relocatable.sh.in: Likewise.
100508         * build-aux/x-to-1.in: Likewise.
100509         * check-module: Likewise.
100510         * config/srclistvars.sh: Likewise.
100511         * gnulib-tool: Likewise.
100512         * lib/acl-internal.h: Likewise.
100513         * lib/acl.c: Likewise.
100514         * lib/acl.h: Likewise.
100515         * lib/acl_entries.c: Likewise.
100516         * lib/areadlink-with-size.c: Likewise.
100517         * lib/areadlink.c: Likewise.
100518         * lib/areadlink.h: Likewise.
100519         * lib/argmatch.c: Likewise.
100520         * lib/argmatch.h: Likewise.
100521         * lib/argp-ba.c: Likewise.
100522         * lib/argp-eexst.c: Likewise.
100523         * lib/argp-fmtstream.c: Likewise.
100524         * lib/argp-fmtstream.h: Likewise.
100525         * lib/argp-fs-xinl.c: Likewise.
100526         * lib/argp-help.c: Likewise.
100527         * lib/argp-namefrob.h: Likewise.
100528         * lib/argp-parse.c: Likewise.
100529         * lib/argp-pin.c: Likewise.
100530         * lib/argp-pv.c: Likewise.
100531         * lib/argp-pvh.c: Likewise.
100532         * lib/argp-xinl.c: Likewise.
100533         * lib/argp.h: Likewise.
100534         * lib/at-func.c: Likewise.
100535         * lib/atanl.c: Likewise.
100536         * lib/backupfile.c: Likewise.
100537         * lib/backupfile.h: Likewise.
100538         * lib/basename.c: Likewise.
100539         * lib/binary-io.h: Likewise.
100540         * lib/byteswap.in.h: Likewise.
100541         * lib/c-stack.c: Likewise.
100542         * lib/c-stack.h: Likewise.
100543         * lib/c-strcasestr.c: Likewise.
100544         * lib/c-strcasestr.h: Likewise.
100545         * lib/c-strstr.c: Likewise.
100546         * lib/c-strstr.h: Likewise.
100547         * lib/c-strtod.c: Likewise.
100548         * lib/calloc.c: Likewise.
100549         * lib/canon-host.c: Likewise.
100550         * lib/canon-host.h: Likewise.
100551         * lib/canonicalize-lgpl.c: Likewise.
100552         * lib/canonicalize.c: Likewise.
100553         * lib/canonicalize.h: Likewise.
100554         * lib/ceil.c: Likewise.
100555         * lib/ceilf.c: Likewise.
100556         * lib/ceill.c: Likewise.
100557         * lib/chdir-long.c: Likewise.
100558         * lib/chdir-long.h: Likewise.
100559         * lib/chdir-safer.c: Likewise.
100560         * lib/chdir-safer.h: Likewise.
100561         * lib/chown.c: Likewise.
100562         * lib/classpath.c: Likewise.
100563         * lib/classpath.h: Likewise.
100564         * lib/clean-temp.c: Likewise.
100565         * lib/clean-temp.h: Likewise.
100566         * lib/cloexec.c: Likewise.
100567         * lib/close-stream.c: Likewise.
100568         * lib/closein.c: Likewise.
100569         * lib/closein.h: Likewise.
100570         * lib/closeout.c: Likewise.
100571         * lib/closeout.h: Likewise.
100572         * lib/concat-filename.c: Likewise.
100573         * lib/copy-file.c: Likewise.
100574         * lib/copy-file.h: Likewise.
100575         * lib/count-one-bits.h: Likewise.
100576         * lib/crc.c: Likewise.
100577         * lib/crc.h: Likewise.
100578         * lib/creat-safer.c: Likewise.
100579         * lib/csharpcomp.c: Likewise.
100580         * lib/csharpcomp.h: Likewise.
100581         * lib/csharpexec.c: Likewise.
100582         * lib/csharpexec.h: Likewise.
100583         * lib/cycle-check.c: Likewise.
100584         * lib/cycle-check.h: Likewise.
100585         * lib/diacrit.c: Likewise.
100586         * lib/diacrit.h: Likewise.
100587         * lib/diffseq.h: Likewise.
100588         * lib/dirchownmod.c: Likewise.
100589         * lib/dirent.in.h: Likewise.
100590         * lib/dirfd.c: Likewise.
100591         * lib/dirfd.h: Likewise.
100592         * lib/dirname.c: Likewise.
100593         * lib/dirname.h: Likewise.
100594         * lib/dummy.c: Likewise.
100595         * lib/dup-safer.c: Likewise.
100596         * lib/dup2.c: Likewise.
100597         * lib/eealloc.h: Likewise.
100598         * lib/error.c: Likewise.
100599         * lib/error.h: Likewise.
100600         * lib/euidaccess.c: Likewise.
100601         * lib/exclude.c: Likewise.
100602         * lib/exclude.h: Likewise.
100603         * lib/execute.c: Likewise.
100604         * lib/execute.h: Likewise.
100605         * lib/exitfail.c: Likewise.
100606         * lib/exitfail.h: Likewise.
100607         * lib/expl.c: Likewise.
100608         * lib/fatal-signal.c: Likewise.
100609         * lib/fatal-signal.h: Likewise.
100610         * lib/fbufmode.c: Likewise.
100611         * lib/fbufmode.h: Likewise.
100612         * lib/fchdir.c: Likewise.
100613         * lib/fchmodat.c: Likewise.
100614         * lib/fchownat.c: Likewise.
100615         * lib/fcntl--.h: Likewise.
100616         * lib/fcntl-safer.h: Likewise.
100617         * lib/fcntl.in.h: Likewise.
100618         * lib/fd-safer.c: Likewise.
100619         * lib/fflush.c: Likewise.
100620         * lib/file-has-acl.c: Likewise.
100621         * lib/file-set.c: Likewise.
100622         * lib/file-type.c: Likewise.
100623         * lib/file-type.h: Likewise.
100624         * lib/fileblocks.c: Likewise.
100625         * lib/filemode.c: Likewise.
100626         * lib/filemode.h: Likewise.
100627         * lib/filename.h: Likewise.
100628         * lib/filenamecat.c: Likewise.
100629         * lib/filenamecat.h: Likewise.
100630         * lib/findprog.c: Likewise.
100631         * lib/findprog.h: Likewise.
100632         * lib/float.in.h: Likewise.
100633         * lib/floor.c: Likewise.
100634         * lib/floorf.c: Likewise.
100635         * lib/floorl.c: Likewise.
100636         * lib/fopen-safer.c: Likewise.
100637         * lib/fopen.c: Likewise.
100638         * lib/fpending.c: Likewise.
100639         * lib/fpending.h: Likewise.
100640         * lib/fprintf.c: Likewise.
100641         * lib/fprintftime.h: Likewise.
100642         * lib/fpucw.h: Likewise.
100643         * lib/fpurge.c: Likewise.
100644         * lib/fpurge.h: Likewise.
100645         * lib/freadable.c: Likewise.
100646         * lib/freadable.h: Likewise.
100647         * lib/freadahead.c: Likewise.
100648         * lib/freadahead.h: Likewise.
100649         * lib/freading.c: Likewise.
100650         * lib/freading.h: Likewise.
100651         * lib/free.c: Likewise.
100652         * lib/freopen.c: Likewise.
100653         * lib/frexp.c: Likewise.
100654         * lib/frexpl.c: Likewise.
100655         * lib/fseek.c: Likewise.
100656         * lib/fseterr.c: Likewise.
100657         * lib/fseterr.h: Likewise.
100658         * lib/fstatat.c: Likewise.
100659         * lib/fstrcmp.c: Likewise.
100660         * lib/fstrcmp.h: Likewise.
100661         * lib/fsusage.c: Likewise.
100662         * lib/fsusage.h: Likewise.
100663         * lib/ftell.c: Likewise.
100664         * lib/ftello.c: Likewise.
100665         * lib/fts-cycle.c: Likewise.
100666         * lib/fts.c: Likewise.
100667         * lib/fts_.h: Likewise.
100668         * lib/full-read.c: Likewise.
100669         * lib/full-read.h: Likewise.
100670         * lib/full-write.c: Likewise.
100671         * lib/full-write.h: Likewise.
100672         * lib/fwritable.c: Likewise.
100673         * lib/fwritable.h: Likewise.
100674         * lib/fwriteerror.c: Likewise.
100675         * lib/fwriteerror.h: Likewise.
100676         * lib/fwriting.c: Likewise.
100677         * lib/fwriting.h: Likewise.
100678         * lib/gcd.c: Likewise.
100679         * lib/gcd.h: Likewise.
100680         * lib/getcwd.c: Likewise.
100681         * lib/getdate.h: Likewise.
100682         * lib/getdate.y: Likewise.
100683         * lib/getdomainname.c: Likewise.
100684         * lib/getdomainname.h: Likewise.
100685         * lib/getgroups.c: Likewise.
100686         * lib/gethostname.c: Likewise.
100687         * lib/gethrxtime.c: Likewise.
100688         * lib/gethrxtime.h: Likewise.
100689         * lib/getloadavg.c: Likewise.
100690         * lib/getndelim2.c: Likewise.
100691         * lib/getndelim2.h: Likewise.
100692         * lib/getnline.c: Likewise.
100693         * lib/getnline.h: Likewise.
100694         * lib/getopt.c: Likewise.
100695         * lib/getopt.in.h: Likewise.
100696         * lib/getopt1.c: Likewise.
100697         * lib/getopt_int.h: Likewise.
100698         * lib/getpagesize.h: Likewise.
100699         * lib/getsubopt.c: Likewise.
100700         * lib/gettime.c: Likewise.
100701         * lib/getugroups.c: Likewise.
100702         * lib/getugroups.h: Likewise.
100703         * lib/getusershell.c: Likewise.
100704         * lib/gl_anyavltree_list1.h: Likewise.
100705         * lib/gl_anyavltree_list2.h: Likewise.
100706         * lib/gl_anyhash_list1.h: Likewise.
100707         * lib/gl_anyhash_list2.h: Likewise.
100708         * lib/gl_anylinked_list1.h: Likewise.
100709         * lib/gl_anylinked_list2.h: Likewise.
100710         * lib/gl_anyrbtree_list1.h: Likewise.
100711         * lib/gl_anyrbtree_list2.h: Likewise.
100712         * lib/gl_anytree_list1.h: Likewise.
100713         * lib/gl_anytree_list2.h: Likewise.
100714         * lib/gl_anytree_oset.h: Likewise.
100715         * lib/gl_anytreehash_list1.h: Likewise.
100716         * lib/gl_anytreehash_list2.h: Likewise.
100717         * lib/gl_array_list.c: Likewise.
100718         * lib/gl_array_list.h: Likewise.
100719         * lib/gl_array_oset.c: Likewise.
100720         * lib/gl_array_oset.h: Likewise.
100721         * lib/gl_avltree_list.c: Likewise.
100722         * lib/gl_avltree_list.h: Likewise.
100723         * lib/gl_avltree_oset.c: Likewise.
100724         * lib/gl_avltree_oset.h: Likewise.
100725         * lib/gl_avltreehash_list.c: Likewise.
100726         * lib/gl_avltreehash_list.h: Likewise.
100727         * lib/gl_carray_list.c: Likewise.
100728         * lib/gl_carray_list.h: Likewise.
100729         * lib/gl_linked_list.c: Likewise.
100730         * lib/gl_linked_list.h: Likewise.
100731         * lib/gl_linkedhash_list.c: Likewise.
100732         * lib/gl_linkedhash_list.h: Likewise.
100733         * lib/gl_list.c: Likewise.
100734         * lib/gl_list.h: Likewise.
100735         * lib/gl_oset.c: Likewise.
100736         * lib/gl_oset.h: Likewise.
100737         * lib/gl_rbtree_list.c: Likewise.
100738         * lib/gl_rbtree_list.h: Likewise.
100739         * lib/gl_rbtree_oset.c: Likewise.
100740         * lib/gl_rbtree_oset.h: Likewise.
100741         * lib/gl_rbtreehash_list.c: Likewise.
100742         * lib/gl_rbtreehash_list.h: Likewise.
100743         * lib/gl_sublist.c: Likewise.
100744         * lib/gl_sublist.h: Likewise.
100745         * lib/group-member.c: Likewise.
100746         * lib/group-member.h: Likewise.
100747         * lib/hard-locale.c: Likewise.
100748         * lib/hard-locale.h: Likewise.
100749         * lib/hash-pjw.c: Likewise.
100750         * lib/hash-pjw.h: Likewise.
100751         * lib/hash-triple.c: Likewise.
100752         * lib/hash.c: Likewise.
100753         * lib/hash.h: Likewise.
100754         * lib/human.c: Likewise.
100755         * lib/human.h: Likewise.
100756         * lib/i-ring.c: Likewise.
100757         * lib/i-ring.h: Likewise.
100758         * lib/idcache.c: Likewise.
100759         * lib/imaxabs.c: Likewise.
100760         * lib/imaxdiv.c: Likewise.
100761         * lib/inet_pton.c: Likewise.
100762         * lib/inet_pton.h: Likewise.
100763         * lib/intprops.h: Likewise.
100764         * lib/inttostr.c: Likewise.
100765         * lib/inttostr.h: Likewise.
100766         * lib/inttypes.in.h: Likewise.
100767         * lib/isapipe.c: Likewise.
100768         * lib/isdir.c: Likewise.
100769         * lib/isnan.c: Likewise.
100770         * lib/isnan.h: Likewise.
100771         * lib/isnanf.c: Likewise.
100772         * lib/isnanf.h: Likewise.
100773         * lib/isnanl-nolibm.h: Likewise.
100774         * lib/isnanl.c: Likewise.
100775         * lib/isnanl.h: Likewise.
100776         * lib/javacomp.c: Likewise.
100777         * lib/javacomp.h: Likewise.
100778         * lib/javaexec.c: Likewise.
100779         * lib/javaexec.h: Likewise.
100780         * lib/javaversion.c: Likewise.
100781         * lib/javaversion.h: Likewise.
100782         * lib/javaversion.java: Likewise.
100783         * lib/lbrkprop.h: Likewise.
100784         * lib/lchmod.h: Likewise.
100785         * lib/lchown.c: Likewise.
100786         * lib/ldexpl.c: Likewise.
100787         * lib/linebreak.c: Likewise.
100788         * lib/linebreak.h: Likewise.
100789         * lib/linebuffer.c: Likewise.
100790         * lib/linebuffer.h: Likewise.
100791         * lib/locale.in.h: Likewise.
100792         * lib/logl.c: Likewise.
100793         * lib/long-options.c: Likewise.
100794         * lib/long-options.h: Likewise.
100795         * lib/lstat.c: Likewise.
100796         * lib/lstat.h: Likewise.
100797         * lib/math.in.h: Likewise.
100798         * lib/mbchar.c: Likewise.
100799         * lib/mbchar.h: Likewise.
100800         * lib/mbfile.h: Likewise.
100801         * lib/mbiter.h: Likewise.
100802         * lib/mbscasecmp.c: Likewise.
100803         * lib/mbscasestr.c: Likewise.
100804         * lib/mbschr.c: Likewise.
100805         * lib/mbscspn.c: Likewise.
100806         * lib/mbslen.c: Likewise.
100807         * lib/mbsncasecmp.c: Likewise.
100808         * lib/mbsnlen.c: Likewise.
100809         * lib/mbspbrk.c: Likewise.
100810         * lib/mbspcasecmp.c: Likewise.
100811         * lib/mbsrchr.c: Likewise.
100812         * lib/mbssep.c: Likewise.
100813         * lib/mbsspn.c: Likewise.
100814         * lib/mbsstr.c: Likewise.
100815         * lib/mbstok_r.c: Likewise.
100816         * lib/mbswidth.c: Likewise.
100817         * lib/mbswidth.h: Likewise.
100818         * lib/mbuiter.h: Likewise.
100819         * lib/memcasecmp.c: Likewise.
100820         * lib/memcasecmp.h: Likewise.
100821         * lib/memchr.c: Likewise.
100822         * lib/memcmp.c: Likewise.
100823         * lib/memcoll.c: Likewise.
100824         * lib/memcoll.h: Likewise.
100825         * lib/memcpy.c: Likewise.
100826         * lib/memrchr.c: Likewise.
100827         * lib/mkancesdirs.c: Likewise.
100828         * lib/mkdir-p.c: Likewise.
100829         * lib/mkdir-p.h: Likewise.
100830         * lib/mkdir.c: Likewise.
100831         * lib/mkdirat.c: Likewise.
100832         * lib/mkdtemp.c: Likewise.
100833         * lib/mkstemp-safer.c: Likewise.
100834         * lib/mkstemp.c: Likewise.
100835         * lib/modechange.c: Likewise.
100836         * lib/modechange.h: Likewise.
100837         * lib/mountlist.c: Likewise.
100838         * lib/mountlist.h: Likewise.
100839         * lib/mpsort.c: Likewise.
100840         * lib/nanosleep.c: Likewise.
100841         * lib/obstack.c: Likewise.
100842         * lib/obstack.h: Likewise.
100843         * lib/open-safer.c: Likewise.
100844         * lib/open.c: Likewise.
100845         * lib/openat-die.c: Likewise.
100846         * lib/openat-priv.h: Likewise.
100847         * lib/openat-proc.c: Likewise.
100848         * lib/openat.c: Likewise.
100849         * lib/openat.h: Likewise.
100850         * lib/pagealign_alloc.c: Likewise.
100851         * lib/pagealign_alloc.h: Likewise.
100852         * lib/physmem.c: Likewise.
100853         * lib/physmem.h: Likewise.
100854         * lib/pipe-safer.c: Likewise.
100855         * lib/pipe.c: Likewise.
100856         * lib/pipe.h: Likewise.
100857         * lib/posixtm.c: Likewise.
100858         * lib/posixtm.h: Likewise.
100859         * lib/posixver.c: Likewise.
100860         * lib/printf-frexp.c: Likewise.
100861         * lib/printf-frexp.h: Likewise.
100862         * lib/printf-frexpl.c: Likewise.
100863         * lib/printf-frexpl.h: Likewise.
100864         * lib/printf.c: Likewise.
100865         * lib/progname.c: Likewise.
100866         * lib/progname.h: Likewise.
100867         * lib/progreloc.c: Likewise.
100868         * lib/putenv.c: Likewise.
100869         * lib/quote.c: Likewise.
100870         * lib/quote.h: Likewise.
100871         * lib/quotearg.c: Likewise.
100872         * lib/quotearg.h: Likewise.
100873         * lib/raise.c: Likewise.
100874         * lib/readline.c: Likewise.
100875         * lib/readline.h: Likewise.
100876         * lib/readlink.c: Likewise.
100877         * lib/readtokens.c: Likewise.
100878         * lib/readtokens.h: Likewise.
100879         * lib/readtokens0.c: Likewise.
100880         * lib/readtokens0.h: Likewise.
100881         * lib/readutmp.c: Likewise.
100882         * lib/readutmp.h: Likewise.
100883         * lib/realloc.c: Likewise.
100884         * lib/relocwrapper.c: Likewise.
100885         * lib/rename-dest-slash.c: Likewise.
100886         * lib/rename.c: Likewise.
100887         * lib/rmdir.c: Likewise.
100888         * lib/rpmatch.c: Likewise.
100889         * lib/safe-read.c: Likewise.
100890         * lib/safe-read.h: Likewise.
100891         * lib/safe-write.c: Likewise.
100892         * lib/safe-write.h: Likewise.
100893         * lib/same-inode.h: Likewise.
100894         * lib/same.c: Likewise.
100895         * lib/same.h: Likewise.
100896         * lib/save-cwd.c: Likewise.
100897         * lib/save-cwd.h: Likewise.
100898         * lib/savedir.c: Likewise.
100899         * lib/savedir.h: Likewise.
100900         * lib/savewd.c: Likewise.
100901         * lib/savewd.h: Likewise.
100902         * lib/search.in.h: Likewise.
100903         * lib/setenv.c: Likewise.
100904         * lib/setenv.h: Likewise.
100905         * lib/settime.c: Likewise.
100906         * lib/sh-quote.c: Likewise.
100907         * lib/sh-quote.h: Likewise.
100908         * lib/sig2str.c: Likewise.
100909         * lib/sig2str.h: Likewise.
100910         * lib/signal.in.h: Likewise.
100911         * lib/signbitd.c: Likewise.
100912         * lib/signbitf.c: Likewise.
100913         * lib/signbitl.c: Likewise.
100914         * lib/sigprocmask.c: Likewise.
100915         * lib/sincosl.c: Likewise.
100916         * lib/sleep.c: Likewise.
100917         * lib/sprintf.c: Likewise.
100918         * lib/sqrtl.c: Likewise.
100919         * lib/stat-time.h: Likewise.
100920         * lib/stdio--.h: Likewise.
100921         * lib/stdio-safer.h: Likewise.
100922         * lib/stdlib--.h: Likewise.
100923         * lib/stdlib-safer.h: Likewise.
100924         * lib/stdlib.in.h: Likewise.
100925         * lib/stpcpy.c: Likewise.
100926         * lib/stpncpy.c: Likewise.
100927         * lib/strchrnul.c: Likewise.
100928         * lib/strcspn.c: Likewise.
100929         * lib/strerror.c: Likewise.
100930         * lib/strftime.c: Likewise.
100931         * lib/strftime.h: Likewise.
100932         * lib/striconveh.c: Likewise.
100933         * lib/striconveh.h: Likewise.
100934         * lib/striconveha.c: Likewise.
100935         * lib/striconveha.h: Likewise.
100936         * lib/stripslash.c: Likewise.
100937         * lib/strnlen1.c: Likewise.
100938         * lib/strnlen1.h: Likewise.
100939         * lib/strtod.c: Likewise.
100940         * lib/strtoimax.c: Likewise.
100941         * lib/strtok_r.c: Likewise.
100942         * lib/strtol.c: Likewise.
100943         * lib/strtoll.c: Likewise.
100944         * lib/strtoul.c: Likewise.
100945         * lib/strtoull.c: Likewise.
100946         * lib/sysexits.in.h: Likewise.
100947         * lib/tempname.c: Likewise.
100948         * lib/tempname.h: Likewise.
100949         * lib/timespec.h: Likewise.
100950         * lib/tls.c: Likewise.
100951         * lib/tls.h: Likewise.
100952         * lib/tmpdir.c: Likewise.
100953         * lib/tmpdir.h: Likewise.
100954         * lib/tmpfile-safer.c: Likewise.
100955         * lib/tmpfile.c: Likewise.
100956         * lib/trigl.c: Likewise.
100957         * lib/trigl.h: Likewise.
100958         * lib/trim.c: Likewise.
100959         * lib/trim.h: Likewise.
100960         * lib/trunc.c: Likewise.
100961         * lib/truncf.c: Likewise.
100962         * lib/truncl.c: Likewise.
100963         * lib/tsearch.c: Likewise.
100964         * lib/unicodeio.c: Likewise.
100965         * lib/unicodeio.h: Likewise.
100966         * lib/unistd--.h: Likewise.
100967         * lib/unistd-safer.h: Likewise.
100968         * lib/unistdio/ulc-fprintf.c: Likewise.
100969         * lib/unistdio/ulc-vfprintf.c: Likewise.
100970         * lib/unlinkdir.c: Likewise.
100971         * lib/unlinkdir.h: Likewise.
100972         * lib/unlocked-io.h: Likewise.
100973         * lib/unsetenv.c: Likewise.
100974         * lib/userspec.c: Likewise.
100975         * lib/utime.c: Likewise.
100976         * lib/utimecmp.c: Likewise.
100977         * lib/utimecmp.h: Likewise.
100978         * lib/utimens.c: Likewise.
100979         * lib/verify.h: Likewise.
100980         * lib/verror.c: Likewise.
100981         * lib/verror.h: Likewise.
100982         * lib/version-etc-fsf.c: Likewise.
100983         * lib/version-etc.c: Likewise.
100984         * lib/version-etc.h: Likewise.
100985         * lib/vfprintf.c: Likewise.
100986         * lib/vprintf.c: Likewise.
100987         * lib/vsprintf.c: Likewise.
100988         * lib/w32spawn.h: Likewise.
100989         * lib/wait-process.c: Likewise.
100990         * lib/wait-process.h: Likewise.
100991         * lib/wcwidth.c: Likewise.
100992         * lib/write-any-file.c: Likewise.
100993         * lib/xalloc-die.c: Likewise.
100994         * lib/xalloc.h: Likewise.
100995         * lib/xasprintf.c: Likewise.
100996         * lib/xgetcwd.c: Likewise.
100997         * lib/xgetcwd.h: Likewise.
100998         * lib/xgetdomainname.c: Likewise.
100999         * lib/xgetdomainname.h: Likewise.
101000         * lib/xgethostname.c: Likewise.
101001         * lib/xmalloc.c: Likewise.
101002         * lib/xmalloca.c: Likewise.
101003         * lib/xmalloca.h: Likewise.
101004         * lib/xmemcoll.c: Likewise.
101005         * lib/xnanosleep.c: Likewise.
101006         * lib/xreadlink.c: Likewise.
101007         * lib/xreadlink.h: Likewise.
101008         * lib/xsetenv.c: Likewise.
101009         * lib/xsetenv.h: Likewise.
101010         * lib/xstriconv.c: Likewise.
101011         * lib/xstriconv.h: Likewise.
101012         * lib/xstrndup.c: Likewise.
101013         * lib/xstrndup.h: Likewise.
101014         * lib/xstrtod.c: Likewise.
101015         * lib/xstrtod.h: Likewise.
101016         * lib/xstrtol-error.c: Likewise.
101017         * lib/xstrtol.c: Likewise.
101018         * lib/xstrtol.h: Likewise.
101019         * lib/xtime.h: Likewise.
101020         * lib/xvasprintf.c: Likewise.
101021         * lib/xvasprintf.h: Likewise.
101022         * lib/yesno.c: Likewise.
101023         * lib/yesno.h: Likewise.
101024         * posix-modules: Likewise.
101025         * tests/test-alloca-opt.c: Likewise.
101026         * tests/test-arcfour.c: Likewise.
101027         * tests/test-arctwo.c: Likewise.
101028         * tests/test-argmatch.c: Likewise.
101029         * tests/test-argp-2.sh: Likewise.
101030         * tests/test-argp.c: Likewise.
101031         * tests/test-arpa_inet.c: Likewise.
101032         * tests/test-array_list.c: Likewise.
101033         * tests/test-array_oset.c: Likewise.
101034         * tests/test-atexit.c: Likewise.
101035         * tests/test-avltree_list.c: Likewise.
101036         * tests/test-avltree_oset.c: Likewise.
101037         * tests/test-avltreehash_list.c: Likewise.
101038         * tests/test-base64.c: Likewise.
101039         * tests/test-binary-io.c: Likewise.
101040         * tests/test-byteswap.c: Likewise.
101041         * tests/test-c-ctype.c: Likewise.
101042         * tests/test-c-strcasecmp.c: Likewise.
101043         * tests/test-c-strcasestr.c: Likewise.
101044         * tests/test-c-strncasecmp.c: Likewise.
101045         * tests/test-c-strstr.c: Likewise.
101046         * tests/test-canonicalize-lgpl.c: Likewise.
101047         * tests/test-canonicalize.c: Likewise.
101048         * tests/test-carray_list.c: Likewise.
101049         * tests/test-ceilf.c: Likewise.
101050         * tests/test-ceill.c: Likewise.
101051         * tests/test-count-one-bits.c: Likewise.
101052         * tests/test-crc.c: Likewise.
101053         * tests/test-dirname.c: Likewise.
101054         * tests/test-fbufmode.c: Likewise.
101055         * tests/test-fcntl.c: Likewise.
101056         * tests/test-fflush.c: Likewise.
101057         * tests/test-floorf.c: Likewise.
101058         * tests/test-floorl.c: Likewise.
101059         * tests/test-fopen.c: Likewise.
101060         * tests/test-fprintf-posix.c: Likewise.
101061         * tests/test-fprintf-posix.h: Likewise.
101062         * tests/test-fpurge.c: Likewise.
101063         * tests/test-freadable.c: Likewise.
101064         * tests/test-freadahead.c: Likewise.
101065         * tests/test-freading.c: Likewise.
101066         * tests/test-freopen.c: Likewise.
101067         * tests/test-frexp.c: Likewise.
101068         * tests/test-frexpl.c: Likewise.
101069         * tests/test-fseek.c: Likewise.
101070         * tests/test-fseeko.c: Likewise.
101071         * tests/test-fseterr.c: Likewise.
101072         * tests/test-fstrcmp.c: Likewise.
101073         * tests/test-ftell.c: Likewise.
101074         * tests/test-ftello.c: Likewise.
101075         * tests/test-fwritable.c: Likewise.
101076         * tests/test-fwriting.c: Likewise.
101077         * tests/test-getaddrinfo.c: Likewise.
101078         * tests/test-getpass.c: Likewise.
101079         * tests/test-gettimeofday.c: Likewise.
101080         * tests/test-hmac-md5.c: Likewise.
101081         * tests/test-hmac-sha1.c: Likewise.
101082         * tests/test-iconv.c: Likewise.
101083         * tests/test-iconvme.c: Likewise.
101084         * tests/test-inttypes.c: Likewise.
101085         * tests/test-isnan.c: Likewise.
101086         * tests/test-isnanf.c: Likewise.
101087         * tests/test-isnanl-nolibm.c: Likewise.
101088         * tests/test-isnanl.c: Likewise.
101089         * tests/test-isnanl.h: Likewise.
101090         * tests/test-ldexpl.c: Likewise.
101091         * tests/test-linked_list.c: Likewise.
101092         * tests/test-linkedhash_list.c: Likewise.
101093         * tests/test-locale.c: Likewise.
101094         * tests/test-localename.c: Likewise.
101095         * tests/test-lock.c: Likewise.
101096         * tests/test-lseek.c: Likewise.
101097         * tests/test-malloca.c: Likewise.
101098         * tests/test-math.c: Likewise.
101099         * tests/test-mbscasecmp.c: Likewise.
101100         * tests/test-mbscasestr1.c: Likewise.
101101         * tests/test-mbscasestr2.c: Likewise.
101102         * tests/test-mbscasestr3.c: Likewise.
101103         * tests/test-mbscasestr4.c: Likewise.
101104         * tests/test-mbschr.c: Likewise.
101105         * tests/test-mbscspn.c: Likewise.
101106         * tests/test-mbsncasecmp.c: Likewise.
101107         * tests/test-mbspbrk.c: Likewise.
101108         * tests/test-mbspcasecmp.c: Likewise.
101109         * tests/test-mbsrchr.c: Likewise.
101110         * tests/test-mbsspn.c: Likewise.
101111         * tests/test-mbsstr1.c: Likewise.
101112         * tests/test-mbsstr2.c: Likewise.
101113         * tests/test-mbsstr3.c: Likewise.
101114         * tests/test-md5.c: Likewise.
101115         * tests/test-memmem.c: Likewise.
101116         * tests/test-netinet_in.c: Likewise.
101117         * tests/test-open.c: Likewise.
101118         * tests/test-printf-frexp.c: Likewise.
101119         * tests/test-printf-frexpl.c: Likewise.
101120         * tests/test-printf-posix.c: Likewise.
101121         * tests/test-printf-posix.h: Likewise.
101122         * tests/test-rbtree_list.c: Likewise.
101123         * tests/test-rbtree_oset.c: Likewise.
101124         * tests/test-rbtreehash_list.c: Likewise.
101125         * tests/test-read-file.c: Likewise.
101126         * tests/test-rijndael.c: Likewise.
101127         * tests/test-search.c: Likewise.
101128         * tests/test-signbit.c: Likewise.
101129         * tests/test-sleep.c: Likewise.
101130         * tests/test-snprintf-posix.c: Likewise.
101131         * tests/test-snprintf-posix.h: Likewise.
101132         * tests/test-snprintf.c: Likewise.
101133         * tests/test-sprintf-posix.c: Likewise.
101134         * tests/test-sprintf-posix.h: Likewise.
101135         * tests/test-stat-time.c: Likewise.
101136         * tests/test-stdbool.c: Likewise.
101137         * tests/test-stdint.c: Likewise.
101138         * tests/test-stdio.c: Likewise.
101139         * tests/test-stdlib.c: Likewise.
101140         * tests/test-stpncpy.c: Likewise.
101141         * tests/test-strcasestr.c: Likewise.
101142         * tests/test-striconv.c: Likewise.
101143         * tests/test-striconveh.c: Likewise.
101144         * tests/test-striconveha.c: Likewise.
101145         * tests/test-string.c: Likewise.
101146         * tests/test-sys_select.c: Likewise.
101147         * tests/test-sys_socket.c: Likewise.
101148         * tests/test-sys_stat.c: Likewise.
101149         * tests/test-sys_time.c: Likewise.
101150         * tests/test-sysexits.c: Likewise.
101151         * tests/test-time.c: Likewise.
101152         * tests/test-tls.c: Likewise.
101153         * tests/test-trunc.c: Likewise.
101154         * tests/test-truncf.c: Likewise.
101155         * tests/test-truncl.c: Likewise.
101156         * tests/test-unistd.c: Likewise.
101157         * tests/test-vasnprintf-posix.c: Likewise.
101158         * tests/test-vasnprintf-posix2.c: Likewise.
101159         * tests/test-vasnprintf.c: Likewise.
101160         * tests/test-vasprintf-posix.c: Likewise.
101161         * tests/test-vasprintf.c: Likewise.
101162         * tests/test-verify.c: Likewise.
101163         * tests/test-vfprintf-posix.c: Likewise.
101164         * tests/test-vprintf-posix.c: Likewise.
101165         * tests/test-vsnprintf-posix.c: Likewise.
101166         * tests/test-vsnprintf.c: Likewise.
101167         * tests/test-vsprintf-posix.c: Likewise.
101168         * tests/test-wchar.c: Likewise.
101169         * tests/test-wctype.c: Likewise.
101170         * tests/test-wcwidth.c: Likewise.
101171         * tests/test-xstrtol.c: Likewise.
101172         * tests/test-xvasprintf.c: Likewise.
101173         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
101174         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
101175         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
101176         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
101177         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
101178         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
101179         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
101180         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
101181         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
101182         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
101183         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
101184         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
101185         * tests/uniname/test-uninames.c: Likewise.
101186         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
101187         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
101188         * tests/unistdio/test-u16-printf1.h: Likewise.
101189         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
101190         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
101191         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
101192         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
101193         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
101194         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
101195         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
101196         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
101197         * tests/unistdio/test-u32-printf1.h: Likewise.
101198         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
101199         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
101200         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
101201         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
101202         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
101203         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
101204         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
101205         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
101206         * tests/unistdio/test-u8-printf1.h: Likewise.
101207         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
101208         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
101209         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
101210         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
101211         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
101212         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
101213         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
101214         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
101215         * tests/unistdio/test-ulc-printf1.h: Likewise.
101216         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
101217         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
101218         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
101219         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
101220         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
101221         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
101222         * tests/uniwidth/test-u16-strwidth.c: Likewise.
101223         * tests/uniwidth/test-u16-width.c: Likewise.
101224         * tests/uniwidth/test-u32-strwidth.c: Likewise.
101225         * tests/uniwidth/test-u32-width.c: Likewise.
101226         * tests/uniwidth/test-u8-strwidth.c: Likewise.
101227         * tests/uniwidth/test-u8-width.c: Likewise.
101228         * tests/uniwidth/test-uc_width.c: Likewise.
101229         * config/srclist-update: Likewise.
101230         (fixlicense): Update to GPLv3+.
101232         Change copyright notice from LGPLv2.1+ to LGPLv3+.
101233         * tests/test-tsearch.c: Change copyright notice.
101235         Change copyright notice from LGPLv2.0+ to LGPLv3+.
101236         * lib/c-strcaseeq.h: Change copyright notice.
101237         * lib/streq.h: Likewise.
101238         * lib/uniconv.h: Likewise.
101239         * lib/uniconv/u-conv-from-enc.h: Likewise.
101240         * lib/uniconv/u-conv-to-enc.h: Likewise.
101241         * lib/uniconv/u-strconv-from-enc.h: Likewise.
101242         * lib/uniconv/u-strconv-to-enc.h: Likewise.
101243         * lib/uniconv/u16-conv-from-enc.c: Likewise.
101244         * lib/uniconv/u16-conv-to-enc.c: Likewise.
101245         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
101246         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
101247         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
101248         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
101249         * lib/uniconv/u32-conv-from-enc.c: Likewise.
101250         * lib/uniconv/u32-conv-to-enc.c: Likewise.
101251         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
101252         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
101253         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
101254         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
101255         * lib/uniconv/u8-conv-from-enc.c: Likewise.
101256         * lib/uniconv/u8-conv-to-enc.c: Likewise.
101257         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
101258         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
101259         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
101260         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
101261         * lib/uniname.h: Likewise.
101262         * lib/uniname/uniname.c: Likewise.
101263         * lib/unistdio.h: Likewise.
101264         * lib/unistdio/u-asnprintf.h: Likewise.
101265         * lib/unistdio/u-asprintf.h: Likewise.
101266         * lib/unistdio/u-printf-args.c: Likewise.
101267         * lib/unistdio/u-printf-args.h: Likewise.
101268         * lib/unistdio/u-printf-parse.h: Likewise.
101269         * lib/unistdio/u-snprintf.h: Likewise.
101270         * lib/unistdio/u-sprintf.h: Likewise.
101271         * lib/unistdio/u-vasprintf.h: Likewise.
101272         * lib/unistdio/u-vsnprintf.h: Likewise.
101273         * lib/unistdio/u-vsprintf.h: Likewise.
101274         * lib/unistdio/u16-asnprintf.c: Likewise.
101275         * lib/unistdio/u16-asprintf.c: Likewise.
101276         * lib/unistdio/u16-printf-parse.c: Likewise.
101277         * lib/unistdio/u16-snprintf.c: Likewise.
101278         * lib/unistdio/u16-sprintf.c: Likewise.
101279         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
101280         * lib/unistdio/u16-u16-asprintf.c: Likewise.
101281         * lib/unistdio/u16-u16-snprintf.c: Likewise.
101282         * lib/unistdio/u16-u16-sprintf.c: Likewise.
101283         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
101284         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
101285         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
101286         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
101287         * lib/unistdio/u16-vasnprintf.c: Likewise.
101288         * lib/unistdio/u16-vasprintf.c: Likewise.
101289         * lib/unistdio/u16-vsnprintf.c: Likewise.
101290         * lib/unistdio/u16-vsprintf.c: Likewise.
101291         * lib/unistdio/u32-asnprintf.c: Likewise.
101292         * lib/unistdio/u32-asprintf.c: Likewise.
101293         * lib/unistdio/u32-printf-parse.c: Likewise.
101294         * lib/unistdio/u32-snprintf.c: Likewise.
101295         * lib/unistdio/u32-sprintf.c: Likewise.
101296         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
101297         * lib/unistdio/u32-u32-asprintf.c: Likewise.
101298         * lib/unistdio/u32-u32-snprintf.c: Likewise.
101299         * lib/unistdio/u32-u32-sprintf.c: Likewise.
101300         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
101301         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
101302         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
101303         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
101304         * lib/unistdio/u32-vasnprintf.c: Likewise.
101305         * lib/unistdio/u32-vasprintf.c: Likewise.
101306         * lib/unistdio/u32-vsnprintf.c: Likewise.
101307         * lib/unistdio/u32-vsprintf.c: Likewise.
101308         * lib/unistdio/u8-asnprintf.c: Likewise.
101309         * lib/unistdio/u8-asprintf.c: Likewise.
101310         * lib/unistdio/u8-printf-parse.c: Likewise.
101311         * lib/unistdio/u8-snprintf.c: Likewise.
101312         * lib/unistdio/u8-sprintf.c: Likewise.
101313         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
101314         * lib/unistdio/u8-u8-asprintf.c: Likewise.
101315         * lib/unistdio/u8-u8-snprintf.c: Likewise.
101316         * lib/unistdio/u8-u8-sprintf.c: Likewise.
101317         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
101318         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
101319         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
101320         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
101321         * lib/unistdio/u8-vasnprintf.c: Likewise.
101322         * lib/unistdio/u8-vasprintf.c: Likewise.
101323         * lib/unistdio/u8-vsnprintf.c: Likewise.
101324         * lib/unistdio/u8-vsprintf.c: Likewise.
101325         * lib/unistdio/ulc-asnprintf.c: Likewise.
101326         * lib/unistdio/ulc-asprintf.c: Likewise.
101327         * lib/unistdio/ulc-printf-parse.c: Likewise.
101328         * lib/unistdio/ulc-snprintf.c: Likewise.
101329         * lib/unistdio/ulc-sprintf.c: Likewise.
101330         * lib/unistdio/ulc-vasnprintf.c: Likewise.
101331         * lib/unistdio/ulc-vasprintf.c: Likewise.
101332         * lib/unistdio/ulc-vsnprintf.c: Likewise.
101333         * lib/unistdio/ulc-vsprintf.c: Likewise.
101334         * lib/unistr.h: Likewise.
101335         * lib/unistr/u-cpy-alloc.h: Likewise.
101336         * lib/unistr/u-cpy.h: Likewise.
101337         * lib/unistr/u-endswith.h: Likewise.
101338         * lib/unistr/u-move.h: Likewise.
101339         * lib/unistr/u-set.h: Likewise.
101340         * lib/unistr/u-startswith.h: Likewise.
101341         * lib/unistr/u-stpcpy.h: Likewise.
101342         * lib/unistr/u-stpncpy.h: Likewise.
101343         * lib/unistr/u-strcat.h: Likewise.
101344         * lib/unistr/u-strcpy.h: Likewise.
101345         * lib/unistr/u-strcspn.h: Likewise.
101346         * lib/unistr/u-strdup.h: Likewise.
101347         * lib/unistr/u-strlen.h: Likewise.
101348         * lib/unistr/u-strncat.h: Likewise.
101349         * lib/unistr/u-strncpy.h: Likewise.
101350         * lib/unistr/u-strnlen.h: Likewise.
101351         * lib/unistr/u-strpbrk.h: Likewise.
101352         * lib/unistr/u-strspn.h: Likewise.
101353         * lib/unistr/u-strstr.h: Likewise.
101354         * lib/unistr/u-strtok.h: Likewise.
101355         * lib/unistr/u16-check.c: Likewise.
101356         * lib/unistr/u16-chr.c: Likewise.
101357         * lib/unistr/u16-cmp.c: Likewise.
101358         * lib/unistr/u16-cpy-alloc.c: Likewise.
101359         * lib/unistr/u16-cpy.c: Likewise.
101360         * lib/unistr/u16-endswith.c: Likewise.
101361         * lib/unistr/u16-mblen.c: Likewise.
101362         * lib/unistr/u16-mbsnlen.c: Likewise.
101363         * lib/unistr/u16-mbtouc-aux.c: Likewise.
101364         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
101365         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
101366         * lib/unistr/u16-mbtouc.c: Likewise.
101367         * lib/unistr/u16-mbtoucr.c: Likewise.
101368         * lib/unistr/u16-move.c: Likewise.
101369         * lib/unistr/u16-next.c: Likewise.
101370         * lib/unistr/u16-prev.c: Likewise.
101371         * lib/unistr/u16-set.c: Likewise.
101372         * lib/unistr/u16-startswith.c: Likewise.
101373         * lib/unistr/u16-stpcpy.c: Likewise.
101374         * lib/unistr/u16-stpncpy.c: Likewise.
101375         * lib/unistr/u16-strcat.c: Likewise.
101376         * lib/unistr/u16-strchr.c: Likewise.
101377         * lib/unistr/u16-strcmp.c: Likewise.
101378         * lib/unistr/u16-strcpy.c: Likewise.
101379         * lib/unistr/u16-strcspn.c: Likewise.
101380         * lib/unistr/u16-strdup.c: Likewise.
101381         * lib/unistr/u16-strlen.c: Likewise.
101382         * lib/unistr/u16-strmblen.c: Likewise.
101383         * lib/unistr/u16-strmbtouc.c: Likewise.
101384         * lib/unistr/u16-strncat.c: Likewise.
101385         * lib/unistr/u16-strncmp.c: Likewise.
101386         * lib/unistr/u16-strncpy.c: Likewise.
101387         * lib/unistr/u16-strnlen.c: Likewise.
101388         * lib/unistr/u16-strpbrk.c: Likewise.
101389         * lib/unistr/u16-strrchr.c: Likewise.
101390         * lib/unistr/u16-strspn.c: Likewise.
101391         * lib/unistr/u16-strstr.c: Likewise.
101392         * lib/unistr/u16-strtok.c: Likewise.
101393         * lib/unistr/u16-to-u32.c: Likewise.
101394         * lib/unistr/u16-to-u8.c: Likewise.
101395         * lib/unistr/u16-uctomb-aux.c: Likewise.
101396         * lib/unistr/u16-uctomb.c: Likewise.
101397         * lib/unistr/u32-check.c: Likewise.
101398         * lib/unistr/u32-chr.c: Likewise.
101399         * lib/unistr/u32-cmp.c: Likewise.
101400         * lib/unistr/u32-cpy-alloc.c: Likewise.
101401         * lib/unistr/u32-cpy.c: Likewise.
101402         * lib/unistr/u32-endswith.c: Likewise.
101403         * lib/unistr/u32-mblen.c: Likewise.
101404         * lib/unistr/u32-mbsnlen.c: Likewise.
101405         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
101406         * lib/unistr/u32-mbtouc.c: Likewise.
101407         * lib/unistr/u32-mbtoucr.c: Likewise.
101408         * lib/unistr/u32-move.c: Likewise.
101409         * lib/unistr/u32-next.c: Likewise.
101410         * lib/unistr/u32-prev.c: Likewise.
101411         * lib/unistr/u32-set.c: Likewise.
101412         * lib/unistr/u32-startswith.c: Likewise.
101413         * lib/unistr/u32-stpcpy.c: Likewise.
101414         * lib/unistr/u32-stpncpy.c: Likewise.
101415         * lib/unistr/u32-strcat.c: Likewise.
101416         * lib/unistr/u32-strchr.c: Likewise.
101417         * lib/unistr/u32-strcmp.c: Likewise.
101418         * lib/unistr/u32-strcpy.c: Likewise.
101419         * lib/unistr/u32-strcspn.c: Likewise.
101420         * lib/unistr/u32-strdup.c: Likewise.
101421         * lib/unistr/u32-strlen.c: Likewise.
101422         * lib/unistr/u32-strmblen.c: Likewise.
101423         * lib/unistr/u32-strmbtouc.c: Likewise.
101424         * lib/unistr/u32-strncat.c: Likewise.
101425         * lib/unistr/u32-strncmp.c: Likewise.
101426         * lib/unistr/u32-strncpy.c: Likewise.
101427         * lib/unistr/u32-strnlen.c: Likewise.
101428         * lib/unistr/u32-strpbrk.c: Likewise.
101429         * lib/unistr/u32-strrchr.c: Likewise.
101430         * lib/unistr/u32-strspn.c: Likewise.
101431         * lib/unistr/u32-strstr.c: Likewise.
101432         * lib/unistr/u32-strtok.c: Likewise.
101433         * lib/unistr/u32-to-u16.c: Likewise.
101434         * lib/unistr/u32-to-u8.c: Likewise.
101435         * lib/unistr/u32-uctomb.c: Likewise.
101436         * lib/unistr/u8-check.c: Likewise.
101437         * lib/unistr/u8-chr.c: Likewise.
101438         * lib/unistr/u8-cmp.c: Likewise.
101439         * lib/unistr/u8-cpy-alloc.c: Likewise.
101440         * lib/unistr/u8-cpy.c: Likewise.
101441         * lib/unistr/u8-endswith.c: Likewise.
101442         * lib/unistr/u8-mblen.c: Likewise.
101443         * lib/unistr/u8-mbsnlen.c: Likewise.
101444         * lib/unistr/u8-mbtouc-aux.c: Likewise.
101445         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
101446         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
101447         * lib/unistr/u8-mbtouc.c: Likewise.
101448         * lib/unistr/u8-mbtoucr.c: Likewise.
101449         * lib/unistr/u8-move.c: Likewise.
101450         * lib/unistr/u8-next.c: Likewise.
101451         * lib/unistr/u8-prev.c: Likewise.
101452         * lib/unistr/u8-set.c: Likewise.
101453         * lib/unistr/u8-startswith.c: Likewise.
101454         * lib/unistr/u8-stpcpy.c: Likewise.
101455         * lib/unistr/u8-stpncpy.c: Likewise.
101456         * lib/unistr/u8-strcat.c: Likewise.
101457         * lib/unistr/u8-strchr.c: Likewise.
101458         * lib/unistr/u8-strcmp.c: Likewise.
101459         * lib/unistr/u8-strcpy.c: Likewise.
101460         * lib/unistr/u8-strcspn.c: Likewise.
101461         * lib/unistr/u8-strdup.c: Likewise.
101462         * lib/unistr/u8-strlen.c: Likewise.
101463         * lib/unistr/u8-strmblen.c: Likewise.
101464         * lib/unistr/u8-strmbtouc.c: Likewise.
101465         * lib/unistr/u8-strncat.c: Likewise.
101466         * lib/unistr/u8-strncmp.c: Likewise.
101467         * lib/unistr/u8-strncpy.c: Likewise.
101468         * lib/unistr/u8-strnlen.c: Likewise.
101469         * lib/unistr/u8-strpbrk.c: Likewise.
101470         * lib/unistr/u8-strrchr.c: Likewise.
101471         * lib/unistr/u8-strspn.c: Likewise.
101472         * lib/unistr/u8-strstr.c: Likewise.
101473         * lib/unistr/u8-strtok.c: Likewise.
101474         * lib/unistr/u8-to-u16.c: Likewise.
101475         * lib/unistr/u8-to-u32.c: Likewise.
101476         * lib/unistr/u8-uctomb-aux.c: Likewise.
101477         * lib/unistr/u8-uctomb.c: Likewise.
101478         * lib/unitypes.h: Likewise.
101479         * lib/uniwidth.h: Likewise.
101480         * lib/uniwidth/cjk.h: Likewise.
101481         * lib/uniwidth/u16-strwidth.c: Likewise.
101482         * lib/uniwidth/u16-width.c: Likewise.
101483         * lib/uniwidth/u32-strwidth.c: Likewise.
101484         * lib/uniwidth/u32-width.c: Likewise.
101485         * lib/uniwidth/u8-strwidth.c: Likewise.
101486         * lib/uniwidth/u8-width.c: Likewise.
101487         * lib/uniwidth/width.c: Likewise.
101489 2007-10-07  Bruno Haible  <bruno@clisp.org>
101491         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
101492         The file is still under LGPL (see modules/inttypes).
101494 2007-10-06  Bruno Haible  <bruno@clisp.org>
101496         * modules/trunc (Dependencies): Add 'extensions'.
101497         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
101498         Reported by Ben Pfaff <blp@gnu.org>.
101500 2007-10-06  Bruno Haible  <bruno@clisp.org>
101502         * modules/freopen-tests: New file.
101503         * tests/test-freopen.c: New file.
101505         * modules/fopen-tests: New file.
101506         * tests/test-fopen.c: New file.
101508         * modules/fopen: New file.
101509         * lib/fopen.c: New file.
101510         * m4/fopen.m4: New file.
101511         * modules/freopen: New file.
101512         * lib/freopen.c: New file.
101513         * m4/freopen.m4: New file.
101514         * lib/stdio.in.h (fopen, freopen): New declarations.
101515         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
101516         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
101517         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
101518         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
101519         * doc/functions/fopen.texi: Mention the 'fopen' module.
101520         * doc/functions/freopen.texi: Mention the 'freopen' module.
101522 2007-10-06  Bruno Haible  <bruno@clisp.org>
101524         * modules/open-tests: New file.
101525         * tests/test-open.c: New file.
101527         * modules/open: New file.
101528         * lib/open.c: New file.
101529         * m4/open.m4: New file.
101530         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
101531         lib/open.c does.
101532         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
101533         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
101534         macros.
101535         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
101536         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
101537         REPLACE_OPEN.
101538         * doc/functions/open.texi: Mention the 'open' module.
101540 2007-10-04  Bruno Haible  <bruno@clisp.org>
101542         * modules/ceill-tests: New file.
101543         * tests/test-ceill.c: New file.
101545         * modules/ceill: New file.
101546         * lib/ceill.c: Replace entire file.
101547         * m4/ceill.m4: New file.
101548         * lib/math.in.h (ceill): Replace declaration.
101549         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
101550         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
101551         * doc/functions/ceill.texi: Mention the 'ceill' module.
101552         * modules/mathl (Files): Remove lib/ceill.c.
101553         (Depends-on): Add ceill.
101555 2007-10-04  Bruno Haible  <bruno@clisp.org>
101557         * modules/ceilf-tests: New file.
101558         * tests/test-ceilf.c: New file.
101560         * modules/ceilf: New file.
101561         * lib/ceil.c: New file.
101562         * lib/ceilf.c: New file.
101563         * m4/ceilf.m4: New file.
101564         * lib/math.in.h (ceilf): New declaration.
101565         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
101566         HAVE_DECL_CEILF.
101567         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
101568         HAVE_DECL_CEILF.
101569         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
101571 2007-10-04  Bruno Haible  <bruno@clisp.org>
101573         * modules/floorl-tests: New file.
101574         * tests/test-floorl.c: New file.
101576         * modules/floorl: New file.
101577         * lib/floorl.c: Replace entire file.
101578         * m4/floorl.m4: New file.
101579         * lib/math.in.h (floorl): Replace declaration.
101580         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
101581         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
101582         * doc/functions/floorl.texi: Mention the 'floorl' module.
101583         * modules/mathl (Files): Remove lib/floorl.c.
101584         (Depends-on): Add floorl.
101586 2007-10-04  Bruno Haible  <bruno@clisp.org>
101588         * modules/floorf-tests: New file.
101589         * tests/test-floorf.c: New file.
101591         * modules/floorf: New file.
101592         * lib/floor.c: New file.
101593         * lib/floorf.c: New file.
101594         * m4/floorf.m4: New file.
101595         * lib/math.in.h (floorf): New declaration.
101596         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
101597         HAVE_DECL_FLOORF.
101598         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
101599         HAVE_DECL_FLOORF.
101600         * doc/functions/floorf.texi: Mention the 'floorf' module.
101602 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
101603             Bruno Haible  <bruno@clisp.org>
101605         Advertise for the Git server instead of the CVS server.
101606         * doc/gnulib-intro.texi (Steady Development): Mention the Git
101607         repository instead of the CVS one.
101608         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
101609         about all VCS systems generically.
101610         * doc/gnulib.texi (Introduction): Capitalize `Git'.
101612 2007-10-04  Bruno Haible  <bruno@clisp.org>
101614         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
101615         means.
101616         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
101618 2007-10-04  Bruno Haible  <bruno@clisp.org>
101620         * modules/truncl-tests: New file.
101621         * tests/test-truncl.c: New file.
101623         * modules/truncl: New file.
101624         * lib/truncl.c: New file.
101625         * m4/truncl.m4: New file.
101626         * lib/math.in.h (truncl): New declaration.
101627         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
101628         HAVE_DECL_TRUNCL.
101629         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
101630         HAVE_DECL_TRUNCL.
101631         * doc/functions/truncl.texi: Mention the 'truncl' module.
101633 2007-10-04  Bruno Haible  <bruno@clisp.org>
101635         * modules/truncf-tests: New file.
101636         * tests/test-truncf.c: New file.
101638         * modules/truncf: New file.
101639         * lib/trunc.c: Make paramerizable through USE_* macros.
101640         * lib/truncf.c: New file.
101641         * m4/truncf.m4: New file.
101642         * lib/math.in.h (truncf): New declaration.
101643         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
101644         HAVE_DECL_TRUNCF.
101645         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
101646         HAVE_DECL_TRUNCF.
101647         * doc/functions/truncf.texi: Mention the 'truncf' module.
101649 2007-10-03  Bruno Haible  <bruno@clisp.org>
101651         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
101652         augmentation also for tests modules.
101653         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
101654         * modules/atexit-tests (Makefile.am): Likewise.
101655         * modules/binary-io-tests (Makefile.am): Likewise.
101656         * modules/c-strcase-tests (Makefile.am): Likewise.
101657         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
101658         * modules/canonicalize-tests (Makefile.am): Likewise.
101659         * modules/closein-tests (Makefile.am): Likewise.
101660         * modules/fprintf-posix-tests (Makefile.am): Likewise.
101661         * modules/freadahead-tests (Makefile.am): Likewise.
101662         * modules/fseek-tests (Makefile.am): Likewise.
101663         * modules/fseeko-tests (Makefile.am): Likewise.
101664         * modules/ftell-tests (Makefile.am): Likewise.
101665         * modules/ftello-tests (Makefile.am): Likewise.
101666         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
101667         * modules/isnanl-tests (Makefile.am): Likewise.
101668         * modules/lseek-tests (Makefile.am): Likewise.
101669         * modules/mbscasecmp-tests (Makefile.am): Likewise.
101670         * modules/mbscasestr-tests (Makefile.am): Likewise.
101671         * modules/mbschr-tests (Makefile.am): Likewise.
101672         * modules/mbscspn-tests (Makefile.am): Likewise.
101673         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
101674         * modules/mbspbrk-tests (Makefile.am): Likewise.
101675         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
101676         * modules/mbsrchr-tests (Makefile.am): Likewise.
101677         * modules/mbsspn-tests (Makefile.am): Likewise.
101678         * modules/mbsstr-tests (Makefile.am): Likewise.
101679         * modules/printf-posix-tests (Makefile.am): Likewise.
101680         * modules/snprintf-posix-tests (Makefile.am): Likewise.
101681         * modules/sprintf-posix-tests (Makefile.am): Likewise.
101682         * modules/tsearch-tests (Makefile.am): Likewise.
101683         * modules/uniname/uniname-tests (Makefile.am): Likewise.
101684         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
101685         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
101686         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
101687         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
101688         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
101689         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
101690         * modules/vprintf-posix-tests (Makefile.am): Likewise.
101691         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
101692         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
101693         * modules/xstrtoimax-tests (Makefile.am): Likewise.
101694         * modules/xstrtol-tests (Makefile.am): Likewise.
101695         * modules/xstrtoumax-tests (Makefile.am): Likewise.
101696         * modules/yesno-tests (Makefile.am): Likewise.
101698 2007-10-03  Bruno Haible  <bruno@clisp.org>
101700         * modules/trunc-tests: New file.
101701         * tests/test-trunc.c: New file.
101703         * modules/trunc: New file.
101704         * lib/trunc.c: New file.
101705         * m4/trunc.m4: New file.
101706         * lib/math.in.h (trunc): New declaration.
101707         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
101708         HAVE_DECL_TRUNC.
101709         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
101710         HAVE_DECL_TRUNC.
101711         * doc/functions/trunc.texi: Mention the 'trunc' module.
101713 2007-10-03  Bruno Haible  <bruno@clisp.org>
101715         * tests/test-fpending.c: New file, mostly copied
101716         from coreutils/lib/t-fpending.c.
101717         * modules/fpending-tests: New file.
101719 2007-10-03  Bruno Haible  <bruno@clisp.org>
101721         Port the stdio extensions to QNX (untested).
101722         * lib/fseterr.c (fseterr): Add support for QNX.
101723         * lib/fbufmode.c (fbufmode): Likewise.
101724         * lib/freadable.c (freadable): Likewise.
101725         * lib/fwritable.c (fwritable): Likewise.
101726         * lib/freading.c (freading): Likewise.
101727         * lib/fwriting.c (fwriting): Likewise.
101728         * lib/freadahead.c (freadahed): Likewise.
101729         * lib/fpurge.c (fpurge): Likewise.
101730         * lib/fseeko.c (rpl_fseeko): Likewise.
101732 2007-10-03  Bruno Haible  <bruno@clisp.org>
101733             Jim Meyering  <jim@meyering.net>
101734             Eric Blake  <ebb9@byu.net>
101736         * doc/relocatable.texi: Use @command instead of @program.
101738 2007-10-02  Jim Meyering  <jim@meyering.net>
101740         Perform one more "_.h" -> ".in.h" substitution.
101741         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
101742         instead of unistd_.h here, too.
101744 2007-10-01  Bruno Haible  <bruno@clisp.org>
101746         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
101747         Needed for the alloca-opt module.
101749 2007-09-30  Bruno Haible  <bruno@clisp.org>
101751         * lib/alloca.in.h: Renamed from lib/alloca_.h.
101752         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
101753         alloca_.h.
101754         * lib/argz.in.h: Renamed from lib/argz_.h.
101755         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
101756         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
101757         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
101758         byteswap_.h.
101759         * lib/dirent.in.h: Renamed from lib/dirent_.h.
101760         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
101761         dirent_.h.
101762         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
101763         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
101764         fcntl_.h.
101765         * lib/float.in.h: Renamed from lib/float_.h.
101766         * modules/float (Files, Makefile.am): Use float.in.h instead of
101767         float_.h.
101768         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
101769         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
101770         fnmatch_.h.
101771         * lib/getopt.in.h: Renamed from lib/getopt_.h.
101772         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
101773         getopt_.h.
101774         * lib/glob.in.h: Renamed from lib/glob_.h.
101775         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
101776         * lib/iconv.in.h: Renamed from lib/iconv_.h.
101777         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
101778         iconv_.h.
101779         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
101780         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
101781         inttypes_.h.
101782         * lib/locale.in.h: Renamed from lib/locale_.h.
101783         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
101784         locale_.h.
101785         * lib/math.in.h: Renamed from lib/math_.h.
101786         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
101787         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
101788         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
101789         of netinet_in_.h. Add dependency.
101790         * lib/poll.in.h: Renamed from lib/poll_.h.
101791         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
101792         * lib/search.in.h: Renamed from lib/search_.h.
101793         * modules/search (Files, Makefile.am): Use search.in.h instead of
101794         search_.h.
101795         * lib/signal.in.h: Renamed from lib/signal_.h.
101796         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
101797         _signal.h.
101798         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
101799         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
101800         stdbool_.h.
101801         * lib/stdint.in.h: Renamed from lib/stdint_.h.
101802         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
101803         stdint_.h.
101804         * lib/stdio.in.h: Renamed from lib/stdio_.h.
101805         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
101806         stdio_.h.
101807         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
101808         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
101809         stdlib_.h.
101810         * lib/string.in.h: Renamed from lib/string_.h.
101811         * modules/string (Files, Makefile.am): Use string.in.h instead of
101812         string_.h.
101813         * doc/gnulib-tool.texi (Initial import): Update.
101814         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
101815         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
101816         of sys_select_.h. Add dependency.
101817         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
101818         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
101819         of sys_socket_.h.
101820         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
101821         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
101822         sys_stat_.h.
101823         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
101824         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
101825         sys_time_.h.
101826         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
101827         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
101828         sysexits_.h.
101829         * lib/time.in.h: Renamed from lib/time_.h.
101830         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
101831         * lib/unistd.in.h: Renamed from lib/unistd_.h.
101832         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
101833         unistd_.h.
101834         * lib/wchar.in.h: Renamed from lib/wchar_.h.
101835         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
101836         wchar_.h.
101837         * lib/wctype.in.h: Renamed from lib/wctype_.h.
101838         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
101839         wctype_.h.
101840         * build-aux/bootstrap (slurp): Update.
101841         * lib/.cppi-disable: Update.
101843 2007-09-30  Bruno Haible  <bruno@clisp.org>
101845         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
101846         Needed on BeOS.
101848 2007-09-30  Bruno Haible  <bruno@clisp.org>
101850         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
101852 2007-09-29  Bruno Haible  <bruno@clisp.org>
101854         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
101856 2007-09-29  Bruno Haible  <bruno@clisp.org>
101858         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
101859         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
101860         * build-aux/install-reloc: Compile also areadlink.c.
101861         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
101863 2007-09-29  Bruno Haible  <bruno@clisp.org>
101865         * gnulib-tool (func_emit_initmacro_done): Indentation.
101867 2007-09-29  Bruno Haible  <bruno@clisp.org>
101869         * README: Add CVS checkout update instructions.
101870         Info from Bob Proulx <bob@proulx.com>.
101872 2007-09-28  Eric Blake  <ebb9@byu.net>
101874         Provide move-if-change.
101875         * build-aux/move-if-change: New file, based on best practice
101876         rather than any canonical upstream location.
101878 2007-09-28  Jim Meyering  <jim@meyering.net>
101880         Fix canonicalize loop-detection corner case.
101881         Do not attempt to stat the symlink values stored via seen_triple.
101882         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
101883         on linux-2.6.18, (but not 2.6.22).
101884         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
101885         triple_compare.  The former compares dev,ino,filename, while the latter
101886         would actually stat dirname(filename) when dev and ino were equal.
101887         * lib/hash-triple.c: Install <string.h>.
101888         (STREQ): Define.
101889         (triple_compare_ino_str): New function.
101890         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
101892 2007-09-28  Eric Blake  <ebb9@byu.net>
101894         Enforce that AC_REPLACE_FUNCS files exist.
101895         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
101896         override check for typos.
101898         Fix test-closein on Solaris 10.
101899         * tests/test-closein.c (main): Don't assume stdin can be inherited
101900         closed on all systems.
101901         * tests/test-closein.sh: Likewise.
101902         Reported by Piotr Tarnowski.
101904 2007-09-28  Jim Meyering  <jim@meyering.net>
101906         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
101908 2007-09-27  Jim Meyering  <jim@meyering.net>
101910         canonicalize: Avoid a false-positive cycle failure.
101911         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
101912         Sort.  Remove cycle-check.
101913         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
101914         not cycle-check.h.
101915         (seen_triple): New function.
101916         (canonicalize_filename_mode): Use it instead of cycle-check.
101917         * tests/test-canonicalize.c: Add a test for this bug.
101918         * tests/test-canonicalize.sh: Set up and run the test.
101920         New module, file-set, from coreutils.
101921         * modules/file-set: Define it.
101922         * lib/file-set.c, lib/file-set.h: Implement.
101924         New module, hash-triple, from coreutils.
101925         * modules/hash-triple: Define it.
101926         * lib/hash-triple.c, lib/hash-triple.h: Implement.
101928 2007-09-25  Eric Blake  <ebb9@byu.net>
101930         Fix strerror on Interix.
101931         * lib/string_.h (strerror): Declare replacement.
101932         * doc/functions/strerror.texi (strerror): Document the Interix
101933         shortcoming.
101934         * modules/string (Makefile.am): Support new hooks.
101935         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
101936         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
101937         gl_FUNC_STRERROR_SEPARATE.
101938         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
101939         * lib/strerror.c (rpl_strerror): Provide replacement.
101940         * modules/strerror (Depends-on): Add string.
101941         (configure.ac): Detect use of module.
101942         * tests/test-strerror.c: New file.
101943         * modules/strerror-tests: New test module.
101944         * modules/argp (Depends-on): Add strerror.
101945         * modules/error (Depends-on): Likewise.
101946         Reported by Martin Koeppe.
101948 2007-09-24  Bruno Haible  <bruno@clisp.org>
101950         * README: Update git instructions.
101952 2007-09-24  Eric Blake  <ebb9@byu.net>
101954         Revert fpending breakage from 2007-09-08.
101955         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
101956         __fpending.c.
101958 2007-09-24  Jim Meyering  <jim@meyering.net>
101960         filenamecat.c: Add a test.
101961         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
101962         showing how the function works when DIR is the empty string.
101964 2007-09-21  Simon Josefsson  <simon@josefsson.org>
101966         * tests/test-canonicalize.sh: Turn on executable bit.
101968 2007-09-19  Eric Blake  <ebb9@byu.net>
101970         * README: Update CVS instructions.
101972 2007-09-18  Bruno Haible  <bruno@clisp.org>
101974         * modules/areadlink: New file.
101975         * lib/areadlink.h (areadlink): New declaration.
101976         * lib/areadlink.c: New file, based on lib/xreadlink.c.
101978 2007-09-17  Jim Meyering  <jim@meyering.net>
101980         * lib/savewd.c (ESTALE) [!defined]: Define.
101981         Reported to be required on Interix by Martin Koeppe.
101983 2007-09-17  Bruno Haible  <bruno@clisp.org>
101985         * gnulib-tool (func_version): Use $version.
101987 2007-09-16  Bruno Haible  <bruno@clisp.org>
101989         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
101990         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
101991         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
101992         Reported by Greg Schafer <gschafer@zip.com.au>.
101994 2007-09-15  Bruno Haible  <bruno@clisp.org>
101996         * gnulib-tool (sed): Try a little harder to make bash understand the
101997         alias.
101998         Reported by Bruce Korb <bruce.korb@gmail.com>.
102000 2007-09-13  Eric Blake  <ebb9@byu.net>
102002         * ChangeLog: Remove conflict markers.
102004 2007-09-13  Simon Josefsson  <simon@josefsson.org>
102006         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
102007         Reported by Bruno Haible <bruno@clisp.org>.
102009 2007-09-12  Bruno Haible  <bruno@clisp.org>
102011         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
102012         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
102013         is not defined.
102015 2007-09-12  Eric Blake  <ebb9@byu.net>
102017         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
102018         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
102019         Autoconf definition.
102020         * modules/euidaccess (Depends-on): Add extensions, for
102021         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
102022         * modules/fnmatch (Depends-on): Likewise.
102023         * modules/getaddrinfo (Depends-on): Likewise.
102024         * modules/getdelim (Depends-on): Likewise.
102025         * modules/getline (Depends-on): Likewise.
102026         * modules/getsubopt (Depends-on): Likewise.
102027         * modules/gettext (Depends-on): Likewise.
102028         * modules/group-member (Depends-on): Likewise.
102029         * modules/mbchar (Depends-on): Likewise.
102030         * modules/memmem (Depends-on): Likewise.
102031         * modules/mempcpy (Depends-on): Likewise.
102032         * modules/memrchr (Depends-on): Likewise.
102033         * modules/pagealign_alloc (Depends-on): Likewise.
102034         * modules/readutmp (Depends-on): Likewise.
102035         * modules/stpcpy (Depends-on): Likewise.
102036         * modules/stpncpy (Depends-on): Likewise.
102037         * modules/strchrnul (Depends-on): Likewise.
102038         * modules/strndup (Depends-on): Likewise.
102039         * modules/strsep (Depends-on): Likewise.
102040         * modules/strverscmp (Depends-on): Likewise.
102041         * modules/vasprintf (Depends-on): Likewise.
102042         * modules/wcwidth (Depends-on): Likewise.
102043         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
102044         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
102045         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
102046         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
102047         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
102048         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
102049         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
102050         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
102051         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
102052         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
102053         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
102054         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
102055         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
102056         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
102057         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
102058         * m4/readutmp.m4 (gl_READUTMP): Likewise.
102059         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
102060         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
102061         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
102062         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
102063         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
102064         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
102065         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
102066         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
102067         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
102068         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
102069         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
102070         so that lock.m4 can be used in gettext without extensions module.
102072 2007-09-11  Bruno Haible  <bruno@clisp.org>
102074         * m4/isc-posix.m4: Remove file.
102075         Suggested by Eric Blake.
102077 2007-09-11  Eric Blake  <ebb9@byu.net>
102079         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
102081 2007-09-10  Bruno Haible  <bruno@clisp.org>
102083         * posix-modules: Fix typo in error message.
102084         Reported by Matt <mkraai@beckman.com>.
102086 2007-09-09  Bruno Haible  <bruno@clisp.org>
102088         * doc/functions/getdelim.texi: Update list of platforms lacking the
102089         function.
102090         * doc/functions/getline.texi: Likewise.
102092 2007-09-09  Jim Meyering  <jim@meyering.net>
102094         * lib/hash.c (hash_initialize): Detect calloc failure.
102095         Reported by Bruno Haible.
102097 2007-09-09  Bruno Haible  <bruno@clisp.org>
102099         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
102100         malloc or realloc fails.
102102 2007-09-09  Bruno Haible  <bruno@clisp.org>
102104         * modules/getcwd (Depends-on): Add malloc-posix.
102105         * modules/glob (Depends-on): Likewise.
102106         * modules/putenv (Depends-on): Likewise.
102107         * modules/strdup (Depends-on): Likewise.
102108         * modules/getdelim (Depends-on): Add realloc-posix.
102109         * modules/read-file (Depends-on): Likewise.
102111 2007-09-09  Bruno Haible  <bruno@clisp.org>
102113         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
102114         (gl_FUNC_MALLOC_POSIX): Require it.
102115         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
102116         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
102117         * modules/realloc (Files): Add m4/malloc.m4.
102118         * modules/calloc (Files): Likewise.
102120 2007-09-09  Bruno Haible  <bruno@clisp.org>
102122         * modules/malloc-posix: New file.
102123         * modules/malloc (Depends-on): Add malloc-posix.
102124         * lib/malloc.c: Include errno.h.
102125         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
102126         and a POSIX-compatible malloc into a single function. Set ENOMEM
102127         when returning NULL.
102128         * m4/malloc.m4: New file.
102129         * doc/functions/malloc.texi: Mention the malloc-posix module.
102130         * lib/stdlib_.h (malloc): New declaration.
102131         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102132         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
102133         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
102134         and HAVE_MALLOC_POSIX.
102136 2007-09-09  Bruno Haible  <bruno@clisp.org>
102138         * modules/realloc-posix: New file.
102139         * modules/realloc (Depends-on): Add realloc-posix.
102140         * lib/realloc.c: Include errno.h.
102141         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
102142         and a POSIX-compatible realloc into a single function. Set ENOMEM
102143         when returning NULL.
102144         * m4/realloc.m4: New file.
102145         * doc/functions/realloc.texi: Mention the realloc-posix module.
102146         * lib/stdlib_.h (realloc): New declaration.
102147         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102148         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
102149         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
102150         and HAVE_REALLOC_POSIX.
102152 2007-09-09  Bruno Haible  <bruno@clisp.org>
102154         * modules/calloc-posix: New file.
102155         * modules/calloc (Depends-on): Add calloc-posix.
102156         * lib/calloc.c: Include errno.h.
102157         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
102158         and a POSIX-compatible calloc into a single function. Set ENOMEM
102159         when returning NULL.
102160         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
102161         * doc/functions/calloc.texi: Mention the calloc-posix module.
102162         * lib/stdlib_.h (calloc): New declaration.
102163         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102164         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
102165         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
102166         and HAVE_CALLOC_POSIX.
102168 2007-09-09  Bruno Haible  <bruno@clisp.org>
102170         Allow for modules to show an arbitrary notice.
102171         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
102172         * gnulib-tool: New option --extract-notice.
102173         (func_usage): Document it.
102174         (sed_extract_prog): Update.
102175         (func_get_notice): New function.
102176         (func_modules_notice): New function.
102177         (func_import, func_create_testdir): Invoke it.
102178         Suggested by Jim Meyering.
102180 2007-09-09  Bruno Haible  <bruno@clisp.org>
102182         * gnulib-tool: New options --verbose, --quiet.
102183         (func_usage): Document them.
102184         (verbose): New variable.
102185         (func_execute_command): New function.
102186         (func_import): Don't show the module list and the file list if
102187         $verbose < 0.
102188         (func_create_testdir): Likewise. Use func_execute_command.
102189         (func_create_megatestdir): Use func_execute_command.
102191 2007-09-08  Bruno Haible  <bruno@clisp.org>
102193         * gnulib-tool (func_import): Prefer rsync over wget when available,
102194         for fetching the PO files.
102196 2007-09-08  Bruno Haible  <bruno@clisp.org>
102198         * posix-modules: New file. Portions copied from gnulib-tool.
102199         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
102201 2007-09-08  Jim Meyering  <jim@meyering.net>
102203         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
102204         * lib/fpending.h: Rename from __fpending.h.
102205         * lib/fpending.c: Rename from __fpending.c.
102206         Include "fpending.h", not "__fpending.h".
102207         * lib/__fpending.h, lib/__fpending.c: Remove files.
102208         * modules/fpending (Files): Reflect new file names.
102209         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
102211 2007-09-08  Bruno Haible  <bruno@clisp.org>
102213         * m4/inttypes-h.m4: Remove stub file.
102215 2007-09-07  Simon Josefsson  <simon@josefsson.org>
102217         * doc/headers/stdint.texi: Discuss #include_next issue.
102219 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
102221         * build-aux/bootstrap: Remove obsolete comment about wget --help.
102223 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
102225         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
102226         in variable name.
102228 2007-09-03  Jim Meyering  <jim@meyering.net>
102230         New module: git-version-gen.
102231         * modules/git-version-gen: New file.
102233         Import changes from coreutils for bootstrap script.
102235         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
102237         bootstrap: uses rsync to download the .po files
102238         * build-aux/bootstrap (po_download_command_format): New global.
102239         (download_po_files): Use rsync.
102240         (update_po_files): Don't remove .po files after download,
102241         so future rsync runs can take advantage of the copies.
102243         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
102245         Solve the unnecessary-.po-file-regeneration problem once and for all.
102246         * build-aux/bootstrap (download_po_files): New function, renamed from
102247         get_translations.  Now, downloads, but doesn't update LINGUAS.
102248         (update_po_files): New function.
102250         bootstrap: Ignore more.
102251         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
102252         uniwidth to e.g., lib/.gitignore.
102253         (slurp): Handle the sys_stat_.h -> sys mapping, too.
102255         * build-aux/bootstrap: New setting: vc_ignore.
102256         (insert_sorted_if_absent): Create $file if absent.
102257         Adapt to new, possibly empty, list: $vc_ignore.
102259         bootstrap: generate more ignorable names
102260         * build-aux/bootstrap (slurp): When generating ignorable names,
102261         also map .sin to .sed, .gperf to .c, and .y to .c.
102263 2007-09-03  Jim Meyering  <jim@meyering.net>
102265         * build-aux/git-version-gen: New file, from coreutils.  For details, see
102266         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
102268 2007-09-02  Bruno Haible  <bruno@clisp.org>
102270         Fix mis-recognition of 'mcs' on QNX 6.
102271         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
102272         output contains the string "Mono".
102273         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
102274         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
102276 2007-09-01  Bruno Haible  <bruno@clisp.org>
102278         Fix collision between uniwidth/* and linebreak modules.
102279         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
102280         u32_width): Remove declarations.
102281         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
102282         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
102283         streq3, streq2, streq1, streq0): Remove functions.
102284         (STREQ): Remove macro.
102285         (is_cjk_encoding): Remove function.
102286         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
102287         (uc_width, u8_width, u16_width, u32_width): Remove functions.
102288         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
102289         * NEWS: Document the change.
102291 2007-09-01  Bruno Haible  <bruno@clisp.org>
102293         * lib/streq.h: Add double-inclusion guard.
102295 2007-09-01  Karl Berry  <karl@gnu.org>
102297         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
102299 2007-08-28  Jim Meyering  <jim@meyering.net>
102301         Rename mreadlink_with_size to areadlink_with_size.
102302         * NEWS: Document the change.
102303         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
102304         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
102305         * lib/mreadlink.h: Rename this to...
102306         * lib/areadlink.h: ...this.
102307         * modules/mreadlink-with-size: Rename this to...
102308         * modules/areadlink-with-size: ...this.
102309         * lib/canonicalize.c: Reflect the renaming.
102310         * modules/canonicalize: Likewise.
102312 2007-08-26  Bruno Haible  <bruno@clisp.org>
102314         * gnulib-tool (func_import): When deciding which files to remove,
102315         consider also dangling symbolic links.
102316         Reported by Eric Blake.
102318 2007-08-26  Bruno Haible  <bruno@clisp.org>
102320         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
102322 2007-08-23  Simon Josefsson  <simon@josefsson.org>
102324         * lib/readline.c: Don't include getline.h, the prototype is now
102325         found in stdio.h.
102327 2007-08-23  Jim Meyering  <jim@meyering.net>
102329         Getdelim touchup.
102330         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
102331         around the funlockfile call, since funlockfile never sets errno.
102332         Don't set errno upon failed realloc.
102334 2007-08-22  Eric Blake  <ebb9@byu.net>
102336         Getline touchups.
102337         * lib/getdelim.c (getdelim): Revert regression that required *n to
102338         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
102339         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
102340         getdelim, rather than whether implementation is missing.
102341         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
102342         * lib/stdio_.h (getline): Also declare if replacement is
102343         required.
102344         * doc/functions/getdelim.texi: New file.
102345         * doc/functions/getline.texi: Likewise.
102346         * doc/gnulib.texi (Function Substitutes): Add new files.
102347         Reported by Bruno Haible.
102349 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
102351         * users.txt: Add Guile.
102353 2007-08-22  Eric Blake  <ebb9@byu.net>
102355         * tests/test-getdelim.c (main): Use remove, not unlink.
102356         * tests/test-getline.c (main): Likewise.
102358         Move getline and getdelim into stdio.h, per POSIX 200x.
102359         * modules/getline (Files): Remove getline.h.
102360         (Depends-on): Add stdio.
102361         (configure.ac): Add module indicator.
102362         * modules/getdelim (Files): Remove getdelim.h.
102363         (Depends-on): Add stdio.
102364         (configure.ac): Add module indicator.
102365         * modules/stdio (Makefile.am): Work with new indicators.
102366         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
102367         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
102368         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
102369         * lib/getdelim.h: Delete.
102370         * lib/getline.h: Delete.
102371         * lib/stdio_.h (getdelim, getline): Declare.
102372         * modules/getdelim-tests: New module.
102373         * modules/getline-tests: Likewise.
102374         * tests/test-getdelim.c: New file.
102375         * tests/test-getline.c: Likewise.
102376         * NEWS: Document the change.
102377         * lib/getline.c: Update choice of header.
102378         * lib/csharpcomp.c: Likewise.
102379         * lib/getpass.c: Likewise.
102380         * lib/javacomp.c: Likewise.
102381         * lib/javaversion.c: Likewise.
102382         * lib/yesno.c: Likewise.
102383         * lib/getdelim.c: Likewise.
102384         (getdelim): Set errno on failure, and avoid memory leak.
102386 2007-08-19  Bruno Haible  <bruno@clisp.org>
102388         * modules/closein (Depends-on): Add freadahead.
102389         * lib/closein.c: Include freadahead.h.
102390         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
102391         is zero.
102393 2007-08-19  Bruno Haible  <bruno@clisp.org>
102395         * modules/freadahead-tests: New file.
102396         * tests/test-freadahead.sh: New file.
102397         * tests/test-freadahead.c: New file.
102399         * modules/freadahead: New file.
102400         * lib/freadahead.h: New file.
102401         * lib/freadahead.c: New file.
102402         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
102403         fbufmode, fpurge, freadable, fwritable.
102405 2007-08-19  Eric Blake  <ebb9@byu.net>
102407         Test yesno in combination with closein.
102408         * lib/yesno.c (yesno): Document use of stdin.
102409         * modules/yesno-tests (Files): New module.
102410         * tests/test-yesno.c (main): New file.
102411         * tests/test-yesno.sh: Likewise.
102413 2007-08-19  Bruno Haible  <bruno@clisp.org>
102415         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
102416         * lib/fseeko.c (rpl_fseeko): Likewise.
102417         * lib/fseterr.c (fseterr): Likewise.
102419 2007-08-19  Bruno Haible  <bruno@clisp.org>
102421         * tests/test-lseek.c (main): Disable a test for BeOS.
102422         * doc/functions/lseek.texi: Document the BeOS bug.
102424 2007-08-19  Bruno Haible  <bruno@clisp.org>
102425             Eric Blake  <ebb9@byu.net>
102427         * lib/lseek.c: Include <sys/stat.h>.
102428         (rpl_lseek): Add workaround code also for Unix platforms.
102429         Needed for BeOS.
102430         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
102431         * doc/functions/lseek.texi: Document BeOS definiency.
102433 2007-08-18  Bruno Haible  <bruno@clisp.org>
102435         * modules/fstrcmp-tests: New file.
102436         * tests/test-fstrcmp.c: New file.
102438 2007-08-18  Bruno Haible  <bruno@clisp.org>
102440         * modules/fstrcmp: New file, from GNU gettext with modifications.
102441         * lib/fstrcmp.h: New file, from GNU gettext.
102442         * lib/fstrcmp.c: New file, from GNU gettext.
102443         * MODULES.html.sh (String handling): Add fstrcmp.
102445 2007-08-18  Bruno Haible  <bruno@clisp.org>
102447         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
102448         'bool'.
102449         (diag, compareseq): Remove const from the ctxt argument.
102450         (USE_HEURISTIC): Undefine at the end.
102452 2007-08-18  Jim Meyering  <jim@meyering.net>
102454         New file: lib/idcache.h
102455         * NEWS: Mention the addition.
102456         * modules/idcache (Files): Add lib/idcache.h
102457         * lib/idcache.c: Include "idcache.h".
102458         Don't include <sys/types.h>.
102459         Add a FIXME comment.
102460         Move file-scoped "static" declarations to the top.
102461         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
102463 2007-08-17  Bruno Haible  <bruno@clisp.org>
102464         and Paul Eggert  <eggert@cs.ucla.edu>
102466         * MODULES.html.sh: Add diffseq.
102467         * modules/diffseq: New file.
102468         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
102469         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
102471 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
102473         Import changes from coreutils for bootstrap script.
102475         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
102477         * build-aux/bootstrap (slurp): Work even in environments where
102478         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
102479         current code does not slurp files whose names start with ".", and
102480         this looks like it might be a troublesome area.
102482         2007-07-11  Jim Meyering  <jim@meyering.net>
102484         If there's a GPL vN copyright comment, require that N == 3.
102486         2007-07-08  Jim Meyering  <jim@meyering.net>
102488         Run the coreutils-specific code only if tests/Makefile.am.in exists.
102489         * build-aux/bootstrap (mam_template): Move definition out of loop.
102491         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
102493         * build-aux/bootstrap (symlink_to_dir): Rename function from
102494         symlink_to_gnulib.  Add a directory parameter.  Update all
102495         callers.
102496         (cp_mark_as_generated): Also check for -- and link to -- files in
102497         gl/.
102499         2007-07-08  Jim Meyering  <jim@meyering.net>
102501         Adapt to deeper hierarchy in gnulib.
102502         * build-aux/bootstrap (symlink_to_dir): If the destination
102503         directory doesn't exist, create it. This is required at least for
102504         "lib/uniwidth/cjk.h".
102506         2007-05-15  Jim Meyering  <jim@meyering.net>
102508         * build-aux/bootstrap: Now that generated Makefile.am files
102509         are no longer under version control, they must be created at
102510         bootstrap time.
102512 2007-08-14  Ben Pfaff  <blp@gnu.org>
102514         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
102516 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
102518         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
102519         given the changes below.
102520         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
102521         even on hosts that have padding bits beyond the supported 64.
102523 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
102525         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
102526         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
102527         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
102528         depends on it.
102529         (xstrtol_error): Remove.
102530         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
102531         but with a different signature.
102532         (ATTRIBUTE_NORETURN, __attribute__): New macros.
102533         * lib/xstrtol-error.c: Include exitfail.h.
102534         (xstrtol_fatal): New function, with a different signature from the
102535         old xstrtol_error, so that the caller need not worry about passing
102536         in an exit status, or about storage management of the option argument.
102537         (xstrtol_error): Now a static function.  Redo signature to
102538         implement xstrtol_fatal.  Output the correct number of hyphens in
102539         front of the option so that the caller need not worry about
102540         storage management.
102541         (N_): New macro.
102542         (_): Remove; not used now.
102543         * modules/xstrtol: Depend on getopt.
102544         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
102545         of old STRTOL_FATAL_ERROR macro.
102546         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
102547         of test program.
102548         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
102549         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
102551 2007-08-08  Eric Blake  <ebb9@byu.net>
102553         * lib/xstrtol-error.c: Add missing include.
102555         Move xstrtol messages into gnulib domain, when --pobase is used.
102556         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
102557         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
102558         * modules/xstrtol (Files): Distribute new file.
102559         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
102560         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
102561         * tests/test-xstrtol.c: ...into new file.
102562         * tests/test-xstrtoul.c: Also test xstrtoul.
102563         * tests/test-xstrtoimax.c: Also test xstrtoimax.
102564         * tests/test-xstrtoumax.c: Also test xstrtoumax.
102565         * tests/test-xstrtol.sh: Drive the tests.
102566         * tests/test-xstrtoimax.sh: Likewise.
102567         * tests/test-xstrtoumax.sh: Likewise.
102568         * modules/xstrtol-tests: New module.
102569         * modules/xstrtoimax-tests: Likewise.
102570         * modules/xstrtoumax-tests: Likewise.
102572 2007-08-08  Jim Meyering  <jim@meyering.net>
102574         New function: mfile_name_concat.
102575         * lib/filenamecat.c (mfile_name_concat): New function, just like
102576         file_name_concat, but return NULL upon failure rather than exiting
102577         with a diagnostic.
102578         * lib/filenamecat.h: Declare it.
102580 2007-08-07  Bruno Haible  <bruno@clisp.org>
102582         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
102583         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
102584         warning from gcc.
102585         Reported by Eric Blake.
102587 2007-08-07  Simon Josefsson  <simon@josefsson.org>
102589         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
102590         * modules/crypto/arcfour (License): Likewise.
102591         * modules/crypto/des-tests (License): Likewise.
102592         * modules/crypto/gc-arctwo-tests (License): Likewise.
102593         * modules/crypto/gc-des-tests (License): Likewise.
102594         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
102595         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
102596         * modules/crypto/gc-md2-tests (License): Likewise.
102597         * modules/crypto/gc-md4-tests (License): Likewise.
102598         * modules/crypto/gc-md5-tests (License): Likewise.
102599         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
102600         * modules/crypto/gc-rijndael-tests (License): Likewise.
102601         * modules/crypto/gc-sha1-tests (License): Likewise.
102602         * modules/crypto/gc-tests (License): Likewise.
102603         * modules/crypto/hmac-md5 (License): Likewise.
102604         * modules/crypto/hmac-sha1 (License): Likewise.
102605         * modules/crypto/md2-tests (License): Likewise.
102606         * modules/crypto/md4-tests (License): Likewise.
102607         * modules/crypto/md5 (License): Likewise.
102608         * modules/crypto/rijndael (License): Likewise.
102609         * modules/crypto/sha1 (License): Likewise.
102610         * modules/memxor (License): Likewise.
102612 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
102613         and Bruno Haible  <bruno@clisp.org>
102615         * NEWS: Describe interface changes to human, xstrtol.
102616         * lib/human.h: Include <xstrtol.h>.
102617         (human_options): Return enum strtol_error, not int.  Remove
102618         bool arg; take int * instead.
102619         * lib/human.c: Don't include "gettext.h".
102620         (_): Remove; no longer used.
102621         Don't include <xstrtol.h>, since human.h does it.
102622         (human_options): Adjust to abovementioned interface changes.
102623         Do not report error to stderr; that's now the caller's
102624         responsibility.
102625         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
102626         interface change.
102627         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
102628         Str, Argument_type_string.  All uses changed.  Put " argument"
102629         in diagnostics to make them clearer.  Change wording of suffix
102630         message for clarity.
102631         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
102632         Argument_type_string.
102633         (STRTOL_FATAL_WARN): Remove; no longer used.
102634         * modules/human (Depends-on): Remove gettext-h.
102636 2007-08-06  Simon Josefsson  <simon@josefsson.org>
102638         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
102640 2007-07-31  Bruno Haible  <bruno@clisp.org>
102642         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
102643         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
102644         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
102646 2007-07-31  Bruno Haible  <bruno@clisp.org>
102648         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
102649         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
102651 2007-07-30  Bruno Haible  <bruno@clisp.org>
102653         * modules/base64 (License): Use the synonymous term "LGPLv2+".
102654         * modules/c-ctype (License): Likewise.
102655         * modules/c-strcase (License): Likewise.
102656         * modules/check-version (License): Likewise.
102657         * modules/iconv (License): Likewise.
102658         * modules/iconv_open (License): Likewise.
102659         * modules/read-file (License): Likewise.
102660         * modules/striconv (License): Likewise.
102661         * modules/strverscmp (License): Likewise.
102662         * modules/vasprintf (License): Likewise.
102663         * modules/crypto/des (License): Likewise.
102664         * modules/crypto/gc (License): Likewise.
102665         * modules/crypto/gc-arcfour (License): Likewise.
102666         * modules/crypto/gc-arctwo (License): Likewise.
102667         * modules/crypto/gc-des (License): Likewise.
102668         * modules/crypto/gc-hmac-md5 (License): Likewise.
102669         * modules/crypto/gc-hmac-sha1 (License): Likewise.
102670         * modules/crypto/gc-md2 (License): Likewise.
102671         * modules/crypto/gc-md4 (License): Likewise.
102672         * modules/crypto/gc-md5 (License): Likewise.
102673         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
102674         * modules/crypto/gc-random (License): Likewise.
102675         * modules/crypto/gc-rijndael (License): Likewise.
102676         * modules/crypto/gc-sha1 (License): Likewise.
102677         * modules/crypto/md2 (License): Likewise.
102678         * modules/crypto/md4 (License): Likewise.
102680 2007-07-30  Jim Meyering  <jim@meyering.net>
102682         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
102683         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
102684         it has valid stat data.  This bug would cause du not to count the
102685         sizes of inaccessible directories.
102686         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
102687         in <http://bugzilla.redhat.com/250077>.
102689 2007-07-25  Peter O'Gorman  <peter@pogma.com>
102690             Bruno Haible  <bruno@clisp.org>
102692         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
102693         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
102694         #include_next, gives a diagnostic about it, but reports no error in
102695         the exit code.
102696         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
102698 2007-07-24  Ben Pfaff  <blp@gnu.org>
102700         Improve name: "count-one-bits" is better than "popcount".
102701         * MODULES.html.sh: Update name.
102702         * lib/popcount.h: Renamed lib/count-one-bits.h.
102703         (popcount): Renamed count_one_bits.
102704         (popcountl): Renamed count_one_bits_l.
102705         (popcountll): Renamed count_one_bits_ll.
102706         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
102707         * modules/popcount: Renamed module/count-one-bits.
102708         * modules/popcount-tests: Renamed module/count-one-bits-tests.
102709         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
102711 2007-07-23  Ben Pfaff  <blp@gnu.org>
102713         * lib/popcount.h (popcount32): Reduce size of constants, to allow
102714         better code generation, and add U to large constants to avoid
102715         warnings, in non-GCC case.
102716         Suggested by Bruno Haible.
102718 2007-07-23  Ben Pfaff  <blp@gnu.org>
102720         * lib/popcount.h: Use verify_true instead of if...abort.
102721         * modules/popcount: Depend on verify module.
102722         Suggested by Jim Meyering.
102724 2007-07-23  Bruno Haible  <bruno@clisp.org>
102726         * gnulib-tool (func_import): Create a .cvsignore file also when the
102727         directory is not yet in CVS but the toplevel directory is. When
102728         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
102729         Reported by Karl Berry.
102731 2007-07-22  Ben Pfaff  <blp@gnu.org>
102733         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
102734         case.
102735         Suggested by Eric Blake.
102737 2007-07-22  Ben Pfaff  <blp@gnu.org>
102739         New module: popcount.
102740         * MODULES.html.sh: Add popcount.
102741         * modules/popcount: New file.
102742         * modules/popcount-tests: New file.
102743         * tests/test-popcount.c: New file.
102744         * lib/popcount.h: New file.
102745         * m4/popcount.m4: New file.
102747 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
102749         * build-aux/announce-gen: Update to GPLv3.
102751         * build-aux/config.guess: Update from config.
102753 2007-07-21  Bruno Haible  <bruno@clisp.org>
102755         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
102756         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
102758 2007-07-20  Jim Meyering  <jim@meyering.net>
102760         * check-module: Diagnose a self-dependency.
102762 2007-07-19  Bruno Haible  <bruno@clisp.org>
102764         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
102765         empty.
102766         Reported by Eric Blake.
102768 2007-07-18  Bruno Haible  <bruno@clisp.org>
102770         * gnulib-tool: New options --po-base, --po-domain.
102771         (func_usage): Document them.
102772         (pobase, po_domain): New variables.
102773         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
102774         DEFAULT_TEXT_DOMAIN.
102775         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
102776         (func_import): Consider pobase and po_domain. Create a po/ directory.
102777         (func_create_testdir): Set pobase and po_domain to empty.
102778         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
102779         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
102781 2007-07-18  Bruno Haible  <bruno@clisp.org>
102783         * gnulib-tool (func_get_automake_snippet): Synthesize also an
102784         EXTRA_DIST augmentation for files in build-aux/.
102786 2007-07-16  Bruno Haible  <bruno@clisp.org>
102788         * modules/lseek (License): Use the synonymous term "LGPLv2+".
102789         * modules/getdelim (License): Likewise.
102791 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
102793         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
102794         * modules/d-type (License): Likewise.
102795         * modules/extensions (License): Likewise.
102796         * modules/fnmatch (License): Likewise.
102797         * modules/fseeko (License): Likewise.
102798         * modules/getaddrinfo (License): Likewise.
102799         * modules/getline (License): Likewise.
102800         * modules/getlogin_r (License): Likewise.
102801         * modules/getpass (License): Likewise.
102802         * modules/gettimeofday (License): Likewise.
102803         * modules/glob (License): Likewise.
102804         * modules/inet_ntop (License): Likewise.
102805         * modules/malloc (License): Likewise.
102806         * modules/malloca (License): Likewise.
102807         * modules/memmem (License): Likewise.
102808         * modules/mempcpy (License): Likewise.
102809         * modules/memset (License): Likewise.
102810         * modules/minmax (License): Likewise.
102811         * modules/mktime (License): Likewise.
102812         * modules/netinet_in (License): Likewise.
102813         * modules/pathmax (License): Likewise.
102814         * modules/poll (License): Likewise.
102815         * modules/regex (License): Likewise.
102816         * modules/snprintf (License): Likewise.
102817         * modules/stdbool (License): Likewise.
102818         * modules/stdint (License): Likewise.
102819         * modules/stdio (License): Likewise.
102820         * modules/strcase (License): Likewise.
102821         * modules/strcasestr (License): Likewise.
102822         * modules/strdup (License): Likewise.
102823         * modules/string (License): Likewise.
102824         * modules/strndup (License): Likewise.
102825         * modules/strnlen (License): Likewise.
102826         * modules/strpbrk (License): Likewise.
102827         * modules/strptime (License): Likewise.
102828         * modules/strsep (License): Likewise.
102829         * modules/sys_select (License): Likewise.
102830         * modules/sys_socket (License): Likewise.
102831         * modules/sys_stat (License): Likewise.
102832         * modules/sys_time (License): Likewise.
102833         * modules/time (License): Likewise.
102834         * modules/time_r (License): Likewise.
102835         * modules/timegm (License): Likewise.
102836         * modules/unistd (License): Likewise.
102837         * modules/vsnprintf (License): Likewise.
102838         * modules/wctype (License): Likewise.
102840 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102842         * modules/argz (License): LGPLv2+.
102844 2007-07-15  Karl Berry  <karl@gnu.org>
102846         * doc/gnulib.texi: revise node structure per new fdl.texi.
102848 2007-07-14  Bruno Haible  <bruno@clisp.org>
102850         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
102851         the output file.
102852         * lib/uniname/uninames.h: Regenerated.
102854 2007-07-14  Karl Berry  <karl@gnu.org>
102856         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
102857         omitting sectioning and index commands.
102859 2007-07-13  Bruno Haible  <bruno@clisp.org>
102861         New gnulib-tool option --more-symlinks.
102862         * gnulib-tool (func_usage): Document --more-symlinks.
102863         (do_copyrights): New variable.
102864         Recognize option --more-symlinks.
102865         (func_import): Don't add a copyright notice transform to
102866         sed_transform_lib_file if do_copyrights is empty.
102868 2007-07-13  Bruno Haible  <bruno@clisp.org>
102870         * lib/vasnprintf.c (decimal_point_char): Define also if
102871         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
102872         && !NEED_PRINTF_DIRECTIVE_A.
102873         Reported by Clemens Koller <clemens.koller@anagramm.de> via
102874         Gary V. Vaughan <gary@gnu.org>.
102876 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
102878         * lib/inttypes_.h: Undo previous change, since it was fixed
102879         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
102881 2007-07-13  Bruno Haible  <bruno@clisp.org>
102883         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
102884         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
102886 2007-07-13  Jim Meyering  <jim@meyering.net>
102888         df: Don't fail for Tru64's "file-on-file mount".
102889         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
102890         so we fall through and use statfs instead.  Details here:
102891         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
102892         Reported by Albert Chin.
102894 2007-07-13  Bruno Haible  <bruno@clisp.org>
102896         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
102897         * modules/configmake (License): Likewise.
102898         * modules/gettext (License): Likewise.
102899         * modules/gettext-h (License): Likewise.
102900         * modules/include_next (License): Likewise.
102901         * modules/link-warning (License): Likewise.
102902         * modules/localcharset (License): Likewise.
102903         * modules/localename (License): Likewise.
102904         * modules/lock (License): Likewise.
102905         * modules/relocatable-lib-lgpl (License): Likewise.
102906         * modules/size_max (License): Likewise.
102907         * modules/vasnprintf (License): Likewise.
102908         * modules/wchar (License): Likewise.
102909         * modules/xsize (License): Likewise.
102911 2007-07-13  Bruno Haible  <bruno@clisp.org>
102913         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
102914         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
102916 2007-07-12  Bruno Haible  <bruno@clisp.org>
102918         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
102919         in the modules files.
102921 2007-07-11  Karl Berry  <karl@gnu.org>
102923         * MODULES.html.sh (func_module): use
102924          sed -e '\|^'"${includefile}"'$|d'
102925          instead of /.../d, to avoid errors on $includefile's containing /.
102927 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
102929         * gnulib-tool (func_import): Avoid duplication of --avoid
102930         statements
102931         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
102932         names to `_' in variable names.
102934 2007-07-10  Eric Blake  <ebb9@byu.net>
102936         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
102937         * NEWS: Document this change.
102939 2007-07-08  Bruno Haible  <bruno@clisp.org>
102941         Update to Unicode 5.0.
102942         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
102943         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
102944         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
102945         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
102946         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
102947         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
102948         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
102949         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
102950         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
102951         U+10A3F, U+1D242..U+1D244.
102952         (nonspacing_table_ind): Update.
102953         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
102954         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
102956 2007-07-08  Bruno Haible  <bruno@clisp.org>
102958         Update to Unicode 5.0.
102959         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
102960         code transform. Extend the name index field of unicode_name_to_code and
102961         unicode_code_to_name from 16 to 24 bits.
102962         * lib/uniname/uniname.c (unicode_character_name,
102963         unicode_name_character): Add the range 0x12xxx to the code transform.
102964         * lib/uniname/uninames.h: Regenerated.
102965         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
102967 2007-07-07  Bruno Haible  <bruno@clisp.org>
102969         * modules/wcwidth-tests: New file.
102970         * tests/test-wcwidth.c: New file.
102972         Work around MacOS X wcwidth() bug.
102973         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
102974         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
102975         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
102976         original wcwidth in non-UTF-8 locales.
102977         * modules/wcwidth (Depends-on): Add localcharset, streq,
102978         uniwidth/width.
102979         * doc/functions/wcwidth.texi: Update.
102981 2007-07-07  Bruno Haible  <bruno@clisp.org>
102983         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
102984         (wcwidth): New declaration.
102985         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
102986         macros.
102987         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
102988         here. Prepare for creating <wchar.h> unconditionally.
102989         * modules/wchar (Depends-on): Add link-warning.
102990         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
102991         REPLACE_WCWIDTH, and GL_LINK_WARNING.
102992         * lib/wcwidth.h: Remove file.
102993         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
102994         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
102995         * modules/wcwidth (Files): Remove lib/wcwidth.h.
102996         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
102997         (Include): Replace wcwidth.h with <wchar.h>.
102998         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
102999         * lib/mbchar.h: Don't include wcwidth.h.
103000         * lib/mbswidth.c: Likewise.
103001         * NEWS: Mention the change.
103003 2007-07-07  Bruno Haible  <bruno@clisp.org>
103005         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
103006         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
103007         definition with an external declaration.
103008         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
103009         defined as a function. Remove AC_C_INLINE requirement.
103010         * modules/wcwidth (Files): Add lib/wcwidth.c.
103011         (Makefile.am): Remove redundant statement.
103013 2007-07-07  Bruno Haible  <bruno@clisp.org>
103015         * MODULES.html.sh (Unicode string functions): Add the new modules.
103017         * tests/uniwidth/test-u32-strwidth.c: New file.
103018         * modules/uniwidth/u32-strwidth-tests: New file.
103020         * lib/uniwidth/u32-strwidth.c: New file.
103021         * modules/uniwidth/u32-strwidth: New file.
103023         * tests/uniwidth/test-u16-strwidth.c: New file.
103024         * modules/uniwidth/u16-strwidth-tests: New file.
103026         * lib/uniwidth/u16-strwidth.c: New file.
103027         * modules/uniwidth/u16-strwidth: New file.
103029         * tests/uniwidth/test-u8-strwidth.c: New file.
103030         * modules/uniwidth/u8-strwidth-tests: New file.
103032         * lib/uniwidth/u8-strwidth.c: New file.
103033         * modules/uniwidth/u8-strwidth: New file.
103035         * tests/uniwidth/test-u32-width.c: New file.
103036         * modules/uniwidth/u32-width-tests: New file.
103038         * lib/uniwidth/u32-width.c: New file.
103039         * modules/uniwidth/u32-width: New file.
103041         * tests/uniwidth/test-u16-width.c: New file.
103042         * modules/uniwidth/u16-width-tests: New file.
103044         * lib/uniwidth/u16-width.c: New file.
103045         * modules/uniwidth/u16-width: New file.
103047         * tests/uniwidth/test-u8-width.c: New file.
103048         * modules/uniwidth/u8-width-tests: New file.
103050         * lib/uniwidth/u8-width.c: New file.
103051         * modules/uniwidth/u8-width: New file.
103053         * tests/uniwidth/test-uc_width.c: New file.
103054         * modules/uniwidth/width-tests: New file.
103056         * lib/uniwidth/width.c: New file, from GNU libiconv.
103057         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
103058         * modules/uniwidth/width: New file.
103060         * lib/uniwidth.h: New file, from GNU libiconv.
103061         * modules/uniwidth/base: New file.
103063 2007-07-07  Bruno Haible  <bruno@clisp.org>
103065         * lib/uniname.h: New file, from GNU gettext.
103066         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
103067         * lib/uniname/uninames.h: New file, from GNU gettext.
103068         * lib/uniname/uniname.c: New file, from GNU gettext.
103069         * tests/uniname/test-uninames.sh: New file.
103070         * tests/uniname/test-uninames.c: New file, from GNU gettext.
103071         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
103072         * modules/uniname/base: New file.
103073         * modules/uniname/uniname: New file.
103074         * modules/uniname/uniname-tests: New file.
103075         * MODULES.html.sh (Unicode string functions): Add the new modules.
103077 2007-07-06  Bruno Haible  <bruno@clisp.org>
103079         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
103081 2007-07-06  Bruno Haible  <bruno@clisp.org>
103083         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
103084         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
103085         includes <cygwin/sys_time.h> which includes <sys/select.h> which
103086         include <sys/time.h>.
103087         Reported by Eric Blake.
103089 2007-07-06  Eric Blake  <ebb9@byu.net>
103091         Fix testing canonicalize on cygwin.
103092         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
103093         Revert patch from 2007-06-19.
103094         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
103095         canonicalize module is also in use.
103096         * tests/test-canonicalize.c: New file.
103097         * tests/test-canonicalize.sh: Likewise.
103098         * modules/canonicalize-tests: Likewise.
103100 2007-07-06  Jim Meyering  <jim@meyering.net>
103102         * lib/getugroups.c (getugroups): Detect getgrent failure.
103103         Adjust comment to reflect reality: this function may return -1.
103105 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
103107         * build-aux/bootstrap (TP_URL,get_translations): Update to use
103108         the new TP address.
103109         (usage): Fix typo
103110         (gnulib_mk): New variable.
103112 2007-07-05  Jim Meyering  <jim@meyering.net>
103114         Don't let endgrent clobber errno, no matter how improbable.
103115         * lib/getugroups.c (getugroups): Save and restore errno around
103116         endgrent call.
103118         Close the group DB even when failing with 2^31 or more members.
103119         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
103121 2007-07-04  Jim Meyering  <jim@meyering.net>
103123         * lib/getugroups.h: New file.
103124         * lib/getugroups.c: Include "getugroups.h".
103125         Remove uses of "register" keyword.
103126         Move local variable, "cp", down into scope where used.
103127         Give "username" parameter the "const" attribute.
103128         * modules/getugroups (Files): Add lib/getugroups.h
103130 2007-07-04  Karl Berry  <karl@gnu.org>
103132         * MODULES.html.sh (func_all_modules): Complete rename of
103133         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
103135 2007-07-02  Bruno Haible  <bruno@clisp.org>
103137         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
103138         mode, when inttypes.h comes from gnulib.
103139         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
103141 2007-07-02  Simon Josefsson  <simon@josefsson.org>
103143         * NEWS: Mention lgpl module name change.
103145         * modules/lgpl-2.1: Renamed from lgpl.
103147         * NEWS: Mention gpl module name change.
103149         * modules/gpl-3.0: New file, based on gpl-2.0.
103151         * modules/gpl-2.0: Renamed from gpl.
103153         * modules/gpl: Fix filename, doc/gpl.texi is now found at
103154         doc/gpl-2.0.texi.
103156 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
103158         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
103159         #define __STDC_LIMIT_MACROS temporarily while including
103160         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
103161         Problem reported by Joel E. Denny in
103162         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
103164 2007-07-01  Bruno Haible  <bruno@clisp.org>
103166         * lib/unistdio.h: New file.
103167         * lib/unistdio/u-asnprintf.h: New file.
103168         * lib/unistdio/u-asprintf.h: New file.
103169         * lib/unistdio/u-printf-args.c: New file.
103170         * lib/unistdio/u-printf-args.h: New file.
103171         * lib/unistdio/u-printf-parse.h: New file.
103172         * lib/unistdio/u-snprintf.h: New file.
103173         * lib/unistdio/u-sprintf.h: New file.
103174         * lib/unistdio/u-vasprintf.h: New file.
103175         * lib/unistdio/u-vsnprintf.h: New file.
103176         * lib/unistdio/u-vsprintf.h: New file.
103177         * lib/unistdio/ulc-asnprintf.c: New file.
103178         * lib/unistdio/ulc-asprintf.c: New file.
103179         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
103180         * lib/unistdio/ulc-printf-parse.c: New file.
103181         * lib/unistdio/ulc-snprintf.c: New file.
103182         * lib/unistdio/ulc-sprintf.c: New file.
103183         * lib/unistdio/ulc-vasnprintf.c: New file.
103184         * lib/unistdio/ulc-vasprintf.c: New file.
103185         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
103186         * lib/unistdio/ulc-vsnprintf.c: New file.
103187         * lib/unistdio/ulc-vsprintf.c: New file.
103188         * lib/unistdio/u8-asnprintf.c: New file.
103189         * lib/unistdio/u8-asprintf.c: New file.
103190         * lib/unistdio/u8-printf-parse.c: New file.
103191         * lib/unistdio/u8-snprintf.c: New file.
103192         * lib/unistdio/u8-sprintf.c: New file.
103193         * lib/unistdio/u8-vasnprintf.c: New file.
103194         * lib/unistdio/u8-vasprintf.c: New file.
103195         * lib/unistdio/u8-vsnprintf.c: New file.
103196         * lib/unistdio/u8-vsprintf.c: New file.
103197         * lib/unistdio/u8-u8-asnprintf.c: New file.
103198         * lib/unistdio/u8-u8-asprintf.c: New file.
103199         * lib/unistdio/u8-u8-snprintf.c: New file.
103200         * lib/unistdio/u8-u8-sprintf.c: New file.
103201         * lib/unistdio/u8-u8-vasnprintf.c: New file.
103202         * lib/unistdio/u8-u8-vasprintf.c: New file.
103203         * lib/unistdio/u8-u8-vsnprintf.c: New file.
103204         * lib/unistdio/u8-u8-vsprintf.c: New file.
103205         * lib/unistdio/u16-asnprintf.c: New file.
103206         * lib/unistdio/u16-asprintf.c: New file.
103207         * lib/unistdio/u16-printf-parse.c: New file.
103208         * lib/unistdio/u16-snprintf.c: New file.
103209         * lib/unistdio/u16-sprintf.c: New file.
103210         * lib/unistdio/u16-vasnprintf.c: New file.
103211         * lib/unistdio/u16-vasprintf.c: New file.
103212         * lib/unistdio/u16-vsnprintf.c: New file.
103213         * lib/unistdio/u16-vsprintf.c: New file.
103214         * lib/unistdio/u16-u16-asnprintf.c: New file.
103215         * lib/unistdio/u16-u16-asprintf.c: New file.
103216         * lib/unistdio/u16-u16-snprintf.c: New file.
103217         * lib/unistdio/u16-u16-sprintf.c: New file.
103218         * lib/unistdio/u16-u16-vasnprintf.c: New file.
103219         * lib/unistdio/u16-u16-vasprintf.c: New file.
103220         * lib/unistdio/u16-u16-vsnprintf.c: New file.
103221         * lib/unistdio/u16-u16-vsprintf.c: New file.
103222         * lib/unistdio/u32-asnprintf.c: New file.
103223         * lib/unistdio/u32-asprintf.c: New file.
103224         * lib/unistdio/u32-printf-parse.c: New file.
103225         * lib/unistdio/u32-snprintf.c: New file.
103226         * lib/unistdio/u32-sprintf.c: New file.
103227         * lib/unistdio/u32-vasnprintf.c: New file.
103228         * lib/unistdio/u32-vasprintf.c: New file.
103229         * lib/unistdio/u32-vsnprintf.c: New file.
103230         * lib/unistdio/u32-vsprintf.c: New file.
103231         * lib/unistdio/u32-u32-asnprintf.c: New file.
103232         * lib/unistdio/u32-u32-asprintf.c: New file.
103233         * lib/unistdio/u32-u32-snprintf.c: New file.
103234         * lib/unistdio/u32-u32-sprintf.c: New file.
103235         * lib/unistdio/u32-u32-vasnprintf.c: New file.
103236         * lib/unistdio/u32-u32-vasprintf.c: New file.
103237         * lib/unistdio/u32-u32-vsnprintf.c: New file.
103238         * lib/unistdio/u32-u32-vsprintf.c: New file.
103239         * tests/unistdio/test-ulc-asnprintf1.c: New file.
103240         * tests/unistdio/test-ulc-asnprintf1.h: New file.
103241         * tests/unistdio/test-ulc-printf1.h: New file.
103242         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
103243         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
103244         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
103245         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
103246         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
103247         * tests/unistdio/test-ulc-vasprintf1.c: New file.
103248         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
103249         * tests/unistdio/test-ulc-vsprintf1.c: New file.
103250         * tests/unistdio/test-u8-asnprintf1.c: New file.
103251         * tests/unistdio/test-u8-asnprintf1.h: New file.
103252         * tests/unistdio/test-u8-printf1.h: New file.
103253         * tests/unistdio/test-u8-vasnprintf1.c: New file.
103254         * tests/unistdio/test-u8-vasnprintf2.c: New file.
103255         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
103256         * tests/unistdio/test-u8-vasnprintf3.c: New file.
103257         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
103258         * tests/unistdio/test-u8-vasprintf1.c: New file.
103259         * tests/unistdio/test-u8-vsnprintf1.c: New file.
103260         * tests/unistdio/test-u8-vsprintf1.c: New file.
103261         * tests/unistdio/test-u16-asnprintf1.c: New file.
103262         * tests/unistdio/test-u16-asnprintf1.h: New file.
103263         * tests/unistdio/test-u16-printf1.h: New file.
103264         * tests/unistdio/test-u16-vasnprintf1.c: New file.
103265         * tests/unistdio/test-u16-vasnprintf2.c: New file.
103266         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
103267         * tests/unistdio/test-u16-vasnprintf3.c: New file.
103268         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
103269         * tests/unistdio/test-u16-vasprintf1.c: New file.
103270         * tests/unistdio/test-u16-vsnprintf1.c: New file.
103271         * tests/unistdio/test-u16-vsprintf1.c: New file.
103272         * tests/unistdio/test-u32-asnprintf1.c: New file.
103273         * tests/unistdio/test-u32-asnprintf1.h: New file.
103274         * tests/unistdio/test-u32-printf1.h: New file.
103275         * tests/unistdio/test-u32-vasnprintf1.c: New file.
103276         * tests/unistdio/test-u32-vasnprintf2.c: New file.
103277         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
103278         * tests/unistdio/test-u32-vasnprintf3.c: New file.
103279         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
103280         * tests/unistdio/test-u32-vasprintf1.c: New file.
103281         * tests/unistdio/test-u32-vsnprintf1.c: New file.
103282         * tests/unistdio/test-u32-vsprintf1.c: New file.
103283         * modules/unistdio/base: New file.
103284         * modules/unistdio/u-printf-args: New file.
103285         * modules/unistdio/ulc-asnprintf: New file.
103286         * modules/unistdio/ulc-asprintf: New file.
103287         * modules/unistdio/ulc-fprintf: New file.
103288         * modules/unistdio/ulc-printf-parse: New file.
103289         * modules/unistdio/ulc-snprintf: New file.
103290         * modules/unistdio/ulc-sprintf: New file.
103291         * modules/unistdio/ulc-vasnprintf: New file.
103292         * modules/unistdio/ulc-vasprintf: New file.
103293         * modules/unistdio/ulc-vfprintf: New file.
103294         * modules/unistdio/ulc-vsnprintf: New file.
103295         * modules/unistdio/ulc-vsprintf: New file.
103296         * modules/unistdio/u8-asnprintf: New file.
103297         * modules/unistdio/u8-asprintf: New file.
103298         * modules/unistdio/u8-printf-parse: New file.
103299         * modules/unistdio/u8-snprintf: New file.
103300         * modules/unistdio/u8-sprintf: New file.
103301         * modules/unistdio/u8-vasnprintf: New file.
103302         * modules/unistdio/u8-vasprintf: New file.
103303         * modules/unistdio/u8-vsnprintf: New file.
103304         * modules/unistdio/u8-vsprintf: New file.
103305         * modules/unistdio/u8-u8-asnprintf: New file.
103306         * modules/unistdio/u8-u8-asprintf: New file.
103307         * modules/unistdio/u8-u8-snprintf: New file.
103308         * modules/unistdio/u8-u8-sprintf: New file.
103309         * modules/unistdio/u8-u8-vasnprintf: New file.
103310         * modules/unistdio/u8-u8-vasprintf: New file.
103311         * modules/unistdio/u8-u8-vsnprintf: New file.
103312         * modules/unistdio/u8-u8-vsprintf: New file.
103313         * modules/unistdio/u16-asnprintf: New file.
103314         * modules/unistdio/u16-asprintf: New file.
103315         * modules/unistdio/u16-printf-parse: New file.
103316         * modules/unistdio/u16-snprintf: New file.
103317         * modules/unistdio/u16-sprintf: New file.
103318         * modules/unistdio/u16-vasnprintf: New file.
103319         * modules/unistdio/u16-vasprintf: New file.
103320         * modules/unistdio/u16-vsnprintf: New file.
103321         * modules/unistdio/u16-vsprintf: New file.
103322         * modules/unistdio/u16-u16-asnprintf: New file.
103323         * modules/unistdio/u16-u16-asprintf: New file.
103324         * modules/unistdio/u16-u16-snprintf: New file.
103325         * modules/unistdio/u16-u16-sprintf: New file.
103326         * modules/unistdio/u16-u16-vasnprintf: New file.
103327         * modules/unistdio/u16-u16-vasprintf: New file.
103328         * modules/unistdio/u16-u16-vsnprintf: New file.
103329         * modules/unistdio/u16-u16-vsprintf: New file.
103330         * modules/unistdio/u32-asnprintf: New file.
103331         * modules/unistdio/u32-asprintf: New file.
103332         * modules/unistdio/u32-printf-parse: New file.
103333         * modules/unistdio/u32-snprintf: New file.
103334         * modules/unistdio/u32-sprintf: New file.
103335         * modules/unistdio/u32-vasnprintf: New file.
103336         * modules/unistdio/u32-vasprintf: New file.
103337         * modules/unistdio/u32-vsnprintf: New file.
103338         * modules/unistdio/u32-vsprintf: New file.
103339         * modules/unistdio/u32-u32-asnprintf: New file.
103340         * modules/unistdio/u32-u32-asprintf: New file.
103341         * modules/unistdio/u32-u32-snprintf: New file.
103342         * modules/unistdio/u32-u32-sprintf: New file.
103343         * modules/unistdio/u32-u32-vasnprintf: New file.
103344         * modules/unistdio/u32-u32-vasprintf: New file.
103345         * modules/unistdio/u32-u32-vsnprintf: New file.
103346         * modules/unistdio/u32-u32-vsprintf: New file.
103347         * modules/unistdio/ulc-asnprintf-tests: New file.
103348         * modules/unistdio/ulc-vasnprintf-tests: New file.
103349         * modules/unistdio/ulc-vasprintf-tests: New file.
103350         * modules/unistdio/ulc-vsnprintf-tests: New file.
103351         * modules/unistdio/ulc-vsprintf-tests: New file.
103352         * modules/unistdio/u8-asnprintf-tests: New file.
103353         * modules/unistdio/u8-vasnprintf-tests: New file.
103354         * modules/unistdio/u8-vasprintf-tests: New file.
103355         * modules/unistdio/u8-vsnprintf-tests: New file.
103356         * modules/unistdio/u8-vsprintf-tests: New file.
103357         * modules/unistdio/u16-asnprintf-tests: New file.
103358         * modules/unistdio/u16-vasnprintf-tests: New file.
103359         * modules/unistdio/u16-vasprintf-tests: New file.
103360         * modules/unistdio/u16-vsnprintf-tests: New file.
103361         * modules/unistdio/u16-vsprintf-tests: New file.
103362         * modules/unistdio/u32-asnprintf-tests: New file.
103363         * modules/unistdio/u32-vasnprintf-tests: New file.
103364         * modules/unistdio/u32-vasprintf-tests: New file.
103365         * modules/unistdio/u32-vsnprintf-tests: New file.
103366         * modules/unistdio/u32-vsprintf-tests: New file.
103367         * MODULES.html.sh (Unicode string functions): Add the new modules.
103369 2007-07-01  Bruno Haible  <bruno@clisp.org>
103371         * lib/sprintf.c (sprintf): Limit the available length estimation,
103372         to avoid address wraparound.
103373         * lib/vsprintf.c (vsprintf): Likewise.
103374         * modules/sprintf-posix (Dependencies): Add stdint.
103375         * modules/vsprintf-posix (Dependencies): Likewise.
103377 2007-07-01  Bruno Haible  <bruno@clisp.org>
103379         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
103380         Windows PATH as well. Conservative double-quoting. Comments.
103382 2007-07-01  Bruno Haible  <bruno@clisp.org>
103383             Eric Blake  <ebb9@byu.net>
103384             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103386         * gnulib-tool (self_abspathname): Fix algorithm to cope with
103387         empty components in $PATH, denoting '.'.
103389 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103391         * gnulib-tool: Fix indentation.
103392         (func_create_megatestdir): Likewise.
103393         Report by Bruno Haible.
103395 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103397         Sync from Automake.
103398         * build-aux/gnupload: Fix shell portability issues with for loops.
103399         Report by Karl Berry.
103401 2007-06-29  Simon Josefsson  <simon@josefsson.org>
103403         * build-aux/maint.mk (POURL): Use translationproject.org.
103405 2007-06-27  Simon Josefsson  <simon@josefsson.org>
103406             Bruno Haible  <bruno@clisp.org>
103408         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
103409         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
103410         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
103411         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
103412         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
103414 2007-06-27  Bruno Haible  <bruno@clisp.org>
103416         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
103417         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
103419 2007-06-26  Karl Berry  <karl@gnu.org>
103421         * MODULES.html.sh: remove xreadlink-with-size.
103423 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
103425         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
103426         method that I hope also handles the double-include problem noted
103427         by Bruno Haible in
103428         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
103430 2007-06-23  Bruno Haible  <bruno@clisp.org>
103432         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
103433         Don't let the 'mostlyclean' target fail if the last subdirectory could
103434         not be removed.
103435         Reported by Karl Berry.
103437 2007-06-23  Bruno Haible  <bruno@clisp.org>
103439         * gnulib-tool (echo): Add a speedier workaround for ksh.
103440         * tests/test-echo.sh: Likewise.
103442 2007-06-23  Bruno Haible  <bruno@clisp.org>
103444         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
103445         * tests/test-echo.sh: Likewise.
103447 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103449         * gnulib-tool (IFS): Initialize early, so we don't set it to
103450         empty later.
103451         (self_abspathname): Rewrite algorithm to set it, reindent.
103452         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
103453         (func_create_megatestdir): Merge some sed scripts.
103455 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
103457         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
103458         exposed by Sun Studio 11 cc on Solaris 8.
103460 2007-06-22  Bruno Haible  <bruno@clisp.org>
103462         * gnulib-tool (echo): Ensure the echo primitive does not interpret
103463         backslashes.
103464         * tests/test-echo.sh: New file.
103466 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103468         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
103469         simplify `sed_replace_build_aux' scripts, they are portable but
103470         echoing them with `echo' is not.
103471         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
103473 2007-06-21  Karl Berry  <karl@gnu.org>
103475         * config/srclist.txt: guess we can't handle the licenses via
103476         srclist at the moment.
103478 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
103480         * MODULES.html.sh: Add include_next.
103481         * modules/include_next: New file.
103483 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
103485         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
103486         INCLUDE_NEXT.
103487         (gl_CHECK_NEXT_HEADERS): New macro.
103488         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
103489         the obsolescent gl_ABSOLUTE_HEADER.
103490         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
103491         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
103492         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
103493         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
103494         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
103495         * m4/math_h.m4 (gl_MATH_H): Likewise.
103496         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
103497         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
103498         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
103499         * m4/stdint.m4 (gl_STDINT_H): Likewise.
103500         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
103501         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
103502         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
103503         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
103504         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
103505         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
103506         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
103507         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
103508         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
103509         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
103510         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
103511         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
103512         * m4/inttypes.m4 (gl_INTTYPES_H): Define
103513         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
103514         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
103515         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
103516         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
103517         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
103518         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
103519         * lib/float_.h: Likewise.
103520         * lib/inttypes_.h: Likewise.
103521         * lib/math_.h: Likewise.
103522         * lib/search_.h: Likewise.
103523         * lib/signal_.h: Likewise.
103524         * lib/stdint_.h: Likewise.
103525         * lib/stdio_.h: Likewise.
103526         * lib/stdlib_.h: Likewise.
103527         * lib/string_.h: Likewise.
103528         * lib/sys_stat_.h: Likewise.
103529         * lib/sys_time_.h: Likewise.
103530         * lib/time_.h: Likewise.
103531         * lib/unistd_.h: Likewise.
103532         * lib/wchar_.h: Likewise.
103533         * lib/wctype_.h: Likewise.
103534         * lib/dirent_.h: Likewise.
103535         * lib/iconv_.h: Likewise.
103536         * lib/locale_.h: Likewise.
103537         * lib/netinet_in_.h: Likewise.
103538         * lib/sys_select_.h: Likewise.
103539         * lib/sys_socket_.h: Likewise.
103540         * lib/sysexits_.h: Likewise.
103541         * modules/fcntl (Depends-on): Depend on include_next, not
103542         absolute_header.
103543         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
103544         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
103545         * modules/fchdir: Likewise.
103546         * modules/float: Likewise.
103547         * modules/iconv_open: Likewise.
103548         * modules/inttypes: Likewise.
103549         * modules/locale: Likewise.
103550         * modules/math: Likewise.
103551         * modules/netinet_in: Likewise.
103552         * modules/search: Likewise.
103553         * modules/signal: Likewise.
103554         * modules/stdint: Likewise.
103555         * modules/stdio: Likewise.
103556         * modules/stdlib: Likewise.
103557         * modules/string: Likewise.
103558         * modules/sys_select: Likewise.
103559         * modules/sys_socket: Likewise.
103560         * modules/sys_stat: Likewise.
103561         * modules/sys_time: Likewise.
103562         * modules/sysexits: Likewise.
103563         * modules/time: Likewise.
103564         * modules/unistd: Likewise.
103565         * modules/wchar: Likewise.
103566         * modules/wctype: Likewise.
103567         * modules/sys_stat: Change maintainer to "all".
103568         * modules/unistd: Likewise.
103570 2007-06-20  Karl Berry  <karl@gnu.org>
103572         * config/srclist.txt: track www changes in license files.
103574 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
103576         * build-aux/bootstrap: Remove stray dot.
103577         Make sure build_aux settings are honored when linking
103578         gnulib_extra_files.
103580 2007-06-19  Eric Blake  <ebb9@byu.net>
103582         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
103583         Allow compilation on cygwin.
103585 2007-06-19  Jim Meyering  <jim@meyering.net>
103587         xreadlink-with-size: Remove module.  No longer used.
103588         Ex-callers now use xreadlink or mreadlink-with-size.
103589         * modules/xreadlink-with-size: Remove module.
103590         * lib/xreadlink-with-size.c: Remove file.
103591         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
103592         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
103593         just before the function definition *is* accurate.
103595         Eliminate one way canonicalize_filename_mode could exit.
103596         * lib/canonicalize.c (canonicalize_filename_mode):
103597         Use mreadlink_with_size, not xreadlink_with_size.
103599 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
103601         Detect porting problems to FreeBSD/arm, which has time_t wider than
103602         long int.  Original problem reported for GNU diff by Xin Li in
103603         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
103604         * modules/getdate (Depends-on): Add intprops, verify.
103605         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
103606         is an integer type no wider than long int.
103608 2007-06-18  Jim Meyering  <jim@meyering.net>
103610         New module: mreadlink-with-size.
103611         * MODULES.html.sh: Add mreadlink-with-size.
103612         * modules/mreadlink-with-size: New module
103613         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
103614         not xreadlink-with-size.
103615         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
103617 2007-06-16  Bruno Haible  <bruno@clisp.org>
103619         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
103620         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
103621         Reported by Gary V. Vaughan <gary@gnu.org>.
103623 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
103625         Revamp lchown so that it lives in unistd.h where it belongs.
103626         * lib/lchown.h: Remove.
103627         * lib/dirchownmod.c: Don't include lib/lchown.h.
103628         * lib/fchownat.c: Likewise.
103629         * lib/openat.c: Likewise.
103630         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
103631         does not follow symlinks.
103632         (EOPNOTSUPP): Define if not defined.
103633         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
103634         is defined to 0.
103635         (lchown): New decl.
103636         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
103637         Do not check for lchown decl.
103638         Set REPLACE_LCHOWN.
103639         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
103640         REPLACE_LCHOWN.
103641         * modules/chown: Make it clear it follows symlinks.
103642         * modules/lchown: Make it clear it doesn't follow symlinks.
103643         (Files): Remove lib/lchown.h
103644         (Depends-on): Add unistd.
103645         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
103646         (Include): Include <unistd.h>, not "lchown.h".
103647         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
103648         REPLACE_LCHOWN.
103650 2007-06-15  Jim Meyering  <jim@meyering.net>
103652         Change license (GPL to LGPL) of fsusage and dependents.
103653         * modules/fsusage (License): Change to LGPL.
103654         * modules/full-read (License): Likewise.
103655         * modules/full-write (License): Likewise.
103656         * modules/safe-read (License): Likewise.
103657         * modules/safe-write (License): Likewise.
103659 2007-06-14  Ben Pfaff  <blp@gnu.org>
103661         Missing part of allocsa -> malloca transition.
103662         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
103663         gl_MALLOCA.
103665 2007-06-12  Bruno Haible  <bruno@clisp.org>
103667         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
103668         to ia64, x86_64, i386.
103669         Reported by Eric Blake.
103671 2007-06-12  Bruno Haible  <bruno@clisp.org>
103673         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
103674         cross-compiling to x86_64.
103676 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
103678         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
103679         glitch reported by Ralf Wildenhues in
103680         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
103682         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
103683         Vin Shelton.
103685 2007-06-11  Bruno Haible  <bruno@clisp.org>
103687         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
103688         replacement string.
103689         Reported by Eric Blake.
103691 2007-06-10  Bruno Haible  <bruno@clisp.org>
103693         Prepare vasnprintf code for use with Unicode strings.
103694         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
103695         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
103696         TYPE_U32_STRING.
103697         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
103698         a_u32_string variants.
103699         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
103700         * lib/printf-args.c: Don't include config.h and the specification
103701         header if PRINTF_FETCHARGS is already defined.
103702         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
103703         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
103704         TYPE_U16_STRING, TYPE_U32_STRING.
103705         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
103706         u16_directive, u16_directives, u32_directive, u32_directives): New
103707         types.
103708         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
103709         New declarations.
103710         * lib/printf-parse.c: Don't include config.h and the specification
103711         header if PRINTF_PARSE is already defined. Eliminate the set of
103712         parameters for WIDE_CHAR_VERSION; the user of this file must provide
103713         them now. Include c-ctype.h.
103714         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
103715         directive and CHAR_T_ONLY_ASCII.
103716         * lib/vasnprintf.c: Don't include config.h and the specification header
103717         if VASNPRINTF is already defined.
103718         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
103719         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
103720         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
103721         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
103722         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
103723         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
103724         code accordingly.
103725         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
103726         pad_ourselves also in this case, with the 'c' and 's' directives, and
103727         with a different notion of "width".
103728         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
103730 2007-06-10  Bruno Haible  <bruno@clisp.org>
103732         * modules/unistr/u32-mbsnlen: New file.
103733         * lib/unistr/u32-mbsnlen.c: New file.
103735         * modules/unistr/u16-mbsnlen: New file.
103736         * lib/unistr/u16-mbsnlen.c: New file.
103738         * modules/unistr/u8-mbsnlen: New file.
103739         * lib/unistr/u8-mbsnlen.c: New file.
103741         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
103742         declarations.
103744 2007-06-10  Bruno Haible  <bruno@clisp.org>
103746         * lib/string_.h (mbsnlen): New declaration.
103747         * lib/mbsnlen.c: New file.
103748         * m4/mbsnlen.m4: New file.
103749         * modules/mbsnlen: New file.
103750         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
103751         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
103752         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
103754 2007-06-10  Bruno Haible  <bruno@clisp.org>
103756         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
103758 2007-06-10  Bruno Haible  <bruno@clisp.org>
103760         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
103761         * lib/mbuiter.h: Likewise.
103763 2007-06-10  Bruno Haible  <bruno@clisp.org>
103765         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
103766         declaration.
103768 2007-06-10  Karl Berry  <karl@gnu.org>
103770         * config/srclist.txt: remove gettext entries, Bruno prefers
103771         to update individually.
103773 2007-06-10  Bruno Haible  <bruno@clisp.org>
103775         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
103776         'maxlen'. Ensure only length + width bytes are allocated, not
103777         length + 1 + width.
103779 2007-06-09  Bruno Haible  <bruno@clisp.org>
103781         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
103782         (CHAR_T): Remove macro.
103783         (VASNPRINTF): Update.
103785 2007-06-09  Bruno Haible  <bruno@clisp.org>
103787         * MODULES.html.sh (Unicode string functions): Add the new modules.
103789         * modules/uniconv/u32-conv-to-enc: New file.
103790         * lib/uniconv/u32-conv-to-enc.c: New file.
103791         * modules/uniconv/u32-conv-to-enc-tests: New file.
103792         * tests/uniconv/test-u32-conv-to-enc.c: New file.
103794         * modules/uniconv/u16-conv-to-enc: New file.
103795         * lib/uniconv/u16-conv-to-enc.c: New file.
103796         * lib/uniconv/u-conv-to-enc.h: New file.
103797         * modules/uniconv/u16-conv-to-enc-tests: New file.
103798         * tests/uniconv/test-u16-conv-to-enc.c: New file.
103800         * modules/uniconv/u8-conv-to-enc: New file.
103801         * lib/uniconv/u8-conv-to-enc.c: New file.
103802         * modules/uniconv/u8-conv-to-enc-tests: New file.
103803         * tests/uniconv/test-u8-conv-to-enc.c: New file.
103805         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
103806         u32_conv_to_encoding): New declarations.
103808 2007-06-09  Bruno Haible  <bruno@clisp.org>
103810         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
103812 2007-06-09  Bruno Haible  <bruno@clisp.org>
103814         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
103815         * modules/malloca: Renamed from modules/allocsa, updated.
103816         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
103817         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
103818         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
103819         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
103820         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
103821         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
103822         * modules/xmalloca: Renamed from modules/xallocsa, updated.
103823         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
103824         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
103825         * modules/c-strcasestr (Depends-on): Update.
103826         * lib/c-strcasestr.c: Update.
103827         * modules/c-strstr (Depends-on): Update.
103828         * lib/c-strstr.c: Update.
103829         * modules/canonicalize-lgpl (Depends-on): Update.
103830         * lib/canonicalize-lgpl.c: Update.
103831         * modules/clean-temp (Depends-on): Update.
103832         * lib/clean-temp.c: Update.
103833         * modules/csharpcomp (Depends-on): Update.
103834         * lib/csharpcomp.c: Update.
103835         * modules/csharpexec (Depends-on): Update.
103836         * lib/csharpexec.c: Update.
103837         * modules/javacomp (Depends-on): Update.
103838         * lib/javacomp.c: Update.
103839         * modules/javaexec (Depends-on): Update.
103840         * lib/javaexec.c: Update.
103841         * modules/mbscasestr (Depends-on): Update.
103842         * lib/mbscasestr.c: Update.
103843         * modules/mbsstr (Depends-on): Update.
103844         * lib/mbsstr.c: Update.
103845         * modules/setenv (Depends-on): Update.
103846         * lib/setenv.c: Update.
103847         * modules/strcasestr (Depends-on): Update.
103848         * lib/strcasestr.c: Update.
103849         * modules/striconveha (Depends-on): Update.
103850         * lib/striconveha.c: Update.
103851         * modules/relocatable-prog-wrapper (Files): Update.
103852         * lib/relocwrapper.c: Update.
103853         * build-aux/install-reloc: Update.
103854         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
103856 2007-06-08  Bruno Haible  <bruno@clisp.org>
103858         Port to uClibc.
103859         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
103860         * lib/fpurge.c (fpurge): Likewise.
103861         * lib/freading.c (freading): Likewise.
103862         * lib/fseeko.c (rpl_fseeko): Likewise.
103863         * lib/fseterr.c (fseterr): Likewise.
103864         * lib/fwriting.c (fwriting): Likewise.
103865         * tests/test-fflush.c (main): Avoid a failure on uClibc.
103867 2007-06-08  Bruno Haible  <bruno@clisp.org>
103869         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
103870         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
103871         * modules/gettext (Files): Add m4/intlmacosx.m4.
103873 2007-06-07  Bruno Haible  <bruno@clisp.org>
103875         * modules/localename-tests: New file.
103876         * tests/test-localename.c: New file.
103878         New module 'localename'.
103879         * lib/localename.h: New file.
103880         * lib/localename.c: New file, from GNU gettext.
103881         * m4/localename.m4: New file.
103882         * modules/localename: New file.
103884 2007-06-07  Bruno Haible  <bruno@clisp.org>
103886         Work around the lack of <wchar.h> on some builds of uClibc.
103887         * doc/headers/wchar.texi: Update.
103888         * lib/wchar_.h: Include <wchar.h> only if it exists.
103889         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
103890         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
103891         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
103892         doesn't exist.
103893         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
103894         * modules/mbfile (Depends-on): Add wchar.
103895         * modules/mbiter (Depends-on): Likewise.
103896         * modules/mbuiter (Depends-on): Likewise.
103897         Reported by Simon Josefsson.
103899 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
103901         Work around problem reported by Steven M. Schweda in
103902         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
103903         Tru64 5.1B with the Compaq compiler environment installed declares
103904         an 'isblank' function but does not define it in the C library.
103905         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
103906         * lib/regex_internal.h (isblank): Likewise.
103907         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
103908         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
103910 2007-06-05  Bruno Haible  <bruno@clisp.org>
103912         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
103913         ia64.
103914         * modules/printf-safe: New file.
103915         * modules/fprintf-posix (Depends-on): Add printf-safe.
103916         * modules/printf-posix (Depends-on): Likewise.
103917         * modules/snprintf-posix (Depends-on): Likewise.
103918         * modules/sprintf-posix (Depends-on): Likewise.
103919         * modules/vasnprintf-posix (Depends-on): Likewise.
103920         * modules/vasprintf-posix (Depends-on): Likewise.
103921         * modules/vfprintf-posix (Depends-on): Likewise.
103922         * modules/vprintf-posix (Depends-on): Likewise.
103923         * modules/vsnprintf-posix (Depends-on): Likewise.
103924         * modules/vsprintf-posix (Depends-on): Likewise.
103925         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
103926         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
103927         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
103928         "no" on i386, x86_64, ia64.
103929         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
103930         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103931         on i386, x86_64, ia64.
103932         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
103933         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103934         on i386, x86_64, ia64.
103935         * tests/test-vasnprintf-posix.c: Include float.h.
103936         (LDBL80_WORDS): New macro.
103937         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103938         on i386, x86_64, ia64.
103939         * tests/test-vasprintf-posix.c: Include float.h.
103940         (LDBL80_WORDS): New macro.
103941         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103942         on i386, x86_64, ia64.
103943         * tests/test-snprintf-posix.c: Include float.h.
103944         * tests/test-sprintf-posix.c: Likewise.
103945         * tests/test-vsnprintf-posix.c: Likewise.
103946         * tests/test-vsprintf-posix.c: Likewise.
103948 2007-06-05  Bruno Haible  <bruno@clisp.org>
103950         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
103951         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
103952         non-IEEE numbers on i386, x86_64, ia64.
103953         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
103954         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
103955         * tests/test-isnanl.h: Include float.h.
103956         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
103958 2007-06-05  Bruno Haible  <bruno@clisp.org>
103960         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
103961         also the %a / %A. Handle the %a / %A code before this extra handling.
103963 2007-06-05  Bruno Haible  <bruno@clisp.org>
103965         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
103966         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
103968 2007-06-05  Bruno Haible  <bruno@clisp.org>
103970         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
103971         typo in variable name.
103973 2007-06-05  Eric Blake  <ebb9@byu.net>
103975         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
103976         Reported by Simon Josefsson.
103978 2007-06-04  Bruno Haible  <bruno@clisp.org>
103980         Avoid test failures on some PowerPC platforms.
103981         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
103982         Define differently for PowerPC.
103983         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
103984         Reported by Gary V. Vaughan <gary@gnu.org>.
103986 2007-06-02  Bruno Haible  <bruno@clisp.org>
103988         Fix test-stdint failure on FreeBSD/ia64.
103989         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
103990         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
103991         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
103992         * doc/headers/stdint.texi: Update.
103994 2007-06-01  Bruno Haible  <bruno@clisp.org>
103996         * tests/test-binary-io.c (main): Pass a third argument to open().
103997         Reported by Gary V. Vaughan <gary@gnu.org>.
103999 2007-06-01  Bruno Haible  <bruno@clisp.org>
104001         * doc/functions/frexpl.texi: Update for mingw.
104003 2007-06-01  Bruno Haible  <bruno@clisp.org>
104005         * tests/test-lseek.c (main): Disable test of errno for invalid third
104006         argument.
104007         * doc/functions/lseek.texi: Update.
104008         Reported by Gary V. Vaughan <gary@gnu.org>.
104010 2007-05-28  Bruno Haible  <bruno@clisp.org>
104012         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
104014 2007-05-31  Eric Blake  <ebb9@byu.net>
104016         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
104017         cross compiling.
104019 2007-05-30  Eric Blake  <ebb9@byu.net>
104020         and Bruno Haible  <bruno@clisp.org>
104022         Work around mingw test failures exposed by m4-1.4.9b.
104023         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
104024         * tests/test-unistd.c: Disable uid_t and git_t tests for the
104025         moment.
104027 2007-05-30  Bruno Haible  <bruno@clisp.org>
104029         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
104030         assuming that they are closed. Needed on HP-UX 11.
104032 2007-05-29  Bruno Haible  <bruno@clisp.org>
104034         Fix a problem with #include_next.
104035         * lib/dirent_.h: Split the double-inclusion guard.
104036         * lib/fcntl_.h: Likewise.
104037         * lib/float_.h: Likewise.
104038         * lib/iconv_.h: Likewise.
104039         * lib/inttypes_.h: Likewise.
104040         * lib/locale_.h: Likewise.
104041         * lib/math_.h: Likewise.
104042         * lib/netinet_in_.h: Likewise.
104043         * lib/search_.h: Likewise.
104044         * lib/signal_.h: Likewise.
104045         * lib/stdint_.h: Likewise.
104046         * lib/stdio_.h: Likewise.
104047         * lib/stdlib_.h: Likewise.
104048         * lib/string_.h: Likewise.
104049         * lib/sys_select_.h: Likewise.
104050         * lib/sys_socket_.h: Likewise.
104051         * lib/sys_stat_.h: Likewise.
104052         * lib/sys_time_.h: Likewise.
104053         * lib/sysexits_.h: Likewise.
104054         * lib/time_.h: Likewise.
104055         * lib/unistd_.h: Likewise.
104056         * lib/wchar_.h: Likewise.
104057         * lib/wctype_.h: Likewise.
104059 2007-05-29  Bruno Haible  <bruno@clisp.org>
104061         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
104062         for the moment.
104064 2007-05-29  Bruno Haible  <bruno@clisp.org>
104066         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
104067         invocation.
104068         Reported by Eric Blake.
104070 2007-05-29  Bruno Haible  <bruno@clisp.org>
104072         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
104073         compiling case.
104075 2007-05-29  Eric Blake  <ebb9@byu.net>
104076             Bruno Haible  <bruno@clisp.org>
104078         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
104079         cross compiles.
104081 2007-05-28  Eric Blake  <ebb9@byu.net>
104083         * modules/closein-tests (test_closein_LDADD): Support test on
104084         cygwin with libtool.
104086 2007-05-28  Bruno Haible  <bruno@clisp.org>
104088         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
104089         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
104090         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
104091         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
104092         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
104093         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
104094         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
104095         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
104096         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
104098 2007-05-28  Eric Blake  <ebb9@byu.net>
104100         Unconditionally include <config.h> in unit tests.
104101         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
104102         * tests/test-allocsa.c, tests/test-arcfour.c,
104103         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
104104         tests/test-array_list.c, tests/test-array_oset.c,
104105         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
104106         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
104107         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
104108         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
104109         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
104110         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
104111         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
104112         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
104113         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
104114         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
104115         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
104116         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
104117         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
104118         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
104119         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
104120         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
104121         test-md5.c, test-memmem.c, test-printf-posix.c,
104122         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
104123         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
104124         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
104125         test-strcasestr.c, test-striconv.c, test-striconveh.c,
104126         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
104127         test-vasnprintf-posix2.c, test-vasnprintf.c,
104128         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
104129         test-vfprintf-posix.c, test-vprintf-posix.c,
104130         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
104131         test-xvasprintf.c: Likewise.
104133 2007-05-28  Bruno Haible  <bruno@clisp.org>
104135         * gnulib-tool (func_import): Remember the --with-tests command-line
104136         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
104137         Reported by Eric Blake.
104139 2007-05-28  Bruno Haible  <bruno@clisp.org>
104141         * modules/ftell-tests: New file.
104142         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
104143         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
104145         * lib/ftell.c: New file.
104146         * modules/ftell: New file.
104147         * m4/ftell.m4: New file.
104148         * doc/functions/ftell.texi: Update.
104149         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
104150         REPLACE_FTELL.
104151         * lib/stdio_.h (rpl_ftell): New declaration.
104152         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
104153         REPLACE_FTELL.
104155 2007-05-28  Eric Blake  <ebb9@byu.net>
104157         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
104159 2007-05-28  Bruno Haible  <bruno@clisp.org>
104161         * modules/fseek-tests: New file.
104162         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
104163         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
104165         * lib/fseek.c: New file.
104166         * modules/fseek: New file.
104167         * m4/fseek.m4: New file.
104168         * doc/functions/fseek.texi: Update.
104169         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
104170         REPLACE_FSEEK.
104171         * lib/stdio_.h (rpl_fseek): New declaration.
104172         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
104173         REPLACE_FSEEK.
104175 2007-05-28  Bruno Haible  <bruno@clisp.org>
104177         * lib/stdio_.h (fflush): More comments.
104179 2007-05-28  Bruno Haible  <bruno@clisp.org>
104181         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
104182         runtime test.
104184 2007-05-28  Eric Blake  <ebb9@byu.net>
104186         Improve lseek module.
104187         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
104188         * lib/unistd_.h (lseek): Scale back link warning message.
104189         * tests/test-lseek.c: Beef up test.
104190         * tests/test-lseek.sh: Exercise more facets of lseek.
104191         Reported by Bruno Haible.
104193 2007-05-28  Bruno Haible  <bruno@clisp.org>
104195         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
104196         to define.
104198 2007-05-27  Bruno Haible  <bruno@clisp.org>
104200         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
104202 2007-05-27  Bruno Haible  <bruno@clisp.org>
104204         * modules/openmp: New file.
104205         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
104206         Noah Misch.
104208 2007-05-26  Bruno Haible  <bruno@clisp.org>
104210         * modules/chdir-long (Depends-on): Add fchdir.
104211         * modules/chdir-safer (Depends-on): Likewise.
104212         * modules/fts (Depends-on): Likewise.
104213         * modules/fts-lgpl (Depends-on): Likewise.
104214         * modules/openat (Depends-on): Likewise.
104215         * modules/savewd (Depends-on): Likewise.
104217 2007-05-24  Eric Blake  <ebb9@byu.net>
104219         Fix lseek on mingw.
104220         * modules/lseek: New module.
104221         * m4/lseek.m4: New file.
104222         * lib/lseek.c: New file.
104223         * modules/lseek-tests: New file.
104224         * tests/test-lseek.c: New file.
104225         * tests/test-lseek.sh: New file.
104226         * MODULES.html.sh: Document lseek module.
104227         * modules/fflush (Depends-on): Add lseek, fseeko.
104228         * modules/fseeko (Depends-on): Likewise.
104229         * modules/ftello (Depends-on): Likewise.
104230         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
104231         broken.
104232         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
104233         broken.
104234         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
104235         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
104236         * lib/ftello.c (rpl_ftello): Likewise.
104237         * tests/test-fseeko.c (main): Test this.
104238         * tests/test-fseeko.sh: Likewise.
104239         * tests/test-ftello.c (main): Likewise.
104240         * tests/test-ftello.sh: Likewise.
104241         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
104242         implies replacing fseek.
104243         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
104244         HAVE_FTELLO.
104245         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
104246         * modules/unistd (Makefile.am): Likewise.
104247         * lib/unistd_.h (lseek): Declare a replacement.
104248         * doc/functions/lseek.texi (lseek): Document this fix.
104249         * doc/functions/fseek.texi (fseek): Likewise.
104250         * doc/functions/ftell.texi (ftell): Likewise.
104252 2007-05-24  Bruno Haible  <bruno@clisp.org>
104254         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
104255         in the printed representation of a NaN.
104256         * tests/test-vasprintf-posix.c (test_function): Likewise.
104257         * tests/test-snprintf-posix.h (test_function): Likewise.
104258         * tests/test-sprintf-posix.h (test_function): Likewise.
104259         Reported by Eric Blake.
104261 2007-05-23  Eric Blake  <ebb9@byu.net>
104263         Fix fseeko/ftello on cygwin 1.5.24.
104264         * doc/functions/fseeko.texi (fseeko): Document the fix.
104265         * doc/functions/ftello.texi (ftello): Document the fix.
104266         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
104267         * doc/functions/stdout.text (stdout): New file.
104268         * doc/functions/stderr.text (stderr): New file.
104269         * doc/gnulib.texi (Function Substitutes): Use new files.
104270         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
104271         prior to 1.7.0.
104272         * tests/test-ftello.c (main): Likewise for ftello.
104273         * tests/test-fseeko.sh: New file.
104274         * tests/test-ftello.sh: New file.
104275         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
104276         with seekable stdin.
104277         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
104278         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
104279         (gl_REPLACE_FSEEKO): New macro.
104280         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
104281         * modules/fseeko (Files): Distribute fseeko.c.
104282         * modules/ftello (Files): Distribute ftello.c.
104283         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
104284         mode.
104285         * lib/ftello.c (rpl_ftello): New file.
104286         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
104287         fseeko, ftello.
104288         (gl_STDIN_LARGE_OFFSET): New macro.
104289         * modules/stdio (Makefile.am): Perform the replacement.
104290         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
104292 2007-05-23  Bruno Haible  <bruno@clisp.org>
104294         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
104295         GNULIB_POSIXCHECK is defined.
104297 2007-05-21  Bruno Haible  <bruno@clisp.org>
104299         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
104300         Check also the output for NaN arguments. When cross-compiling, guess
104301         no on IRIX.
104302         * lib/vasnprintf.c: Update comments.
104303         * tests/test-vasnprintf-posix.c (strisnan): New function.
104304         (test_function): Use it.
104305         * tests/test-vasprintf-posix.c (strisnan): New function.
104306         (test_function): Use it.
104307         * tests/test-snprintf-posix.h (strisnan): New function.
104308         (test_function): Use it.
104309         * tests/test-sprintf-posix.h (strisnan): New function.
104310         (test_function): Use it.
104311         Reported by Eric Blake.
104313 2007-05-20  Bruno Haible  <bruno@clisp.org>
104315         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
104316         numbers that fails on BeOS.
104317         * doc/functions/frexpl.texi: Update.
104319 2007-05-20  Jim Meyering  <jim@meyering.net>
104321         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
104322         forced upon us by glibc-2.6.
104324 2007-05-20  Bruno Haible  <bruno@clisp.org>
104326         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
104327         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
104328         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
104329         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
104330         NEED_PRINTF_INFINITE.
104331         (is_infinitel): New function.
104332         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
104333         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
104334         gl_PREREQ_VASNPRINTF_INFINITE.
104335         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
104336         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
104337         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
104338         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
104339         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
104340         gl_PREREQ_VASNPRINTF_INFINITE.
104341         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
104342         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104343         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104344         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104345         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104346         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104347         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104348         * doc/functions/fprintf.texi: Update.
104349         * doc/functions/printf.texi: Update.
104350         * doc/functions/snprintf.texi: Update.
104351         * doc/functions/sprintf.texi: Update.
104352         * doc/functions/vfprintf.texi: Update.
104353         * doc/functions/vprintf.texi: Update.
104354         * doc/functions/vsnprintf.texi: Update.
104355         * doc/functions/vsprintf.texi: Update.
104357 2007-05-20  Bruno Haible  <bruno@clisp.org>
104359         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
104360         was not found in libc.
104361         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
104363 2007-05-20  Bruno Haible  <bruno@clisp.org>
104365         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
104366         printed as "-nan" instead of "nan".
104367         * tests/test-vasprintf-posix.c (test_function): Likewise.
104368         * tests/test-snprintf-posix.h (test_function): Likewise.
104369         * tests/test-sprintf-posix.h (test_function): Likewise.
104370         Needed for HP-UX 11.
104372 2007-05-20  Jim Meyering  <jim@meyering.net>
104374         Fix buggy test for the fchownat-deref bug.
104375         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
104376         symlink required for the run-test.  Without it, this test would
104377         always declare that fchownat doesn't work, and client code would
104378         unnecessarily use the replacement function with fixed libc.
104379         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
104380         Reported by Greg Schafer.
104382 2007-05-19  Bruno Haible  <bruno@clisp.org>
104384         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
104385         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
104386         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
104387         Needed for IRIX 6.5 and Solaris 2.5.1.
104389 2007-05-19  Bruno Haible  <bruno@clisp.org>
104391         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
104392         (test_function): Skip tests involving -0.0 on platforms where
104393         -0.0 = 0.0.
104394         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
104395         (test_function): Skip tests involving -0.0 on platforms where
104396         -0.0 = 0.0.
104397         * tests/test-snprintf-posix.h (have_minus_zero): New function.
104398         (test_function): Skip tests involving -0.0 on platforms where
104399         -0.0 = 0.0.
104400         * tests/test-sprintf-posix.h (have_minus_zero): New function.
104401         (test_function): Skip tests involving -0.0 on platforms where
104402         -0.0 = 0.0.
104403         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
104404         tests.
104405         * tests/test-printf-posix.h (test_function): Likewise.
104406         * tests/test-printf-posix.output: Remove all -0.0 related results.
104407         Needed for IRIX 6.5.
104409 2007-05-19  Bruno Haible  <bruno@clisp.org>
104411         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
104412         printed as "nan0x7fffffff" instead of "nan".
104413         * tests/test-vasprintf-posix.c (test_function): Likewise.
104414         * tests/test-snprintf-posix.h (test_function): Likewise.
104415         * tests/test-sprintf-posix.h (test_function): Likewise.
104416         * tests/test-fprintf-posix.h (NaN): Remove macro.
104417         (test_function): Remove all NaN related tests.
104418         * tests/test-printf-posix.h (NaN): Remove macro.
104419         (test_function): Remove all NaN related tests.
104420         * tests/test-printf-posix.output: Remove all NaN related results.
104421         Needed for IRIX 6.5.
104423 2007-05-19  Bruno Haible  <bruno@clisp.org>
104425         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
104426         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
104428 2007-05-19  Bruno Haible  <bruno@clisp.org>
104430         * lib/float_.h: New file.
104431         * m4/float_h.m4: New file.
104432         * modules/float: New file.
104433         * modules/isnanl (Dependencies): Add float.
104434         * modules/isnanl-nolibm (Dependencies): Likewise.
104435         * modules/mathl (Dependencies): Likewise.
104436         * modules/printf-frexpl (Dependencies): Likewise.
104437         * modules/signbit (Dependencies): Likewise.
104438         * modules/vasnprintf (Dependencies): Likewise.
104439         * doc/headers/float.texi: Update.
104441 2007-05-19  Jim Meyering  <jim@meyering.net>
104443         * lib/utimens.c (gl_futimens): Rename from futimens,
104444         now that glibc-2.6 declares futimens.
104445         * lib/utimens.h: Likewise.
104447 2007-05-19  Bruno Haible  <bruno@clisp.org>
104449         Avoid test failures on mingw.
104450         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
104451         * tests/test-printf-posix.sh: Likewise.
104452         * tests/test-vfprintf-posix.sh: Likewise.
104453         * tests/test-vprintf-posix.sh: Likewise.
104455 2007-05-19  Bruno Haible  <bruno@clisp.org>
104457         Fix *printf result for NaN, Inf, -0.0 on mingw.
104458         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
104459         * lib/vasnprintf.c: Include math.h and isnan.h.
104460         (is_infinite_or_zero): New function.
104461         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
104462         values in the %f, %F, %e, %E, %g, %G directives.
104463         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
104464         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
104465         gl_PRINTF_INFINITE and test its result. Invoke
104466         gl_PREREQ_VASNPRINTF_INFINITE.
104467         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
104468         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104469         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104470         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104471         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104472         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104473         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104474         * doc/functions/fprintf.texi: Update.
104475         * doc/functions/printf.texi: Update.
104476         * doc/functions/snprintf.texi: Update.
104477         * doc/functions/sprintf.texi: Update.
104478         * doc/functions/vfprintf.texi: Update.
104479         * doc/functions/vprintf.texi: Update.
104480         * doc/functions/vsnprintf.texi: Update.
104481         * doc/functions/vsprintf.texi: Update.
104483 2007-05-19  Bruno Haible  <bruno@clisp.org>
104485         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
104486         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
104487         Instead of multiplying with 10^k, set extra_zeroes to k.
104488         (scale10_round_long_double): Remove function.
104490 2007-05-18  Bruno Haible  <bruno@clisp.org>
104492         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
104493         introduced on 2007-05-06.
104495 2007-05-18  Bruno Haible  <bruno@clisp.org>
104497         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
104498         %g directives.
104499         * tests/test-vasprintf-posix.c (test_function): Likewise.
104500         * tests/test-snprintf-posix.h (test_function): Likewise.
104501         * tests/test-sprintf-posix.h (test_function): Likewise.
104503 2007-05-18  Bruno Haible  <bruno@clisp.org>
104505         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
104506         (strmatch): New function.
104507         (test_function): Test the %f directive on numbers of various exponents.
104508         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
104509         (strmatch): New function.
104510         (test_function): Test the %f directive on numbers of various exponents.
104511         * tests/test-snprintf-posix.h (strmatch): New function.
104512         (test_function): Test the %f directive on numbers of various exponents.
104513         * tests/test-sprintf-posix.h (strmatch): New function.
104514         (test_function): Test the %f directive on numbers of various exponents.
104515         * tests/test-snprintf-posix.c (SIZEOF): New macro.
104516         * tests/test-sprintf-posix.c (SIZEOF): New macro.
104517         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
104518         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
104520 2007-05-18  Bruno Haible  <bruno@clisp.org>
104522         Add support for 'long double' number output.
104523         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
104524         * lib/vasnprintf.c: Include math.h and float+.h.
104525         (mp_limb_t): New type.
104526         (GMP_LIMB_BITS): New macro.
104527         (mp_twolimb_t): New type.
104528         (GMP_TWOLIMB_BITS): New macro.
104529         (mpn_t): New type.
104530         (multiply, divide, convert_to_decimal, decode_long_double,
104531         scale10_round_long_double, scale10_round_decimal_long_double,
104532         floorlog10l): New functions.
104533         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
104534         for the %f, %F, %e, %E, %g, %G directives.
104535         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
104536         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
104537         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
104538         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
104539         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
104540         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104541         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104542         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104543         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104544         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104545         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104546         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
104547         * modules/snprintf-posix (Depends-on): Likewise.
104548         * modules/sprintf-posix (Depends-on): Likewise.
104549         * modules/vasnprintf-posix (Depends-on): Likewise.
104550         * modules/vasprintf-posix (Depends-on): Likewise.
104551         * modules/vfprintf-posix (Depends-on): Likewise.
104552         * modules/vsnprintf-posix (Depends-on): Likewise.
104553         * modules/vsprintf-posix (Depends-on): Likewise.
104554         * modules/vasnprintf (Files): Add lib/float+.h.
104555         * doc/functions/fprintf.texi: Update.
104556         * doc/functions/printf.texi: Update.
104557         * doc/functions/snprintf.texi: Update.
104558         * doc/functions/sprintf.texi: Update.
104559         * doc/functions/vfprintf.texi: Update.
104560         * doc/functions/vprintf.texi: Update.
104561         * doc/functions/vsnprintf.texi: Update.
104562         * doc/functions/vsprintf.texi: Update.
104564 2007-05-18  Bruno Haible  <bruno@clisp.org>
104566         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
104568 2007-05-18  Bruno Haible  <bruno@clisp.org>
104570         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
104571         for printing 64-bit integers. Needed for mingw.
104573 2007-05-18  Bruno Haible  <bruno@clisp.org>
104575         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
104576         gl_FUNC_FREXPL_WORKS.
104577         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
104579 2007-05-18  Bruno Haible  <bruno@clisp.org>
104581         * modules/frexpl-nolibm-tests: New file.
104583         * modules/frexpl-nolibm: New file.
104584         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
104586 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
104588         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
104589         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
104590         GCC 4.2, which otherwise issues a lot of warnings.
104591         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
104592         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
104593         Likewise.
104594         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
104595         * modules/iconv_open (iconv.h): Likewise.
104596         * modules/locale (locale.h): Likewise.
104597         * modules/netinet_in (netinet/in.h): Likewise.
104598         * modules/sys_select (sys_select.h): Likewise.
104599         * modules/sys_socket (sys/socket.h): Likewise.
104600         * modules/sys_stat (sys/stat.h): Likewise.
104601         * modules/sysexits (sysexits.h): Likewise.
104602         * modules/unistd (unistd.h): Likewise.
104604 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104606         * modules/closein-tests (Makefile.am): Distribute
104607         `test-closein.sh'.
104609 2007-05-17  Bruno Haible  <bruno@clisp.org>
104611         * tests/test-printf-posix.output: Renamed from
104612         tests/test-fprintf-posix.out.
104613         * modules/fprintf-posix-tests: Update.
104614         * modules/printf-posix-tests: Update.
104615         * modules/vfprintf-posix-tests: Update.
104616         * modules/vprintf-posix-tests: Update.
104617         * tests/test-fprintf-posix.sh: Update.
104618         * tests/test-printf-posix.sh: Update.
104619         * tests/test-vfprintf-posix.sh: Update.
104620         * tests/test-vprintf-posix.sh: Update.
104621         Reported by Ralf Wildenhues.
104623 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
104625         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
104626         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
104627         GCC 4.2, which otherwise issues a lot of warnings.
104628         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
104629         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
104630         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
104631         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
104632         it should no longer be needed.
104633         * lib/string_.h: Likewise.
104634         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
104635         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
104636         * modules/inttypes (inttypes.h): Likewise.
104637         * modules/math (math.h): Likewise.
104638         * modules/search (search.h): Likewise.
104639         * modules/signal (signal.h): Likewise.
104640         * modules/stdint (stdint.h): Likewise.
104641         * modules/stdio (stdio.h): Likewise.
104642         * modules/stdlib (stdlib.h): Likewise.
104643         * modules/string (string.h): Likewise.
104644         * modules/sys_time (sys/time.h): Likewise.
104645         * modules/time (time.h): Likewise.
104646         * modules/wchar (wchar.h): Likewise.
104647         * modules/wctype (wtype.h): Likewise.
104649 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
104651         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
104653 2007-05-13  Bruno Haible  <bruno@clisp.org>
104655         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
104656         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
104657         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
104658         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
104659         (gl_PREREQ_STRTOK_R): Don't require it here.
104661 2007-05-13  Bruno Haible  <bruno@clisp.org>
104663         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
104664         when used in C++ mode.
104666 2007-05-12  Bruno Haible  <bruno@clisp.org>
104668         * lib/linebuffer.h: Tweak doc.
104669         * lib/linebuffer.c: Likewise.
104671 2007-05-12  James Youngman  <jay@gnu.org>
104673         * lib/linebuffer.c (readlinebuffer_delim): New function,
104674         like readlinebuffer, but use a caller-specified delimiter.
104675         (readlinebuffer): Just call readlinebuffer_delim with '\n'
104676         as the delimiter.
104677         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
104679 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
104681         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
104682         * modules/openat (Files): Remove openat-die.c.
104683         (Depends-on): Add openat-die.
104684         * modules/openat-die: New module.
104686 2007-05-06  Bruno Haible  <bruno@clisp.org>
104688         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
104689         Update with info about Cygwin.
104690         * doc/functions/fprintf.texi: Update.
104691         * doc/functions/printf.texi: Update.
104692         * doc/functions/snprintf.texi: Update.
104693         * doc/functions/sprintf.texi: Update.
104694         * doc/functions/vfprintf.texi: Update.
104695         * doc/functions/vprintf.texi: Update.
104696         * doc/functions/vsnprintf.texi: Update.
104697         * doc/functions/vsprintf.texi: Update.
104698         Reported by Eric Blake.
104700 2007-05-06  Bruno Haible  <bruno@clisp.org>
104702         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
104703         padding ourselves for the floating-point directives.
104704         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
104705         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
104706         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
104707         gl_PRINTF_FLAG_ZERO and test its result. Invoke
104708         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
104709         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104710         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
104711         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104712         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104713         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104714         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104715         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104716         * tests/test-snprintf-posix.h (test_function): Also check the width
104717         and some flags in the %f directive.
104718         * tests/test-sprintf-posix.h (test_function): Likewise.
104719         * tests/test-vasnprintf-posix.c (test_function): Likewise.
104720         * tests/test-vasprintf-posix.c (test_function): Likewise.
104721         * doc/functions/fprintf.texi: Update.
104722         * doc/functions/printf.texi: Update.
104723         * doc/functions/snprintf.texi: Update.
104724         * doc/functions/sprintf.texi: Update.
104725         * doc/functions/vfprintf.texi: Update.
104726         * doc/functions/vprintf.texi: Update.
104727         * doc/functions/vsnprintf.texi: Update.
104728         * doc/functions/vsprintf.texi: Update.
104730 2007-05-06  Bruno Haible  <bruno@clisp.org>
104732         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
104733         pass the ' flag character to sprintf or snprintf.
104734         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
104735         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
104736         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
104737         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
104738         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
104739         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104740         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
104741         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104742         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104743         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104744         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104745         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104746         * tests/test-snprintf-posix.h (test_function): Also check the grouping
104747         flag.
104748         * tests/test-sprintf-posix.h (test_function): Likewise.
104749         * tests/test-vasnprintf-posix.c (test_function): Likewise.
104750         * tests/test-vasprintf-posix.c (test_function): Likewise.
104751         * doc/functions/fprintf.texi: Update.
104752         * doc/functions/printf.texi: Update.
104753         * doc/functions/snprintf.texi: Update.
104754         * doc/functions/sprintf.texi: Update.
104755         * doc/functions/vfprintf.texi: Update.
104756         * doc/functions/vprintf.texi: Update.
104757         * doc/functions/vsnprintf.texi: Update.
104758         * doc/functions/vsprintf.texi: Update.
104760 2007-05-01  Bruno Haible  <bruno@clisp.org>
104762         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
104764 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
104766         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
104767         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
104769 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
104771         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
104772         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
104773         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
104775 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
104777         * lib/argp-help.c (struct hol_entry): New member `ord'.
104778         (HOL_ENTRY_PTRCMP): Use ord for comparison
104779         (hol_sort): Initialize ord.
104781 2007-05-01  Bruno Haible  <bruno@clisp.org>
104783         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
104784         Reported by Eric Blake.
104785         * doc/gnulib.texi (Function Substitutes): Update.
104787 2007-05-01  Bruno Haible  <bruno@clisp.org>
104789         * doc/functions.texi: Remove file, now redundant through
104790         doc/functions/*.texi.
104792 2007-05-01  Bruno Haible  <bruno@clisp.org>
104794         * modules/argp (Depends-on): Add sleep.
104796 2007-05-01  Bruno Haible  <bruno@clisp.org>
104798         * modules/sleep-tests: New file.
104799         * tests/test-sleep.c: New file.
104801         * modules/sleep: New file.
104802         * lib/sleep.c: New file.
104803         * m4/sleep.m4: New file.
104804         * lib/unistd_.h (sleep): New declaration.
104805         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
104806         HAVE_SLEEP.
104807         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
104808         * doc/functions/sleep.texi: Document the sleep module.
104810 2007-05-01  Bruno Haible  <bruno@clisp.org>
104812         * lib/sigprocmask.h: Remove file.
104813         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
104814         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
104815         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
104816         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
104817         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
104818         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
104819         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
104820         HAVE_SIGSET_T as a shell variable.
104821         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
104822         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
104823         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
104824         (Depends-on): Add signal. Remove verify.
104825         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
104826         (Include): Mention <signal.h> instead of sigprocmask.h.
104827         * NEWS: Mention the change.
104828         * lib/fatal-signal.c: Don't include sigprocmask.h.
104830 2007-05-01  Bruno Haible  <bruno@clisp.org>
104832         * modules/signal: New file.
104833         * lib/signal_.h: New file.
104834         * m4/signal_h.m4: New file.
104836 2007-05-01  Bruno Haible  <bruno@clisp.org>
104838         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
104839         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
104840         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
104841         HAVE_WCTYPE_CTMP_BUG into wctype.h.
104843 2007-05-01  Bruno Haible  <bruno@clisp.org>
104845         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
104846         configure time.
104847         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
104848         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
104849         * modules/sys_stat (Makefile.am): Substitute their values into
104850         sys/stat.h.
104852 2007-05-01  Bruno Haible  <bruno@clisp.org>
104854         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
104855         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
104856         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
104858 2007-05-01  Bruno Haible  <bruno@clisp.org>
104860         * doc/header/assert.texi: Undo last change: don't mention the gnulib
104861         'assert' module here.
104863 2007-05-01  Bruno Haible  <bruno@clisp.org>
104865         * doc/functions/*.texi: New files.
104866         * doc/functions/google-ranking.txt: New file.
104867         * doc/gnulib.texi (Function Substitutes): New chapter.
104868         (ctime, inet_ntoa): Remove sections.
104869         * doc/ctime.texi: Remove file.
104870         * doc/inet_ntoa.texi: Remove file.
104871         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
104872         dependencies.
104873         (%.info): New rule, specifying a --reference-limit.
104875 2007-05-01  Bruno Haible  <bruno@clisp.org>
104877         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
104879 2007-05-01  Bruno Haible  <bruno@clisp.org>
104881         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
104882         the portability of 'mkdir' to mingw systems.
104884 2007-05-01  Bruno Haible  <bruno@clisp.org>
104886         * doc/headers/google-ranking.txt: New file.
104888 2007-04-30  Eric Blake  <ebb9@byu.net>
104890         Prefer fseeko to fseek.
104891         * modules/getpass (Depends-on): Add fseeko.
104892         * lib/getpass.c (getpass): Use fseeko, not fseek.
104894 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
104896         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
104897         assumes the sorting is stable, while most qsort implementations
104898         are not.  Use argument addresses to ensure they never compare as
104899         equal.
104901         * tests/test-argp-2.sh (usage-indent test): Fix output
104902         (func_compare): Restore diff options
104903         * tests/test-argp.c: Restore #include "progname.h"
104905 2007-04-29  Bruno Haible  <bruno@clisp.org>
104907         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
104908         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
104909         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
104910         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104911         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
104912         (configure.ac): Define CHECK_SNPRINTF_POSIX.
104913         (TESTS, check_PROGRAMS): Add test-snprintf.
104914         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
104915         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
104916         (TESTS, check_PROGRAMS): Add test-vsnprintf.
104917         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
104918         assertions that fail on HP-UX, OSF/1, or IRIX.
104919         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
104921 2007-04-29  Bruno Haible  <bruno@clisp.org>
104923         * MODULES.html.sh (posix_functions): Remove 'contents'.
104925 2007-04-29  Karl Berry  <karl@gnu.org>
104927         * config/srclist.txt (gendocs_template_min): new entry.
104929 2007-04-29  Bruno Haible  <bruno@clisp.org>
104931         Work around fpurge bug on BSD systems.
104932         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
104933         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
104934         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
104935         fpurge to rpl_fpurge if the system already has this function.
104936         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
104937         the case where the system already has this function. Correct invariants
104938         on BSD systems.
104939         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
104940         BSD systems.
104942 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
104944         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
104945         proposed by Sven Verdoolaege.
104947         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
104948         options.
104949         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
104950         (usage and help tests): Update
104952 2007-04-29  Bruno Haible  <bruno@clisp.org>
104954         * tests/test-fflush.c (main): Use a file of size 17, not 10.
104955         Print more information in case of failure. Disable a test on BeOS.
104957 2007-04-29  Bruno Haible  <bruno@clisp.org>
104959         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
104960         This helps debugging on systems on which no gdb is available.
104962 2007-04-29  Bruno Haible  <bruno@clisp.org>
104964         * lib/freading.h: Improve comments.
104965         * lib/fwriting.h: Likewise.
104966         * tests/test-freading.c (main): Don't check freading immediately after
104967         repositioning. Needed for glibc.
104969 2007-04-29  Bruno Haible  <bruno@clisp.org>
104971         * lib/freading.c (freading): Trivial simplification.
104973 2007-04-28  Bruno Haible  <bruno@clisp.org>
104975         * tests/test-fwriting.c (main): Also test the interaction between
104976         fflush and fwriting.
104977         * modules/fwriting-tests (Depends-on): Add fflush.
104979         * tests/test-freading.c (main): Also test the interaction between
104980         fflush and freading.
104981         * modules/freading-tests (Depends-on): Add fflush.
104983 2007-04-28  Bruno Haible  <bruno@clisp.org>
104985         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
104986         fseeko and ftello.
104987         Suggested by Eric Blake.
104989 2007-04-28  Jim Meyering  <jim@meyering.net>
104991         Avoid false-negative in gl_STDINT_H's C99 conformance test.
104992         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
104993         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
104995 2007-04-27  Eric Blake  <ebb9@byu.net>
104997         * doc/headers/assert.texi (assert.h): Document assert module use.
104999 2007-04-27  Bruno Haible  <bruno@clisp.org>
105001         * doc/headers/*.texi: New files.
105002         * doc/gnulib.texi (Header File Substitutes): New chapter.
105003         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
105004         dependencies.
105005         (standards.info ,standards.html, standards.dvi): Update dependencies.
105006         (mostlyclean, clean): New targets.
105008 2007-04-27  Bruno Haible  <bruno@clisp.org>
105010         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
105011         * modules/sysexits (Files, Makefile.am): Update.
105013         * lib/sys_socket_.h: Renamed from lib/socket_.h.
105014         * modules/sys_socket (Files, Makefile.am): Update.
105016         * lib/sys_stat_.h: Renamed from lib/stat_.h.
105017         * modules/sys_stat (Files, Makefile.am): Update.
105019 2007-04-27  Eric Blake  <ebb9@byu.net>
105021         * lib/freading.h: Improve comments.
105022         * lib/fwriting.h: Likewise.
105023         * lib/fflush.c: Likewise.
105025         Fix closein for mingw.
105026         * modules/closein-tests: Add tests for closein.
105027         * tests/test-closein.c: New file.
105028         * tests/test-closein.sh: Likewise.
105029         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
105030         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
105032 2007-04-27  Bruno Haible  <bruno@clisp.org>
105034         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
105035         version is < 6.
105036         * lib/math_.h [__DECC]: Likewise.
105037         * lib/stdio_.h [__DECC]: Likewise.
105038         * lib/stdlib_.h [__DECC]: Likewise.
105039         * lib/string_.h [__DECC]: Likewise.
105040         * lib/time_.h [__DECC]: Likewise.
105041         * lib/wchar_.h [__DECC]: Likewise.
105042         * lib/wctype_.h [__DECC]: Likewise.
105044 2007-04-27  Bruno Haible  <bruno@clisp.org>
105046         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
105048 2007-04-27  Bruno Haible  <bruno@clisp.org>
105050         * lib/fflush.c: Add comments.
105051         * modules/fpurge-tests (Depends-on): Add fflush.
105052         * modules/freadable-tests (Depends-on): Likewise.
105053         * modules/fwritable-tests (Depends-on): Likewise.
105055 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
105057         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
105058         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
105059         Report by Bruno Haible <bruno@clisp.org>.
105061 2007-04-26  Eric Blake  <ebb9@byu.net>
105063         Fix fflush on mingw.
105064         * modules/fflush (Depends-on): Add freading.
105065         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
105066         but unread data.
105068 2007-04-26  Eric Blake  <ebb9@byu.net>
105069         and Bruno Haible  <bruno@clisp.org>
105071         Implement freading and fwriting.
105072         * lib/freading.c: New file.
105073         * lib/freading.h: Likewise.
105074         * m4/freading.m4: Likewise.
105075         * modules/freading: Likewise.
105076         * modules/freading-tests: Likewise.
105077         * tests/test-freading.c: Likewise.
105078         * lib/fwriting.c: New file.
105079         * lib/fwriting.h: Likewise.
105080         * m4/fwriting.m4: Likewise.
105081         * modules/fwriting: Likewise.
105082         * modules/fwriting-tests: Likewise.
105083         * tests/test-fwriting.c: Likewise.
105084         * MODULES.html.sh (File stream based Input/Output): Mention them.
105086 2007-04-26  Bruno Haible  <bruno@clisp.org>
105088         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
105089         'long' when we assume it.
105090         Suggested by Eric Blake.
105092 2007-04-26  Bruno Haible  <bruno@clisp.org>
105094         Ensure fseeko, ftello are declared on glibc systems.
105095         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
105096         * modules/fseeko (configure.ac-early): Likewise.
105097         * modules/ftello (configure.ac-early): Likewise.
105098         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
105099         AC_FUNC_FSEEKO for this.
105100         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
105101         (gl_CHECK_FSEEKO): Remove macro.
105103 2007-04-26  Bruno Haible  <bruno@clisp.org>
105105         * tests/test-fflush.c (main): Also check the ftell result after
105106         fflush and fseek/fseeko.
105107         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
105108         file descriptor position cache in the stream.
105109         * lib/fseeko.c (rpl_fseeko): Likewise.
105111 2007-04-26  Bruno Haible  <bruno@clisp.org>
105113         * modules/fflush-tests (Depends-on): Add fseeko.
105115 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
105116             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
105118         * lib/argz_.h: ensure error_t definition is obtained in same
105119         mechanism system argz.h would have.
105120         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
105121         argz facilities are known bad.  Err on the side of caution if
105122         cross-compiling.
105124 2007-04-25  Eric Blake  <ebb9@byu.net>
105126         * lib/fpurge.c (includes): Use stdlib.h for free.
105127         * tests/test-fflush.c (main): Also test fflush-fseeko.
105129 2007-04-25  Bruno Haible  <bruno@clisp.org>
105131         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
105132         * lib/fseeko.c: New file.
105133         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
105134         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
105135         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
105136         gl_FUNC_FSEEKO.
105137         (gl_FUNC_FSEEKO): Invoke it.
105138         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
105139         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
105140         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
105142 2007-04-25  Bruno Haible  <bruno@clisp.org>
105144         * modules/fflush (Depends-on): Add ftello.
105146 2007-04-25  Bruno Haible  <bruno@clisp.org>
105148         * modules/ftello-tests: New file.
105149         * tests/test-ftello.c: New file.
105151         * modules/ftello: New file.
105152         * m4/ftello.m4: New file.
105153         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
105154         HAVE_FTELLO.
105155         * lib/stdio_.h (ftello): New declaration.
105156         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
105157         HAVE_FTELLO.
105159 2007-04-25  Bruno Haible  <bruno@clisp.org>
105161         * modules/fseeko-tests: New file.
105162         * tests/test-fseeko.c: New file.
105164         * modules/fseeko: New file.
105165         * m4/fseeko.m4: New file.
105166         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
105167         HAVE_FSEEKO.
105168         * lib/stdio_.h (fseeko): New declaration.
105169         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
105170         HAVE_FSEEKO.
105172 2007-04-25  Bruno Haible  <bruno@clisp.org>
105174         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
105176 2007-04-25  Bruno Haible  <bruno@clisp.org>
105178         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
105179         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
105180         * tests/test-unistd.c: Likewise.
105181         * tests/test-fcntl.c: Likewise.
105183 2007-04-23  Eric Blake  <ebb9@byu.net>
105185         * lib/fflush.c: Fix missing include.
105186         Reported by Bruno Haible.
105188 2007-04-23  Bruno Haible  <bruno@clisp.org>
105190         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
105191         Reported by Eric Blake.
105193 2007-04-23  Bruno Haible  <bruno@clisp.org>
105195         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
105197 2007-04-23  Bruno Haible  <bruno@clisp.org>
105199         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
105201 2007-04-23  Bruno Haible  <bruno@clisp.org>
105203         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
105204         Needed on HP-UX 11.
105206 2007-04-16  Eric Blake  <ebb9@byu.net>
105208         Make fflush rely on fpurge.
105209         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
105210         open coding all variants.
105211         * modules/fflush (Depends-on): Add fpurge and unistd.
105212         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
105213         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
105215         Fix --with-tests compilation on cygwin.
105216         * modules/argmatch-tests (Makefile.am): List gnulib library first
105217         in LDADD.
105218         * modules/argp-tests (Makefile.am): Likewise.
105219         * modules/array-list-tests (Makefile.am): Likewise.
105220         * modules/array-oset-tests (Makefile.am): Likewise.
105221         * modules/avltree-list-tests (Makefile.am): Likewise.
105222         * modules/avltree-oset-tests (Makefile.am): Likewise.
105223         * modules/avltreehash-list-tests (Makefile.am): Likewise.
105224         * modules/carray-list-tests (Makefile.am): Likewise.
105225         * modules/dirname-tests (Makefile.am): Likewise.
105226         * modules/frexp-tests (Makefile.am): Likewise.
105227         * modules/isnanl-tests (Makefile.am): Likewise.
105228         * modules/linked-list-tests (Makefile.am): Likewise.
105229         * modules/linkedhash-list-tests (Makefile.am): Likewise.
105230         * modules/lock-tests (Makefile.am): Likewise.
105231         * modules/rbtree-list-tests (Makefile.am): Likewise.
105232         * modules/rbtree-oset-tests (Makefile.am): Likewise.
105233         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
105234         * modules/tls-tests (Makefile.am): Likewise.
105235         * modules/tsearch-tests (Makefile.am): Likewise.
105236         * modules/xvasprintf-tests (Makefile.am): Likewise.
105238         Fix fpurge for cygwin.
105239         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
105240         value.
105241         * modules/fpurge-tests (Depends-on): Clean up trash.
105243 2007-04-16  Simon Josefsson  <simon@josefsson.org>
105245         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
105247         * m4/autobuild.m4: Re-indent.
105249 2007-04-13  Bruno Haible  <bruno@clisp.org>
105251         * modules/fpurge-tests: New file.
105252         * tests/test-fpurge.c: New file.
105254         * modules/fpurge: New file.
105255         * lib/fpurge.h: New file.
105256         * lib/fpurge.c: New file.
105257         * m4/fpurge.m4: New file.
105259 2007-04-13  Bruno Haible  <bruno@clisp.org>
105261         * modules/fbufmode-tests: New file.
105262         * tests/test-fbufmode.c: New file.
105264         * modules/fbufmode: New file.
105265         * lib/fbufmode.h: New file.
105266         * lib/fbufmode.c: New file.
105267         * m4/fbufmode.m4: New file.
105269 2007-04-13  Bruno Haible  <bruno@clisp.org>
105271         * modules/fwritable-tests: New file.
105272         * tests/test-fwritable.c: New file.
105274         * modules/fwritable: New file.
105275         * lib/fwritable.h: New file.
105276         * lib/fwritable.c: New file.
105277         * m4/fwritable.m4: New file.
105279 2007-04-13  Bruno Haible  <bruno@clisp.org>
105281         * modules/freadable-tests: New file.
105282         * tests/test-freadable.c: New file.
105284         * modules/freadable: New file.
105285         * lib/freadable.h: New file.
105286         * lib/freadable.c: New file.
105287         * m4/freadable.m4: New file.
105289 2007-04-13  Bruno Haible  <bruno@clisp.org>
105291         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
105292         MOSTLYCLEANFILES.
105294 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
105296         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
105297         gzip bootstrap.conf to avoid dragging in i18n machinery.
105298         (gnulib_tool_option): Use it.
105300 2007-04-13  Bruno Haible  <bruno@clisp.org>
105302         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
105303         %F directives.
105304         * tests/test-vasprintf-posix.c (test_function): Likewise.
105305         * tests/test-snprintf-posix.h (test_function): Likewise.
105306         * tests/test-sprintf-posix.h (test_function): Likewise.
105307         * tests/test-fprintf-posix.h (test_function): Likewise.
105308         * tests/test-printf-posix.h (test_function): Likewise.
105309         * tests/test-fprintf-posix.out: Likewise.
105311 2007-04-13  Bruno Haible  <bruno@clisp.org>
105313         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
105314         * modules/tls-tests (configure.ac): Likewise.
105315         Reported by Arto C. Nirkko <anirkko@insel.ch>.
105317 2007-04-13  Bruno Haible  <bruno@clisp.org>
105319         * lib/tls.c (glthread_tls_get): Fix return type.
105320         Patch by Arto C. Nirkko <anirkko@insel.ch>.
105322 2007-04-12  Eric Blake  <ebb9@byu.net>
105324         * modules/gettime (Depends-on): Remove gettime.
105325         Reported by Dmitry V. Levin.
105327 2007-04-12  Bruno Haible  <bruno@clisp.org>
105329         * modules/fflush (Include): Mention <stdio.h>.
105330         * modules/strtoimax (Include): Mention <inttypes.h>.
105331         * modules/strtoumax (Include): Likewise.
105333 2007-04-12  Eric Blake  <ebb9@byu.net>
105335         * .cvsignore: New file.
105336         * .gitignore: Likewise.
105338 2007-04-12  Bruno Haible  <bruno@clisp.org>
105340         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
105341         not before, since $(LDADD) often contains libgnu.a.
105342         * modules/striconv-tests (test_striconv_LDADD): Likewise.
105343         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
105344         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
105345         Needed on Cygwin.
105347 2007-04-12  Eric Blake  <ebb9@byu.net>
105349         Work around glibc's failure to flush stdin on fclose.
105350         * lib/closein.c (close_stdin): Flush stdin before closing.
105352         Work around glibc's failure to reset seekable stdin on exit.
105353         * modules/closein: New module.
105354         * lib/closein.c: New file.
105355         * lib/closein.h: Likewise.
105356         * m4/closein.m4: Likewise.
105357         * MODULES.html.sh (File stream based Input/Output): Document it.
105359 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105361         * gnulib-tool: Rename generated 'autobuild' script to
105362         'do-autobuild' in --create-megatestdir output.
105364         * doc/gnulib.texi (Build robot for gnulib): Fix.
105366 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105368         * modules/sysexits (Depends-on): Add absolute-header.
105370 2007-04-12  Eric Blake  <ebb9@byu.net>
105372         No need to preserve errno on success.
105373         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
105374         Reported by Bruno Haible.
105376 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105378         * MODULES.html.sh (Support for maintaining and releasing
105379         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
105381 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105383         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
105385 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105387         * modules/autobuild: New module.
105389         * m4/autobuild.m4: New file.
105391 2007-04-11  Bruno Haible  <bruno@clisp.org>
105393         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
105394         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
105395         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
105396         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
105397         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
105398         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105399         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105400         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105401         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105402         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105403         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
105404         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105405         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105406         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
105407         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105408         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105409         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
105410         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105411         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105412         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
105413         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105414         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105415         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
105416         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105417         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105418         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
105419         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105420         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105421         Reported by Eric Blake.
105423 2007-04-11  Bruno Haible  <bruno@clisp.org>
105425         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
105427 2007-04-10  Bruno Haible  <bruno@clisp.org>
105429         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
105430         for NaN and Infinity. Needed on FreeBSD 6.1.
105431         * tests/test-vasnprintf-posix.c (test_function): Undo last change
105432         regarding results for "%010a" of Infinity and NaN.
105433         * tests/test-vasprintf-posix.c (test_function): Likewise.
105434         * tests/test-snprintf-posix.h (test_function): Likewise.
105435         * tests/test-sprintf-posix.h (test_function): Likewise.
105436         * tests/test-fprintf-posix.h (test_function): Likewise.
105437         * tests/test-printf-posix.h (test_function): Likewise.
105438         * tests/test-fprintf-posix.out: Likewise.
105440 2007-04-10  Bruno Haible  <bruno@clisp.org>
105442         * modules/locale-tests: New file.
105443         * tests/test-locale.c: New file.
105445         * modules/locale: New file.
105446         * lib/locale_.h: New file.
105447         * m4/locale_h.m4: New file.
105449 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
105450             Bruno Haible  <bruno@clisp.org>
105452         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
105453         be determined, test for availability of the copysignf, copysign,
105454         copysignl functions.
105455         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
105456         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
105457         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
105459 2007-04-09  Eric Blake  <ebb9@byu.net>
105461         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
105462         * modules/stdio (Makefile.am): Support fflush.
105463         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
105464         * modules/fflush: New file.
105465         * lib/fflush.c: Likewise.
105466         * m4/fflush.m4: Likewise.
105467         * modules/fflush-tests: New test.
105468         * tests/test-fflush.c: Likewise.
105469         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
105471 2007-04-06  Bruno Haible  <bruno@clisp.org>
105473         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
105474         (VASNPRINTF): Use signbit for faster determination whether to print a
105475         minus sign.
105476         * modules/vasnprintf (Files): Remove lib/float+.h.
105477         * modules/fprintf-posix (Depends-on): Add signbit.
105478         * modules/snprintf-posix (Depends-on): Likewise.
105479         * modules/sprintf-posix (Depends-on): Likewise.
105480         * modules/vasnprintf-posix (Depends-on): Likewise.
105481         * modules/vasprintf-posix (Depends-on): Likewise.
105482         * modules/vfprintf-posix (Depends-on): Likewise.
105483         * modules/vsnprintf-posix (Depends-on): Likewise.
105484         * modules/vsprintf-posix (Depends-on): Likewise.
105486 2007-04-06  Bruno Haible  <bruno@clisp.org>
105488         * tests/test-frexp.c (main): Test also the sign bit of zero results.
105489         * tests/test-frexpl.c (main): Likewise.
105490         * tests/test-ldexpl.c (main): Likewise.
105491         * modules/frexp-tests (Depends-on): Add signbit.
105492         * modules/frexpl-tests (Depdends-on): Likewise.
105493         * modules/ldexpl-tests (Depdends-on): Likewise.
105495 2007-04-06  Bruno Haible  <bruno@clisp.org>
105497         * modules/signbit-tests: New file.
105498         * tests/test-signbit.c: New file.
105500         * modules/signbit: New file.
105501         * lib/signbitf.c: New file.
105502         * lib/signbitd.c: New file.
105503         * lib/signbitl.c: New file.
105504         * m4/signbit.m4: New file.
105505         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
105506         (signbit): New macro.
105507         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
105508         REPLACE_SIGNBIT.
105509         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
105510         REPLACE_FREXPL into math.h.
105512 2007-04-06  Bruno Haible  <bruno@clisp.org>
105514         * modules/isnanf-nolibm-tests: New file.
105515         * tests/test-isnanf.c: New file.
105517         * modules/isnanf-nolibm: New file.
105518         * lib/isnanf.h: New file.
105519         * lib/isnanf.c: New file.
105520         * lib/isnan.c: Consider the USE_FLOAT macro.
105521         * m4/isnanf.m4: New file.
105523 2007-04-06  Bruno Haible  <bruno@clisp.org>
105525         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
105526         (Link): New section.
105528         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
105530 2007-04-06  Bruno Haible  <bruno@clisp.org>
105532         Assume the 'long double' type.
105533         * m4/longdouble.m4: Remove file.
105534         * config/srclist.txt: Don't mention longdouble.m4.
105535         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
105536         * lib/float+.h: Likewise.
105537         * lib/frexp.c: Likewise.
105538         * lib/printf-args.h: Likewise.
105539         * lib/printf-args.c: Likewise.
105540         * lib/printf-frexp.c: Likewise.
105541         * lib/printf-parse.c: Likewise.
105542         * lib/vasnprintf.c: Likewise.
105543         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
105544         * m4/intl.m4: Likewise.
105545         * m4/isnanl.m4: Likewise.
105546         * m4/printf.m4: Likewise.
105547         * m4/printf-frexpl.m4: Likewise.
105548         * m4/vasnprintf.m4: Likewise.
105549         * modules/allocsa (Files): Remove m4/longdouble.m4.
105550         * modules/gettext (Files): Likewise.
105551         * modules/relocatable-prog-wrapper (Files): Likewise.
105552         * modules/vasnprintf (Files): Likewise.
105553         * modules/isnanl (Files): Likewise.
105554         (Include): Simplify.
105555         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
105556         (Include): Simplify.
105557         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
105558         (Include): Simplify.
105559         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
105560         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105561         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
105562         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105563         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
105564         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105565         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
105566         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105567         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
105568         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105569         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
105570         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105571         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
105572         * tests/test-isnanl.c: Likewise.
105573         * tests/test-snprintf-posix.h: Likewise.
105574         * tests/test-sprintf-posix.h: Likewise.
105575         * tests/test-vasnprintf-posix.c: Likewise.
105576         * tests/test-vasnprintf-posix2.c: Likewise.
105577         * tests/test-vasprintf-posix.c: Likewise.
105579 2007-04-06  Bruno Haible  <bruno@clisp.org>
105581         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
105582         * lib/math_.h [__DECC]: Include the overridden include file through
105583         #include_next, outside the double-inclusion guard.
105584         * lib/stdio_.h [__DECC]: Likewise.
105585         * lib/stdlib_.h [__DECC]: Likewise.
105586         * lib/string_.h [__DECC]: Likewise.
105587         * lib/time_.h [__DECC]: Likewise.
105588         * lib/wchar_.h [__DECC]: Likewise.
105589         * lib/wctype_.h [__DECC]: Likewise.
105590         * lib/inttypes_.h [__DECC]: Likewise.
105591         Reported by Albert Chin <china@thewrittenword.com> in
105592         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
105594 2007-04-04  Eric Blake  <ebb9@byu.net>
105596         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
105597         1.5.x.
105599 2007-04-04  Bruno Haible  <bruno@clisp.org>
105601         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
105602         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
105604 2007-04-04  Bruno Haible  <bruno@clisp.org>
105606         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
105607         results for "%010a" of Infinity and NaN.
105608         * tests/test-vasprintf-posix.c (test_function): Likewise.
105609         * tests/test-snprintf-posix.h (test_function): Likewise.
105610         * tests/test-sprintf-posix.h (test_function): Likewise.
105611         * tests/test-fprintf-posix.h (test_function): Remove these tests.
105612         * tests/test-printf-posix.h (test_function): Likewise.
105613         * tests/test-fprintf-posix.out: Update.
105614         Needed for FreeBSD 6.1.
105616 2007-04-04  Bruno Haible  <bruno@clisp.org>
105618         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
105619         directly used by the gnulib modules nor by gnulib-tool.
105621 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
105623         * DEPENDENCIES: Give overall description of version dependency
105624         desirability.  Use more-typical names for apps.
105625         Add shell, coreutils, diffutils, grep, tar, gzip.
105627 2007-04-04  Simon Josefsson  <simon@josefsson.org>
105629         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
105631 2007-04-04  Karl Berry  <karl@gnu.org>
105633         * MODULES.html.sh (func_module): missing '.
105635 2007-04-03  Bruno Haible  <bruno@clisp.org>
105637         * modules/argmatch-tests (Makefile.am): New variable
105638         test_argmatch_LDADD.
105639         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
105640         * modules/array-list-tests (Makefile.am): New variable
105641         test_array_list_LDADD.
105642         * modules/array-oset-tests (Makefile.am): New variable
105643         test_array_oset_LDADD.
105644         * modules/avltree-list-tests (Makefile.am): New variable
105645         test_avltree_list_LDADD.
105646         * modules/avltree-oset-tests (Makefile.am): New variable
105647         test_avltree_oset_LDADD.
105648         * modules/avltreehash-list-tests (Makefile.am): New variable
105649         test_avltreehash_list_LDADD.
105650         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
105651         test_canonicalize_lgpl_LDADD.
105652         * modules/carray-list-tests (Makefile.am): New variable
105653         test_carray_list_LDADD.
105654         * modules/dirname-tests (Makefile.am): New variable
105655         test_dirname_LDADD.
105656         * modules/linked-list-tests (Makefile.am): New variable
105657         test_linked_list_LDADD.
105658         * modules/linkedhash-list-tests (Makefile.am): New variable
105659         test_linkedhash_list_LDADD.
105660         * modules/rbtree-list-tests (Makefile.am): New variable
105661         test_rbtree_list_LDADD.
105662         * modules/rbtree-oset-tests (Makefile.am): New variable
105663         test_rbtree_oset_LDADD.
105664         * modules/rbtreehash-list-tests (Makefile.am): New variable
105665         test_rbtreehash_list_LDADD.
105666         * modules/xvasprintf-tests (Makefile.am): New variable
105667         test_xvasprintf_LDADD.
105668         Reported by Eric Blake.
105670 2007-04-03  Eric Blake  <ebb9@byu.net>
105672         * DEPENDENCIES: Weaken m4 requirements.
105674 2007-04-03  Bruno Haible  <bruno@clisp.org>
105676         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
105677         * modules/isnanl-tests (configure.ac): Likewise.
105679 2007-04-03  Ben Pfaff  <blp@gnu.org>
105681         * modules/iconv_open: Add $(srcdir)/ to source directory
105682         references in Makefile fragments that call gperf, to fix VPATH
105683         builds.
105685 2007-04-03  Bruno Haible  <bruno@clisp.org>
105687         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
105688         * lib/ldexpl.c: Undo last change.
105690 2007-04-03  Bruno Haible  <bruno@clisp.org>
105692         * modules/printf-frexpl (Depends-on): Undo last change.
105693         (Files): Add m4/ldexpl.m4.
105695 2007-04-03  Bruno Haible  <bruno@clisp.org>
105697         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
105698         * modules/isnanl (Link): New section.
105700         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
105701         * modules/frexp (Link): New section.
105703         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
105704         * modules/frexpl (Link): New section.
105706         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
105707         * modules/ldexpl (Link): New section.
105709 2007-04-03  Bruno Haible  <bruno@clisp.org>
105711         * modules/TEMPLATE-EXTENDED: New file.
105712         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
105714 2007-04-03  Bruno Haible  <bruno@clisp.org>
105716         * DEPENDENCIES: New file.
105717         Suggested by Simon Josefsson.
105719 2007-04-03  Bruno Haible  <bruno@clisp.org>
105721         * doc/gnulib.texi: Escape @.
105723 2007-04-03  James Youngman  <jay@gnu.org>
105724         and Paul Eggert  <eggert@cs.ucla.edu>
105726         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
105727         birthtime on all systems that have birthtime, not just those which
105728         use st_birthtimensec rather than st_birthtim.  Putting zero in
105729         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
105730         that the birth time is not available for files on an NFS mount.
105732 2007-04-03  Simon Josefsson  <simon@josefsson.org>
105734         * modules/memxor: Move back from crypto/, suggested by Bruno.
105735         * modules/crypto/hmac-sha1: Fix memxor dependency.
105737         * modules/crypto/gc: Moved from ../.
105739 2007-04-02  Eric Blake  <ebb9@byu.net>
105741         * lib/ldexpl.c (includes): Avoid libm.
105743         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
105745 2007-04-02  Bruno Haible  <bruno@clisp.org>
105747         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
105748         on IRIX.
105750 2007-04-02  Bruno Haible  <bruno@clisp.org>
105752         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
105753         x86 or x86_64 platforms running MacOS X.
105754         Reported by Ryan Schmidt <@ryandesign.com>.
105756 2007-04-02  Bruno Haible  <bruno@clisp.org>
105758         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
105759         i386.
105761 2007-04-01  Simon Josefsson  <simon@josefsson.org>
105763         * modules/crypto/arcfour: Moved from ../.
105764         * modules/crypto/arcfour-tests: Moved from ../.
105765         * modules/crypto/arctwo: Moved from ../.
105766         * modules/crypto/arctwo-tests: Moved from ../.
105767         * modules/crypto/des: Moved from ../.
105768         * modules/crypto/des-tests: Moved from ../.
105769         * modules/crypto/gc-arcfour: Moved from ../.
105770         * modules/crypto/gc-arcfour-tests: Moved from ../.
105771         * modules/crypto/gc-arctwo: Moved from ../.
105772         * modules/crypto/gc-arctwo-tests: Moved from ../.
105773         * modules/crypto/gc-des: Moved from ../.
105774         * modules/crypto/gc-des-tests: Moved from ../.
105775         * modules/crypto/gc-hmac-md5: Moved from ../.
105776         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
105777         * modules/crypto/gc-hmac-sha1: Moved from ../.
105778         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
105779         * modules/crypto/gc-md2: Moved from ../.
105780         * modules/crypto/gc-md2-tests: Moved from ../.
105781         * modules/crypto/gc-md4: Moved from ../.
105782         * modules/crypto/gc-md4-tests: Moved from ../.
105783         * modules/crypto/gc-md5: Moved from ../.
105784         * modules/crypto/gc-md5-tests: Moved from ../.
105785         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
105786         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
105787         * modules/crypto/gc-random: Moved from ../.
105788         * modules/crypto/gc-rijndael: Moved from ../.
105789         * modules/crypto/gc-rijndael-tests: Moved from ../.
105790         * modules/crypto/gc-sha1: Moved from ../.
105791         * modules/crypto/gc-sha1-tests: Moved from ../.
105792         * modules/crypto/gc-tests: Moved from ../.
105793         * modules/crypto/hmac-md5: Moved from ../.
105794         * modules/crypto/hmac-md5-tests: Moved from ../.
105795         * modules/crypto/hmac-sha1: Moved from ../.
105796         * modules/crypto/hmac-sha1-tests: Moved from ../.
105797         * modules/crypto/md2: Moved from ../.
105798         * modules/crypto/md2-tests: Moved from ../.
105799         * modules/crypto/md4: Moved from ../.
105800         * modules/crypto/md4-tests: Moved from ../.
105801         * modules/crypto/md5: Moved from ../.
105802         * modules/crypto/md5-tests: Moved from ../.
105803         * modules/crypto/memxor: Moved from ../.
105804         * modules/crypto/rijndael: Moved from ../.
105805         * modules/crypto/rijndael-tests: Moved from ../.
105806         * modules/crypto/sha1: Moved from ../.
105808 2007-03-30  James Youngman  <jay@gnu.org>
105810         * tests/test-stat-time.c (prepare_test): use chmod() rather than
105811         rename() to change the ctime of a file (because ctime is unaffected
105812         by rename on jfs2 on AIX 5.1).
105813         (main): Start by doing cleanup, in case a previous run failed leaving
105814         test files behind.
105816 2007-03-31  Bruno Haible  <bruno@clisp.org>
105818         Support old proprietary implementations of iconv.
105819         * modules/iconv_open: New file.
105820         * lib/iconv_.h: New file.
105821         * m4/iconv_h.m4: New file.
105822         * lib/iconv_open.c: New file.
105823         * lib/iconv_open-aix.gperf: New file.
105824         * lib/iconv_open-hpux.gperf: New file.
105825         * lib/iconv_open-irix.gperf: New file.
105826         * lib/iconv_open-osf.gperf: New file.
105827         * m4/iconv_open.m4: New file.
105828         * modules/linebreak (Depends-on): Add iconv_open.
105829         * modules/striconv (Depends-on): Likewise.
105830         * modules/striconveh (Depends-on): Likewise.
105831         * modules/unicodeio (Depends-on): Likewise.
105832         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
105833         (iconv_t)(-1).
105834         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
105835         conversion if cd is (iconv_t)(-1).
105836         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
105837         is not possible.
105839 2007-03-31  Bruno Haible  <bruno@clisp.org>
105841         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
105842         work on Solaris either. Protect also second use of "autodetect_jp".
105844 2007-03-31  Bruno Haible  <bruno@clisp.org>
105846         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
105847         the function is not present.
105849 2007-03-31  Bruno Haible  <bruno@clisp.org>
105851         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
105852         the function is not present.
105854 2007-03-31  Bruno Haible  <bruno@clisp.org>
105856         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
105857         a bug in HP-UX iconv_open().
105859 2007-03-31  Bruno Haible  <bruno@clisp.org>
105861         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
105862         (Mathematics <math.h>): New section, add fpieee.
105863         (Input/output <stdio.h>): Add fseterr.
105864         (Mathematics <math.h>): New section, add printf-frexp.
105865         (Container data structures): Add sublist.
105866         (Core language properties): Add fpucw, inline.
105867         (Functions for greatest-width integer types <inttypes.h>): Add
105868         imaxabs, imaxdiv, inttypes.
105869         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
105870         isnanl-nolibm, ldexp.
105871         (Mathematics <math.h>): New section, add printf-frexpl.
105872         (Support for systems lacking POSIX:2001): Add fprintf-posix,
105873         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
105874         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
105875         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
105876         (Unicode string functions): Add unistr/u*-mbtoucr.
105877         (Java): Add javacomp-script, javaexec-script.
105878         (C#): Add csharpcomp-script, csharpexec-script.
105879         (Support for building libraries and executables): Add havelib,
105880         relocatable-*.
105881         (Support for maintaining and releasing projects): Renamed from
105882         'Support for maintaining and release projects'. Add announce-gen.
105884 2007-03-31  Bruno Haible  <bruno@clisp.org>
105886         * README: Talk primarily about git.
105887         (git and CVS): Renamed from CVS.
105888         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
105889         gnulib is available through git.
105890         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
105892 2007-03-30  Bruno Haible  <bruno@clisp.org>
105894         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
105895         * lib/poll_.h: Likewise.
105896         * lib/stat_.h: Likewise.
105897         * lib/sys_time_.h: Likewise.
105898         * lib/sysexit_.h: Likewise.
105899         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
105900         * lib/stdbool_.h: Likewise.
105901         * lib/byteswap_.h: Add double-inclusion guard.
105903 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
105905         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
105907 2007-03-30  Karl Berry  <karl@gnu.org>
105909         * config/srclist-update: double space after USA in the license
105910         substitution, since that's how it's usually (?) written.
105912 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
105914         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
105915         reported by Bruno Haible.
105917 2007-03-29  Bruno Haible  <bruno@clisp.org>
105919         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
105920         a bug in AIX iconv().
105922 2007-03-29  Bruno Haible  <bruno@clisp.org>
105924         * modules/ldexpl-tests: New file.
105925         * tests/test-ldexpl.c: New file.
105927 2007-03-29  Bruno Haible  <bruno@clisp.org>
105929         * lib/ldexpl.c: Include fpucw.h.
105930         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
105931         multiplication.
105932         * modules/ldexpl (Depends-on): Add fpucw.
105934 2007-03-29  Bruno Haible  <bruno@clisp.org>
105936         * modules/ldexpl: New file.
105937         * m4/ldexpl.m4: New file.
105938         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
105939         set.
105940         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
105941         REPLACE_LDEXPL.
105942         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
105943         REPLACE_LDEXPL.
105944         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
105945         gl_FUNC_LDEXPL_WORKS.
105946         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
105947         * modules/mathl (Files): Remove lib/ldexpl.c.
105948         (Depends-on): Add ldexpl.
105950 2007-03-29  Bruno Haible  <bruno@clisp.org>
105952         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
105954 2007-03-29  Bruno Haible  <bruno@clisp.org>
105956         * tests/test-striconveh.c (main): Don't assume that a direct conversion
105957         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
105958         and possibly also HP-UX.
105959         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
105960         work on AIX, IRIX, HP-UX, OSF/1.
105961         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
105962         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
105963         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
105964         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
105965         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
105966         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
105968 2007-03-29  Bruno Haible  <bruno@clisp.org>
105970         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
105972 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
105974         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
105975         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
105977 2007-03-29  Eric Blake  <ebb9@byu.net>
105979         * lib/acl-internal.h: Remove redundant include.
105980         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
105981         Cygwin when a file is locked.
105983 2007-03-29  Bruno Haible  <bruno@clisp.org>
105985         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
105986         file.
105987         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
105989 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
105991         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
105992         try to remove a parent directory if the child couldn't be removed
105993         (except for the first rmdir, which could fail because the child
105994         doesn't exist).  Problem reported by Jeff Blaine in
105995         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
105997 2007-03-28  Bruno Haible  <bruno@clisp.org>
105999         * lib/striconveh.c (utf8conv_carefully): New function.
106000         (mem_cd_iconveh_internal): Invoke it.
106002 2007-03-28  Bruno Haible  <bruno@clisp.org>
106004         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
106005         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
106006         input.
106007         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
106008         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
106009         unistr/u8-uctomb.
106011 2007-03-28  Bruno Haible  <bruno@clisp.org>
106013         * modules/unistr/u8-mbtoucr: New file.
106014         * lib/unistr/u8-mbtoucr.c: New file.
106015         * modules/unistr/u16-mbtoucr: New file.
106016         * lib/unistr/u16-mbtoucr.c: New file.
106017         * modules/unistr/u16-mbtoucr: New file.
106018         * lib/unistr/u16-mbtoucr.c: New file.
106019         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
106021 2007-03-27  Simon Josefsson  <simon@josefsson.org>
106022             Bruno Haible  <bruno@clisp.org>
106024         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
106025         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
106026         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
106028         * m4/stdio_h.m4: Add stubs for vasprintf too.
106030         * modules/stdio: Support vasprintf in sed command.
106032         * modules/vasprintf: Depend on stdio for prototypes.  Remove
106033         vasprintf.h.  Add stdio module indicator.
106035         * lib/stdio_.h: Declare asprintf and vasprintf, based on
106036         vasprintf.h.
106038         * lib/vasprintf.h: File removed.
106040         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
106041         * lib/vasprintf.c: Ditto.
106042         * lib/xvasprintf.c: Ditto.
106043         * tests/test-vasprintf-posix.c: Ditto.
106044         * tests/test-vasprintf.c: Ditto.
106046 2007-03-27  Bruno Haible  <bruno@clisp.org>
106048         Make vasnprintf multithread-safe.
106049         * lib/vasnprintf.c (decimal_point_char): New function.
106050         (VASNPRINTF): Use it.
106051         Suggested by Simon Josefsson.
106053 2007-03-27  Eric Blake  <ebb9@byu.net>
106055         Support sub-second birthtime on cygwin.
106056         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
106057         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
106058         (get_stat_birthtime): Also work with st_birthtim.
106060 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
106062         * lib/stat-time.h (USE_BIRTHTIME): Remove.
106063         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
106064         (get_stat_birthtime_ns): Do not try to use "spare" fields.
106065         (get_stat_birthtime_ns): Simplify compile-time tests.
106066         (get_stat_birthtime): Change the API to look like
106067         get_stat_mtime etc., except return a negative tv_nsec on error.
106068         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
106069         Don't check for "spare" fields.
106070         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
106071         or for struct stat.st_birthtime, as these tests aren't used.
106072         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
106074 2007-03-27  Bruno Haible  <bruno@clisp.org>
106076         * lib/stat-time.h: Include <sys/stat.h>.
106078 2007-03-27  James Youngman  <jay@gnu.org>
106080         * lib/stat-time.h (get_stat_birthtime): New function for
106081           retrieving st_birthtime as provided by UFS2 (hence *BSD).
106082         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
106083           and its variants.
106084         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
106085         * modules/stat-time-test: New file.
106086         * tests/test-stat-time.c: New test, devised by Bruno Haible.
106088 2007-03-26  Bruno Haible  <bruno@clisp.org>
106090         Better support of signalling NaNs.
106091         * lib/atanl.c: Include isnanl.h.
106092         (atanl): Perform test for NaN at the beginning of the function and
106093         through a call to isnanl.
106094         * lib/cosl.c: Include isnanl.h.
106095         (cosl): Perform test for NaN at the beginning of the function and
106096         through a call to isnanl.
106097         * lib/ldexpl.c: Include isnanl.h.
106098         (ldexpl): Perform test for NaN through a call to isnanl.
106099         * lib/logl.c: Include isnanl.h.
106100         (logl): Perform test for NaN at the beginning of the function and
106101         through a call to isnanl.
106102         * lib/sinl.c: Include isnanl.h.
106103         (sinl): Perform test for NaN at the beginning of the function and
106104         through a call to isnanl.
106105         * lib/sqrtl.c: Include isnanl.h.
106106         (sqrtl): Perform test for NaN at the beginning of the function and
106107         through a call to isnanl.
106108         * lib/tanl.c: Include isnanl.h.
106109         (tanl): Perform test for NaN at the beginning of the function and
106110         through a call to isnanl.
106111         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
106112         * modules/mathl (Depends-on): Add isnanl.
106114 2007-03-26  Eric Blake  <ebb9@byu.net>
106116         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
106117         regression in logic sense of previous patch.
106119 2007-03-26  Bruno Haible  <bruno@clisp.org>
106121         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
106122         unportable shell command "if ! ...".
106123         Reported by Ralf Wildenhues.
106125 2007-03-25  Bruno Haible  <bruno@clisp.org>
106127         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
106128         <sysexits.h> file, and only add EX_CONFIG.
106129         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
106130         absolute file name and whether it is sufficient. Substitute also
106131         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
106132         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
106133         ABSOLUTE_SYSEXITS_H into sysexits.h.
106135 2007-03-25  Bruno Haible  <bruno@clisp.org>
106137         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
106138         hints is NULL.
106140 2007-03-25  Bruno Haible  <bruno@clisp.org>
106142         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
106143         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
106145 2007-03-25  Bruno Haible  <bruno@clisp.org>
106147         * lib/vasnprintf.c: Include langinfo.h.
106148         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
106149         multithread-safe.
106150         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
106151         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
106152         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
106153         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
106154         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
106155         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
106156         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
106157         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
106158         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
106159         Reported by Simon Josefsson.
106161 2007-03-25  Bruno Haible  <bruno@clisp.org>
106163         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
106164         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
106165         * modules/vasnprintf (Depends-on): Add stdint.
106167 2007-03-25  Bruno Haible  <bruno@clisp.org>
106169         * modules/fpieee: New file.
106170         * m4/fpieee.m4: New file.
106171         * modules/isnan-nolibm (Depends-on): Add fpieee.
106172         * modules/isnanl-nolibm (Depends-on): Add fpieee.
106173         * modules/isnanl (Depends-on): Add fpieee.
106175 2007-03-25  Bruno Haible  <bruno@clisp.org>
106177         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
106179 2007-03-25  Bruno Haible  <bruno@clisp.org>
106181         Avoid test failures on IRIX 6.5.
106182         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
106183         (main): Use it.
106184         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
106185         macros.
106186         (main): Use them.
106188 2007-03-25  Bruno Haible  <bruno@clisp.org>
106190         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
106191         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
106192         exists but doesn't work.
106193         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
106194         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
106195         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
106196         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
106197         math.h.
106199 2007-03-25  Bruno Haible  <bruno@clisp.org>
106201         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
106202         returns inf. Needed on IRIX 6.5.
106204 2007-03-25  Bruno Haible  <bruno@clisp.org>
106206         * tests/test-frexpl.c: Include isnanl-nolibm.h.
106207         (main): Use isnanl instead of x != x idiom.
106208         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
106210         * tests/test-frexp.c: Include isnan.h.
106211         (main): Use isnan instead of x != x idiom.
106212         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
106214 2007-03-25  Bruno Haible  <bruno@clisp.org>
106216         * tests/test-frexp.c (NaN): New function/macro.
106217         (main): Use it instead of 0.0 / 0.0.
106218         * tests/test-isnan.c (NaN): New function/macro.
106219         (main): Use it instead of 0.0 / 0.0.
106220         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
106221         (test_function): Use it instead of 0.0 / 0.0.
106222         * tests/test-vasprintf-posix.c (NaN): New function/macro.
106223         (test_function): Use it instead of 0.0 / 0.0.
106224         * tests/test-snprintf-posix.h (NaN): New function/macro.
106225         (test_function): Use it instead of 0.0 / 0.0.
106226         * tests/test-sprintf-posix.h (NaN): New function/macro.
106227         (test_function): Use it instead of 0.0 / 0.0.
106228         * tests/test-fprintf-posix.h (NaN): New function/macro.
106229         (test_function): Use it instead of 0.0 / 0.0.
106230         * tests/test-printf-posix.h (NaN): New function/macro.
106231         (test_function): Use it instead of 0.0 / 0.0.
106233         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
106235 2007-03-25  Bruno Haible  <bruno@clisp.org>
106237         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
106239 2007-03-25  Bruno Haible  <bruno@clisp.org>
106241         * lib/regexec.c (merge_state_with_log): Make static.
106243 2007-03-25  Bruno Haible  <bruno@clisp.org>
106245         * lib/trigl.c (kernel_rem_pio2): Make static.
106247 2007-03-25  Bruno Haible  <bruno@clisp.org>
106249         * lib/sincosl.c (sincosl_table): Make static.
106251 2007-03-25  Bruno Haible  <bruno@clisp.org>
106253         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
106254         if the compiler does not support C99.
106256 2007-03-25  Bruno Haible  <bruno@clisp.org>
106258         * modules/time (Makefile.am): Ensure all rule action lines start with a
106259         tab.
106261 2007-03-24  Bruno Haible  <bruno@clisp.org>
106263         * modules/tsearch-tests: New file.
106264         * tests/test-tsearch.sh: New file.
106265         * tests/test-tsearch.c: New file, mostly copied from glibc.
106267         * modules/search-tests: New file.
106268         * tests/test-search.c: New file.
106270         * modules/search: New file.
106271         * lib/search_.h: New file, incorporating lib/tsearch.h.
106272         * m4/search_h.m4: New file.
106273         * lib/tsearch.h: Remove file.
106274         * lib/tsearch.c: Include search.h instead of tsearch.h.
106275         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
106276         HAVE_TSEARCH.
106277         * modules/tsearch (Files): Remove lib/tsearch.h.
106278         (Depends-on): Add search.
106279         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
106280         (Include): Change tsearch.h into search.h.
106282 2007-03-24  Bruno Haible  <bruno@clisp.org>
106284         * modules/fpucw: New file.
106285         * lib/fpucw.h: New file.
106286         * lib/frexp.c: Include fpucw.h.
106287         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
106288         (FUNC): Use them.
106289         * lib/printf-frexp.c: Include fpucw.h.
106290         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
106291         (FUNC): Use them.
106292         * lib/vasnprintf.c: Include fpucw.h.
106293         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
106294         'long double' calculations.
106295         * tests/test-frexpl.c: Include fpucw.h.
106296         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
106297         * tests/test-printf-frexpl.c: Include fpucw.h.
106298         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
106299         * modules/frexpl (Depends-on): Add fpucw.
106300         * modules/printf-frexpl (Depends-on): Likewise.
106301         * modules/fprintf-posix (Depends-on): Likewise.
106302         * modules/snprintf-posix (Depends-on): Likewise.
106303         * modules/sprintf-posix (Depends-on): Likewise.
106304         * modules/vasnprintf-posix (Depends-on): Likewise.
106305         * modules/vasprintf-posix (Depends-on): Likewise.
106306         * modules/vfprintf-posix (Depends-on): Likewise.
106307         * modules/vsnprintf-posix (Depends-on): Likewise.
106308         * modules/vsprintf-posix (Depends-on): Likewise.
106309         * modules/frexpl-tests (Depends-on): Likewise.
106310         * modules/printf-frexpl-tests (Depends-on): Likewise.
106312 2007-03-24  Bruno Haible  <bruno@clisp.org>
106314         * lib/float+.h: New file.
106315         * lib/isnan.c: Include float+.h.
106316         (SIZE): New macro.
106317         (FUNC): Compare only SIZE bytes of the value.
106318         * lib/vasnprintf.c: Include float+.h.
106319         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
106320         SIZEOF_LDBL or SIZEOF_DBL bytes.
106321         * modules/isnan-nolibm (Files): Add lib/float+.h.
106322         * modules/isnanl-nolibm (Files): Add lib/float+.h.
106323         * modules/isnanl (Files): Add lib/float+.h.
106324         * modules/vasnprintf (Files): Add lib/float+.h.
106326 2007-03-24  Bruno Haible  <bruno@clisp.org>
106328         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
106329         include isnanl-nolibm.h.
106331 2007-03-24  Bruno Haible  <bruno@clisp.org>
106333         * tests/test-read-file.c (main): Don't produce spurious output for
106334         expected situations. Make the test fail if it encountered unexpected
106335         results.
106337 2007-03-24  Bruno Haible  <bruno@clisp.org>
106339         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
106340         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
106342 2007-03-24  Bruno Haible  <bruno@clisp.org>
106344         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
106346 2007-03-24  Bruno Haible  <bruno@clisp.org>
106348         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
106349         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
106351         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
106352         * modules/utf8-ucs4: Turn into a symbolic link to module
106353         unistr/u8-mbtouc.
106355         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
106356         utf8-ucs4-unsafe.
106357         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
106358         unistr/u8-mbtouc-unsafe.
106360         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
106361         * modules/utf16-ucs4: Turn into a symbolic link to module
106362         unistr/u16-mbtouc.
106364         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
106365         utf16-ucs4-unsafe.
106366         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
106367         unistr/u16-mbtouc-unsafe.
106369         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
106370         * modules/ucs4-utf8: Turn into a symbolic link to module
106371         unistr/u8-ubtomb.
106373         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
106374         * modules/ucs4-utf16: Turn into a symbolic link to module
106375         unistr/u16-ubtomb.
106377 2007-03-24  Bruno Haible  <bruno@clisp.org>
106379         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
106380         Enable the function only if HAVE_INLINE.
106381         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
106382         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
106383         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
106384         Enable the function only if HAVE_INLINE.
106385         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
106386         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
106387         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
106388         Enable the function only if HAVE_INLINE.
106389         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
106390         Enable the function only if HAVE_INLINE.
106391         * modules/utf8-ucs4: Update.
106392         * modules/utf8-ucs4-unsafe: Update.
106393         * modules/utf16-ucs4: Update.
106394         * modules/utf16-ucs4-unsafe: Update.
106395         * modules/ucs4-utf8: Update.
106396         * modules/ucs4-utf16: Update.
106398 2007-03-24  Bruno Haible  <bruno@clisp.org>
106400         * lib/utf8-ucs4.h: Remove file.
106401         * lib/utf8-ucs4-unsafe.h: Remove file.
106402         * lib/utf16-ucs4.h: Remove file.
106403         * lib/utf16-ucs4-unsafe.h: Remove file.
106404         * lib/ucs4-utf8.h: Remove file.
106405         * lib/ucs4-utf16.h: Remove file.
106406         * lib/unistr.h: Include their previous contents.
106407         * m4/utf-ucs4.m4: Remove file.
106408         * m4/ucs4-utf.m4: Remove file.
106409         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
106410         (Depends-on): Add unistr/base.
106411         (configure.ac): Remove gl_UTF_UCS4.
106412         (Makefile.am): Update.
106413         (Include): Change to unistr.h.
106414         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
106415         (Depends-on): Add unistr/base.
106416         (configure.ac): Remove gl_UTF_UCS4.
106417         (Makefile.am): Update.
106418         (Include): Change to unistr.h.
106419         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
106420         (Depends-on): Add unistr/base.
106421         (configure.ac): Remove gl_UTF_UCS4.
106422         (Makefile.am): Update.
106423         (Include): Change to unistr.h.
106424         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
106425         (Depends-on): Add unistr/base.
106426         (configure.ac): Remove gl_UTF_UCS4.
106427         (Makefile.am): Update.
106428         (Include): Change to unistr.h.
106429         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
106430         (Depends-on): Add unistr/base.
106431         (configure.ac): Remove gl_UCS4_UTF.
106432         (Makefile.am): Update.
106433         (Include): Change to unistr.h.
106434         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
106435         (Depends-on): Add unistr/base.
106436         (configure.ac): Remove gl_UCS4_UTF.
106437         (Makefile.am): Update.
106438         (Include): Change to unistr.h.
106439         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
106440         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
106441         utf8-ucs4-unsafe.h.
106442         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
106443         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
106444         utf16-ucs4-unsafe.h.
106445         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
106446         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
106447         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
106448         * lib/unistr/u8-strchr.c: Likewise.
106449         * lib/unistr/u8-strrchr.c: Likewise.
106450         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
106451         * lib/unistr/u16-strchr.c: Likewise.
106452         * lib/unistr/u16-strrchr.c: Likewise.
106453         * lib/striconveh.c: Update.
106454         * lib/linebreak.c: Update.
106456 2007-03-24  Bruno Haible  <bruno@clisp.org>
106458         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
106459         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
106461 2007-03-22  Bruno Haible  <bruno@clisp.org>
106463         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
106465 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
106467         * MODULES.html.sh (File system functions): New module write-any-file.
106468         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
106469         * m4/write-any-file.m4: New files.
106471 2007-03-23  Eric Blake  <ebb9@byu.net>
106473         * gnulib-tool: Rearrange space-tab sequences, since some editors
106474         like to eat them.
106476 2007-03-23  Eric Blake  <ebb9@byu.net>
106478         * lib/version-etc.c (version_etc_va): Update license wording to
106479         be more concise.  Recommended by Richard Stallman.
106481 2007-03-22  Bruno Haible  <bruno@clisp.org>
106483         * lib/poll.c (MSG_PEEK): New fallback definition.
106485 2007-03-22  Bruno Haible  <bruno@clisp.org>
106487         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
106488         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
106489         (main): Update.
106490         Fixes a compilation error on BeOS.
106492 2007-03-22  Bruno Haible  <bruno@clisp.org>
106494         * modules/frexpl-tests: New file.
106495         * tests/test-frexpl.c: New file.
106497         * modules/frexpl: New file.
106498         * m4/frexpl.m4: New file.
106499         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
106500         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
106501         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
106502         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
106503         (Depends-on): Add frexpl. Remove isnanl-nolibm.
106504         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
106506 2007-03-22  Bruno Haible  <bruno@clisp.org>
106508         * lib/frexpl.c: Share code with lib/frexp.c.
106509         * modules/mathl (Files): Add lib/frexp.c.
106510         (Depends-on): Add isnanl-nolibm.
106512 2007-03-22  Bruno Haible  <bruno@clisp.org>
106514         * modules/printf-frexp (Files): Add m4/frexp.m4.
106515         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
106516         only if the found frexp function actually works.
106518 2007-03-22  Bruno Haible  <bruno@clisp.org>
106520         * lib/frexp.c: Remove older implementation that uses divisions.
106522 2007-03-21  Bruno Haible  <bruno@clisp.org>
106524         * modules/frexp-tests: New file.
106525         * tests/test-frexp.c: New file.
106527         * modules/frexp: New file.
106528         * lib/frexp.c: New file.
106529         * m4/frexp.m4: New file.
106530         * lib/math_.h (frexp): New declaration.
106531         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
106532         REPLACE_FREXP.
106533         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
106535 2007-03-21  Bruno Haible  <bruno@clisp.org>
106537         * modules/isnanl-tests: New file.
106538         * tests/test-isnanl.c: New file.
106540         * modules/isnanl: New file.
106541         * lib/isnanl.h: New file.
106542         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
106543         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
106544         gl_FUNC_ISNANL_WORKS.
106545         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
106546         New macros.
106548 2007-03-21  Bruno Haible  <bruno@clisp.org>
106550         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
106551         lib/isnanl.h.
106552         (Include): Update.
106553         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
106554         * lib/vasnprintf.c: Update.
106555         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
106556         tests/test-isnanl.h, remove tests/test-isnanl.c.
106557         (Makefile.am): Update.
106558         * tests/test-isnanl-nolibm.c: New file.
106559         * tests/test-isnanl.h: New file.
106560         * tests/test-isnanl.c: Remove file.
106562 2007-03-21  Jim Meyering  <jim@meyering.net>
106564         When trying to open ".", treat ESTALE like EACCES.
106565         * lib/savewd.c (savewd_save): Resort to forking not just upon
106566         failure with EACCES, but also when errno is ESTALE.
106568 2007-03-20  Bruno Haible  <bruno@clisp.org>
106570         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
106571         Needed on AIX 5.1. Reported by Matthew Woehlke.
106573 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
106575         Suggestions by Bruno Haible:
106576         * lib/acl-internal.h: Include "gettext.h" rather than rolling
106577         our own.
106578         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
106579         * modules/acl (Depends-on): Add gettext.
106581 2007-03-19  Bruno Haible  <bruno@clisp.org>
106583         * modules/iconvme: Remove file.
106584         * lib/iconvme.h: Remove file.
106585         * lib/iconvme.c: Remove file.
106586         * m4/iconvme.m4: Remove file.
106588 2007-03-19  Bruno Haible  <bruno@clisp.org>
106590         * doc/relocatable-maint.texi: Break long shell script line.
106591         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
106593 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
106595         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
106596         handle file_has_acl.
106597         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
106598         * lib/acl.c: Move header inclusions and related macro defns into
106599         lib/acl-internal.h.
106600         (S_ISLNK): Remove defn, since that's now done for us.
106601         (file_has_acl): Move to lib/file-has-acl.c.
106602         Call acl_trivial if available.  This is the crucial part of the fix.
106603         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
106604         shared within the library.  Rewrite a bit, partly to make it compatible
106605         with the GNU coding style.
106606         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
106607         Remove unnecessary double-quotes.
106608         Don't test for acl_to_text; the build will catch that.
106609         Replace acl_entries if it doesn't exist and it is needed.
106610         Check for -lsec and acl_trivial (as used on Solaris 10).
106611         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
106612         lib/file-has-acl.c.
106613         (Depends-on): Add sys_stat, for S_ISLNK.
106615 2007-03-19  Ben Pfaff  <blp@gnu.org>
106617         * doc/gnulib.texi: Fix typos.
106618         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
106620 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
106622         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
106623         If size is zero here, buf must be zero.
106625 2007-03-19  Simon Josefsson  <simon@josefsson.org>
106627         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
106628         <bruno@clisp.org>.
106630 2007-03-18  Bruno Haible  <bruno@clisp.org>
106632         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
106633         Suggested by Eric Blake.
106635 2007-03-18  Ben Pfaff  <blp@gnu.org>
106637         * doc/relocatable.texi: Recommend using as prefix a directory
106638         that does not exist and will never be created.  Based on
106639         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
106640         and others.
106642 2007-03-17  Bruno Haible  <bruno@clisp.org>
106644         * lib/fchownat.c: Include lchown.h.
106646 2007-03-17  Bruno Haible  <bruno@clisp.org>
106648         Fix endless loop when the given allocated size was > INT_MAX.
106649         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
106650         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
106651         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
106652         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
106653         * lib/sprintf.c (sprintf): Likewise.
106655 2007-03-17  Bruno Haible  <bruno@clisp.org>
106657         * tests/test-argp-2.sh (func_compare): Output a context diff.
106659 2007-03-17  Bruno Haible  <bruno@clisp.org>
106661         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
106662         locale's decimal-point character.
106664 2007-03-17  Bruno Haible  <bruno@clisp.org>
106666         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
106667         before comparing it. Needed because on some platforms (e.g. x86) a
106668         'long double' occupies less bytes than sizeof (long double).
106670 2007-03-17  Bruno Haible  <bruno@clisp.org>
106672         * tests/test-crc.c (main): Make printf statements 64-bit clean.
106673         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
106674         * tests/test-getaddrinfo.c (simple): Likewise.
106675         * tests/test-read-file.c (main): Likewise.
106677 2007-03-17  Bruno Haible  <bruno@clisp.org>
106679         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
106681 2007-03-17  Bruno Haible  <bruno@clisp.org>
106683         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
106684         unused variable.
106686 2007-03-17  Bruno Haible  <bruno@clisp.org>
106688         * tests/test-c-strcasecmp.c: Include c-strcase.h.
106689         * tests/test-c-strncasecmp.c: Likewise.
106691 2007-03-17  Bruno Haible  <bruno@clisp.org>
106693         * modules/stdlib (Depends-on): Add unistd.
106694         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
106695         Needed for MacOS X 10.3.
106697 2007-03-17  Bruno Haible  <bruno@clisp.org>
106699         * lib/unistr/u-strdup.h: Include <stdlib.h>.
106701 2007-03-17  Bruno Haible  <bruno@clisp.org>
106703         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
106705 2007-03-17  Bruno Haible  <bruno@clisp.org>
106707         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
106708         to reflect files copied from gnulib (with or without modifications).
106709         Suggested by Jim Meyering.
106711 2007-03-17  Eric Blake  <ebb9@byu.net>
106713         * NEWS: Document stdlib change from 2007-02-18.
106715 2007-03-17  Jim Meyering  <jim@meyering.net>
106717         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
106718         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
106719         someone uses a name containing shell meta-characters.
106720         Reported by Alfred M. Szmidt.
106722         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
106724 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
106726         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
106727         and copy gettext configuration files only if configure.ac contains
106728         a use of AM_GNU_GETTEXT_VERSION.
106730 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
106732         * build-aux/bootstrap (gnulib_name): New variable.
106733         (gnulib_tool_options): Use it.
106735 2007-03-13  Simon Josefsson  <simon@josefsson.org>
106737         * tests/test-des.c: Use new namespace.
106739 2007-03-15  Bruno Haible  <bruno@clisp.org>
106741         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
106742         Reported by James Youngman <jay@gnu.org>.
106744 2007-03-15  Bruno Haible  <bruno@clisp.org>
106746         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
106747         declared prototype. Needed with cc on OSF/1 5.1.
106749 2007-03-15  Bruno Haible  <bruno@clisp.org>
106751         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
106752         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
106753         (struct gl_list_implementation): Add dispose_fn argument to the
106754         'create_empty', 'create' methods.
106755         (struct gl_list_impl_base): Add field 'dispose_fn'.
106756         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
106757         argument.
106758         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
106759         dispose_fn argument.
106760         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
106761         dispose_fn on the dropped values.
106762         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
106763         dispose_fn argument.
106764         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
106765         dropped values.
106766         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
106767         (gl_tree_remove_node): Call dispose_fn on the dropped value.
106768         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
106769         (gl_tree_remove_node): Call dispose_fn on the dropped value.
106770         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
106771         argument.
106772         (gl_tree_list_free): Call dispose_fn on the dropped values.
106773         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
106774         the dropped values.
106775         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
106776         Add dispose_fn argument.
106777         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
106778         Call dispose_fn on the dropped values.
106779         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
106780         Add dispose_fn argument.
106781         (gl_sublist_create): Initialize the 'dispose_fn' field.
106782         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
106783         * tests/test-array_list.c (main): Update.
106784         * tests/test-carray_list.c (main): Update.
106785         * tests/test-avltree_list.c (main): Update.
106786         * tests/test-rbtree_list.c (main): Update.
106787         * tests/test-avltreehash_list.c (main): Update.
106788         * tests/test-rbtreehash_list.c (main): Update.
106789         * tests/test-linked_list.c (main): Update.
106790         * tests/test-linkedhash_list.c (main): Update.
106791         * tests/test-array_oset.c (main): Update.
106793 2007-03-15  Bruno Haible  <bruno@clisp.org>
106795         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
106796         (gl_oset_create_empty): Add dispose_fn argument.
106797         (struct gl_oset_implementation): Add dispose_fn argument to
106798         'create_empty' method.
106799         (struct gl_oset_impl_base): Add dispose_fn field.
106800         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
106801         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
106802         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
106803         values.
106804         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
106805         (gl_tree_oset_free): Call dispose_fn on the dropped values.
106806         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
106807         dropped value.
106808         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
106809         dropped value.
106810         * tests/test-array_oset.c (main): Update.
106811         * tests/test-avltree_oset.c (main): Update.
106812         * tests/test-rbtree_oset.c (main): Update.
106813         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
106815 2007-03-13  Bruno Haible  <bruno@clisp.org>
106817         * tests/test-stdbool.c (i): Update after last patch.
106819 2007-03-12  Bruno Haible  <bruno@clisp.org>
106821         * lib/quotearg.c: Include <wctype.h> early, before the definition of
106822         the iswprint macro. Needed on Solaris 2.5.1.
106824 2007-03-12  Bruno Haible  <bruno@clisp.org>
106826         * tests/test-printf-frexp.c (main): Declare x as volatile.
106828 2007-03-12  Simon Josefsson  <simon@josefsson.org>
106830         * doc/gnulib.texi (Build robot for gnulib): New section.
106832 2007-03-12  Jim Meyering  <jim@meyering.net>
106834         * build-aux/bootstrap: New file.
106835         * build-aux/bootstrap.conf: New file, from coreutils.
106837 2007-03-11  Bruno Haible  <bruno@clisp.org>
106839         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
106841 2007-03-12  Simon Josefsson  <simon@josefsson.org>
106843         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
106844         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
106845         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
106847 2007-03-11  Bruno Haible  <bruno@clisp.org>
106849         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
106850         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
106852 2007-03-11  Bruno Haible  <bruno@clisp.org>
106854         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
106855         formula. Needed for SunPRO C 5.0.
106857 2007-03-11  Bruno Haible  <bruno@clisp.org>
106859         * modules/long-options (Depends-on): Add getopt.
106861 2007-03-11  Bruno Haible  <bruno@clisp.org>
106863         * modules/modechange (Depends-on): Add stdbool.
106865 2007-03-11  Bruno Haible  <bruno@clisp.org>
106867         * modules/i-ring (Depends-on): Add stdbool.
106869 2007-03-11  Bruno Haible  <bruno@clisp.org>
106871         * modules/gc-des (Depends-on): Add stdbool.
106873 2007-03-11  Bruno Haible  <bruno@clisp.org>
106875         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
106877 2007-03-11  Bruno Haible  <bruno@clisp.org>
106879         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
106881 2007-03-11  Bruno Haible  <bruno@clisp.org>
106883         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
106885 2007-03-11  Bruno Haible  <bruno@clisp.org>
106887         * lib/vasnprintf.c (sprintf): Undefine.
106889 2007-03-11  Bruno Haible  <bruno@clisp.org>
106891         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
106892         initializers in SunPRO C and Compaq C compilers.
106894 2007-03-11  Bruno Haible  <bruno@clisp.org>
106896         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
106897         decrementing code ANSI C compliant.
106899 2007-03-11  Bruno Haible  <bruno@clisp.org>
106901         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
106902         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
106904 2007-03-11  Bruno Haible  <bruno@clisp.org>
106906         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
106907         <stdbool.h> substitute doesn't pass.
106909 2007-03-11  Bruno Haible  <bruno@clisp.org>
106911         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
106913 2007-03-11  Bruno Haible  <bruno@clisp.org>
106915         * gnulib-tool (func_create_megatestdir): Create also an autobuild
106916         script, for submission to autobuild.josefsson.org.
106918 2007-03-10  Bruno Haible  <bruno@clisp.org>
106920         * modules/canonicalize-lgpl-tests: New file.
106921         * tests/test-canonicalize-lgpl.sh: New file.
106922         * tests/test-canonicalize-lgpl.c: New file.
106924         * modules/c-strcase-tests: New file.
106925         * tests/test-c-strcase.sh: New file.
106926         * tests/test-c-strcasecmp.c: New file.
106927         * tests/test-c-strncasecmp.c: New file.
106929         * modules/atexit-tests: New file.
106930         * tests/test-atexit.sh: New file.
106931         * tests/test-atexit.c: New file.
106933 2007-03-10  Bruno Haible  <bruno@clisp.org>
106935         * tests/test-binary-io.sh: Use temporary filenames that are not so
106936         likely to clash with those of other tests (in a parallel make).
106937         * tests/test-binary-io.c: Likewise.
106939 2007-03-10  Bruno Haible  <bruno@clisp.org>
106941         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
106942         fallback; use #error instead.
106943         Suggested by Simon Josefsson.
106945 2007-03-10  Bruno Haible  <bruno@clisp.org>
106947         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
106948         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
106949         first and the last.
106951 2007-03-10  Bruno Haible  <bruno@clisp.org>
106953         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
106955 2007-03-10  Bruno Haible  <bruno@clisp.org>
106957         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
106958         "make distcheck".
106959         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
106960         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
106961         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
106963 2007-03-10  Bruno Haible  <bruno@clisp.org>
106965         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
106966         variable.
106967         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
106968         variable.
106970 2007-03-09  Eric Blake  <ebb9@byu.net>
106971         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
106973         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
106974         types are not being provided by gnulib.
106975         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
106976         types are supported.
106978 2007-03-10  Bruno Haible  <bruno@clisp.org>
106980         * lib/stdio_.h (__attribute__): New macro.
106981         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
106982         vsprintf): Specify __attribute__ __format__ for GCC.
106983         Suggested by Eric Blake.
106985 2007-03-09  Bruno Haible  <bruno@clisp.org>
106987         * modules/printf-posix-tests: New file.
106988         * tests/test-printf-posix.sh: New file.
106989         * tests/test-printf-posix.c: New file.
106991         * modules/printf-posix: New file.
106992         * lib/printf.c: New file.
106993         * m4/printf-posix-rpl.m4: New file.
106994         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
106995         REPLACE_PRINTF.
106996         * lib/stdio_.h (printf): New declaration.
106997         (format, __format__, ____printf____, ____scanf____, ____strftime____,
106998         ____strfmon____): New macros.
106999         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
107000         REPLACE_PRINTF.
107002 2007-03-09  Bruno Haible  <bruno@clisp.org>
107004         * tests/test-vasnprintf-posix2.sh: New file.
107005         * tests/test-vasnprintf-posix2.c: New file.
107006         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
107007         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
107008         (Makefile.am): Activate test-vasnprintf-posix2.sh.
107010         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
107011         a locale dependent decimal point, rather than always '.'.
107013 2007-03-09  Eric Blake  <ebb9@byu.net>
107015         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
107016         spite of platforms like Tandem/NSK that define it to -1.
107018 2007-03-08  Bruno Haible  <bruno@clisp.org>
107020         * modules/vprintf-posix-tests: New file.
107021         * tests/test-vprintf-posix.sh: New file.
107022         * tests/test-vprintf-posix.c: New file.
107023         * tests/test-printf-posix.h: New file.
107025         * modules/vprintf-posix: New file.
107026         * lib/vprintf.c: New file.
107027         * m4/vprintf-posix.m4: New file.
107028         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
107029         REPLACE_VPRINTF.
107030         * lib/stdio_.h (vprintf): New declaration.
107031         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
107032         REPLACE_VPRINTF.
107034 2007-03-08  Bruno Haible  <bruno@clisp.org>
107036         * modules/fprintf-posix-tests: New file.
107037         * tests/test-fprintf-posix.sh: New file.
107038         * tests/test-fprintf-posix.c: New file.
107040         * modules/fprintf-posix: New file.
107041         * lib/fprintf.c: New file.
107042         * m4/fprintf-posix.m4: New file.
107043         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
107044         REPLACE_FPRINTF.
107045         * lib/stdio_.h (fprintf): New declaration.
107046         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
107047         REPLACE_FPRINTF.
107049 2007-03-08  Bruno Haible  <bruno@clisp.org>
107051         * modules/vfprintf-posix-tests: New file.
107052         * tests/test-vfprintf-posix.sh: New file.
107053         * tests/test-vfprintf-posix.c: New file.
107054         * tests/test-fprintf-posix.h: New file.
107055         * tests/test-fprintf-posix.out: New file.
107057         * modules/vfprintf-posix: New file.
107058         * lib/vfprintf.c: New file.
107059         * m4/vfprintf-posix.m4: New file.
107060         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
107061         REPLACE_VFPRINTF.
107062         * lib/stdio_.h (vfprintf): New declaration.
107063         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
107064         REPLACE_VFPRINTF.
107066 2007-03-08  Bruno Haible  <bruno@clisp.org>
107068         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
107070 2007-03-08  Bruno Haible  <bruno@clisp.org>
107072         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
107073         instead of 'expr' invocations.
107074         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
107075         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
107076         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
107077         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
107078         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
107079         Suggested by Paul Eggert.
107081 2007-03-08  Bruno Haible  <bruno@clisp.org>
107083         * modules/fseterr-tests: New file.
107084         * tests/test-fseterr.c: New file.
107086         * modules/fseterr: New file.
107087         * lib/fseterr.h: New file.
107088         * lib/fseterr.c: New file.
107090 2007-03-08  Bruno Haible  <bruno@clisp.org>
107092         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
107093         * lib/getopt_.h: Likewise.
107094         * lib/mbswidth.h: Likewise.
107095         * lib/setenv.h: Likewise.
107096         * lib/vasnprintf.h: Likewise.
107097         * lib/vasprintf.h: Likewise.
107098         * lib/verror.h: Likewise.
107099         * lib/xsetenv.h: Likewise.
107100         * lib/xvasprintf.h: Likewise.
107102 2007-03-08  Jim Meyering  <jim@meyering.net>
107104         * users.txt: Add parted.
107106         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
107108 2007-03-07  Bruno Haible  <bruno@clisp.org>
107110         * m4/printf.m4: Make the shell script snippets copy&pastable.
107112 2007-03-02  Bruno Haible  <bruno@clisp.org>
107114         * lib/netinet_in_.h: New file.
107115         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
107116         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
107117         * modules/netinet_in (Files): Add lib/netinet_in_.h.
107118         (Depends-on): Add absolute-header.
107119         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
107120         into netinet/in.h.
107122 2007-03-03  Bruno Haible  <bruno@clisp.org>
107124         * lib/sys_select_.h: New file.
107125         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
107126         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
107127         * modules/sys_select (Files): Add lib/sys_select_.h.
107128         (Depends-on): Add absolute-header.
107129         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
107130         into sys/select.h.
107132 2007-03-02  Bruno Haible  <bruno@clisp.org>
107134         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
107135         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
107136         values.
107137         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
107138         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
107139         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
107140         * modules/sys_socket (Depends-on): Add absolute-header.
107141         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
107142         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
107143         (Include): Remove requirement of inclusion of <sys/types.h>.
107145 2007-03-02  Bruno Haible  <bruno@clisp.org>
107147         * lib/byteswap_.h (bswap_32): Fix formula.
107149 2007-03-06  Bruno Haible  <bruno@clisp.org>
107151         * modules/sprintf-posix-tests: New file.
107152         * tests/test-sprintf-posix.c: New file.
107154         * modules/sprintf-posix: New file.
107155         * lib/sprintf.c: New file.
107156         * m4/sprintf-posix.m4: New file.
107157         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
107158         REPLACE_SPRINTF.
107159         * lib/stdio_.h (sprintf): New declaration.
107160         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
107161         REPLACE_SPRINTF.
107163 2007-03-06  Bruno Haible  <bruno@clisp.org>
107165         * modules/vsprintf-posix-tests: New file.
107166         * tests/test-vsprintf-posix.c: New file.
107167         * tests/test-sprintf-posix.h: New file.
107169         * modules/vsprintf-posix: New file.
107170         * lib/vsprintf.c: New file.
107171         * m4/vsprintf-posix.m4: New file.
107172         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
107173         REPLACE_VSPRINTF.
107174         * lib/stdio_.h (vsprintf): New declaration.
107175         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
107176         REPLACE_VSPRINTF.
107178 2007-03-06  Bruno Haible  <bruno@clisp.org>
107180         * modules/vsnprintf (Depend-on): Remove minmax.
107182 2007-03-06  Bruno Haible  <bruno@clisp.org>
107184         * modules/snprintf-posix-tests: New file.
107185         * tests/test-snprintf-posix.c: New file.
107187         * modules/snprintf-posix: New file.
107188         * m4/snprintf-posix.m4: New file.
107189         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
107190         gl_FUNC_SNPRINTF.
107191         (gl_FUNC_SNPRINTF): Invoke it.
107192         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
107193         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
107194         is set.
107195         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
107197 2007-03-06  Bruno Haible  <bruno@clisp.org>
107199         * modules/vsnprintf-posix-tests: New file.
107200         * tests/test-vsnprintf-posix.c: New file.
107201         * tests/test-snprintf-posix.h: New file.
107203         * modules/vsnprintf-posix: New file.
107204         * m4/vsnprintf-posix.m4: New file.
107205         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
107206         gl_FUNC_VSNPRINTF.
107207         (gl_FUNC_VSNPRINTF): Invoke it.
107208         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
107209         * lib/stdio_.h (vsnprintf): Define as a replacement if
107210         REPLACE_VSNPRINTF is set.
107211         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
107213 2007-03-06  Bruno Haible  <bruno@clisp.org>
107215         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
107216         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
107218 2007-03-06  Bruno Haible  <bruno@clisp.org>
107220         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
107221         (asinl): Declare also if HAVE_DECL_ASINL is set.
107222         (atanl): Declare also if HAVE_DECL_ATANL is set.
107223         (ceill): Declare also if HAVE_DECL_CEILL is set.
107224         (cosl): Declare also if HAVE_DECL_COSL is set.
107225         (expl): Declare also if HAVE_DECL_EXPL is set.
107226         (floorl): Declare also if HAVE_DECL_FLOORL is set.
107227         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
107228         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
107229         (logl): Declare also if HAVE_DECL_LOGL is set.
107230         (sinl): Declare also if HAVE_DECL_SINL is set.
107231         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
107232         (tanl): Declare also if HAVE_DECL_TANL is set.
107233         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
107234         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
107235         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
107236         declaration of frexpl, ldexpl.
107237         * modules/printf-frexpl (Depends-on): Add math.
107238         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
107240 2007-03-05  Bruno Haible  <bruno@clisp.org>
107242         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
107243         frexpl and ldexpl are declared.
107244         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
107246 2007-03-05  Bruno Haible  <bruno@clisp.org>
107248         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
107249         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
107251 2007-03-05  Bruno Haible  <bruno@clisp.org>
107253         * lib/stdio_.h: Include <stddef.h>.
107255 2007-03-05  Bruno Haible  <bruno@clisp.org>
107257         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
107259 2007-03-05  Bruno Haible  <bruno@clisp.org>
107261         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
107262         NetBSD 4, from Ralf Wildenhues.
107264 2007-03-04  Bruno Haible  <bruno@clisp.org>
107266         * lib/vasprintf.h: Update #if logic for the case when the functions
107267         exist but are overridden.
107269 2007-03-04  Bruno Haible  <bruno@clisp.org>
107271         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
107272         implementations: glibc-2.4 and MacOS X 10.3.
107273         * tests/test-vasnprintf-posix.c (test_function): Test also the case
107274         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
107275         * tests/test-vasprintf-posix.c (test_function): Likewise.
107277 2007-03-04  Bruno Haible  <bruno@clisp.org>
107279         * modules/vasprintf-posix-tests: New file.
107280         * tests/test-vasprintf-posix.c: New file.
107282         * modules/vasprintf-posix: New file.
107283         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
107284         defined.
107285         * m4/vasprintf-posix.m4: New file.
107286         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
107287         gl_FUNC_VASPRINTF.
107288         (gl_FUNC_VASPRINTF): Invoke it.
107289         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
107290         here.
107291         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
107293 2007-03-04  Bruno Haible  <bruno@clisp.org>
107295         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
107296         REPLACE_GETTIMEOFDAY.
107297         * modules/sys_time (Makefile.am): Likewise.
107298         * m4/sys_time_h.m4: Likewise.
107299         * m4/gettimeofday.m4: Likewise.
107301 2007-03-04  Bruno Haible  <bruno@clisp.org>
107303         * modules/vasnprintf-posix-tests: New file.
107304         * tests/test-vasnprintf-posix.c: New file.
107306         * modules/vasnprintf-posix: New file.
107307         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
107308         printf-frexpl.h.
107309         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
107310         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
107311         REPLACE_VASNPRINTF is defined.
107312         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
107313         gl_FUNC_VASNPRINTF.
107314         (gl_FUNC_VASNPRINTF): Invoke it.
107315         * m4/vasnprintf-posix.m4: New file.
107316         * m4/printf.m4: New file.
107318 2007-03-04  Bruno Haible  <bruno@clisp.org>
107320         Compile progreloc.c only if --enable-relocatable is specified.
107321         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
107322         if --enable-relocatable was specified.
107323         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
107324         lib_SOURCES.
107326 2007-03-04  Jim Meyering  <jim@meyering.net>
107328         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
107329         Use it consistently, rather than enumerating errno constants.
107331 2007-03-04  Bruno Haible  <bruno@clisp.org>
107333         * modules/xvasprintf-tests: New file.
107334         * tests/test-xvasprintf.c: New file.
107336         * modules/vasprintf-tests: New file.
107337         * tests/test-vasprintf.c: New file.
107339         * modules/vasnprintf-tests: New file.
107340         * tests/test-vasnprintf.c: New file.
107342         * modules/vsnprintf-tests: New file.
107343         * tests/test-vsnprintf.c: New file.
107345         * modules/snprintf-tests: New file.
107346         * tests/test-snprintf.c: New file.
107348 2007-03-04  Bruno Haible  <bruno@clisp.org>
107350         Compile relocatable.c only if --enable-relocatable is specified.
107351         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
107352         gl_RELOCATABLE_LIBRARY.
107353         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
107354         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
107355         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
107356         gl_RELOCATABLE_LIBRARY.
107357         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
107358         (Makefile.am): Remove lib_SOURCES.
107359         * modules/relocatable-lib-lgpl (configure.ac): Invoke
107360         gl_RELOCATABLE_LIBRARY.
107361         (Makefile.am): Remove lib_SOURCES.
107362         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
107363         always.
107364         * modules/relocatable-prog-wrapper (configure.ac): Invoke
107365         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
107367 2007-03-04  Bruno Haible  <bruno@clisp.org>
107369         * modules/argmatch-tests: New file.
107370         * tests/test-argmatch.c: New file.
107372         * tests/test-allocsa.c (main): Halve the number of loop runs.
107374         * modules/alloca-opt-tests: New file.
107375         * tests/test-alloca-opt.c: New file.
107377 2007-03-04  Jim Meyering  <jim@meyering.net>
107379         Work around difference between Linux ACLs and Solaris 10 ZFS.
107380         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
107381         for EINVAL.
107383 2007-03-03  Bruno Haible  <bruno@clisp.org>
107385         * modules/relocatable-prog (Depends-on): Add back progreloc's
107386         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
107388 2007-03-03  Bruno Haible  <bruno@clisp.org>
107390         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
107391         * modules/relocatable-lib: New file.
107393 2007-03-03  Bruno Haible  <bruno@clisp.org>
107395         * modules/relocatable-prog: Renamed from modules/relocatable.
107396         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
107398 2007-03-03  Bruno Haible  <bruno@clisp.org>
107400         * modules/relocatable-script (Files): Add doc/relocatable.texi,
107401         m4/relocatable-lib.m4.
107402         (Depends-on): Remove 'relocatable'.
107403         (configure.ac): Add gl_RELOCATABLE_NOP.
107405 2007-03-03  Bruno Haible  <bruno@clisp.org>
107407         * modules/relocatable-prog-wrapper: New file.
107408         * modules/relocatable (Depends-on): Add it. Remove all other
107409         dependencies except progname.
107410         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
107412         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
107413         (gl_FUNC_STRERROR): Nop.
107414         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
107416         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
107417         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
107419         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
107420         (gl_FUNC_READLINK): Update.
107422         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
107424 2007-03-03  Bruno Haible  <bruno@clisp.org>
107426         * lib/xreadlink.c: Include <unistd.h> unconditionally.
107427         * modules/xreadlink (Depends-on): Add unistd.
107428         * modules/xreadlink-with-size (Depends-on): Likewise.
107430 2007-03-03  Bruno Haible  <bruno@clisp.org>
107432         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
107433         extracted from gt_FUNC_SETENV.
107434         (gt_FUNC_SETENV): Remove macro.
107435         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
107436         remove gt_FUNC_SETENV.
107438 2007-03-03  Bruno Haible  <bruno@clisp.org>
107440         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
107441         ENABLE_RELOCATABLE here.
107442         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
107444 2007-03-03  Bruno Haible  <bruno@clisp.org>
107446         * modules/rbtreehash-list-tests (Depends-on): Add progname.
107447         * tests/test-rbtreehash_list.c: Include progname.h.
107448         (main): Call set_program_name.
107450         * modules/rbtree-oset-tests (Depends-on): Add progname.
107451         * tests/test-rbtree_oset.c: Include progname.h.
107452         (main): Call set_program_name.
107454         * modules/rbtree-list-tests (Depends-on): Add progname.
107455         * tests/test-rbtree_list.c: Include progname.h.
107456         (main): Call set_program_name.
107458         * modules/linked-list-tests (Depends-on): Add progname.
107459         * tests/test-linked_list.c: Include progname.h.
107460         (main): Call set_program_name.
107462 2007-03-03  Bruno Haible  <bruno@clisp.org>
107464         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
107465         All uses of __restrict changed to _Restrict_.
107466         * lib/glob_.h (__restrict): Remove macro.
107468 2007-03-02  Bruno Haible  <bruno@clisp.org>
107470         * modules/gettext (configure.ac): Require gettext infrastructure
107471         from version 0.16.1.
107473 2007-03-02  Bruno Haible  <bruno@clisp.org>
107475         * modules/linkedhash-list-tests (Depends-on): Add progname.
107476         * tests/test-linkedhash_list.c: Include progname.h.
107477         (main): Call set_program_name.
107479         * modules/carray-list-tests (Depends-on): Add progname.
107480         * tests/test-carray_list.c: Include progname.h.
107481         (main): Call set_program_name.
107483         * modules/avltreehash-list-tests (Depends-on): Add progname.
107484         * tests/test-avltreehash_list.c: Include progname.h.
107485         (main): Call set_program_name.
107487         * modules/avltree-oset-tests (Depends-on): Add progname.
107488         * tests/test-avltree_oset.c: Include progname.h.
107489         (main): Call set_program_name.
107491         * modules/avltree-list-tests (Depends-on): Add progname.
107492         * tests/test-avltree_list.c: Include progname.h.
107493         (main): Call set_program_name.
107495         * modules/array-oset-tests (Depends-on): Add progname.
107496         * tests/test-array_oset.c: Include progname.h.
107497         (main): Call set_program_name.
107499         * modules/array-list-tests (Depends-on): Add progname.
107500         * tests/test-array_list.c: Include progname.h.
107501         (main): Call set_program_name.
107503         * modules/argp-tests (Depends-on): Add progname.
107504         * tests/test-argp.c: Include argp.h first. Include progname.h.
107505         (main): Call set_program_name.
107507 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
107509         * doc/gnulib-tool.texi (Initial import): Reword description of
107510         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
107511         limited effect even if defined after the first system include.
107513 2007-03-01  Bruno Haible  <bruno@clisp.org>
107515         * build-aux/config.libpath: Update to libtool-1.5.22.
107516         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
107518 2007-03-01  Bruno Haible  <bruno@clisp.org>
107520         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
107521         foo_CFLAGS.
107522         Reported by Ralf Wildenhues.
107524 2007-03-01  Bruno Haible  <bruno@clisp.org>
107526         * build-aux/install-reloc: Remove object files left over by some
107527         compilers.
107528         Reported by Ralf Wildenhues.
107530 2007-03-01  Bruno Haible  <bruno@clisp.org>
107532         * build-aux/install-reloc: Break long lines.
107534 2007-03-01  Bruno Haible  <bruno@clisp.org>
107536         * doc/relocatable.texi: Document that it may not work on OpenBSD.
107537         Reported by Ralf Wildenhues.
107539 2007-03-01  Bruno Haible  <bruno@clisp.org>
107541         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
107542         include ordering constraints.
107544 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
107546         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
107547         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
107548         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
107549         as another example.
107550         * lib/time_.h: Fix misspelling.
107551         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
107552         Require gl_HEADER_TIME_H_DEFAULTS.
107553         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
107554         * m4/time_r.m4 (gl_TIME_R): Likewise.
107555         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
107557 2007-03-01  Bruno Haible  <bruno@clisp.org>
107559         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
107560         * m4/utimens.m4 (gl_UTIMENS): Likewise.
107562 2007-03-01  Jim Meyering  <jim@meyering.net>
107564         * modules/xreadlink (Maintainer): Add my name.
107565         * modules/xreadlink-with-size (Depends-on): Alphabetize.
107567 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
107568             Bruno Haible  <bruno@clisp.org>
107570         * build-aux/install-reloc: Compile also c-ctype.c.
107571         * build-aux/relocatable.sh.in: New file.
107572         * doc/relocatable.texi: New file.
107573         * doc/relocatable-maint.texi: New file.
107574         * doc/gnulib.texi: Include relocatable-maint.texi.
107575         * lib/progreloc.c: Include unistd.h unconditionally.
107576         * lib/relocwrapper.c: Include unistd.h unconditionally.
107577         Include c-ctype.h.
107578         (add_dotbin): Use c_tolower.
107579         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
107580         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
107581         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
107582         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
107583         to m4/relocatable-lib.m4.
107584         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
107585         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
107586         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
107587         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
107588         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
107589         * modules/relocatable: New file.
107590         * modules/relocatable-lib: New file.
107591         * modules/relocatable-script: New file.
107593 2007-02-28  Bruno Haible  <bruno@clisp.org>
107595         Import --enable-relocatable infrastructure.
107596         * build-aux/config.libpath: New file, from GNU gettext.
107597         * build-aux/install-reloc: New file, from GNU gettext.
107598         * build-aux/reloc-ldflags: New file, from GNU gettext.
107599         * lib/relocatable.h: New file, from GNU gettext.
107600         * lib/relocatable.c: New file, from GNU gettext.
107601         * lib/relocwrapper.c: New file, from GNU gettext.
107602         * m4/relocatable.m4: New file, from GNU gettext.
107604 2007-02-28  Bruno Haible  <bruno@clisp.org>
107606         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
107608         * modules/xreadlink: New file, from GNU gettext with modifications.
107609         * lib/xreadlink.c: New file, from GNU gettext.
107610         * lib/xreadlink.h: Add comments.
107611         (xreadlink): New declaration.
107613         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
107614         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
107615         lib/xreadlink-with-size.c.
107616         (configure.ac): Remove gl_XREADLINK invocation.
107617         (Makefile.am): Augment lib_SOURCES.
107618         * m4/xreadlink.m4: Remove file.
107619         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
107620         (xreadlink_with_size): Renamed from xreadink.
107621         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
107622         * modules/canonicalize (Depends-on): Replace xreadlink with
107623         xreadlink-with-size.
107624         * lib/canonicalize.c (canonicalize_filename_mode): Update.
107626 2007-02-25  Jim Meyering  <jim@meyering.net>
107628         * build-aux/announce-gen: When complaining about excess arguments,
107629         list them.
107631 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
107633         * README: Document signed integer overflow situation more
107634         accurately.
107636 2007-02-25  Bruno Haible  <bruno@clisp.org>
107638         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
107639         'a' or 'A' conversion.
107641 2007-02-25  Bruno Haible  <bruno@clisp.org>
107643         * modules/filename: Renamed from modules/pathname.
107644         (Files): Replace lib/pathname.h with lib/filename.h. Replace
107645         lib/concatpath.c with lib/concat-filename.c.
107646         (Makefile.am): Update.
107647         (Include): Replace pathname.h with filename.h.
107648         * lib/filename.h: Renamed from lib/pathname.h.
107649         (concatenated_filename): Renamed from concatenated_pathname.
107650         * lib/concat-filename.c: Renamed from lib/concatpath.c.
107651         (concatenated_filename): Renamed from concatenated_pathname.
107652         * lib/findprog.c: Include filename.h instead of pathname.h.
107653         (find_in_path): Update.
107654         * lib/javacomp.c: Include filename.h instead of pathname.h.
107655         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
107656         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
107657         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
107658         is_oldgcj_14_13_usable, is_javac_usable): Update.
107659         * lib/javaexec.c: Include filename.h instead of pathname.h.
107660         (execute_java_class): Update.
107661         * modules/findprog: Update.
107662         * modules/javacomp: Update.
107663         * modules/javaexec: Update.
107664         * MODULES.html.sh (File system functions): Add 'filename', remove
107665         'pathname'.
107667 2007-02-25  Bruno Haible  <bruno@clisp.org>
107669         * modules/printf-frexpl-tests: New file.
107670         * tests/test-printf-frexpl.c: New file.
107672         * modules/printf-frexpl: New file.
107673         * lib/printf-frexpl.h: New file.
107674         * lib/printf-frexpl.c: New file.
107675         * m4/printf-frexpl.m4: New file.
107677 2007-02-25  Bruno Haible  <bruno@clisp.org>
107679         * modules/printf-frexp-tests: New file.
107680         * tests/test-printf-frexp.c: New file.
107682         * modules/printf-frexp: New file.
107683         * lib/printf-frexp.h: New file.
107684         * lib/printf-frexp.c: New file.
107685         * m4/printf-frexp.m4: New file.
107687 2007-02-25  Bruno Haible  <bruno@clisp.org>
107689         Assume automake >= 1.10 for the tests.
107690         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
107691         * modules/arctwo-tests: Likewise.
107692         * modules/argp-tests: Likewise.
107693         * modules/avltree-list-tests: Likewise.
107694         * modules/avltree-oset-tests: Likewise.
107695         * modules/avltreehash-list-tests: Likewise.
107696         * modules/carray-list-tests: Likewise.
107697         * modules/crc-tests: Likewise.
107698         * modules/des-tests: Likewise.
107699         * modules/gc-arcfour-tests: Likewise.
107700         * modules/gc-arctwo-tests: Likewise.
107701         * modules/gc-des-tests: Likewise.
107702         * modules/gc-hmac-md5-tests: Likewise.
107703         * modules/gc-hmac-sha1-tests: Likewise.
107704         * modules/gc-md2-tests: Likewise.
107705         * modules/gc-md4-tests: Likewise.
107706         * modules/gc-md5-tests: Likewise.
107707         * modules/gc-pbkdf2-sha1-tests: Likewise.
107708         * modules/gc-rijndael-tests: Likewise.
107709         * modules/gc-sha1-tests: Likewise.
107710         * modules/gc-tests: Likewise.
107711         * modules/getaddrinfo-tests: Likewise.
107712         * modules/hmac-md5-tests: Likewise.
107713         * modules/hmac-sha1-tests: Likewise.
107714         * modules/linked-list-tests: Likewise.
107715         * modules/linkedhash-list-tests: Likewise.
107716         * modules/lock-tests: Likewise.
107717         * modules/md2-tests: Likewise.
107718         * modules/md4-tests: Likewise.
107719         * modules/md5-tests: Likewise.
107720         * modules/rbtree-list-tests: Likewise.
107721         * modules/rbtree-oset-tests: Likewise.
107722         * modules/rbtreehash-list-tests: Likewise.
107723         * modules/read-file-tests: Likewise.
107724         * modules/rijndael-tests: Likewise.
107725         * modules/stdint-tests: Likewise.
107726         * modules/tls-tests: Likewise.
107728 2007-02-24  Bruno Haible  <bruno@clisp.org>
107730         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
107731         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
107732         function; instead check whether isnan with a double argument links.
107733         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
107734         function; instead check whether isnan with a 'long double' argument
107735         links.
107736         Reported by Eric Blake <ebb9@byu.net>.
107738 2007-02-24  Bruno Haible  <bruno@clisp.org>
107740         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
107741         defined.
107742         * lib/isnanl.c: Remove all code. Just include isnan.c.
107743         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
107745 2007-02-25  Jim Meyering  <jim@meyering.net>
107747         Avoid conflicting types for 'unsetenv' on FreeBSD.
107748         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
107749         conflicting with FreeBSD's (5.0 and 6.1) function declaration
107750         in stdlib.h.
107752 2007-02-24  Bruno Haible  <bruno@clisp.org>
107754         * modules/isnanl-nolibm-tests: New file.
107755         * tests/test-isnanl.c: New file.
107757         * modules/isnanl-nolibm: New file.
107758         * lib/isnanl.h: New file.
107759         * lib/isnanl.c: New file.
107760         * m4/isnanl.m4: New file.
107762 2007-02-24  Bruno Haible  <bruno@clisp.org>
107764         * modules/isnan-nolibm-tests: New file.
107765         * tests/test-isnan.c: New file.
107767         * modules/isnan-nolibm: New file.
107768         * lib/isnan.h: New file.
107769         * lib/isnan.c: New file.
107770         * m4/isnan.m4: New file.
107772 2007-02-24  Bruno Haible  <bruno@clisp.org>
107774         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
107775         assume that an exponent fits in 20 bits.
107777 2007-02-24  Jim Meyering  <jim@meyering.net>
107779         * m4/regex.m4: Update the description of the configure-time option,
107780         --without-included-regex, to state accurately what the defaults are,
107781         and perhaps to give people an idea why using this option is risky.
107783 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
107785         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
107786         loops on small arguments.  This attempts to avoid the problem
107787         Bruno Haible reported for AIX 4.3.2 in
107788         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
107790 2007-02-23  Bruno Haible  <bruno@clisp.org>
107792         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
107793         Needed for help2man.
107795 2007-02-23  Karl Berry  <karl@gnu.org>
107797         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
107798         exists, foo.h should be cvs-ignored, not committed.
107800 2007-02-23  Eric Blake  <ebb9@byu.net>
107802         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
107803         * lib/stat-time.h (includes): Likewise.
107804         * lib/utimecmp.c (includes): Likewise.
107805         * lib/utimens.h (includes): Likewise.
107806         * lib/getdate.y (includes): Also include "timespec.h" for use
107807         internal to the module.
107808         * modules/utimens (Depends-on): Revert yesterday's patch.
107809         * modules/nanosleep (Depends-on): Add missing dependency.
107811 2007-02-22  Bruno Haible  <bruno@clisp.org>
107813         * lib/glob.c: Don't include getlogin_r.h.
107815 2007-02-22  Jim Meyering  <jim@meyering.net>
107817         * modules/utimens (Depends-on): Add timespec, required for
107818         utimens.h's inclusion of timespec.h.
107820 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
107822         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
107823         long unreadable paths in GNU/Linux.  Problem reported by Andreas
107824         Schwab in
107825         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
107826         I'll try to think of a better way to fix the Solaris problem.
107828         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
107829         like glibc; on Solaris 10, it fails with errno == EINVAL.
107830         POSIX says the behavior is unspecified if the first argument is NULL,
107831         so play it safe and never pass NULL to the system getcwd.
107833 2007-02-21  Jim Meyering  <jim@meyering.net>
107835         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
107836         of gettimeofday.  It would conflict with the one now always
107837         provided via sys_time_.h.  Reported by Matthew Woehlke, as
107838         an IRIX 6.5 build failure.
107840 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
107842         Minor fixups to port to Solaris 10 with Sun C 5.8.
107843         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
107844         * modules/getcwd (Depends-on): Add dirfd.
107845         * lib/putenv.c (putenv): #undef it.
107846         (rpl_putenv): New decl.
107847         (malloc, free): Include <stdlib.h> rather than prototyping separately.
107849 2007-02-20  Bruno Haible  <bruno@clisp.org>
107851         * modules/stdio-tests: New file.
107852         * tests/test-stdio.c: New file.
107854         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
107855         (Depends-on): Add stdio.
107856         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
107857         (Include): Use <stdio.h> instead of vsnprintf.h.
107858         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
107859         HAVE_DECL_VSNPRINTF.
107860         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
107862         * modules/snprintf (Files): Remove lib/snprintf.h.
107863         (Depends-on): Add stdio.
107864         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
107865         (Include): Use <stdio.h> instead of snprintf.h.
107866         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
107867         HAVE_DECL_SNPRINTF.
107868         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
107869         * lib/getaddrinfo.c: Likewise.
107871         * modules/stdio: New file.
107872         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
107873         * lib/snprintf.h: Remove file.
107874         * lib/vsnprintf.h: Remove file.
107875         * lib/.cppi-disable: Remove snprintf.h.
107876         * m4/stdio_h.m4: New file.
107877         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
107879 2007-02-20  Jim Meyering  <jim@meyering.net>
107881         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
107882         used by e.g., mingw.  From Bruno Haible.
107884 2007-02-19  Bruno Haible  <bruno@clisp.org>
107886         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
107887         warnings.
107888         Reported by Ben Pfaff <blp@cs.stanford.edu>.
107890 2007-02-19  Bruno Haible  <bruno@clisp.org>
107892         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
107893         from mingw users.
107895 2007-02-19  Bruno Haible  <bruno@clisp.org>
107897         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
107898         warnings.
107899         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
107901 2007-02-19  Jim Meyering  <jim@meyering.net>
107903         Don't use FD after a successful "fdopendir (fd)".
107904         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
107905         Reset it by calling dirfd on the just-obtained DIR*.
107907         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
107908         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
107910 2007-02-18  Bruno Haible  <bruno@clisp.org>
107912         * lib/readlink.c: Include <unistd.h>.
107913         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
107914         HAVE_READLINK.
107915         * modules/readlink (Depends-on): Add unistd.
107916         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107917         (Include): Add <unistd.h>.
107919         * lib/getlogin_r.h: Remove file.
107920         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
107921         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
107922         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
107923         HAVE_DECL_GETLOGIN_R.
107924         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
107925         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107926         (Include): Use <unistd.h> instead of getlogin_r.h.
107928         * lib/getcwd.h: Remove file.
107929         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
107930         * lib/xgetcwd.c: Likewise.
107931         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
107932         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
107933         * modules/getcwd (Files): Remove lib/getcwd.h.
107934         (Depends-on): Add unistd.
107935         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107936         (Include): Use <unistd.h> instad of getcwd.h.
107938         * lib/ftruncate.c: Include <unistd.h> first.
107939         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
107940         Set HAVE_FTRUNCATE.
107941         * modules/ftruncate (Depends-on): Add unistd.
107942         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107944         * lib/fchdir.c: Include <unistd.h> first.
107945         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
107946         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
107947         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
107948         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107949         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
107951         * lib/dup2.c: Include <unistd.h> first.
107952         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
107953         HAVE_DUP2.
107954         * modules/dup2 (Depends-on): Add unistd.
107955         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107957         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
107958         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
107959         REPLACE_CHOWN. Don't define chown as a macro here.
107960         * modules/chown (Depends-on): Add unistd.
107961         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107963         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
107964         Add definition for GL_LINK_WARNING.
107965         (chown, dup2): New declarations.
107966         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
107967         link warning.
107968         (ftruncate): New declaration.
107969         (getcwd): New declaration, taken from old getcwd.h.
107970         (getlogin_r): New declaration, taken from old getlogin_r.h.
107971         (readlink): New declaration.
107972         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
107973         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
107974         (gl_PREREQ_UNISTD): Remove macro.
107975         (gl_UNISTD_MODULE_INDICATOR): New macro.
107976         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
107977         many new variables. Don't set UNISTD_H.
107978         * modules/unistd (Description): Change.
107979         (Depends-on): Add link-warning.
107980         (configure.ac): Update.
107981         (Makefile.am): Create unistd.h always. Substitute many new variables
107982         into it.
107984 2007-02-18  Bruno Haible  <bruno@clisp.org>
107986         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
107987         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
107988         HAVE_GETSUBOPT.
107989         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
107990         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
107991         * lib/getsubopt.h: Remove file.
107992         * modules/getsubopt (Files): Remove lib/getsubopt.h.
107993         (Depends-on): Add stdlib.
107994         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
107995         (Includes): Use <stdlib.h> instead of getsubopt.h.
107996         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
107997         Set HAVE_GETSUBOPT.
107998         * lib/getsubopt.c: Don't include getsubopt.h.
108000 2007-02-18  Bruno Haible  <bruno@clisp.org>
108002         * modules/fchdir (Depends-on): Add dup2.
108004 2007-02-18  Bruno Haible  <bruno@clisp.org>
108006         * lib/stdlib_.h: Handle glibc's special invocation convention
108007         specially.
108009 2007-02-18  Bruno Haible  <bruno@clisp.org>
108011         * modules/stdlib-tests: New file.
108012         * tests/test-stdlib.c: New file.
108014         * modules/mkstemp (Files): Remove lib/mkstemp.h.
108015         (Depends-on): Add stdlib.
108016         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108017         (Includes): Use <stdlib.h> instead of mkstemp.h.
108018         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
108019         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
108020         * lib/mkstemp.c: Don't include mkstemp.h.
108021         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
108022         * lib/stdlib--.h: Don't include mkstemp.h.
108024         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
108025         (Depends-on): Add stdlib.
108026         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108027         (Includes): Use <stdlib.h> instead of mkdtemp.h.
108028         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
108029         HAVE_MKDTEMP.
108030         * lib/mkdtemp.c: Don't include mkdtemp.h.
108031         * lib/clean-temp.c: Don't include mkdtemp.h.
108033         * modules/exit (Files): Remove lib/exit.h.
108034         (Depends-on): Add stdlib.
108035         (Makefile.am): Remove lib_SOURCES.
108036         (Include): Use <stdlib.h> instead of exit.h.
108037         * lib/argmatch.c: Don't include exit.h.
108038         * lib/execute.c: Likewise.
108039         * lib/pagealign_alloc.c: Likewise.
108040         * lib/pipe.c: Likewise.
108041         * lib/wait-process.c: Likewise.
108042         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
108043         * lib/exitfail.c: Likewise.
108044         * lib/savewd.c: Likewise.
108045         * lib/xsetenv.c: Likewise.
108047         * modules/stdlib: New file.
108048         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
108049         and extra comments about mkstemp().
108050         * lib/exit.h: Remove file.
108051         * lib/mkdtemp.h: Remove file.
108052         * lib/mkstemp.h: Remove file.
108053         * m4/stdlib_h.m4: New file.
108054         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
108056 2007-02-18  Bruno Haible  <bruno@clisp.org>
108058         * modules/math-tests: New file.
108059         * tests/test-math.c: New file.
108061         * modules/math: New file.
108062         * modules/mathl (Files): Remove lib/mathl.h.
108063         (Depends-on): Add math.
108064         (Makefile.am): Don't mention mathl.h.
108065         (Include): Use <math.h> instead of mathl.h.
108066         * lib/math_.h: New file.
108067         * lib/mathl.h: Remove file.
108068         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
108069         mathl.h.
108070         * lib/asinl.c: Likewise.
108071         * lib/atanl.c: Likewise.
108072         * lib/ceill.c: Likewise.
108073         * lib/cosl.c: Likewise.
108074         * lib/expl.c: Likewise.
108075         * lib/floorl.c: Likewise.
108076         * lib/frexpl.c: Likewise.
108077         * lib/ldexpl.c: Likewise.
108078         * lib/logl.c: Likewise.
108079         * lib/sincosl.c: Likewise.
108080         * lib/sinl.c: Likewise.
108081         * lib/sqrtl.c: Likewise.
108082         * lib/tanl.c: Likewise.
108083         * lib/trigl.c: Likewise.
108084         * m4/math_h.m4: New file.
108085         * MODULES.html.sh (Mathematics): Add math.
108087 2007-02-17  Bruno Haible  <bruno@clisp.org>
108089         * modules/wctype-tests: New file.
108090         * tests/test-wctype.c: New file.
108092         * modules/wchar-tests: New file.
108093         * tests/test-wchar.c: New file.
108095         * modules/unistd-tests: New file.
108096         * tests/test-unistd.c: New file.
108098         * modules/time-tests: New file.
108099         * tests/test-time.c: New file.
108101         * modules/sysexits-tests: New file.
108102         * tests/test-sysexits.c: New file.
108104         * modules/sys_time-tests: New file.
108105         * tests/test-sys_time.c: New file.
108107         * modules/sys_stat-tests: New file.
108108         * tests/test-sys_stat.c: New file.
108110         * modules/sys_socket-tests: New file.
108111         * tests/test-sys_socket.c: New file.
108113         * modules/sys_select-tests: New file.
108114         * tests/test-sys_select.c: New file.
108116         * modules/string-tests: New file.
108117         * tests/test-string.c: New file.
108119         * modules/stdbool-tests: New file.
108120         * tests/test-stdbool.c: New file.
108122         * modules/netinet_in-tests: New file.
108123         * tests/test-netinet_in.c: New file.
108125         * modules/inttypes-tests: New file.
108126         * tests/test-inttypes.c: New file.
108128         * modules/fcntl-tests: New file.
108129         * tests/test-fcntl.c: New file.
108131         * modules/byteswap-tests: New file.
108132         * tests/test-byteswap.c: New file.
108134         * modules/arpa_inet-tests: New file.
108135         * tests/test-arpa_inet.c: New file.
108137 2007-02-17  Bruno Haible  <bruno@clisp.org>
108139         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
108140         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
108141         if the corresponding module is not enabled. Emit link warnings if
108142         the function is used nevertheless.
108143         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
108144         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
108145         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
108146         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
108147         * modules/inttypes (Depends-on): Add link-warning.
108148         (Makefile.am): Copy the contents of build-aux/link-warning.h into
108149         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
108150         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
108151         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
108152         * modules/imaxdiv (configure.ac): Likewise.
108153         * modules/strtoimax (configure.ac): Likewise.
108154         * modules/strtoumax (configure.ac): Likewise.
108156 2007-02-17  Bruno Haible  <bruno@clisp.org>
108158         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
108159         gl_STRING_MODULE_INDICATOR_DEFAULTS.
108160         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
108161         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
108163 2007-02-17  Bruno Haible  <bruno@clisp.org>
108165         * modules/link-warning: New file.
108166         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
108167         * lib/string_.h (GL_LINK_WARNING): Remove definition.
108168         * modules/string (Depends-on): Add link-warning.
108169         (Makefile.am): Copy the contents of build-aux/link-warning.h into
108170         string.h.
108171         * MODULES.html.sh (Support for building libraries and executables): Add
108172         link-warning.
108174 2007-02-17  Bruno Haible  <bruno@clisp.org>
108176         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
108177         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
108178         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
108179         long lines.
108181 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
108182             Bruno Haible  <bruno@clisp.org>
108184         * modules/tmpfile: New file.
108185         * lib/tmpfile.c: New file.
108186         * m4/tmpfile.m4: New file.
108187         * MODULES.html.sh (func_all_modules): New section "Input/output".
108189 2007-02-15  Bruno Haible  <bruno@clisp.org>
108191         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
108192         (supports_delete_on_close): New function.
108193         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
108195 2007-02-14  Bruno Haible  <bruno@clisp.org>
108197         * modules/mbspcasecmp-tests: New file.
108198         * tests/test-mbspcasecmp.sh: New file.
108199         * tests/test-mbspcasecmp.c: New file.
108201         New module mbspcasecmp.
108202         * modules/mbspcasecmp: New file.
108203         * lib/mbspcasecmp.c: New file.
108204         * lib/string_.h (strncasecmp): Change warning message.
108205         (mbspcasecmp): New declaration.
108206         * m4/mbspcasecmp.m4: New file.
108207         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108208         GNULIB_MBSPCASECMP.
108209         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
108210         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
108212 2007-02-14  Bruno Haible  <bruno@clisp.org>
108214         * modules/mbsncasecmp-tests: New file.
108215         * tests/test-mbsncasecmp.sh: New file.
108216         * tests/test-mbsncasecmp.c: New file.
108218         New module mbsncasecmp.
108219         * modules/mbsncasecmp: New file.
108220         * lib/mbsncasecmp.c: New file.
108221         * lib/string_.h (mbsncasecmp): New declaration.
108222         * m4/mbsncasecmp.m4: New file.
108223         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108224         GNULIB_MBSNCASECMP.
108225         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
108226         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
108228 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
108230         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
108231         Verify that it doesn't overlap with our flags.
108232         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
108233         do not have the desired effect in multibyte locales; instead, use
108234         mbscasecmp.
108235         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
108236         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
108237         we don't require GNU fnmatch ourselves (if our users require it, they
108238         should do so explicitly).
108240         Fix regex code so it doesn't rely on strcasecmp.
108241         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
108242         Otherwise, include gnulib's langinfo.h.
108243         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
108244         undesirable behavior in non-C locales.  Instead, rely on localecharset.
108245         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
108246         * modules/regex (FILES): Remove m4/codeset.m4.
108247         (Depends-on): Add localcharset.  Remove strcase.
108249 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108251         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
108252         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
108254 2007-02-13  Bruno Haible  <bruno@clisp.org>
108256         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
108257         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
108259 2007-02-12  Bruno Haible  <bruno@clisp.org>
108261         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
108262         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
108263         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
108264         time warning rather than a link error.
108266 2007-02-12  Bruno Haible  <bruno@clisp.org>
108268         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
108269         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
108270         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
108272 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
108274         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
108275         args, not 2.
108277 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
108279         New module 'time', so that apps can include <time.h> as per
108280         POSIX and GNU instead of separate include files like time_r.h
108281         and timegm.h.  This implementation tries out a simpler approach
108282         for replacing decls in standard include files (as compared to
108283         the string module), somewhat as an experiment.
108285         * config/srclist.txt: Comment out mktime.c for now.
108286         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
108287         since it doesn't apply any more.  Use generic wording instead.
108288         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
108289         'time'.
108290         * lib/time_.h, m4/time_h.m4, modules/time: New files.
108291         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
108292         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
108293         Don't include <sys/types.h>; no longer needed since we assume C89.
108294         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
108295         * lib/strftime.c: Likewise.
108296         * lib/time_r.c: Likewise.
108297         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
108298         * lib/nanosleep.c: Include <time.h> first, to check interface.
108299         * lib/strptime.c: Likewise.
108300         * lib/time_r.c: Likewise.
108301         * lib/timegm.c: Likewise.
108302         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
108303         needed.
108304         * lib/timegm.c: Don't include timegm.h; no longer needed.
108305         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
108306         time.h now handles any problems in that area.
108307         (struct timespec, nanosleep): Remove; time.h now arranges for these.
108308         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
108309         that time.h defines struct timespec.
108310         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
108311         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
108312         handles that.
108313         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
108314         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
108315         needed.  Set REPLACE_LOCALTIME.
108316         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
108317         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
108318         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
108319         nanosleep; time_h.m4 now does that.  Don't require
108320         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
108321         module handles this now.
108322         * modules/getdate (Depends-on): Remove timespec.  Add time.
108323         * modules/nanosleep (Depends-on): Likewise.
108324         * modules/stat-time (Depends-on): Likewise.
108325         * modules/nanosleep (Include): Include time.h, not timespec.h.
108326         * modules/strptime (Files): Remove lib/strptime.h.
108327         (Depends-on): Add extensions, time.
108328         (Include): Include time.h, not strptime.h.
108329         * modules/time_r (Files): Remove lib/time_r.h.
108330         (Depends-on): Add time.
108331         (Include): Include time.h, not time_r.h.
108332         * modules/timegm: Likewise.
108333         * modules/timespec (Description): Now does timespec-related decls
108334         of our own, instead of struct timespec itself.
108335         (Depends-on): Add time; remove extensions.
108336         (Maintainer): Add self.
108337         * modules/utimecmp (Depends-on): Add time; remove timespec.
108338         * modules/utimens (Depends-on): Likewise.
108339         * modules/xnanosleep (Depends-on): Likewise.
108341 2007-02-11  Bruno Haible  <bruno@clisp.org>
108343         * lib/c-strstr.c: Include allocsa.h.
108344         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
108345         * lib/c-strcasestr.c: Include allocsa.h.
108346         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
108347         * lib/strcasestr.c: Include allocsa.h.
108348         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
108349         * lib/mbsstr.c: Include allocsa.h.
108350         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
108351         allocsa/freesa instead of malloc/free.
108352         * lib/mbscasestr.c: Include allocsa.h.
108353         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
108354         allocsa/freesa instead of malloc/free.
108355         * modules/c-strstr (Depends-on): Add allocsa.
108356         * modules/c-strcasestr (Depends-on): Likewise.
108357         * modules/strcasestr (Depends-on): Likewise.
108358         * modules/mbsstr (Depends-on): Likewise.
108359         * modules/mbscasestr (Depends-on): Likewise.
108361 2007-02-11  Bruno Haible  <bruno@clisp.org>
108363         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
108365         * modules/mbsspn-tests: New file.
108366         * tests/test-mbsspn.sh: New file.
108367         * tests/test-mbsspn.c: New file.
108369 2007-02-11  Bruno Haible  <bruno@clisp.org>
108371         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
108373         * modules/mbspbrk-tests: New file.
108374         * tests/test-mbspbrk.sh: New file.
108375         * tests/test-mbspbrk.c: New file.
108377 2007-02-11  Bruno Haible  <bruno@clisp.org>
108379         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
108380         unneeded cast.
108382         * modules/mbscspn-tests: New file.
108383         * tests/test-mbscspn.sh: New file.
108384         * tests/test-mbscspn.c: New file.
108386 2007-02-11  Bruno Haible  <bruno@clisp.org>
108388         * modules/mbscasecmp-tests: New file.
108389         * tests/test-mbscasecmp.sh: New file.
108390         * tests/test-mbscasecmp.c: New file.
108392 2007-02-11  Bruno Haible  <bruno@clisp.org>
108394         Ensure O(n) worst-case complexity of mbscasestr.
108395         * lib/mbscasestr.c: Include stdbool.h.
108396         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
108397         functions.
108398         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
108399         the bookkeeping indicates that it's worth it.
108400         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
108402         * modules/mbscasestr-tests: New file.
108403         * tests/test-mbscasestr1.c: New file.
108404         * tests/test-mbscasestr2.sh: New file.
108405         * tests/test-mbscasestr2.c: New file.
108406         * tests/test-mbscasestr3.sh: New file.
108407         * tests/test-mbscasestr3.c: New file.
108408         * tests/test-mbscasestr4.sh: New file.
108409         * tests/test-mbscasestr4.c: New file.
108410         * m4/locale-tr.m4: New file.
108412 2007-02-11  Bruno Haible  <bruno@clisp.org>
108414         Ensure O(n) worst-case complexity of mbsstr.
108415         * lib/mbsstr.c: Include stdbool.h.
108416         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
108417         functions.
108418         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
108419         bookkeeping indicates that it's worth it.
108420         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
108422         * modules/mbsstr-tests: New file.
108423         * tests/test-mbsstr1.c: New file.
108424         * tests/test-mbsstr2.sh: New file.
108425         * tests/test-mbsstr2.c: New file.
108426         * tests/test-mbsstr3.sh: New file.
108427         * tests/test-mbsstr3.c: New file.
108428         * m4/locale-fr.m4: New file.
108430 2007-02-11  Bruno Haible  <bruno@clisp.org>
108432         * lib/mbsrchr.c (mbsrchr): Fix bug.
108434         * modules/mbsrchr-tests: New file.
108435         * tests/test-mbsrchr.sh: New file.
108436         * tests/test-mbsrchr.c: New file.
108438 2007-02-11  Bruno Haible  <bruno@clisp.org>
108440         * lib/mbschr.c (mbschr): Fix bug.
108442         * modules/mbschr-tests: New file.
108443         * tests/test-mbschr.sh: New file.
108444         * tests/test-mbschr.c: New file.
108445         * m4/locale-zh.m4: New file.
108447 2007-02-11  Bruno Haible  <bruno@clisp.org>
108449         Support for copying multibyte string iterators.
108450         * lib/mbiter.h: Include <string.h>.
108451         (mbiter_multi_copy): New function.
108452         (mbi_copy): New macro.
108453         * lib/mbuiter.h: Include <string.h>.
108454         (mbuiter_multi_copy): New function.
108455         (mbui_copy): New macro.
108457 2007-02-11  Bruno Haible  <bruno@clisp.org>
108459         New module mbslen.
108460         * modules/mbslen: New file.
108461         * lib/mbslen.c: New file.
108462         * lib/string_.h (mbslen): New declaration.
108463         * m4/mbslen.m4: New file.
108464         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108465         GNULIB_MBSLEN.
108466         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
108467         * MODULES.html.sh (Internationalization functions): Add mbslen.
108469 2007-02-11  Bruno Haible  <bruno@clisp.org>
108471         Ensure O(n) worst-case complexity of strcasestr substitute.
108472         * lib/strcasestr.c: Include stdbool.h.
108473         (knuth_morris_pratt): New function.
108474         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
108475         bookkeeping indicates that it's worth it.
108476         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
108478         * modules/strcasestr-tests: New file.
108479         * tests/test-strcasestr.c: New file.
108481 2007-02-11  Bruno Haible  <bruno@clisp.org>
108483         Ensure O(n) worst-case complexity of c_strcasestr.
108484         * lib/c-strcasestr.c: Include stdbool.h, string.h.
108485         (knuth_morris_pratt): New function.
108486         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
108487         the bookkeeping indicates that it's worth it.
108488         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
108490         * modules/c-strcasestr-tests: New file.
108491         * tests/test-c-strcasestr.c: New file.
108493 2007-02-11  Bruno Haible  <bruno@clisp.org>
108495         Ensure O(n) worst-case complexity of c_strstr.
108496         * lib/c-strstr.c: Include stdbool.h, string.h.
108497         (knuth_morris_pratt): New function.
108498         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
108499         bookkeeping indicates that it's worth it.
108500         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
108502         * lib/c-strstr.c: Complete rewrite for maintainability.
108504         * modules/c-strstr-tests: New file.
108505         * tests/test-c-strstr.c: New file.
108507 2007-02-11  Bruno Haible  <bruno@clisp.org>
108509         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
108510         5.2.1 and earlier, whereby \055 was treated just like the range
108511         delimiter '-'.
108512         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
108514 2007-02-08  Bruno Haible  <bruno@clisp.org>
108516         * modules/regex (Depends-on): Add stdbool.
108517         Reported by Dalibor Topic <robilad@kaffe.org>.
108519 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
108521         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
108522         Prefer returning from main to exiting from it.
108523         Remove unnecessary parens after sizeof.
108525 2007-02-05  Bruno Haible  <bruno@clisp.org>
108527         New module mbssep.
108528         * modules/mbssep: New file.
108529         * lib/mbssep.c: New file.
108530         * lib/string_.h (strsep): Add a conditional link warning.
108531         (mbssep): New declaration.
108532         * m4/mbssep.m4: New file.
108533         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108534         GNULIB_MBSSEP.
108535         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
108536         * MODULES.html.sh (Internationalization functions): Add mbssep.
108538 2007-02-05  Bruno Haible  <bruno@clisp.org>
108540         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
108541         Optimize search in case of 1 delimiter.
108543 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
108545         * lib/acl.h: Include sys/types.h before sys/acl.h.
108547 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
108549         Merge upstream fix for glibc bugzilla #3957:
108551         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
108553         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
108554         bit for RE_HAT_LISTS_NOT_NEWLINE.
108555         (build_charclass_op): Remove bogus comment.
108557 2007-02-05  Simon Josefsson  <simon@josefsson.org>
108559         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
108561 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
108563         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
108564         * lib/memmem.c [!defined _LIBC]: Include config.h.
108566 2007-02-04  Bruno Haible  <bruno@clisp.org>
108568         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
108569         warning message.
108571 2007-02-04  Bruno Haible  <bruno@clisp.org>
108573         New module mbstok_r.
108574         * modules/mbstok_r: New file.
108575         * lib/mbstok_r.c: New file.
108576         * lib/string_.h (strtok_r): Change argument names to match the
108577         comments. Add a conditional link warning.
108578         (mbstok_r): New declaration.
108579         * m4/mbstok_r.m4: New file.
108580         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108581         GNULIB_MBSTOK_R.
108582         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
108583         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
108585 2007-02-04  Bruno Haible  <bruno@clisp.org>
108587         New module mbsspn.
108588         * modules/mbsspn: New file.
108589         * lib/mbsspn.c: New file.
108590         * lib/string_.h (strspn): Add a conditional link warning.
108591         (mbsspn): New declaration.
108592         * m4/mbsspn.m4: New file.
108593         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108594         GNULIB_MBSSPN.
108595         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
108596         * MODULES.html.sh (Internationalization functions): Add mbsspn.
108598 2007-02-04  Bruno Haible  <bruno@clisp.org>
108600         New module mbspbrk.
108601         * modules/mbspbrk: New file.
108602         * lib/mbspbrk.c: New file.
108603         * lib/string_.h (strpbrk): Add a conditional link warning.
108604         (mbspbrk): New declaration.
108605         * m4/mbspbrk.m4: New file.
108606         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108607         GNULIB_MBSPBRK.
108608         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
108609         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
108611 2007-02-04  Bruno Haible  <bruno@clisp.org>
108613         New module mbscspn.
108614         * modules/mbscspn: New file.
108615         * lib/mbscspn.c: New file.
108616         * lib/string_.h (strcspn): Add a conditional link warning.
108617         (mbscspn): New declaration.
108618         * m4/mbscspn.m4: New file.
108619         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108620         GNULIB_MBSCSPN.
108621         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
108622         * MODULES.html.sh (Internationalization functions): Add mbscspn.
108624 2007-02-04  Bruno Haible  <bruno@clisp.org>
108626         New module mbscasestr, reduced goal of strcasestr.
108627         * modules/mbscasestr: New file.
108628         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
108629         (mbscasestr): Renamed from strcasestr.
108630         * lib/strcasestr.c: Don't include mbuiter.h.
108631         (strcasestr): Remove support for multibyte locales.
108632         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
108633         Change the conditional link warning.
108634         (mbscasestr): New declaration.
108635         * m4/mbscasestr.m4: New file.
108636         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
108637         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
108638         REPLACE_STRCASESTR.
108639         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
108640         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
108641         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
108642         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
108643         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
108644         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
108645         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
108646         (Depends-on): Remove mbuiter.
108647         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
108649 2007-02-04  Bruno Haible  <bruno@clisp.org>
108651         Simplify handling of strncasecmp.
108652         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
108653         the conditional link warning.
108654         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
108655         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
108656         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
108657         * modules/strcase (configure.ac): Don't invoke
108658         gl_STRING_MODULE_INDICATOR.
108659         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
108661 2007-02-04  Bruno Haible  <bruno@clisp.org>
108663         New module mbscasecmp, reduced goal of strcasecmp.
108664         * modules/mbscasecmp: New file.
108665         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
108666         (mbscasecmp): Renamed from strcasecmp.
108667         * lib/strcasecmp.c: Don't include mbuiter.h.
108668         (strcasecmp): Remove support for multibyte locales.
108669         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
108670         Change the conditional link warning.
108671         (mbscasecmp): New declaration.
108672         * m4/mbscasecmp.m4: New file.
108673         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
108674         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
108675         REPLACE_STRCASECMP.
108676         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
108677         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108678         GNULIB_MBSCASECMP.
108679         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
108680         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
108681         * modules/strcase (Files): Remove m4/mbrtowc.m4.
108682         (Depends-on): Remove mbuiter.
108683         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
108685 2007-02-04  Bruno Haible  <bruno@clisp.org>
108687         New module mbsstr. Remove module strstr.
108688         * modules/mbsstr: New file.
108689         * modules/strstr: Remove file.
108690         * lib/mbsstr.c: Renamed from lib/strstr.c.
108691         (mbsstr): Renamed from strstr.
108692         * lib/string_.h (strstr): Remove declaration. Change the conditional
108693         link warning.
108694         (mbsstr): New declaration.
108695         * m4/mbsstr.m4: New file.
108696         * m4/strstr.m4: Remove file.
108697         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
108698         REPLACE_STRSTR.
108699         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
108700         Don't initialize GNULIB_STRSTR.
108701         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
108702         substitute GNULIB_STRSTR and REPLACE_STRSTR.
108703         * MODULES.html.sh (Internationalization functions): Add mbsstr.
108704         (Support for systems lacking ANSI C 89): Remove strstr.
108706 2007-02-04  Bruno Haible  <bruno@clisp.org>
108708         New module mbsrchr.
108709         * modules/mbsrchr: New file.
108710         * lib/mbsrchr.c: New file.
108711         * lib/string_.h (strrchr): Add a conditional link warning.
108712         (mbsrchr): New declaration.
108713         * m4/mbsrchr.m4: New file.
108714         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108715         GNULIB_MBSRCHR.
108716         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
108717         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
108719 2007-02-04  Bruno Haible  <bruno@clisp.org>
108721         New module mbschr.
108722         * modules/mbschr: New file.
108723         * lib/mbschr.c: New file.
108724         * lib/string_.h (strchr): Add a conditional link warning.
108725         (mbschr): New declaration.
108726         * m4/mbschr.m4: New file.
108727         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108728         GNULIB_MBSCHR.
108729         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
108730         * MODULES.html.sh (Internationalization functions): Add mbschr.
108732 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
108734         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
108736         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
108738 2007-02-04  Bruno Haible  <bruno@clisp.org>
108740         New module description section 'configure.ac-early'.
108741         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
108742         (func_get_autoconf_early_snippet): New function.
108743         (func_import, func_create_testdir): Use it. Remove special cases for
108744         modules 'extensions' and 'lock'.
108745         * modules/extensions (configure.ac-early): Require
108746         gl_USE_SYSTEM_EXTENSIONS.
108747         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
108749 2007-02-04  Bruno Haible  <bruno@clisp.org>
108751         Make use of gcj-4.3's -fsource and -ftarget option.
108752         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
108753         and if so try the options -fsource and -ftarget.
108754         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
108755         source_version, ftarget_option, target_version arguments.
108756         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
108757         (is_envjavac_oldgcj_14_14_usable): Renamed from
108758         is_envjavac_gcj_14_14_usable.
108759         (is_envjavac_oldgcj_14_13_usable): Renamed from
108760         is_envjavac_gcj_14_13_usable.
108761         (is_gcj_present): Update.
108762         (is_gcj_43, is_gcj43_usable): New functions.
108763         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
108764         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
108765         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
108766         try the options -fsource and -ftarget.
108768 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
108770         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
108771         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
108772         larger value.
108774 2007-02-03  Jim Meyering  <jim@meyering.net>
108776         Give tools a better chance to allocate space for very large buffers.
108777         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
108779         Make pwd and readlink work also when run with an unreadable parent dir
108780         on systems with openat support.
108781         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
108782         provided getcwd function, even when we have openat support.
108783         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
108785 2007-02-02  Bruno Haible  <bruno@clisp.org>
108787         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
108788         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
108789         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
108790         portability problems if one of these functions is only used on specific
108791         platforms.
108792         Reported by Paul Eggert.
108794 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
108796         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
108797         is causing more trouble than it's curing.
108798         * lib/regex_internal.h (__mempcpy): Remove.
108799         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
108800         (and make the code a tad smaller to boot).
108801         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
108803 2007-02-02  Jim Meyering  <jim@meyering.net>
108805         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
108806         section, not in the Makefile.am: one.
108808 2007-02-02  Eric Blake  <ebb9@byu.net>
108810         * lib/strchrnul.c: Always include config.h first.
108812         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
108813         gnulib strstr is not necessary here.
108815 2007-02-02  Simon Josefsson  <simon@josefsson.org>
108817         * m4/socklen.m4: Fix typo.
108819 2007-02-02  Eric Blake  <ebb9@byu.net>
108821         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
108822         * modules/netinet_in (Makefile.am): Likewise.
108824 2007-02-01  Bruno Haible  <bruno@clisp.org>
108826         * lib/string_.h (GL_LINK_WARNING): New macro.
108827         (strcasecmp, strstr, strcasestr): If provided by the system,
108828         conditionally define as a macro that leads to a warning instead of to
108829         an error.
108830         (strncasecmp): Conditionally define as a macro that leads to a warning.
108832 2007-02-01  Karl Berry  <karl@gnu.org>
108834         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
108836 2007-02-01  Bruno Haible  <bruno@clisp.org>
108838         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
108839         renamings.
108841 2007-02-01  Eric Blake  <ebb9@byu.net>
108843         * modules/regex (Depends-on): Revert dependence on mempcpy.
108844         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
108845         module's definition of mempcpy.
108846         Reported by Paul Eggert.
108848 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
108850         * lib/string_.h: If the gnulib module XYZ is not present, undefine
108851         the symbol XYZ before redefining it.  This fixes a problem with
108852         programs that don't use XYZ, when compiled on systems that define
108853         XYZ to something else.
108855 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
108857         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
108858         occurs when "mkdir -m foo" creates a setgid directory that is (1)
108859         writeable to group or other and (2) is intended to have a special
108860         mode bit that is set or cleared.  In such a case, the directory
108861         should be neither group- nor other-writeable until the special
108862         mode bits are right.
108864 2007-01-31  Eric Blake  <ebb9@byu.net>
108866         * modules/mountlist (Depends-on): Add strstr.
108868         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
108869         bug.
108870         * modules/string (Makefile.am): Remove redundant replacement.
108871         * modules/regex (Depends-on): Add mempcpy.
108873 2007-01-31  Bruno Haible  <bruno@clisp.org>
108875         New module description field 'Link'.
108876         * gnulib-tool (func_usage): Document --extract-link-directive.
108877         (sed_extract_prog): Recognize 'Link' directive.
108878         (func_get_link_directive): New function.
108879         (func_import): Show summary of link directives.
108880         Handle --extract-link-directive option.
108881         * modules/acl (Link): New section.
108882         * modules/clock-time (Link): New section.
108883         * modules/euidaccess (Link): New section.
108884         * modules/gettext (Link): New section.
108885         * modules/iconv (Link): New section.
108886         * modules/lock (Link): New section.
108887         * modules/nanosleep (Link): New section.
108888         * modules/readline (Link): New section.
108890 2007-01-27  Bruno Haible  <bruno@clisp.org>
108892         Enforce the use of gnulib modules for unportable <string.h> functions.
108893         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
108894         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
108895         (gl_HEADER_STRING_H_BODY): Require it.
108896         * lib/string_.h: If the gnulib module XYZ is not present, redefine
108897         the symbol XYZ to one that gives a link error.
108898         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
108899         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
108900         * modules/mempcpy (configure.ac): Likewise.
108901         * modules/memrchr (configure.ac): Likewise.
108902         * modules/stpcpy (configure.ac): Likewise.
108903         * modules/stpncpy (configure.ac): Likewise.
108904         * modules/strcase (configure.ac): Likewise.
108905         * modules/strcasestr (configure.ac): Likewise.
108906         * modules/strchrnul (configure.ac): Likewise.
108907         * modules/strdup (configure.ac): Likewise.
108908         * modules/strndup (configure.ac): Likewise.
108909         * modules/strnlen (configure.ac): Likewise.
108910         * modules/strpbrk (configure.ac): Likewise.
108911         * modules/strsep (configure.ac): Likewise.
108912         * modules/strstr (configure.ac): Likewise.
108913         * modules/strtok_r (configure.ac): Likewise.
108915 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
108917         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
108919 2007-01-30  Jim Meyering  <jim@meyering.net>
108921         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
108923 2007-01-29  Bruno Haible  <bruno@clisp.org>
108925         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
108926         * lib/execute.c: Likewise.
108927         * lib/pipe.c: Likewise.
108928         * lib/printf-args.h: Likewise.
108929         * lib/printf-args.c: Likewise.
108930         * lib/printf-parse.c: Likewise.
108931         * lib/vasnprintf.c: Likewise.
108933 2007-01-29  Eric Blake  <ebb9@byu.net>
108935         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
108936         declaration.
108938 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
108940         * lib/strptime.h (strptime): Use 'restrict' for args where
108941         POSIX requires this.
108942         * lib/strptime.c (strptime): Likewise.
108943         Change license notice from LGPL to GPL, since gnulib-tool will
108944         change this as needed.
108945         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
108946         defined.
108947         Include "strptime.h" first, to check interface.
108948         Do not #undef _LIBC and _NL_CURRENT.
108949         Do not include <stdlib.h>; no longer needed.
108950         Include "time_r.h" and declare ptime_locale_status
108951         only if _LIBC is not defined.
108952         (__P): Remove unused macro.
108953         (match_string): Bring back glibc version, but use it only if _LIBC
108954         is defined.
108955         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
108956         Remove unnecessary assertion and abort() call.
108957         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
108958         * m4/strptime.m4: Fix serial number comment.
108959         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
108960         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
108961         (Depends-on): Add time_r.
108963 2007-01-29  Bruno Haible  <bruno@clisp.org>
108965         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
108966         strptime.
108967         * modules/strptime (Depends-on): Add stdbool.
108968         * lib/strptime.h: Include <time.h> always. Add comments.
108970 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
108972         * modules/strptime: New file.
108973         * lib/strptime.h: New file.
108974         * lib/strptime.c: New file.
108975         * m4/strptime.m4: New file.
108977 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
108979         * MODULES.html.sh: New module mpsort.
108980         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
108982         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
108983         a circularity problem with HP-UX ia64 reported by Bob Proulx in
108984         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
108985         All uses changed.
108986         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
108987         All uses changed.
108988         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
108989         to _Restrict_.
108990         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
108991         the parameter matches the prototype.
108993 2007-01-28  Jim Meyering  <jim@meyering.net>
108995         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
108996         sys/time.h here, reverting that part of the previous patch:
108997         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
108999 2007-01-28  Bruno Haible  <bruno@clisp.org>
109001         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
109002         value of $(SYS_TIME_H).
109003         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
109004         remove it conditionally, too. [added by Jim Meyering]
109005         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
109006         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
109007         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
109008         GETTIMEOFDAY_REPLACEMENT to 1.
109010 2007-01-28  Bruno Haible  <bruno@clisp.org>
109012         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
109013         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
109014         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
109015         Set UNISTD_H instead of UNISTD_H2.
109016         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
109018 2007-01-28  Bruno Haible  <bruno@clisp.org>
109020         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
109021         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
109023 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109025         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
109026         (func_create_testdir): Ensure C locale for `grep' and `tr'
109027         character ranges.
109028         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
109029         ACLOCAL_AMFLAGS parsing state machine.
109031 2007-01-27  Bruno Haible  <bruno@clisp.org>
109033         * modules/unistr/base: Update.
109035 2007-01-27  Bruno Haible  <bruno@clisp.org>
109037         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
109038         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
109039         * modules/unistr/u32-mbtouc-unsafe: Renamed from
109040         modules/unistr/u32-mbtouc.
109041         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
109042         * lib/unistr.h: Update.
109043         * lib/linebreak.c: Update.
109044         * modules/unistr/u32-mbtouc: Renamed from
109045         modules/unistr/u32-mbtouc-safe.
109046         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
109047         * lib/unistr.h: Update.
109048         * lib/unistr/u32-to-u8.c: Update.
109049         * lib/unistr/u32-to-u16.c: Update.
109051 2007-01-27  Bruno Haible  <bruno@clisp.org>
109053         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
109054         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
109055         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
109056         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
109057         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
109058         * modules/unistr/u16-mbtouc-unsafe: Renamed from
109059         modules/unistr/u16-mbtouc.
109060         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
109061         * lib/unistr.h: Update.
109062         * lib/linebreak.c: Update.
109063         * modules/linebreak: Update.
109064         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
109065         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
109066         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
109067         * modules/unistr/u16-mbtouc: Renamed from
109068         modules/unistr/u16-mbtouc-safe.
109069         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
109070         * lib/unistr.h: Update.
109071         * lib/unistr/u16-to-u8.c: Update.
109072         * modules/unistr/u16-to-u8: Update.
109073         * lib/unistr/u16-to-u32.c: Update.
109074         * modules/unistr/u16-to-u32: Update.
109076 2007-01-27  Bruno Haible  <bruno@clisp.org>
109078         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
109079         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
109080         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
109081         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
109082         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
109083         * modules/unistr/u8-mbtouc-unsafe: Renamed from
109084         modules/unistr/u8-mbtouc.
109085         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
109086         * lib/unistr.h: Update.
109087         * lib/striconveh.c: Update.
109088         * modules/striconveh: Update.
109089         * lib/linebreak.c: Update.
109090         * modules/linebreak: Update.
109091         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
109092         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
109093         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
109094         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
109095         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
109096         * lib/unistr.h: Update.
109097         * lib/striconveh.c: Update.
109098         * modules/striconveh: Update.
109099         * lib/unistr/u8-to-u16.c: Update.
109100         * modules/unistr/u8-to-u16: Update.
109101         * lib/unistr/u8-to-u32.c: Update.
109102         * modules/unistr/u8-to-u32: Update.
109104 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109106         Sync from Libtool.
109107         * lib/argz.c: Do not include strings.h nor memory.h, include
109108         string.h unconditionally.  Patch by Simon Josefsson.
109110 2007-01-27  Bruno Haible  <bruno@clisp.org>
109112         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
109113         from gl_HEADER_STRING_H_BODY.
109114         (gl_HEADER_STRING_H_BODY): Require it.
109115         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
109116         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
109117         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
109118         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
109119         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
109120         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
109121         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
109122         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
109123         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
109124         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
109125         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
109126         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
109127         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
109128         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
109129         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
109131 2007-01-27  Bruno Haible  <bruno@clisp.org>
109133         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
109134         check_PROGRAMS into noinst_PROGRAMS.
109135         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
109136         check_PROGRAMS in this case.
109137         (func_import): Set for_test to false.
109138         (func_create_testdir): Set for_test to true.
109140 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
109141             Bruno Haible  <bruno@clisp.org>
109143         * modules/strcasestr (Files): Remove lib/strcasestr.h.
109144         (Depends-on): Add string.
109145         (Includes): Use <string.h> instead of strcasestr.h.
109146         * modules/string (Makefile.am): Also substitute the value of
109147         REPLACE_STRCASESTR.
109148         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
109149         assume strcasestr is declared in <string.h> not <strings.h>. Also
109150         set REPLACE_STRCASESTR.
109151         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
109152         REPLACE_STRCASESTR.
109153         * lib/strcasestr.h: Remove file.
109154         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
109155         * lib/string_.h (strcasestr): New declaration.
109157 2007-01-27  Bruno Haible  <bruno@clisp.org>
109159         * lib/string_.h: Use 'extern'.
109161 2007-01-27  Jim Meyering  <jim@meyering.net>
109163         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
109164         of set-but-not-used local, "q".
109166         * lib/mempcpy.c: Include <config.h> before <string.h>.
109167         This fixes a compilation error on HP-UX, due to the system's
109168         "restrict"-using mempcpy prototype.
109170 2007-01-26  Bruno Haible  <bruno@clisp.org>
109172         Small optimization.
109173         * lib/javacomp.c: Include c-strstr.h.
109174          (is_envjavac_gcj): Use c_strstr instead of strstr.
109175         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
109177 2007-01-26  Bruno Haible  <bruno@clisp.org>
109179         * MODULES.html.sh (Unicode string functions): Add the new modules.
109181         * modules/uniconv/u32-strconv-to-locale: New file.
109182         * lib/uniconv/u32-strconv-to-locale.c: New file.
109184         * modules/uniconv/u16-strconv-to-locale: New file.
109185         * lib/uniconv/u16-strconv-to-locale.c: New file.
109187         * modules/uniconv/u8-strconv-to-locale: New file.
109188         * lib/uniconv/u8-strconv-to-locale.c: New file.
109190         * modules/uniconv/u32-strconv-from-locale: New file.
109191         * lib/uniconv/u32-strconv-from-locale.c: New file.
109193         * modules/uniconv/u16-strconv-from-locale: New file.
109194         * lib/uniconv/u16-strconv-from-locale.c: New file.
109196         * modules/uniconv/u8-strconv-from-locale: New file.
109197         * lib/uniconv/u8-strconv-from-locale.c: New file.
109199         * modules/uniconv/u32-strconv-to-enc: New file.
109200         * lib/uniconv/u32-strconv-to-enc.c: New file.
109201         * modules/uniconv/u32-strconv-to-enc-tests: New file.
109202         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
109204         * modules/uniconv/u16-strconv-to-enc: New file.
109205         * lib/uniconv/u16-strconv-to-enc.c: New file.
109206         * lib/uniconv/u-strconv-to-enc.h: New file.
109207         * modules/uniconv/u16-strconv-to-enc-tests: New file.
109208         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
109210         * modules/uniconv/u8-strconv-to-enc: New file.
109211         * lib/uniconv/u8-strconv-to-enc.c: New file.
109212         * modules/uniconv/u8-strconv-to-enc-tests: New file.
109213         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
109215         * modules/uniconv/u32-strconv-from-enc: New file.
109216         * lib/uniconv/u32-strconv-from-enc.c: New file.
109217         * modules/uniconv/u32-strconv-from-enc-tests: New file.
109218         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
109220         * modules/uniconv/u16-strconv-from-enc: New file.
109221         * lib/uniconv/u16-strconv-from-enc.c: New file.
109222         * modules/uniconv/u16-strconv-from-enc-tests: New file.
109223         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
109225         * modules/uniconv/u8-strconv-from-enc: New file.
109226         * lib/uniconv/u8-strconv-from-enc.c: New file.
109227         * lib/uniconv/u-strconv-from-enc.h: New file.
109228         * modules/uniconv/u8-strconv-from-enc-tests: New file.
109229         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
109231         * modules/uniconv/u32-conv-from-enc: New file.
109232         * lib/uniconv/u32-conv-from-enc.c: New file.
109233         * modules/uniconv/u32-conv-from-enc-tests: New file.
109234         * tests/uniconv/test-u32-conv-from-enc.c: New file.
109236         * modules/uniconv/u16-conv-from-enc: New file.
109237         * lib/uniconv/u16-conv-from-enc.c: New file.
109238         * lib/uniconv/u-conv-from-enc.h: New file.
109239         * modules/uniconv/u16-conv-from-enc-tests: New file.
109240         * tests/uniconv/test-u16-conv-from-enc.c: New file.
109242         * modules/uniconv/u8-conv-from-enc: New file.
109243         * lib/uniconv/u8-conv-from-enc.c: New file.
109244         * modules/uniconv/u8-conv-from-enc-tests: New file.
109245         * tests/uniconv/test-u8-conv-from-enc.c: New file.
109247         * modules/uniconv/base: New file.
109248         * lib/uniconv.h: New file.
109250 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
109252         * doc/gnulib-tool.texi (Initial import): Update to match current
109253         behavior with strdup module.
109254         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
109255         * lib/memmem.h: Remove; all uses removed.  This is now done
109256         by <string.h>.
109257         * lib/mempcpy.h: Likewise.
109258         * lib/memrchr.h: Likewise.
109259         * lib/stpcpy.h: Likewise.
109260         * lib/stpncpy.h: Likewise.
109261         * lib/strcase.h: Likewise.
109262         * lib/strchrnul.h: Likewise.
109263         * lib/strdup.h: Likewise.
109264         * lib/strndup.h: Likewise.
109265         * lib/strnlen.h: Likewise.
109266         * lib/strpbrk.h: Likewise.
109267         * lib/strsep.h: Likewise.
109268         * lib/strstr.h: Likewise.
109269         * lib/strtok_r.h: Likewise.
109270         * lib/string_.h: New file.
109271         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
109272         Rely on <string.h> instead.
109273         * lib/canon-host.c: Likewise.
109274         * lib/chdir-long.c: Likewise.
109275         * lib/concatpath.c: Likewise.
109276         * lib/exclude.c: Likewise.
109277         * lib/fchdir.c: Likewise.
109278         * lib/getaddrinfo.c: Likewise.
109279         * lib/getcwd.c: Likewise.
109280         * lib/getsubopt.c: Likewise.
109281         * lib/glob.c: Likewise.
109282         * lib/hard-locale.c: Likewise.
109283         * lib/iconvme.c: Likewise.
109284         * lib/javacomp.c: Likewise.
109285         * lib/mempcpy.c: Likewise.
109286         * lib/memrchr.c: Likewise.
109287         * lib/regex_internal.h: Likewise.
109288         * lib/stpncpy.c: Likewise.
109289         * lib/strcasecmp.c: Likewise.
109290         * lib/strchrnul.c: Likewise.
109291         * lib/strdup.c: Likewise.
109292         * lib/striconv.c: Likewise.
109293         * lib/striconveh.c: Likewise.
109294         * lib/striconveha.c: Likewise.
109295         * lib/strncasecmp.c: Likewise.
109296         * lib/strndup.c: Likewise.
109297         * lib/strnlen.c: Likewise.
109298         * lib/strsep.c: Likewise.
109299         * lib/strstr.c: Likewise.
109300         * lib/strtok_r.c: Likewise.
109301         * lib/userspec.c: Likewise.
109302         * lib/w32spawn.h: Likewise.
109303         * lib/xstrndup.c: Likewise.
109304         * lib/mountlist.c (strstr): Remove decl.
109305         * m4/string_h.m4: New file.
109306         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
109307         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
109308         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
109309         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
109310         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
109311         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
109312         Set REPLACE_STRCASECMP if necessary.
109313         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
109314         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
109315         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
109316         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
109317         HAVE_DECL_STRDUP if necessary.
109318         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
109319         since gl_FUNC_STRNDUP does that now.
109320         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
109321         Check for decl here...
109322         (gl_PREREQ_STRNLEN): ... not here.
109323         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
109324         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
109325         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
109326         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
109327         necessary.
109328         * modules/string: New file.
109329         * modules/memmem (Files): Remove special-purpose include file.
109330         (Depends-on): Add string.
109331         (Include): Include <string.h>, not the removed file.
109332         * modules/mempcpy: Likewise.
109333         * modules/memrchr: Likewise.
109334         * modules/stpcpy: Likewise.
109335         * modules/stpncpy: Likewise.
109336         * modules/strcase: Likewise.
109337         * modules/strchrnul: Likewise.
109338         * modules/strdup: Likewise.
109339         * modules/strndup: Likewise.
109340         * modules/strnlen: Likewise.
109341         * modules/strpbrk: Likewise.
109342         * modules/strsep: Likewise.
109343         * modules/strstr: Likewise.
109344         * modules/strtok_r: Likewise.
109345         * tests/test-dirname.c: Don't include "strdup.h", since
109346         <string.h> now suffices.
109347         * tests/test-memmem.c: Don't include "memmem.h", since
109348         <string.h> now suffices.
109350 2007-01-25  Bruno Haible  <bruno@clisp.org>
109352         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
109353         *resultp is 0.
109355         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
109356         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
109357         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
109358         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
109360         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
109361         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
109362         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
109363         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
109364         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
109365         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
109367 2007-01-24  Bruno Haible  <bruno@clisp.org>
109369         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
109370         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
109371         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
109372         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
109373         gl_FUNC_FTS_CORE.
109374         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
109375         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
109376         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
109377         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
109378         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
109379         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
109380         gl_FUNC_FCHOWNAT.
109381         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
109382         gl_FUNC_STRFTIME.
109383         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
109384         Reported by Ralf Wildenhues.
109386 2007-01-24  Bruno Haible  <bruno@clisp.org>
109388         Drop AC_REQUIRE calls that are redundant with the module dependencies.
109389         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
109390         gl_GETADDRINFO.
109391         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
109392         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
109393         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
109395 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
109397         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
109398         Don't use 'exit'; just return from 'main'.
109399         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
109401         * lib/fnmatch_.h: Readjust white space and comments to match
109402         glibc, to avoid spurious diffs.
109404 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
109406         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
109407         2004-12-01 change by Jakub Jelinek, since this code won't compile
109408         if !LIBC.  Problem reported by Bob Proulx.
109410 2007-01-23  Bruno Haible  <bruno@clisp.org>
109412         * lib/striconveh.c: Include c-strcaseeq.h.
109413         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
109414         * modules/striconveh (Depends-on): Add c-strcaseeq.
109416 2007-01-23  Bruno Haible  <bruno@clisp.org>
109418         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
109420         * modules/c-strcaseeq: New file.
109421         * lib/c-strcaseeq.h: New file.
109423         * modules/streq: New file.
109424         * lib/streq.h: New file.
109426 2007-01-23  Bruno Haible  <bruno@clisp.org>
109428         * modules/striconveha-tests: New file.
109429         * tests/test-striconveha.c: New file.
109431         * lib/striconveha.h: Include <stdbool.h>.
109432         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
109433         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
109434         (mem_iconveha_notranslit): Renamed from mem_iconveha.
109435         (mem_iconveha): New function.
109436         (str_iconveha_notranslit): Renamed from str_iconveha.
109437         (str_iconveha): New function.
109438         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
109439         c-strcase.
109441 2007-01-23  Bruno Haible  <bruno@clisp.org>
109443         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
109444         encodings without forgiving before trying any encoding with handler.
109445         (str_iconveha): Try all encodings without forgiving before trying any
109446         encoding with handler.
109448 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
109450         Import the following changes from libc.
109452         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
109454         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
109456         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
109458         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
109459         normal_bracket label.
109461         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
109463         [BZ #361]
109464         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
109465         to normal_bracket after fetching the next character.
109467 2007-01-22  Bruno Haible  <bruno@clisp.org>
109469         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
109470         argument.
109471         * lib/striconveh.c (iconv_carefully_1): New function.
109472         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
109473         argument.
109474         (str_cd_iconveh): Update.
109475         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
109476         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
109477         * tests/test-striconveh.c (MAGIC): New macro.
109478         (new_offsets): New function.
109479         (main): Test call with and without offsets.
109481 2007-01-22  Bruno Haible  <bruno@clisp.org>
109483         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
109484         * modules/sys_select (Makefile.am): Likewise.
109485         * modules/sys_socket (Makefile.am): Likewise.
109486         * modules/sys_time (Makefile.am): Likewise.
109488 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
109490         * modules/gettimeofday (License): Change from GPL to LGPL, since
109491         gettimeofday is a library function.
109493 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
109495         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
109497 2007-01-21  Bruno Haible  <bruno@clisp.org>
109499         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
109501 2007-01-21  Bruno Haible  <bruno@clisp.org>
109503         * modules/striconveha: New file.
109504         * lib/striconveha.h: New file.
109505         * lib/striconveha.c: New file.
109506         * MODULES.html.sh (Internationalization functions): Add striconveha.
109507         * lib/striconv.c (str_iconv): Optimize the case of an empty input
109508         string.
109509         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
109511 2007-01-21  Bruno Haible  <bruno@clisp.org>
109513         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
109514         * lib/striconveh.c (str_iconveh): Likewise.
109516 2007-01-21  Bruno Haible  <bruno@clisp.org>
109518         * lib/striconveh.h (mem_iconveh): New declaration.
109519         * lib/striconveh.c (mem_iconveh): New function.
109520         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
109522 2007-01-21  Bruno Haible  <bruno@clisp.org>
109524         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
109526         * lib/striconveh.h (mem_cd_iconveh): Change specification.
109527         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
109528         original result buffer.
109529         (str_cd_iconveh): Update.
109530         * tests/test-striconveh.c (main): Update.
109532         * lib/striconv.h (mem_cd_iconv): Change specification.
109533         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
109534         result buffer.
109535         (str_cd_iconv): Update.
109536         * tests/test-striconv.c (main): Update.
109538 2007-01-21  Bruno Haible  <bruno@clisp.org>
109540         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
109542 2007-01-20  Jim Meyering  <jim@meyering.net>
109544         * lib/userspec.c (parse_with_separator): If a user or group string
109545         starts with "+", skip the corresponding name-to-ID look-up, since
109546         such a look-up must fail: user and group names may not include "+".
109548 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
109550         * lib/poll.c: Include sys/time.h and time.h unconditionally,
109551         since we now assume the sys_time module.
109552         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
109553         check for sys/time.h; no longer needed.
109554         * modules/poll (Depends-on): Depend on sys_time.
109556 2007-01-18  Bruno Haible  <bruno@clisp.org>
109558         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
109559         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
109561         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
109562         gettimeofday.
109564         * tests/test-gettimeofday.c: Include <time.h>.
109565         (dummy): Remove variable.
109567         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
109568         gl_HEADER_SYS_TIME_H.
109569         (gl_HEADER_SYS_TIME_H): New macro.
109571         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
109572         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109573         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
109574         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
109575         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109576         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
109577         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
109578         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109579         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
109580         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
109581         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109583         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
109584         last change; it caused a compilation error when cross-compiling to
109585         Cygwin.
109587 2007-01-18  Jim Meyering  <jim@meyering.net>
109589         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
109590         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
109591         than the race-prone "test -d sys || mkdir sys".
109592         (configure.ac): Use AC_PROG_MKDIR_P.
109593         * modules/sys_select: Likewise.
109594         * modules/sys_socket: Likewise.
109595         * modules/sys_time: Likewise.
109597 2007-01-18  Eric Blake  <ebb9@byu.net>
109599         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
109600         replace gettimeofday.
109601         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
109602         name, to avoid infinite recursion.
109604 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
109606         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
109607         module sys_time.
109608         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
109609         assume timespec.h defines struct timeval.
109610         * lib/settime.c: Likewise.
109611         * lib/utimens.c: Likewise.
109612         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
109613         since we now assume the gettimeofday module.
109614         * lib/tempname.c (__gen_tempname): Likewise.
109615         * lib/gettimeofday.h: Remove.
109616         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
109617         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
109618         Include <time.h>, for 'time()'.
109619         (localtime_buffer_addr): Also use this workaround if
109620         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
109621         to simplify the uses.  All uses changed.
109622         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
109623         that #undef is inside {}, and 'const' follows type name consistently.
109624         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
109625         (gettimeofday): Do not use the maximum possible value for
109626         tv->tv_usec, since that might break usages other than ls.c.
109627         Instead, we'll leave ls.c alone.  This undoes today's patch
109628         by Bruno.  Add a compile-time warning for 1s-clock resolution;
109629         we've never observed the problem but might as well keep the
109630         canary.
109631         * lib/nanosleep.c: Include timespec.h first, for interface check.
109632         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
109633         now assume the sys_time module.
109634         * lib/tempname.c: Likewise.
109635         * lib/timespec.h: Likewise.
109636         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
109637         needed.
109638         * lib/strftime.c: Likewise.
109639         * lib/timespec.h: Likewise.
109640         * lib/posixtm.c: Include posixtm.h first, for interface check.
109641         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
109642         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
109643         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
109644         * lib/sys_time_.h: New file.
109645         * lib/timespec.h (struct timespec): Use long int, not long.
109646         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
109647         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
109648         Remove obsolescent call to AC_HEADER_TIME.
109649         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
109650         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
109651         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
109652         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
109653         Likewise.
109654         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
109655         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
109656         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
109657         into the sys_time module.  Check for gettimeofday just once.
109658         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
109659         for gettimeofday signature to just check the signature.  Merely
109660         compile it, since linking doesn't test signature.  Improve test for
109661         whether gettimeofday.o is actually needed.
109662         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
109663         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
109664         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
109665         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109666         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
109667         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
109668         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
109669         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
109670         than worrying about sys/time.h.
109671         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
109672         Don't bother worrying about TIME_WITH_SYS_TIME.
109673         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
109674         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
109675         * m4/sys_time_h.m4: New file.
109676         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
109677         Don't include sys/time.h.  Return from main rather than exiting.
109678         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
109679         all uses changed.
109680         * modules/gethrxtime (Depends-on): Add sys_time.
109681         * modules/gettime (Depends-on): Likewise.
109682         * modules/gettimeofday (Depends-on): Likewise.
109683         * modules/nanosleep (Depends-on): Likewise.
109684         * modules/settime (Depends-on): Likewise.
109685         * modules/tempname (Depends-on): Likewise.
109686         * modules/utimens (Depends-on): Likewise.
109687         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
109688         (Include): Change back to <sys/time.h>.
109689         (Maintainer): Add self.
109690         * modules/sys_time: New file.
109691         * modules/tempname (Depends-on): Add gettimeofday.
109692         * tests/test-gettimeofday.c: Include <sys/time.h>
109693         rather than gettimeofday.h.
109695 2007-01-17  Bruno Haible  <bruno@clisp.org>
109697         * gnulib-tool (func_get_license): Revert last patch. Instead, let
109698         the license default to GPL.
109699         (func_create_testdir): Don't complain if a module is LGPL and its
109700         tests module depends on GPLed modules.
109702 2007-01-17  Bruno Haible  <bruno@clisp.org>
109704         * lib/gettimeofday.c (gettimeofday): Add code for the case
109705         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
109706         maximum possible value for tv->tv_usec, rather than the minimum one.
109708 2005-10-08  Martin Lambers  <marlam@marlam.de>
109709 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
109710 2007-01-16  Bruno Haible  <bruno@clisp.org>
109712         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
109713         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
109714         gl_FUNC_GETTIMEOFDAY.
109715         (Include): Add gettimeofday.h.
109716         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
109717         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
109718         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
109719         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
109720         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
109721         * lib/gettimeofday.h: New file.
109722         * lib/gettimeofday.c: Include <sys/timeb.h>.
109723         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
109724         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109725         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
109726         fall back on time().
109728         * tests/test-gettimeofday.c: New file.
109729         * modules/gettimeofday-tests: New file.
109731 2007-01-16  Eric Blake  <ebb9@byu.net>
109733         * modules/fnmatch (Depends-on): Depend on wchar.
109734         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
109735         * m4/fnmatch.m4: Likewise.
109736         * modules/mbchar (Makefile.am): Assume <wchar.h>.
109737         * m4/mbchar.m4: Likewise.
109738         * modules/mbswidth (Depends-on): Depend on wchar.
109739         * lib/mbswidth.c: Assume <wchar.h>.
109740         * m4/mbswidth.m4: Likewise.
109741         * modules/quotearg (Depends-on): Depend on wchar.
109742         * lib/quotearg.c: Assume <wchar.h>.
109743         * m4/quotearg.m4: Likewise.
109744         * modules/regex (Depends-on): Depend on wchar.
109745         * lib/regex_internal.h: Assume <wchar.h>.
109746         * m4/regex.m4: Likewise.
109747         * modules/stdint (Depends-on): Depend on wchar.
109748         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
109749         * m4/stdint.m4: Likewise.
109750         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
109751         * modules/strftime (Depends-on): Depend on wchar.
109752         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
109753         * modules/strtol (Depends-on): Depend on wchar.
109754         * lib/strtol.c: Assume <wchar.h>.
109755         * modules/wcwidth (Depends-on): Depend on wchar.
109756         * lib/wcwidth.h: Assume <wchar.h>.
109757         * m4/wcwidth.m4: Likewise.
109759 2007-01-16  Bruno Haible  <bruno@clisp.org>
109761         * modules/csharpexec-script: New, created from...
109762         * modules/csharpexec: ... this.
109764 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
109766         * modules/javaexec-script: New, created from...
109767         * modules/javaexec: ... this.
109769 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
109771         * modules/poll (Dependencies): Add sys_select.
109773 2007-01-15  Jim Meyering  <jim@meyering.net>
109775         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
109776         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
109777         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
109778         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
109780 2007-01-15  Bruno Haible  <bruno@clisp.org>
109782         * modules/striconveh: New file.
109783         * lib/striconveh.h: New file.
109784         * lib/striconveh.c: New file.
109785         * MODULES.html.sh (Internationalization functions): Add striconveh.
109787         * modules/striconveh-tests: New file.
109788         * tests/test-striconveh.c: New file.
109790 2007-01-15  Bruno Haible  <bruno@clisp.org>
109792         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
109793         not from GNU libiconv or GNU libc.
109795 2007-01-15  Bruno Haible  <bruno@clisp.org>
109797         * doc/gnulib-intro.texi (Copyright): Explain the different license
109798         terms for module descriptions, autoconf macros, tests, documentation.
109800 2007-01-14  Bruno Haible  <bruno@clisp.org>
109802         * modules/striconv-tests: New file.
109803         * tests/test-striconv.c: New file.
109805 2007-01-14  Bruno Haible  <bruno@clisp.org>
109807         * modules/iconv-tests: New file.
109808         * tests/test-iconv.c: New file.
109810 2007-01-14  Bruno Haible  <bruno@clisp.org>
109812         * gnulib-tool (func_get_license): For test modules, use the license of
109813         the main module.
109815 2007-01-14  Bruno Haible  <bruno@clisp.org>
109817         * modules/iconv (Include): Clarify that <iconv.h> can only be included
109818         if iconv is found to exist.
109820 2007-01-14  Bruno Haible  <bruno@clisp.org>
109822         * modules/c-ctype-tests: New file.
109823         * tests/test-c-ctype.c: New file.
109825 2007-01-14  Bruno Haible  <bruno@clisp.org>
109827         * modules/binary-io-tests: New file.
109828         * tests/test-binary-io.sh: New file.
109829         * tests/test-binary-io.c: New file.
109831 2007-01-14  Bruno Haible  <bruno@clisp.org>
109833         * modules/array-oset-tests: New file.
109834         * tests/test-array_oset.c: New file.
109836 2007-01-14  Bruno Haible  <bruno@clisp.org>
109838         * modules/array-list-tests: New file.
109839         * tests/test-array_list.c: New file.
109841 2007-01-14  Bruno Haible  <bruno@clisp.org>
109843         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
109844         and make.
109845         Reported by Simon Josefsson in
109846         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
109848 2007-01-14  Bruno Haible  <bruno@clisp.org>
109850         * modules/allocsa-tests: New file.
109851         * tests/test-allocsa.c: New file.
109853 2007-01-14  Bruno Haible  <bruno@clisp.org>
109855         * modules/fchdir (Depends-on): Add absolute-header.
109856         * modules/unistd (Depends-on): Likewise.
109858 2006-12-30  Bruno Haible  <bruno@clisp.org>
109860         * modules/fchdir: New file.
109861         * modules/unistd (Files): Add lib/unistd_.h.
109862         (Makefile.am): Generate unistd.h from unistd_.h.
109863         * lib/fchdir.c: New file.
109864         * lib/dirent_.h: New file.
109865         * lib/unistd_.h: New file.
109866         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
109867         * m4/fchdir.m4: New file.
109868         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
109869         (gl_HEADER_UNISTD): Invoke it.
109870         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
109871         function.
109872         * lib/backupfile.c (opendir, closedir): Undefine.
109873         * lib/chown.c (open, close): Undefine.
109874         * lib/clean-temp.c (open, close): Undefine.
109875         * lib/copy-file.c (open, close): Undefine.
109876         * lib/execute.c (open, close): Undefine.
109877         * lib/fsusage.c (open, close): Undefine.
109878         * lib/gc-gnulib.c (open, close): Undefine.
109879         * lib/getcwd.c (opendir, closedir): Undefine.
109880         * lib/glob.c (opendir, closedir): Undefine.
109881         * lib/javacomp.c (open, close): Undefine.
109882         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
109883         * lib/openat-proc.c (open, close): Undefine.
109884         * lib/pagealign_alloc.c (open, close): Undefine.
109885         * lib/pipe.c (open, close): Undefine.
109886         * lib/progreloc.c (open, close): Undefine.
109887         * lib/savedir.c (opendir, closedir): Undefine.
109888         * lib/utime.c (open, close): Undefine.
109889         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
109891 2007-01-10  Bruno Haible  <bruno@clisp.org>
109893         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
109895 2007-01-12  Eric Blake  <ebb9@byu.net>
109897         Provide a robust <wchar.h>.  Further simplifications are now
109898         possible in other modules, but not included here.
109899         * modules/wchar: New module.
109900         * m4/wchar.m4: New file.
109901         * lib/wchar_.h: Likewise.
109902         * modules/mbchar (Depends-on): Depend on wchar, as the first use
109903         of the new module.
109904         * MODULES.html.sh (Extended multibyte and wide character utilities):
109905         New section.
109907 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
109909         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
109910         to a reasonable default for memory allocation.
109911         (xreadlink): Don't allocate a huge buffer, to work around a buggy
109912         file system that reports garbage st_size values for symlinks.
109913         Problem reported by Liyang Hu.
109915 2007-01-11  Simon Josefsson  <simon@josefsson.org>
109917         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
109918         Emacs .#* auto-save files).
109920 2007-01-11  Bruno Haible  <bruno@clisp.org>
109922         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
109923         directory.
109925 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
109927         Use @...@ consistently in lib/wctype_.h.
109928         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
109929         on it being set to 1 or 0.
109930         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
109931         go back to AC_SUBSTing it.
109932         * modules/wctype (Makefile.am): Undo previous change.
109934 2007-01-10  Eric Blake  <ebb9@byu.net>
109936         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
109937         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
109938         * modules/wctype (Makefile.am): Likewise.
109939         Reported by Chris McGuire.
109941 2007-01-10  Jim Meyering  <jim@meyering.net>
109943         fts.c: a small readability/maintainability improvement
109944         * lib/fts.c (fts_read): Make this code slightly more readable and
109945         maintainable by hoisting the "sp->fts_cur = p" assignments to
109946         immediately follow the statements that set P.  Derived from
109947         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
109949 2007-01-10  Eric Blake  <ebb9@byu.net>
109951         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
109952         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
109953         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
109954         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
109955         Reported by Chris McGuire.
109957 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109959         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
109960         in sed script.
109962 2007-01-09  Bruno Haible  <bruno@clisp.org>
109964         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
109965         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
109966         variables.
109967         (func_module): Use them.
109969 2007-01-09  Bruno Haible  <bruno@clisp.org>
109971         * modules/unistr/base: New file.
109972         * lib/unistr.h: New file.
109974         * modules/unistr/u8-to-u16: New file.
109975         * lib/unistr/u8-to-u16.c: New file.
109977         * modules/unistr/u8-to-u32: New file.
109978         * lib/unistr/u8-to-u32.c: New file.
109980         * modules/unistr/u16-to-u8: New file.
109981         * lib/unistr/u16-to-u8.c: New file.
109983         * modules/unistr/u16-to-u32: New file.
109984         * lib/unistr/u16-to-u32.c: New file.
109986         * modules/unistr/u32-to-u8: New file.
109987         * lib/unistr/u32-to-u8.c: New file.
109989         * modules/unistr/u32-to-u16: New file.
109990         * lib/unistr/u32-to-u16.c: New file.
109992         * modules/unistr/u8-check: New file.
109993         * modules/unistr/u16-check: New file.
109994         * modules/unistr/u32-check: New file.
109995         * lib/unistr/u8-check.c: New file.
109996         * lib/unistr/u16-check.c: New file.
109997         * lib/unistr/u32-check.c: New file.
109999         * modules/unistr/u8-chr: New file.
110000         * modules/unistr/u16-chr: New file.
110001         * modules/unistr/u32-chr: New file.
110002         * lib/unistr/u8-chr.c: New file.
110003         * lib/unistr/u16-chr.c: New file.
110004         * lib/unistr/u32-chr.c: New file.
110006         * modules/unistr/u8-cmp: New file.
110007         * modules/unistr/u16-cmp: New file.
110008         * modules/unistr/u32-cmp: New file.
110009         * lib/unistr/u8-cmp.c: New file.
110010         * lib/unistr/u16-cmp.c: New file.
110011         * lib/unistr/u32-cmp.c: New file.
110013         * modules/unistr/u8-cpy: New file.
110014         * modules/unistr/u16-cpy: New file.
110015         * modules/unistr/u32-cpy: New file.
110016         * lib/unistr/u8-cpy.c: New file.
110017         * lib/unistr/u16-cpy.c: New file.
110018         * lib/unistr/u32-cpy.c: New file.
110019         * lib/unistr/u-cpy.h: New file.
110021         * modules/unistr/u8-cpy-alloc: New file.
110022         * modules/unistr/u16-cpy-alloc: New file.
110023         * modules/unistr/u32-cpy-alloc: New file.
110024         * lib/unistr/u8-cpy-alloc.c: New file.
110025         * lib/unistr/u16-cpy-alloc.c: New file.
110026         * lib/unistr/u32-cpy-alloc.c: New file.
110027         * lib/unistr/u-cpy-alloc.h: New file.
110029         * modules/unistr/u8-endswith: New file.
110030         * modules/unistr/u16-endswith: New file.
110031         * modules/unistr/u32-endswith: New file.
110032         * lib/unistr/u8-endswith.c: New file.
110033         * lib/unistr/u16-endswith.c: New file.
110034         * lib/unistr/u32-endswith.c: New file.
110035         * lib/unistr/u-endswith.h: New file.
110037         * modules/unistr/u8-mblen: New file.
110038         * modules/unistr/u16-mblen: New file.
110039         * modules/unistr/u32-mblen: New file.
110040         * lib/unistr/u8-mblen.c: New file.
110041         * lib/unistr/u16-mblen.c: New file.
110042         * lib/unistr/u32-mblen.c: New file.
110044         * modules/unistr/u8-mbtouc: New file.
110045         * modules/unistr/u16-mbtouc: New file.
110046         * modules/unistr/u32-mbtouc: New file.
110047         * lib/unistr/u8-mbtouc.c: New file.
110048         * lib/unistr/u16-mbtouc.c: New file.
110049         * lib/unistr/u32-mbtouc.c: New file.
110051         * modules/unistr/u8-mbtouc-safe: New file.
110052         * modules/unistr/u16-mbtouc-safe: New file.
110053         * modules/unistr/u32-mbtouc-safe: New file.
110054         * lib/unistr/u8-mbtouc-safe.c: New file.
110055         * lib/unistr/u16-mbtouc-safe.c: New file.
110056         * lib/unistr/u32-mbtouc-safe.c: New file.
110058         * modules/unistr/u8-move: New file.
110059         * modules/unistr/u16-move: New file.
110060         * modules/unistr/u32-move: New file.
110061         * lib/unistr/u8-move.c: New file.
110062         * lib/unistr/u16-move.c: New file.
110063         * lib/unistr/u32-move.c: New file.
110064         * lib/unistr/u-move.h: New file.
110066         * modules/unistr/u8-next: New file.
110067         * modules/unistr/u16-next: New file.
110068         * modules/unistr/u32-next: New file.
110069         * lib/unistr/u8-next.c: New file.
110070         * lib/unistr/u16-next.c: New file.
110071         * lib/unistr/u32-next.c: New file.
110073         * modules/unistr/u8-prev: New file.
110074         * modules/unistr/u16-prev: New file.
110075         * modules/unistr/u32-prev: New file.
110076         * lib/unistr/u8-prev.c: New file.
110077         * lib/unistr/u16-prev.c: New file.
110078         * lib/unistr/u32-prev.c: New file.
110080         * modules/unistr/u8-set: New file.
110081         * modules/unistr/u16-set: New file.
110082         * modules/unistr/u32-set: New file.
110083         * lib/unistr/u8-set.c: New file.
110084         * lib/unistr/u16-set.c: New file.
110085         * lib/unistr/u32-set.c: New file.
110086         * lib/unistr/u-set.h: New file.
110088         * modules/unistr/u8-startswith: New file.
110089         * modules/unistr/u16-startswith: New file.
110090         * modules/unistr/u32-startswith: New file.
110091         * lib/unistr/u8-startswith.c: New file.
110092         * lib/unistr/u16-startswith.c: New file.
110093         * lib/unistr/u32-startswith.c: New file.
110094         * lib/unistr/u-startswith.h: New file.
110096         * modules/unistr/u8-stpcpy: New file.
110097         * modules/unistr/u16-stpcpy: New file.
110098         * modules/unistr/u32-stpcpy: New file.
110099         * lib/unistr/u8-stpcpy.c: New file.
110100         * lib/unistr/u16-stpcpy.c: New file.
110101         * lib/unistr/u32-stpcpy.c: New file.
110102         * lib/unistr/u-stpcpy.h: New file.
110104         * modules/unistr/u8-stpncpy: New file.
110105         * modules/unistr/u16-stpncpy: New file.
110106         * modules/unistr/u32-stpncpy: New file.
110107         * lib/unistr/u8-stpncpy.c: New file.
110108         * lib/unistr/u16-stpncpy.c: New file.
110109         * lib/unistr/u32-stpncpy.c: New file.
110110         * lib/unistr/u-stpncpy.h: New file.
110112         * modules/unistr/u8-strcat: New file.
110113         * modules/unistr/u16-strcat: New file.
110114         * modules/unistr/u32-strcat: New file.
110115         * lib/unistr/u8-strcat.c: New file.
110116         * lib/unistr/u16-strcat.c: New file.
110117         * lib/unistr/u32-strcat.c: New file.
110118         * lib/unistr/u-strcat.h: New file.
110120         * modules/unistr/u8-strchr: New file.
110121         * modules/unistr/u16-strchr: New file.
110122         * modules/unistr/u32-strchr: New file.
110123         * lib/unistr/u8-strchr.c: New file.
110124         * lib/unistr/u16-strchr.c: New file.
110125         * lib/unistr/u32-strchr.c: New file.
110127         * modules/unistr/u8-strcmp: New file.
110128         * modules/unistr/u16-strcmp: New file.
110129         * modules/unistr/u32-strcmp: New file.
110130         * lib/unistr/u8-strcmp.c: New file.
110131         * lib/unistr/u16-strcmp.c: New file.
110132         * lib/unistr/u32-strcmp.c: New file.
110134         * modules/unistr/u8-strcpy: New file.
110135         * modules/unistr/u16-strcpy: New file.
110136         * modules/unistr/u32-strcpy: New file.
110137         * lib/unistr/u8-strcpy.c: New file.
110138         * lib/unistr/u16-strcpy.c: New file.
110139         * lib/unistr/u32-strcpy.c: New file.
110140         * lib/unistr/u-strcpy.h: New file.
110142         * modules/unistr/u8-strcspn: New file.
110143         * modules/unistr/u16-strcspn: New file.
110144         * modules/unistr/u32-strcspn: New file.
110145         * lib/unistr/u8-strcspn.c: New file.
110146         * lib/unistr/u16-strcspn.c: New file.
110147         * lib/unistr/u32-strcspn.c: New file.
110148         * lib/unistr/u-strcspn.h: New file.
110150         * modules/unistr/u8-strdup: New file.
110151         * modules/unistr/u16-strdup: New file.
110152         * modules/unistr/u32-strdup: New file.
110153         * lib/unistr/u8-strdup.c: New file.
110154         * lib/unistr/u16-strdup.c: New file.
110155         * lib/unistr/u32-strdup.c: New file.
110156         * lib/unistr/u-strdup.h: New file.
110158         * modules/unistr/u8-strlen: New file.
110159         * modules/unistr/u16-strlen: New file.
110160         * modules/unistr/u32-strlen: New file.
110161         * lib/unistr/u8-strlen.c: New file.
110162         * lib/unistr/u16-strlen.c: New file.
110163         * lib/unistr/u32-strlen.c: New file.
110164         * lib/unistr/u-strlen.h: New file.
110166         * modules/unistr/u8-strmblen: New file.
110167         * modules/unistr/u16-strmblen: New file.
110168         * modules/unistr/u32-strmblen: New file.
110169         * lib/unistr/u8-strmblen.c: New file.
110170         * lib/unistr/u16-strmblen.c: New file.
110171         * lib/unistr/u32-strmblen.c: New file.
110173         * modules/unistr/u8-strmbtouc: New file.
110174         * modules/unistr/u16-strmbtouc: New file.
110175         * modules/unistr/u32-strmbtouc: New file.
110176         * lib/unistr/u8-strmbtouc.c: New file.
110177         * lib/unistr/u16-strmbtouc.c: New file.
110178         * lib/unistr/u32-strmbtouc.c: New file.
110180         * modules/unistr/u8-strncat: New file.
110181         * modules/unistr/u16-strncat: New file.
110182         * modules/unistr/u32-strncat: New file.
110183         * lib/unistr/u8-strncat.c: New file.
110184         * lib/unistr/u16-strncat.c: New file.
110185         * lib/unistr/u32-strncat.c: New file.
110186         * lib/unistr/u-strncat.h: New file.
110188         * modules/unistr/u8-strncmp: New file.
110189         * modules/unistr/u16-strncmp: New file.
110190         * modules/unistr/u32-strncmp: New file.
110191         * lib/unistr/u8-strncmp.c: New file.
110192         * lib/unistr/u16-strncmp.c: New file.
110193         * lib/unistr/u32-strncmp.c: New file.
110195         * modules/unistr/u8-strncpy: New file.
110196         * modules/unistr/u16-strncpy: New file.
110197         * modules/unistr/u32-strncpy: New file.
110198         * lib/unistr/u8-strncpy.c: New file.
110199         * lib/unistr/u16-strncpy.c: New file.
110200         * lib/unistr/u32-strncpy.c: New file.
110201         * lib/unistr/u-strncpy.h: New file.
110203         * modules/unistr/u8-strnlen: New file.
110204         * modules/unistr/u16-strnlen: New file.
110205         * modules/unistr/u32-strnlen: New file.
110206         * lib/unistr/u8-strnlen.c: New file.
110207         * lib/unistr/u16-strnlen.c: New file.
110208         * lib/unistr/u32-strnlen.c: New file.
110209         * lib/unistr/u-strnlen.h: New file.
110211         * modules/unistr/u8-strpbrk: New file.
110212         * modules/unistr/u16-strpbrk: New file.
110213         * modules/unistr/u32-strpbrk: New file.
110214         * lib/unistr/u8-strpbrk.c: New file.
110215         * lib/unistr/u16-strpbrk.c: New file.
110216         * lib/unistr/u32-strpbrk.c: New file.
110217         * lib/unistr/u-strpbrk.h: New file.
110219         * modules/unistr/u8-strrchr: New file.
110220         * modules/unistr/u16-strrchr: New file.
110221         * modules/unistr/u32-strrchr: New file.
110222         * lib/unistr/u8-strrchr.c: New file.
110223         * lib/unistr/u16-strrchr.c: New file.
110224         * lib/unistr/u32-strrchr.c: New file.
110226         * modules/unistr/u8-strspn: New file.
110227         * modules/unistr/u16-strspn: New file.
110228         * modules/unistr/u32-strspn: New file.
110229         * lib/unistr/u8-strspn.c: New file.
110230         * lib/unistr/u16-strspn.c: New file.
110231         * lib/unistr/u32-strspn.c: New file.
110232         * lib/unistr/u-strspn.h: New file.
110234         * modules/unistr/u8-strstr: New file.
110235         * modules/unistr/u16-strstr: New file.
110236         * modules/unistr/u32-strstr: New file.
110237         * lib/unistr/u8-strstr.c: New file.
110238         * lib/unistr/u16-strstr.c: New file.
110239         * lib/unistr/u32-strstr.c: New file.
110240         * lib/unistr/u-strstr.h: New file.
110242         * modules/unistr/u8-strtok: New file.
110243         * modules/unistr/u16-strtok: New file.
110244         * modules/unistr/u32-strtok: New file.
110245         * lib/unistr/u8-strtok.c: New file.
110246         * lib/unistr/u16-strtok.c: New file.
110247         * lib/unistr/u32-strtok.c: New file.
110248         * lib/unistr/u-strtok.h: New file.
110250         * modules/unistr/u8-uctomb: New file.
110251         * modules/unistr/u16-uctomb: New file.
110252         * modules/unistr/u32-uctomb: New file.
110253         * lib/unistr/u8-uctomb.c: New file.
110254         * lib/unistr/u16-uctomb.c: New file.
110255         * lib/unistr/u32-uctomb.c: New file.
110257         * MODULES.html.sh (Unicode string functions): Add the new modules.
110259 2007-01-08  Bruno Haible  <bruno@clisp.org>
110261         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
110262         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
110263         subdirectories.
110265 2007-01-08  Karl Berry  <karl@gnu.org>
110267         * doc/error.texi: mention that main() fns must set program_name
110268         when progname is used.
110270 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
110272         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
110273         WCTYPE_H is empty, for the benefit of builds from non-distclean
110274         directories.  Problem reported by Eric Blake in
110275         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
110277 2007-01-08  Bruno Haible  <bruno@clisp.org>
110279         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
110280         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
110281         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
110282         PROVIDE_CANONICALIZE_FILENAME_MODE.
110283         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
110285 2007-01-08  Bruno Haible  <bruno@clisp.org>
110287         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
110288         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
110289         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
110290         * lib/fts.c: Likewise.
110291         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
110293 2006-12-25  Bruno Haible  <bruno@clisp.org>
110295         * modules/utf8-ucs4-safe: New file.
110296         * lib/utf8-ucs4-safe.h: New file.
110297         * lib/unistr/utf8-ucs4-safe.c: New file.
110299         * modules/utf16-ucs4-safe: New file.
110300         * lib/utf16-ucs4-safe.h: New file.
110301         * lib/unistr/utf16-ucs4-safe.c: New file.
110303         * MODULES.html.sh (Unicode string functions): Add the new modules.
110305 2007-01-08  Bruno Haible  <bruno@clisp.org>
110307         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
110308         (Depends-on): Add unitypes.
110309         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
110310         (u8_mbtouc_aux): Move out to separate file.
110311         (u8_mbtouc): Use ucs4_t, uint8_t types.
110312         * lib/unistr/utf8-ucs4.c: New file.
110314         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
110315         (Depends-on): Add unitypes.
110316         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
110317         (u16_mbtouc_aux): Move out to separate file.
110318         (u16_mbtouc): Use ucs4_t, uint16_t types.
110319         * lib/unistr/utf16-ucs4.c: New file.
110321         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
110322         (Depends-on): Add unitypes.
110323         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
110324         (u8_uctomb_aux): Move out to separate file.
110325         (u8_uctomb): Use ucs4_t, uint8_t types.
110326         * lib/unistr/ucs4-utf8.c: New file.
110328         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
110329         (Depends-on): Add unitypes.
110330         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
110331         (u16_uctomb_aux): Move out to separate file.
110332         (u16_uctomb): Use ucs4_t, uint16_t types.
110333         * lib/unistr/ucs4-utf16.c: New file.
110335 2006-12-25  Bruno Haible  <bruno@clisp.org>
110337         * modules/unitypes: New file.
110338         * lib/unitypes.h: New file.
110339         * MODULES.html.sh (func_all_modules): New section "Unicode string
110340         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
110341         this section. Add unitypes.
110343 2007-01-08  Bruno Haible  <bruno@clisp.org>
110345         Avoid variable names that conflict with those from libtool.
110346         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
110347         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
110348         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
110349         library_names_spec to acl_library_names_spec, hardcode_* to
110350         acl_hardcode_*.
110351         Reported by Ralf Wildenhues.
110353 2007-01-08  Bruno Haible  <bruno@clisp.org>
110355         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
110356         definition.
110357         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
110358         definition.
110359         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
110360         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
110361         definition.
110362         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
110363         definition.
110364         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
110365         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
110366         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
110367         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
110368         definition.
110369         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
110370         definition.
110371         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
110372         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
110373         GC_USE_<algorithm>.
110374         * lib/gc-libgcrypt.c: Likewise.
110375         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
110376         * modules/gc-arctwo (configure.ac): Likewise.
110377         * modules/gc-des (configure.ac): Likewise.
110378         * modules/gc-hmac-md5 (configure.ac): Likewise.
110379         * modules/gc-hmac-sha1 (configure.ac): Likewise.
110380         * modules/gc-md2 (configure.ac): Likewise.
110381         * modules/gc-md4 (configure.ac): Likewise.
110382         * modules/gc-md5 (configure.ac): Likewise.
110383         * modules/gc-random (configure.ac): Likewise.
110384         * modules/gc-rijndael (configure.ac): Likewise.
110385         * modules/gc-sha1 (configure.ac): Likewise.
110387 2007-01-08  Bruno Haible  <bruno@clisp.org>
110389         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
110390         macro definition.
110391         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
110392         definition.
110393         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
110394         definition.
110395         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
110396         * modules/fcntl-safer (configure.ac): Likewise.
110397         * modules/fopen-safer (configure.ac): Likewise.
110398         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
110399         GNULIB_FWRITEERROR macro definition.
110401 2007-01-08  Bruno Haible  <bruno@clisp.org>
110403         * m4/gnulib-common.m4: New file.
110404         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
110405         (func_get_filelist): Add m4/gnulib-common.m4.
110407 2007-01-08  Bruno Haible  <bruno@clisp.org>
110409         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
110410         command.
110412 2007-01-08  Jim Meyering  <jim@meyering.net>
110414         Use a more robust test for a "can't happen" condition.
110415         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
110416         narrowed the st_size value.  Presuming the "can't happen" condition
110417         is true, that narrowing could conceivably convert an invalid st_size
110418         value into a valid one.  Instead, use a change based on Matthew
110419         Woehlke's original patch.
110421         Slight readability improvement: use an assert-like macro
110422         in place of literal "abort ()" uses.
110423         * lib/fts.c (fts_assert): Define.
110424         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
110425         Use this macro instead of a bare 'abort'.
110427 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
110429         Don't worry about using IRIX 5.3's wctype.h broken definitions;
110430         simply work around them.
110431         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
110432         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
110433         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
110434         declaring.
110435         Don't bother to define as macros, since the standard doesn't require it.
110436         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
110437         longer worry about IRIX 5.3.
110438         (HAVE_WCTYPE_CTMP_BUG): Remove.
110440 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
110442         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
110443         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
110444         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
110445         Problems reported by Georg Schwarz for IRIX 5.3.
110447         * gnulib-tool (autoconf_minversion): Take the maximum version number
110448         found, not the minimum.  Problem reported by James Youngman.
110450 2007-01-03  Karl Berry  <karl@gnu.org>
110452         * doc/error.texi: new file, explaining interaction with progname.
110453         * doc/gnulib.texi: include it.  Update copyright.
110455 2007-01-03  Simon Josefsson  <simon@josefsson.org>
110457         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
110458         AC_CANONICAL_HOST, to improve autobuild outputs.
110460 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
110461             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
110463         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
110464         sockets, server sockets, and other file descriptors.  Count errors
110465         to compute the return value.  Reorder the code a bit to be easier
110466         to follow.  Don't set event bits that were not requested (except
110467         POLLERR and POLLHUP).
110469 2007-01-01  Bruno Haible  <bruno@clisp.org>
110471         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
110473 2007-01-03  Jim Meyering  <jim@meyering.net>
110475         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
110477 2007-01-02  Bruno Haible  <bruno@clisp.org>
110479         * modules/settime (Include): Require timespec.h.
110480         * modules/nanosleep (Include): Likewise.
110482 2007-01-01  Bruno Haible  <bruno@clisp.org>
110484         * gnulib-tool (func_emit_copyright_notice): Bump year.
110485         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
110487 2007-01-01  Bruno Haible  <bruno@clisp.org>
110489         Improve support for OpenBSD.
110490         * build-aux/config.rpath (libname_spec): Export.
110491         (library_names_spec): New variable. Export.
110492         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
110493         library_names_spec from the config.rpath output. Locate shared library
110494         through the name pattern in library_names_spec.
110496 2007-01-01  Eric Blake  <ebb9@byu.net>
110498         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
110500 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
110502         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
110503         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
110504         assume the C locale, and avoid an "eval" that could cause trouble.
110505         Problem with SORT reported by Bob Proulx.
110507         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
110508         Define.  Trivial patch from Henning Nielsen Lund, originally
110509         sent to bug-grep@gnu.org today.
110511 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
110513         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
110514         struct stat.  Problem reported by Henning Nielsen Lund.
110515         * lib/acl.c: Include acl.h first, to check interface.  Don't
110516         bother to include sys/types.h and sys/stat.h again.
110518 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
110520         Import the following change from libc; problem reported by
110521         Sven Verdoolaege.
110523         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
110525         [BZ #1373]
110526         * lib/argp.h: Remove __NTH for __argp_usage inline function.
110528 2006-12-28  Jim Meyering  <jim@meyering.net>
110530         * build-aux/announce-gen: Do not assume that the package
110531         builds any of tar.gz, tar.bz2, and .xdelta files.
110532         Suggestion from Simon Josefsson.
110534 2006-12-28  Simon Josefsson  <simon@josefsson.org>
110536         * modules/announce-gen: New file.
110538 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
110540         * lib/mbchar.h: Just include <wctype.h>; the wctype module
110541         handles its gotchas now.
110542         * lib/mbswidth.c: Likewise.
110543         * lib/wcwidth.h: Likewise.
110544         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
110545         and iswcntrl; the wctype module does this stuff now.
110546         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
110547         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
110548         * modules/mbchar (Depends-on): Add wctype.
110549         * modules/mbswidth (Depends-on): Likewise.
110550         * modules/wcwidth (Depends-on): Likewise.
110552 2006-12-27  Eric Blake  <ebb9@byu.net>
110554         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
110555         module uses more than what <wctype.h> is required to provide.
110557 2006-12-26  Eric Blake  <ebb9@byu.net>
110559         * gnulib-tool (sed_extract_prog): Avoid space-tab.
110561 2006-12-26  Eric Blake  <ebb9@byu.net>
110563         * modules/absolute-header: New module.
110564         * modules/fcntl (Depends-on): Depend on it.
110565         * modules/inttypes (Depends-on): Likewise.
110566         * modules/stdint (Depends-on): Likewise.
110567         * modules/sys_stat (Depends-on): Likewise.
110568         * modules/wctype (Depends-on): Likewise.
110569         * MODULES.html.sh (Support for building libraries and
110570         executables): Document it.
110572 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
110574         * gnulib-tool (SED): Remove, undoing previous change.
110575         The problem was that it broke coreutils on Solaris, because
110576         "sed --posix" leaked into a makefile.
110577         (sed): New alias, if 'alias' and GNU sed.
110579 2006-12-24  Jim Meyering  <jim@meyering.net>
110581         Work around an fchownat bug in glibc-2.4:
110582         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
110583         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
110584         in spite of the -P option.
110585         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
110586         New macros.
110587         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
110588         * modules/openat (Files): Add lib/fchownat.c.
110589         * lib/openat.c (fchownat): Don't define here.  Move to...
110590         * lib/fchownat.c: ...this new file.
110592 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
110594         Fix bug reported by Bruno Haible in
110595         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
110596         where quotearg.c didn't compile on Mac OS X 10.2 because it
110597         lacks <wchar.h> and wint_t.
110598         * lib/wctype_.h (__wctype_wint_t): New type.
110599         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
110600         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
110601         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
110602         Arg is now of type __wctype_wint_t, not wint_t.
110603         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
110604         substitute HAVE_WINT_T.
110605         * modules/wctype (Files): Add m4/wint_t.m4.
110606         (wctype.h): Substitute HAVE_WINT_T.
110608 2006-12-23  Bruno Haible  <bruno@clisp.org>
110610         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
110612 2006-12-23  Bruno Haible  <bruno@clisp.org>
110614         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
110615         S_ISLNK.
110616         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
110617         mingw.
110619 2006-12-22  Bruno Haible  <bruno@clisp.org>
110621         * lib/copy-file.c: Include acl.h.
110622         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
110623         Close the file descriptors only after being done with copy_acl.
110624         * modules/copy-file (Depends-on): Add acl.
110626 2006-12-22  Bruno Haible  <bruno@clisp.org>
110628         * gnulib-tool (SED): New variable.
110629         Use $SED instead of sed everywhere.
110631 2006-12-22  Bruno Haible  <bruno@clisp.org>
110633         * modules/no-c++: New file.
110634         * m4/no-c++.m4: New file.
110635         * MODULES.html.sh (Support for building libraries and executables):
110636         Add no-c++.
110638 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
110640         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
110641         Include <limits.h>, and use its INT_MAX to rewrite the
110642         j loop so that it does not overflow 'int'.  Problem reported by
110643         Ralf Wildenhues in
110644         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
110645         Play it safe by shifting left by 1 rather than multiplying by 2,
110646         as GCC is less likely to optimize this away when the value
110647         is signed (when it assumes overflow leads to undefined behavior).
110648         Also, don't assume time_t uses two's complement.
110650 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
110652         * MODULES.html.sh: New module wctype.
110653         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
110654         * lib/fnmatch.c: Don't bother to include <wchar.h> before
110655         <wctype.h>, since the new wctype module should fix this.
110656         * lib/quotearg.c: Include <wctype.h> unconditionally, since
110657         the wctype module should arrange for it.
110658         * lib/regex_internal.h: Likewise.
110659         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
110660         since the wctype module should handle this now.
110661         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
110662         * modules/fnmatch (Depends-on): Add wctype.
110663         * modules/quotearg (Depends-on): Likewise.
110664         * modules/regex (Depends-on): Likewise.
110666 2006-12-19  Bruno Haible  <bruno@clisp.org>
110668         * lib/strdup.h [C++]: Wrap definitions in extern "C".
110669         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
110671 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110673         * modules/savewd (Depends-on): Fix dependency on fcntl.
110675 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
110677         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
110678         conforms to C99, rather than relying on the user's environment
110679         setting of STDINT_H.
110681 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
110682         and Eric Blake  <ebb9@byu.net>
110684         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
110685         This is more consistent with the other defines here.
110686         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
110687         Port to z/OS.  Problem reported by Paul Gilmartin.
110688         Change local vars to use gl_ prefix rather than ac_.
110689         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
110690         with other defines.
110691         * modules/double-slash-root: New module.
110692         * modules/dirname (Files): Remove m4/double-slash-root.m4.
110693         (Depends-on): Add double-slash-root.
110694         * MODULES.html.sh (File system functions): Mention new module.
110696 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
110698         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
110699         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
110700         This is for the benefit of gzip, which doesn't do i18n.
110702 2006-12-12  Jim Meyering  <jim@meyering.net>
110704         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
110705         Reported by Andreas Schwab <schwab@suse.de>.
110707 2006-12-12  Bruno Haible  <bruno@clisp.org>
110709         Merge these changes.
110710         2006-09-05  Bruno Haible  <bruno@clisp.org>
110711         * lib/iconvme.c (iconv_string): No need to save and restore errno when
110712         iconv_alloc succeeded.
110713         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
110714         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
110715         test for " && dest " at the end - dest is always != NULL there. Call
110716         iconv with 4xNULL arguments initially, to reset the state. Call iconv
110717         with 2xNULL arguments, also to flush the state storage. Handle the
110718         IRIX iconv behaviour. Realloc the final result, to throw away unused
110719         memory.
110721 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
110723         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
110724         and fchmodat unconditionally, since glibc 2.4 has them.
110725         Problem reported by Arkadiusz Miskiewicz.
110727 2006-12-10  Bruno Haible  <bruno@clisp.org>
110729         * gnulib-tool (func_import): Show the include files only for those
110730         modules that are copied and specified.
110731         Reported by Karl Berry.
110733 2006-12-08  Jim Meyering  <jim@meyering.net>
110735         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
110736         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
110738         * build-aux/announce-gen: Add two new options, both optional:
110739         --bootstrap-tools=TOOL_LIST
110740               a comma-separated list of tools, e.g.,
110741               autoconf,automake,bison,gnulib
110742         --gnulib-snapshot-date=DATE
110743               if gnulib is in the bootstrap tool list,
110744               then report this as the snapshot date.
110745               If not specified, use the current date/time.
110746               If you specify a date here, be sure it's UTC.
110748 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110750         * tests/test-argp-2.sh: Fix test to match actual output.
110751         (func_compare): Fix sed script to be portable.
110753 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
110755         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
110756         workaround for this case.  It is not autoconfigured now; offhand
110757         it's hard to see how to autoconfigure it.
110759 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
110761         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
110762         a directory that is about to be chowned.  Such a directory's
110763         initial file permissions should permit the owner only and this
110764         should not be changed until after the chown, since the group and
110765         other bits would be incorrect if they granted permission before
110766         the chown.
110768         Fix porting problem for iswctype reported by Georg Schwarz in:
110769         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
110770         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
110771         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
110772         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
110773         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
110775 2006-12-03  Jim Meyering  <jim@meyering.net>
110777         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
110778         p->fts_statp may not yet be defined.
110779         (fts_read): Instead, set it in the caller, once p->fts_statp is
110780         sure to be defined, and corresponds to a top-level directory.
110781         This bug made du -x fail.  Here's the coreutils test case:
110782         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
110783         Reported by Mike Frysinger.
110785 2006-12-01  Jim Meyering  <jim@meyering.net>
110787         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
110788         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
110789         Reported by Simon Josefsson.
110791 2006-11-30  Jim Meyering  <jim@meyering.net>
110793         * m4/warning.m4: Use the all-permissive copyright notice
110794         recommended by RMS (rather than LGPL).
110795         * m4/vararrays.m4: Likewise.
110796         * m4/flexmember.m4: Likewise.
110798 2006-11-29  Bruno Haible  <bruno@clisp.org>
110800         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
110801         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
110802         using +=.
110803         Reported by Simon Josefsson <simon@josefsson.org>.
110805 2006-11-28  James Youngman  <jay@gnu.org>
110807         * README: Advise users that they might find the bug-gnulib@gnu.org
110808         and autotools-announce@gnu.org mailing lists useful.
110810 2006-11-28  Bruno Haible  <bruno@clisp.org>
110812         * m4/ptrdiff_max.m4: Remove file.
110814 2006-11-21  Bruno Haible  <bruno@clisp.org>
110816         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
110817         _AC_COMPUTE_INT.
110818         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
110819         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
110820         _AC_COMPUTE_INT.
110821         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
110822         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
110823         _AC_COMPUTE_INT.
110824         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
110826 2006-11-28  Jim Meyering  <jim@meyering.net>
110828         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
110829         warning from "gcc -Wshadow" about shadowing the builtin.
110831 2006-11-27  Bruno Haible  <bruno@clisp.org>
110833         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
110834         _AC_COMPUTE_INT.
110835         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
110837 2006-11-27  Bruno Haible  <bruno@clisp.org>
110838             Paul Eggert  <eggert@cs.ucla.edu>
110840         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
110842 2006-11-26  Bruno Haible  <bruno@clisp.org>
110844         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
110845         noinst_LTLIBRARIES.
110847 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
110848             Bruno Haible  <bruno@clisp.org>
110850         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
110851         if compiling with "gcc -ansi".
110853 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
110855         Fix some incompatibilities with gcc -ansi -pedantic.
110856         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
110857         if compiling pedantically with GCC, unless it's C99 or later.
110858         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
110859         it mishandles gcc -ansi -pedantic as well.
110860         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
110861         if gcc -pedantic.
110862         * lib/regexec.c (check_node_accept_bytes): Don't use auto
110863         initializers for struct if -pedantic, unless it's C99 or later.
110865 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
110867         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
110868         Don't close an fd more than once. Identical atimes indicate
110869         success, not failure.
110871 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
110873         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
110875 2006-11-23  Jim Meyering  <jim@meyering.net>
110877         * build-aux/announce-gen: New file.  From coreutils.
110879 2006-11-22  Jim Meyering  <jim@meyering.net>
110881         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
110882         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
110883         (fts_read): Use a temporary to narrow the overused st_size member
110884         before using it in a switch statement.  Reported by Matthew Woehlke.
110886         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
110887         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
110889 2006-11-20  Bruno Haible  <bruno@clisp.org>
110891         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
110892         changequote instead of pairs of brackets.
110893         Reported by Andreas Schwab <schwab@suse.de>.
110895 2006-11-21  Jim Meyering  <jim@meyering.net>
110897         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
110898         so as to remain compatible with older compilers.
110899         Patch from Michael Deutschmann.
110901 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
110903         * MODULES.html.sh (File system functions): Add openat.
110905         * lib/openat.h (rpl_fstatat): New macro, if
110906         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
110907         (fstatat): Define to rpl_fstatat under the same conditions,
110908         unless COMPILING_FSTATAT.
110909         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
110910         seems to have the bug.
110911         * lib/fstatat.c: New file.
110912         * modules/openat (Files): Add it.
110914 2006-11-20  Bruno Haible  <bruno@clisp.org>
110916         * Makefile: New file.
110918 2006-11-20  Jim Meyering  <jim@meyering.net>
110920         The beginnings of syntax-related checks for gnulib.
110921         * lib/Makefile: New file.
110922         * lib/t-idcache: New script.  Ensure that the two halves of
110923         idcache.c stay in sync.
110925         * lib/idcache.c: Adjust comments in user- and group- portions to
110926         be more accurate, and to be consistent with one another.
110928 2006-11-20  Jim Meyering  <jim@meyering.net>
110930         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
110931         continue using the flexible array member (thus, this module performs
110932         half as many malloc calls), with the addition that...
110933         (getgroup, getuser): Consistently record a non-match via an empty
110934         "name" string, and map an empty string match to a NULL return value.
110935         * modules/idcache (Depends-on): Re-add flexmember.
110937         * lib/idcache.c (getuser): Remove all uses of the register keyword.
110938         (getuidbyname, getgroup, getgidbyname): Likewise.
110940         Use cleaner syntax: NULL rather than 0.
110941         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
110943 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
110945         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
110946         It mishandled the case where the group was missing.
110947         Problem reported by Greg Schafer.
110948         * modules/idcache: Likewise.
110950 2006-11-18  Jim Meyering  <jim@meyering.net>
110952         * check-module (%exempt_header): Add exception for some
110953         conditionally-included headers.
110955         * modules/i-ring (Depends-on): Add verify.
110956         (License): Change to LGPL.
110958 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
110960         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
110961         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
110962         and inttostr.h.  Use snprintf rather than uinttostr, so that
110963         LGPLed code doesn't depend on GPLed.
110965 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
110967         * modules/inline (License): Change from GPL to LGPL.
110969 2006-11-17  Jim Meyering  <jim@meyering.net>
110971         * modules/d-type (License): Switch to LGPL.
110973 2006-11-15  Bruno Haible  <bruno@clisp.org>
110975         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
110977 2006-11-15  Eric Blake  <ebb9@byu.net>
110979         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
110980         the module dependency.
110982 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
110983             Bruno Haible  <bruno@clisp.org>
110985         * gnulib-tool (func_create_testdir): Add license consistency check.
110987 2006-11-15  Eric Blake  <ebb9@byu.net>
110989         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
110990         random "(cached)" in configure output.
110992 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110994         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
110995         test for conforming inttypes.h is both announced and cached.
110997         * MODULES.html.sh (seen_modules, seen_files): New variables.
110998         (func_module): Rewrite to use a few less gnulib-tool and sed
110999         invocations.  Avoid a couple of quadratic algorithms for ...
111000         (missed_modules, missed_files): ... these, with ...
111001         (func_append, func_tmpdir): ... these new functions, from
111002         gnulib-tool.  Analogously, install traps for cleanup.
111004         * tests/test-gc.c (main): Remove unused variables.
111005         * tests/test-read-file.c: Include stdlib.h, for 'free'.
111007 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
111009         * modules/inttostr (License): Change to LGPL.
111011 2006-11-14  Eric Blake  <ebb9@byu.net>
111013         * modules/tempname (License): Change to LGPL.
111015 2006-11-14  Eric Blake  <ebb9@byu.net>
111017         * doc/functions.texi (Function Portability): *printf functions on
111018         Cygwin now understand all POSIX size specifiers.
111020 2006-11-14  Bruno Haible  <bruno@clisp.org>
111022         * modules/c-ctype (License): Change to LGPL.
111024 2006-11-12  Bruno Haible  <bruno@clisp.org>
111026         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
111027         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
111028         for GNOME libraries, for which the include files are installed in
111029         subdirectories of $prefix/include.
111031 2006-11-12  Bruno Haible  <bruno@clisp.org>
111033         * m4/lib-link.m4: Require at least autoconf-2.54.
111034         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
111035         name to underscores for the --with option.
111037 2006-11-13  Bruno Haible  <bruno@clisp.org>
111039         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
111040         the tests directory.
111041         Reported by Ralf Wildenhues.
111043 2006-11-13  Bruno Haible  <bruno@clisp.org>
111045         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
111046         (func_emit_initmacro_end): Undo the override here.
111047         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
111048         Works around the famous automake error in coreutils.
111050 2006-11-13  Eric Blake  <ebb9@byu.net>
111052         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
111053         element, not its node.
111055 2006-11-12  Bruno Haible  <bruno@clisp.org>
111057         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
111058         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
111060 2006-11-12  Bruno Haible  <bruno@clisp.org>
111062         * gnulib-tool: New option --local-symlink.
111063         (func_usage): Document it.
111064         (lsymbolic): New variable.
111065         (func_import, func_create_testdir): If --symlink was not specified,
111066         test whether --local-symlink was specified and the file comes from
111067         the local_gnulib_dir.
111069 2006-11-12  Bruno Haible  <bruno@clisp.org>
111071         * gnulib-tool (func_ln): New function.
111072         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
111074 2006-11-12  Bruno Haible  <bruno@clisp.org>
111076         Finish support for source files in subdirectories.
111077         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
111078         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
111079         AUTOMAKE_OPTIONS.
111080         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
111082 2006-11-12  Bruno Haible  <bruno@clisp.org>
111084         * gnulib-tool (func_get_automake_snippet): Synthesize also an
111085         EXTRA_lib_SOURCES augmentation.
111086         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
111088 2006-11-12  Jim Meyering  <jim@meyering.net>
111090         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
111091         file descriptors.  This also averts a failure on systems with
111092         native openat support when a traversed directory lacks "x" access.
111093         * lib/fts_.h: Include "i-ring.h"
111094         (struct FTS) [fts_fd_ring]: New member.
111095         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
111096         (FCHDIR): Add parentheses.
111097         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
111098         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
111099         When descending, rather than simply closing the previous
111100         fts_cwd_fd value, push that file descriptor onto the ring.
111101         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
111102         (fts_open): Initialize the new fd_ring member.
111103         (fts_close): Clear the ring.
111104         (fts_safe_changedir): When possible, use our new fd_ring to skip
111105         the diropen and fstat and dev/ino comparison that would normally
111106         accompany a virtual `chdir ("..")'.
111108         * modules/fts (Depends-on): Add i-ring.
111109         * modules/i-ring: New module.
111110         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
111111         * m4/i-ring.m4: New file.
111113 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111115         * gnulib-tool (func_create_testdir): Fix replacement of
111116         `build-aux' in configure.ac.  Run autotools in gltests
111117         subdirectory.
111118         (func_create_testdir, func_create_megatestdir, test): There is
111119         no need for '--force' in most autotool invocations in a new
111120         tree.  Actually fail the whole test if any of the tools, or the
111121         configure or make stages fail.
111123         Sync from Automake.
111124         * build-aux/gnupload: Revert last change.  Add pointer to upload
111125         instructions of the GNU Maintenance Instructions.
111126         Suggestion by Karl Berry.
111128 2006-11-10  Jim Meyering  <jim@meyering.net>
111130         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
111132 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
111134         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
111135         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
111136         (bind_textdomain_codeset) [! ENABLE_NLS]:
111137         Evaluate all the arguments.  That way, callers get compatible behavior
111138         if the arguments have side effects.  Also, it avoids some GCC
111139         diagnostics in some cases; Joel E. Denny reported problems when Bison
111140         was configured with --enable-gcc-warnigs.
111142 2006-11-10  Jim Meyering  <jim@meyering.net>
111144         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
111145         relevant options in CFLAGS (like -O, -fno-inline) are taken into
111146         account.
111148 2006-11-10  Jim Meyering  <jim@meyering.net>
111150         * modules/inline: New file/module.
111151         * modules/xalloc (Files): Remove m4/inline.m4.
111152         (Depends-on): Add inline, instead.
111153         * modules/oset: Likewise.
111154         * modules/list: Likewise.
111156 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
111158         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
111159         Problem reported by Matthew Woehlke.
111161 2006-11-09  Bruno Haible  <bruno@clisp.org>
111163         * lib/tempname.c (gen_tempname): Remove variant that invokes
111164         __gen_tempname.
111165         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
111166         __gen_tempname.
111168 2006-11-08  Bruno Haible  <bruno@clisp.org>
111170         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
111171         to 'yes' instead of 'cross-compiling'.
111173 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
111175         * lib/quotearg.h (quotearg_free): New decl.
111176         * lib/quotearg.c (quotearg_free): New function.
111177         (slot0, nslots, slotvec0, slotvec):
111178         Now file-scope so that quotearg_free can get at them.
111180 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111182         Sync from Automake.
111183         * build-aux/gnupload: Add missing 'gnu' to example URL.
111184         Report by Karl Berry.
111186 2006-11-08  Bruno Haible  <bruno@clisp.org>
111188         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
111189         Suggested by Paul Eggert.
111191 2006-11-08  Jim Meyering  <jim@meyering.net>
111193         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
111194         It's already included if !_LIBC.
111195         (fts_safe_changedir): Add a comment.
111197 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
111199         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
111200         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
111201         Matthew Woehlke.
111203         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
111204         definitions up, to avoid colliding with change below.
111205         (static_inline) [HAVE_INLINE]: New macro.
111206         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
111207         Provide extern decls when !HAVE_INLINE.  Do not define unless
111208         static_inline is defined, either by us or by xmalloc.c.  Use
111209         static_inline rather than static inline.
111210         (XCALLOC): Optimize sizeof(T) = 1 case.
111211         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
111213 2006-11-07  Bruno Haible  <bruno@clisp.org>
111215         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
111216         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
111217         AC_C_INLINE.
111218         * modules/xalloc (Files): Add m4/inline.m4.
111220 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111222         * README: Fix typo.
111223         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
111224         (Miscellanous Notes): ...from this.
111226 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
111228         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
111229         Mention that offsetof should be used instead of sizeof.
111230         From Bruno Haible.
111232 2006-11-07  Bruno Haible  <bruno@clisp.org>
111234         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
111236 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
111238         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
111239         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
111240         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
111241         (gl_tree_add_before, gl_tree_add_after):
111242         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
111243         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
111244         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
111245         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
111246         (gl_linked_add_after, gl_linked_add_at): Likewise.
111247         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
111248         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
111249         (gl_tree_add_before, gl_tree_add_after): Likewise.
111250         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
111251         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
111252         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
111254 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111256         * lib/gl_oset.h: Use C comment style, not C++ comment style.
111258 2006-11-06  Bruno Haible  <bruno@clisp.org>
111260         * m4/inline.m4: New file.
111261         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
111262         * modules/list (Files): Add m4/inline.m4.
111263         * modules/oset (Files): Likewise.
111265 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
111267         * lib/idcache.c: Include <stddef.h>, for offsetof.
111268         (struct userid.name): Change from char * to a flexible array member.
111269         All uses changed.
111270         * modules/idcache (Depends-on): Add flexmember.
111272         * MODULES.html.sh (Core language properties): New module flexmember.
111273         * modules/flexmember, m4/flexmember.m4: New files.
111275         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
111276         inline functions that are identical with the old xnmalloc_inline,
111277         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
111278         that we can avoid some unnecessary integer multiplications and
111279         divisions in the common case where the element size is known at
111280         compile time.
111281         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
111282         needed.
111283         (xnboundedmalloc): Remove.
111284         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
111285         arguments, for consistency with rest of this header.
111286         (xcharalloc): Rewrite using XNMALLOC.
111287         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
111288         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
111289         versions have been moved to lib/xalloc.h and renamed to be the
111290         non-*_inline versions.
111291         (xmalloc, xrealloc): Implement without reference to the xnmalloc
111292         and xnrealloc functions, since those functions are now inline and
111293         now call us.
111294         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
111295         renaming described above.
111296         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
111297         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
111298         captures the dependency in AC_C_INLINE.
111300         New module canonicalize-lgpl, proposed by Charles Wilson in
111301         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
111302         with a few small changes afterwards.
111303         * MODULES.html.sh (File system functions): New module
111304         canonicalize-lgpl.
111305         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
111306         and canonicalize_file_name.
111307         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
111308         * modules/canonicalize-lgpl: New files.
111310 2006-11-05  Bruno Haible  <bruno@clisp.org>
111312         * gnulib-tool (func_import, func_create_testdir): Create directories
111313         also for files in subdirectories of lib/.
111315 2006-11-05  Bruno Haible  <bruno@clisp.org>
111317         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
111318         ANSI C compliant.
111320 2006-11-03  Bruno Haible  <bruno@clisp.org>
111322         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
111323         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
111324         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
111325         (xnboundedmalloc): New inline function.
111326         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
111327         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
111328         xmalloc.
111329         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
111330         xmalloc.
111331         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
111332         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
111333         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
111334         xmalloc.
111335         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
111336         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
111337         xmalloc.
111338         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
111339         gl_tree_add_after): Use XMALLOC instead of xmalloc.
111340         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
111341         xmalloc.
111342         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
111343         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
111344         gl_tree_add_after): Use XMALLOC instead of xmalloc.
111345         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
111346         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
111347         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
111348         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
111350 2006-11-03  Bruno Haible  <bruno@clisp.org>
111352         * lib/c-ctype.h [C++]: Define functions without name mangling.
111353         * lib/fwriteerror.h [C++]: Likewise.
111354         * lib/gcd.h [C++]: Likewise.
111355         * lib/linebreak.h [C++]: Likewise.
111357 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
111359         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
111360         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
111361         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
111362         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
111363         Check for functions and headers just once.
111364         Check for declaration of canonicalize_file_name.
111365         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
111367 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
111369         * gnulib-tool (func_import): Fix typo in actioncmd.
111371 2006-11-02  Bruno Haible  <bruno@clisp.org>
111373         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
111374         newline sequence in the Makefile.am snippet as a space, like "make"
111375         does.
111376         Reported by Roger Persson <perrog@gmail.com>.
111378 2006-11-01  Bruno Haible  <bruno@clisp.org>
111380         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
111381         already declared in <string.h>.
111382         * lib/strcase.h (strncasecmp): Don't declare it if yes.
111384 2006-11-01  Bruno Haible  <bruno@clisp.org>
111386         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
111387         * lib/strcase.h: Include <string.h>.
111388         (strcasecmp): Define to rpl_strcasecmp here.
111390 2006-11-01  Bruno Haible  <bruno@clisp.org>
111392         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
111394 2006-11-01  Eric Blake  <ebb9@byu.net>
111396         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
111398         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
111400 2006-10-29  Bruno Haible  <bruno@clisp.org>
111402         Make it compile in C++ mode.
111403         * lib/full-write.c (full_rw): Add a cast.
111405 2006-11-01  Bruno Haible  <bruno@clisp.org>
111407         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
111408         be POSIX compliant.
111409         Reported by Roger Persson <perrog@gmail.com>.
111411 2006-11-01  Eric Blake  <ebb9@byu.net>
111413         * lib/getopt_.h: Fix comments.
111415 2006-10-31  Eric Blake  <ebb9@byu.net>
111417         * modules/tmpdir (Depends-on): Add sys_stat.
111418         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
111419         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
111420         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
111421         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
111422         tempname.
111424 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
111426         Avoid some C++ diagnostics reported by Bruno Haible.
111427         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
111428         xmalloc.
111429         (quotearg_alloc): Use xcharalloc rather than xmalloc.
111430         (struct slotvec): Move to top level.
111431         (quotearg_n_options): Rewrite to avoid xmalloc.
111432         * lib/xalloc.h (xcharalloc): New function.
111433         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
111434         [defined __cplusplus]: Add function template that provides result
111435         type propagation.  This part of the change is from Bruno Haible.
111437 2006-10-29  Bruno Haible  <bruno@clisp.org>
111439         Make it compile in C++ mode.
111440         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
111441         * lib/strnlen1.c (strnlen1): Cast memchr result.
111442         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
111443         * lib/clean-temp.c (string_equals, string_hash): Add casts.
111444         (create_temp_dir): Rename local variable 'template'.
111445         (compile_csharp_using_sscli): Add cast.
111446         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
111447         * lib/findprog.c (find_in_path): Likewise.
111448         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
111449         * lib/wait-process.c (register_slave_subprocess): Likewise.
111451 2006-10-22  Bruno Haible  <bruno@clisp.org>
111453         * modules/tsearch: New file.
111454         * lib/tsearch.h: New file.
111455         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
111456         * m4/tsearch.m4: New file.
111457         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
111459 2006-10-29  Eric Blake  <ebb9@byu.net>
111461         * lib/arcfour.c: Assume config.h.
111462         * lib/arctwo.c: Likewise.
111463         * lib/base64.c: Likewise.
111464         * lib/check-version.c: Likewise.
111465         * lib/crc.c: Likewise.
111466         * lib/des.c: Likewise.
111467         * lib/gc-gnulib.c: Likewise.
111468         * lib/gc-libgcrypt.c: Likewise.
111469         * lib/gc-pbkdf2-sha1.c: Likewise.
111470         * lib/getaddrinfo.c: Likewise.
111471         * lib/getdelim.c: Likewise.
111472         * lib/getline.c: Likewise.
111473         * lib/hmac-md5.c: Likewise.
111474         * lib/hmac-sha1.c: Likewise.
111475         * lib/iconvme.c: Likewise.
111476         * lib/md2.c: Likewise.
111477         * lib/md4.c: Likewise.
111478         * lib/memxor.c: Likewise.
111479         * lib/read-file.c: Likewise.
111480         * lib/readline.c: Likewise.
111481         * lib/rijndael-alg-fst.c: Likewise.
111482         * lib/rijndael-api-fst.c: Likewise.
111483         * lib/xgetdomainname.c: Likewise.
111485 2006-10-28  Eric Blake  <ebb9@byu.net>
111487         * lib/xstrndup.c: Assume config.h.
111489 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
111491         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
111492         stat-macros.h is now for our own macros, whereas stat_h is for
111493         macros in the <sys/stat.h> name space.
111494         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
111495         (STAT_MACROS_H): Remove.
111496         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
111497         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
111498         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
111499         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
111500         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
111501         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
111502         Move these macros to ...
111503         * lib/stat_.h: here.  Don't include stat-macros.h.
111504         * lib/canonicalize.c: Don't include stat-macros.h.
111505         * lib/chown.c: Likewise.
111506         * lib/euidaccess.c: Likewise.
111507         * lib/file-type.c: Likewise.
111508         * lib/filemode.c: Likewise.
111509         * lib/glob.c: Likewise.
111510         * lib/isapipe.c: Likewise.
111511         * lib/lchown.c: Likewise.
111512         * lib/lstat.c: Likewise.
111513         * lib/mkdir-p.c: Likewise.
111514         * lib/rmdir.c: Likewise.
111515         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
111516         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
111517         unless mkdir isn't declared, to speed up 'configure'.
111518         Always create sys/stat.h, since it's unlikely any real sys/stat.h
111519         would define all the S_* symbols.
111520         * modules/canonicalize (Depends-on):
111521         Depend on sys_stat, not stat-macros.
111522         * modules/chown: Likewise.
111523         * modules/euidaccess: Likewise.
111524         * modules/filemode: Likewise.
111525         * modules/file-type: Likewise.
111526         * modules/glob: Likewise.
111527         * modules/isapipe: Likewise.
111528         * modules/lchown: Likewise.
111529         * modules/lstat: Likewise.
111530         * modules/mkancesdirs: Likewise.
111531         * modules/rmdir: Likewise.
111532         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
111533         * modules/modechange: Likewise.
111534         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
111535         (configure.ac): Remove gl_STAT_MACROS.
111536         * modules/sys_stat (Depends-on): Remove stat-macros.
111538 2006-10-27  Bruno Haible  <bruno@clisp.org>
111540         * m4/signed.m4: Remove file.
111541         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
111542         invocation.
111543         * modules/vasnprintf (Files): Remove m4/signed.m4.
111545 2006-10-27  Bruno Haible  <bruno@clisp.org>
111547         Update to GNU gettext 0.16.
111548         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
111549         m4/inttypes-h.m4, m4/signed.m4.
111550         * m4/gettext.m4: Update to GNU gettext 0.16.
111551         * m4/intl.m4: New file, from GNU gettext.
111552         * m4/intldir.m4: New file, from GNU gettext.
111553         * config/srclist.txt: Update
111555 2006-10-27  Eric Blake  <ebb9@byu.net>
111557         * MODULES.html.sh: Document tempname.
111558         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
111559         dependencies.
111560         (Files): Move lib/tempname.c...
111561         * modules/tempname: ...to this new module.
111562         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
111563         (gl_PREREQ_TEMPNAME): Move...
111564         * m4/tempname.m4: ...to this new file.
111565         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
111566         * modules/sys_stat (Depends-on): Add stat-macros.
111567         * lib/stat_.h (includes): Pick up stat macros.
111568         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
111569         if stat macros are broken.
111570         * lib/tempname.c (includes): No need to include "stat-macros.h".
111571         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
111572         (direxists, __path_search) [!_LIBC]: Don't compile these in
111573         gnulib; the tmpdir module covers that.
111574         * lib/tempname.h: New file.
111576 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
111578         * COPYING: Explain how gnulib-tool converts licence headers.
111579         Almost all wording by Eric Blake.
111581 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
111583         * lib/mbchar.h (is_basic_table): Make read-only.
111584         * lib/mbchar.c (is_basic_table): Likewise.
111585         Reported by John Darrington.
111587 2006-10-25  Bruno Haible  <bruno@clisp.org>
111589         * lib/progname.h (set_program_name): Undefine before defining.
111591 2006-10-25  Bruno Haible  <bruno@clisp.org>
111593         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
111594         false for non-gcc C++ compilers.
111595         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
111597 2006-10-24  Bruno Haible  <bruno@clisp.org>
111599         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
111600         iconv implementations like Irix iconv.
111602 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
111604         * modules/vararrays: New file.
111605         * m4/vararrays.m4: New file, taken from diffutils.
111606         * MODULES.html.sh: New module vararrays.
111608 2006-10-24  Karl Berry  <karl@gnu.org>
111610         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
111611         Don't call GNU Unix.
111613 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111615         * users.txt: Add Libtool.
111617         Sync from Libtool:
111619         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
111621         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
111622         to gnulib's policy of including config.h unconditionally.
111624 2006-10-24  Bruno Haible  <bruno@clisp.org>
111626         * modules/wcwidth (Files): Add m4/wint_t.m4.
111627         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
111628         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
111630 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
111632         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
111633         to pacify GCC with some -W flags enabled.  Problem reported by
111634         Bruno Haible.
111636 2006-10-24  Jim Meyering  <jim@meyering.net>
111638         * MODULES.html.sh: Remove uinttostr.  It's not a module.
111639         Reported by Karl Berry.
111641 2006-10-23  Bruno Haible  <bruno@clisp.org>
111643         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
111645 2006-10-24  Bruno Haible  <bruno@clisp.org>
111647         * lib/gl_list.h: Use C comment style, not C++ comment style.
111649 2006-10-23  Eric Blake  <ebb9@byu.net>
111651         * lib/getaddrinfo.c (includes): Add missing include.
111653 2006-10-23  Bruno Haible  <bruno@clisp.org>
111654             Paul Eggert  <eggert@cs.ucla.edu>
111656         Ability to rename obstack_free.
111657         * lib/obstack.h (__obstack_free): New macro. Declare instead of
111658         obstack_free.
111659         (obstack_free): Invoke the __obstack_free macro.
111660         * lib/obstack.c (obstack_free): Use __obstack_free macro.
111662 2006-10-23  Bruno Haible  <bruno@clisp.org>
111663             Paul Eggert  <eggert@cs.ucla.edu>
111665         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
111666         __argc, __argv from the declaration. (They are defined as macros on
111667         mingw.)
111669 2006-10-22  Bruno Haible  <bruno@clisp.org>
111671         * doc/gnulib-intro.texi: New file.
111672         * doc/gnulib.texi: Include it.
111674 2006-10-21  Bruno Haible  <bruno@clisp.org>
111676         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
111677         "Introduction", "Miscellanous Notes", "Particular Modules".
111679 2006-10-21  Bruno Haible  <bruno@clisp.org>
111681         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
111682         Change mostlyclean-local rule to avoid sh syntax error from bash
111683         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
111685 2006-10-23  Jim Meyering  <jim@meyering.net>
111687         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
111688         in place of snprintf.
111690         * modules/inttostr (Files): Add lib/uinttostr.c.
111691         * lib/uinttostr.c (inttostr): New file/function.
111692         * lib/inttostr.h (uinttostr): Declare.
111693         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
111694         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
111695         Add uinttostr.
111696         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
111698 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
111700         * lib/canonicalize.c (ELOOP): Define if not already defined.
111701         Problem reported by Bruno Haible in
111702         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
111704 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
111706         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
111707         Problem reported by Perry Smith and Ville Laurikari.
111709         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
111710         uses.
111712 2006-10-19  Bruno Haible  <bruno@clisp.org>
111714         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
111715         for mingw.
111717 2006-10-19  Bruno Haible  <bruno@clisp.org>
111719         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
111720         Needed for mingw.
111722 2006-10-19  Bruno Haible  <bruno@clisp.org>
111724         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
111726 2006-10-19  Bruno Haible  <bruno@clisp.org>
111728         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
111729         it.
111731 2006-10-19  Bruno Haible  <bruno@clisp.org>
111733         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
111734         invocation.
111736 2006-10-19  Bruno Haible  <bruno@clisp.org>
111738         * gnulib-tool (func_create_testdir): Don't include ftruncate and
111739         mountlist by default.
111741 2006-10-16  Bruno Haible  <bruno@clisp.org>
111743         * lib/c-strstr.c: Include c-strstr.h.
111745 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
111747         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
111748         in a slash.
111750 2006-10-18  Bruno Haible  <bruno@clisp.org>
111752         * lib/lock.h [C++]: Wrap definitions in extern "C".
111754 2006-10-18  Bruno Haible  <bruno@clisp.org>
111756         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
111757         gl_LIBOBJS list.
111759 2006-10-18  Bruno Haible  <bruno@clisp.org>
111761         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
111763 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
111765         * lib/xstrtol.h: Include gettext.h.
111766         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
111767         Problem reported by Eric Blake.
111768         * modules/xstrtol (Depends-on): Add gettext-h.
111770 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
111772         * lib/strftime.c (advance): New macro.
111773         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
111774         incomplete type, so you can't add 0 to it.  Problem and patch
111775         reported by Eelco Dolstra for dietlibc.
111777 2006-10-18  Jim Meyering  <jim@meyering.net>
111779         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
111780         type for a local, and rename it: s/up/user_proc/.
111782 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
111784         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
111785         READ_UTMP_USER_PROCESS.
111786         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
111788 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
111790         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
111791         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
111793 2006-10-17  Eric Blake  <ebb9@byu.net>
111795         * lib/sigprocmask.c (sigprocmask): Fix typo.
111797         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
111799         * modules/clean-temp (Makefile.am): Don't add to make output...
111800         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
111801         config.h.
111803 2006-10-17  Bruno Haible  <bruno@clisp.org>
111805         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
111806         differently if DEFAULT_TEXT_DOMAIN is set.
111808 2006-10-16  Bruno Haible  <bruno@clisp.org>
111810         * lib/clean-temp.c: Include fwriteerror.h.
111812 2006-10-16  Bruno Haible  <bruno@clisp.org>
111814         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
111816 2006-10-16  Bruno Haible  <bruno@clisp.org>
111818         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
111819         * lib/sigprocmask.h: Include <sys/types.h>.
111820         (sigset_t): Use the system's definition if present.
111822 2006-10-17  Eric Blake  <ebb9@byu.net>
111824         * lib/xvasprintf.c (includes): Assume config.h.
111825         * lib/xasprintf.c (includes): Likewise.
111827 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
111829         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
111830         at least as wide as intmax_t.
111832 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
111834         (Imported from Automake.)
111835         * build-aux/gnupload: Update to version 1.1 of directive file.
111837 2006-10-16  Eric Blake  <ebb9@byu.net>
111839         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
111840         match Automake 1.10a.
111842 2006-10-14  Bruno Haible  <bruno@clisp.org>
111844         * modules/sigprocmask: New file.
111845         * lib/sigprocmask.h: New file.
111846         * lib/sigprocmask.c: New file.
111847         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
111848         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
111849         request sigprocmask.o.
111850         (gl_PREREQ_SIGPROCMASK): New macro.
111851         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
111852         (Depends-on): Add sigprocmask.
111853         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
111854         gt_SIGNALBLOCKING. Test for 'raise' only once.
111855         * lib/fatal-signal.c: Include sigprocmask.h.
111856         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
111857         unblock_fatal_signals): Define always.
111858         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
111859         sigprocmask.
111861 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
111863         Sync from Automake.
111864         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
111865         which incorrectly sets the mode of an existing destination
111866         directory.  In some cases the unpatched install-sh could do the
111867         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
111868         system.  We hope this is rare in practice, but it's clearly worth
111869         fixing.  Problem reported by Alex Unleashed in
111870         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
111871         Also, don't bother to check for -m bugs unless we're using -m;
111872         suggested by Stepan Kasal.
111874 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111876         Sync from Automake.
111877         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
111878         `-c' flag, so they appear at the same position as in %FASTDEP%
111879         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
111880         which ignores unknown options only after the first non-option.
111881         Bug report against M4 by Nelson H. F. Beebe.
111883 2006-10-13  Jim Meyering  <jim@meyering.net>
111885         Fix a bug in yesterday's change.
111886         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
111887         p->fts_statp->st_dev would be used uninitialized.
111888         Ensures that we always call fts_stat on the very first entry.
111889         Miklos Szeredi reported that find -xdev stopped working.
111891 2006-10-12  Bruno Haible  <bruno@clisp.org>
111893         * gnulib-tool (func_get_automake_snippet): Append an automatically
111894         computed EXTRA_DIST augmentation.
111895         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
111896         * modules/alloca-opt (Makefile.am): Likewise.
111897         * modules/allocsa (Makefile.am): Likewise.
111898         * modules/arcfour (Makefile.am): Likewise.
111899         * modules/arctwo (Makefile.am): Likewise.
111900         * modules/argmatch (Makefile.am): Likewise.
111901         * modules/argz (Makefile.am): Likewise.
111902         * modules/atexit (Makefile.am): Likewise.
111903         * modules/backupfile (Makefile.am): Likewise.
111904         * modules/byteswap (Makefile.am): Likewise.
111905         * modules/c-strtod (Makefile.am): Likewise.
111906         * modules/c-strtold (Makefile.am): Likewise.
111907         * modules/calloc (Makefile.am): Likewise.
111908         * modules/canon-host (Makefile.am): Likewise.
111909         * modules/canonicalize (Makefile.am): Likewise.
111910         * modules/chdir-long (Makefile.am): Likewise.
111911         * modules/chdir-safer (Makefile.am): Likewise.
111912         * modules/check-version (Makefile.am): Likewise.
111913         * modules/chown (Makefile.am): Likewise.
111914         * modules/cloexec (Makefile.am): Likewise.
111915         * modules/close-stream (Makefile.am): Likewise.
111916         * modules/closeout (Makefile.am): Likewise.
111917         * modules/crc (Makefile.am): Likewise.
111918         * modules/csharpexec (Makefile.am): Likewise.
111919         * modules/cycle-check (Makefile.am): Likewise.
111920         * modules/des (Makefile.am): Likewise.
111921         * modules/dev-ino (Makefile.am): Likewise.
111922         * modules/dirfd (Makefile.am): Likewise.
111923         * modules/dirname (Makefile.am): Likewise.
111924         * modules/dup2 (Makefile.am): Likewise.
111925         * modules/eealloc (Makefile.am): Likewise.
111926         * modules/error (Makefile.am): Likewise.
111927         * modules/euidaccess (Makefile.am): Likewise.
111928         * modules/exclude (Makefile.am): Likewise.
111929         * modules/exitfail (Makefile.am): Likewise.
111930         * modules/fcntl-safer (Makefile.am): Likewise.
111931         * modules/fcntl (Makefile.am): Likewise.
111932         * modules/file-type (Makefile.am): Likewise.
111933         * modules/fileblocks (Makefile.am): Likewise.
111934         * modules/filemode (Makefile.am): Likewise.
111935         * modules/filenamecat (Makefile.am): Likewise.
111936         * modules/fnmatch (Makefile.am): Likewise.
111937         * modules/fopen-safer (Makefile.am): Likewise.
111938         * modules/fpending (Makefile.am): Likewise.
111939         * modules/fprintftime (Makefile.am): Likewise.
111940         * modules/free (Makefile.am): Likewise.
111941         * modules/fsusage (Makefile.am): Likewise.
111942         * modules/ftruncate (Makefile.am): Likewise.
111943         * modules/fts (Makefile.am): Likewise.
111944         * modules/gc-arcfour (Makefile.am): Likewise.
111945         * modules/gc-des (Makefile.am): Likewise.
111946         * modules/gc-hmac-md5 (Makefile.am): Likewise.
111947         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
111948         * modules/gc-md4 (Makefile.am): Likewise.
111949         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
111950         * modules/gc-sha1 (Makefile.am): Likewise.
111951         * modules/gc (Makefile.am): Likewise.
111952         * modules/getaddrinfo (Makefile.am): Likewise.
111953         * modules/getcwd (Makefile.am): Likewise.
111954         * modules/getdelim (Makefile.am): Likewise.
111955         * modules/getdomainname (Makefile.am): Likewise.
111956         * modules/getgroups (Makefile.am): Likewise.
111957         * modules/gethostname (Makefile.am): Likewise.
111958         * modules/gethrxtime (Makefile.am): Likewise.
111959         * modules/getline (Makefile.am): Likewise.
111960         * modules/getloadavg (Makefile.am): Likewise.
111961         * modules/getlogin_r (Makefile.am): Likewise.
111962         * modules/getndelim2 (Makefile.am): Likewise.
111963         * modules/getopt (Makefile.am): Likewise.
111964         * modules/getpagesize (Makefile.am): Likewise.
111965         * modules/getpass-gnu (Makefile.am): Likewise.
111966         * modules/getpass (Makefile.am): Likewise.
111967         * modules/getsubopt (Makefile.am): Likewise.
111968         * modules/gettime (Makefile.am): Likewise.
111969         * modules/gettimeofday (Makefile.am): Likewise.
111970         * modules/getugroups (Makefile.am): Likewise.
111971         * modules/getusershell (Makefile.am): Likewise.
111972         * modules/glob (Makefile.am): Likewise.
111973         * modules/group-member (Makefile.am): Likewise.
111974         * modules/hard-locale (Makefile.am): Likewise.
111975         * modules/hash (Makefile.am): Likewise.
111976         * modules/hmac-md5 (Makefile.am): Likewise.
111977         * modules/hmac-sha1 (Makefile.am): Likewise.
111978         * modules/human (Makefile.am): Likewise.
111979         * modules/idcache (Makefile.am): Likewise.
111980         * modules/imaxabs (Makefile.am): Likewise.
111981         * modules/imaxdiv (Makefile.am): Likewise.
111982         * modules/inet_ntop (Makefile.am): Likewise.
111983         * modules/inet_pton (Makefile.am): Likewise.
111984         * modules/intprops (Makefile.am): Likewise.
111985         * modules/inttostr (Makefile.am): Likewise.
111986         * modules/inttypes (Makefile.am): Likewise.
111987         * modules/isapipe (Makefile.am): Likewise.
111988         * modules/javaversion (Makefile.am): Likewise.
111989         * modules/lchmod (Makefile.am): Likewise.
111990         * modules/lchown (Makefile.am): Likewise.
111991         * modules/localcharset (Makefile.am): Likewise.
111992         * modules/long-options (Makefile.am): Likewise.
111993         * modules/lstat (Makefile.am): Likewise.
111994         * modules/malloc (Makefile.am): Likewise.
111995         * modules/mathl (Makefile.am): Likewise.
111996         * modules/mbchar (Makefile.am): Likewise.
111997         * modules/md2 (Makefile.am): Likewise.
111998         * modules/md4 (Makefile.am): Likewise.
111999         * modules/md5 (Makefile.am): Likewise.
112000         * modules/memcasecmp (Makefile.am): Likewise.
112001         * modules/memchr (Makefile.am): Likewise.
112002         * modules/memcmp (Makefile.am): Likewise.
112003         * modules/memcoll (Makefile.am): Likewise.
112004         * modules/memcpy (Makefile.am): Likewise.
112005         * modules/memmem (Makefile.am): Likewise.
112006         * modules/memmove (Makefile.am): Likewise.
112007         * modules/mempcpy (Makefile.am): Likewise.
112008         * modules/memrchr (Makefile.am): Likewise.
112009         * modules/memset (Makefile.am): Likewise.
112010         * modules/memxor (Makefile.am): Likewise.
112011         * modules/mkancesdirs (Makefile.am): Likewise.
112012         * modules/mkdir-p (Makefile.am): Likewise.
112013         * modules/mkdir (Makefile.am): Likewise.
112014         * modules/mkdtemp (Makefile.am): Likewise.
112015         * modules/mkstemp (Makefile.am): Likewise.
112016         * modules/mktime (Makefile.am): Likewise.
112017         * modules/modechange (Makefile.am): Likewise.
112018         * modules/mountlist (Makefile.am): Likewise.
112019         * modules/nanosleep (Makefile.am): Likewise.
112020         * modules/obstack (Makefile.am): Likewise.
112021         * modules/openat (Makefile.am): Likewise.
112022         * modules/pagealign_alloc (Makefile.am): Likewise.
112023         * modules/pathmax (Makefile.am): Likewise.
112024         * modules/physmem (Makefile.am): Likewise.
112025         * modules/poll (Makefile.am): Likewise.
112026         * modules/posixtm (Makefile.am): Likewise.
112027         * modules/posixver (Makefile.am): Likewise.
112028         * modules/putenv (Makefile.am): Likewise.
112029         * modules/quote (Makefile.am): Likewise.
112030         * modules/quotearg (Makefile.am): Likewise.
112031         * modules/raise (Makefile.am): Likewise.
112032         * modules/read-file (Makefile.am): Likewise.
112033         * modules/readline (Makefile.am): Likewise.
112034         * modules/readlink (Makefile.am): Likewise.
112035         * modules/readtokens (Makefile.am): Likewise.
112036         * modules/readutmp (Makefile.am): Likewise.
112037         * modules/realloc (Makefile.am): Likewise.
112038         * modules/regex (Makefile.am): Likewise.
112039         * modules/rename-dest-slash (Makefile.am): Likewise.
112040         * modules/rename (Makefile.am): Likewise.
112041         * modules/rijndael (Makefile.am): Likewise.
112042         * modules/rmdir (Makefile.am): Likewise.
112043         * modules/rpmatch (Makefile.am): Likewise.
112044         * modules/safe-read (Makefile.am): Likewise.
112045         * modules/safe-write (Makefile.am): Likewise.
112046         * modules/same-inode (Makefile.am): Likewise.
112047         * modules/same (Makefile.am): Likewise.
112048         * modules/save-cwd (Makefile.am): Likewise.
112049         * modules/savedir (Makefile.am): Likewise.
112050         * modules/setenv (Makefile.am): Likewise.
112051         * modules/settime (Makefile.am): Likewise.
112052         * modules/sha1 (Makefile.am): Likewise.
112053         * modules/sig2str (Makefile.am): Likewise.
112054         * modules/snprintf (Makefile.am): Likewise.
112055         * modules/stat-macros (Makefile.am): Likewise.
112056         * modules/stat-time (Makefile.am): Likewise.
112057         * modules/stdbool (Makefile.am): Likewise.
112058         * modules/stdint (Makefile.am): Likewise.
112059         * modules/stdlib-safer (Makefile.am): Likewise.
112060         * modules/stpcpy (Makefile.am): Likewise.
112061         * modules/stpncpy (Makefile.am): Likewise.
112062         * modules/strcase (Makefile.am): Likewise.
112063         * modules/strcasestr (Makefile.am): Likewise.
112064         * modules/strchrnul (Makefile.am): Likewise.
112065         * modules/strcspn (Makefile.am): Likewise.
112066         * modules/strdup (Makefile.am): Likewise.
112067         * modules/strerror (Makefile.am): Likewise.
112068         * modules/strftime (Makefile.am): Likewise.
112069         * modules/strndup (Makefile.am): Likewise.
112070         * modules/strnlen (Makefile.am): Likewise.
112071         * modules/strpbrk (Makefile.am): Likewise.
112072         * modules/strsep (Makefile.am): Likewise.
112073         * modules/strstr (Makefile.am): Likewise.
112074         * modules/strtod (Makefile.am): Likewise.
112075         * modules/strtoimax (Makefile.am): Likewise.
112076         * modules/strtok_r (Makefile.am): Likewise.
112077         * modules/strtol (Makefile.am): Likewise.
112078         * modules/strtoll (Makefile.am): Likewise.
112079         * modules/strtoul (Makefile.am): Likewise.
112080         * modules/strtoull (Makefile.am): Likewise.
112081         * modules/strtoumax (Makefile.am): Likewise.
112082         * modules/strverscmp (Makefile.am): Likewise.
112083         * modules/sys_socket (Makefile.am): Likewise.
112084         * modules/sys_stat (Makefile.am): Likewise.
112085         * modules/sysexits (Makefile.am): Likewise.
112086         * modules/time_r (Makefile.am): Likewise.
112087         * modules/timegm (Makefile.am): Likewise.
112088         * modules/timespec (Makefile.am): Likewise.
112089         * modules/tmpfile-safer (Makefile.am): Likewise.
112090         * modules/trim (Makefile.am): Likewise.
112091         * modules/unistd-safer (Makefile.am): Likewise.
112092         * modules/unlinkdir (Makefile.am): Likewise.
112093         * modules/unlocked-io (Makefile.am): Likewise.
112094         * modules/userspec (Makefile.am): Likewise.
112095         * modules/utime (Makefile.am): Likewise.
112096         * modules/utimecmp (Makefile.am): Likewise.
112097         * modules/utimens (Makefile.am): Likewise.
112098         * modules/vasnprintf (Makefile.am): Likewise.
112099         * modules/vasprintf (Makefile.am): Likewise.
112100         * modules/vsnprintf (Makefile.am): Likewise.
112101         * modules/xalloc (Makefile.am): Likewise.
112102         * modules/xgetcwd (Makefile.am): Likewise.
112103         * modules/xnanosleep (Makefile.am): Likewise.
112104         * modules/xreadlink (Makefile.am): Likewise.
112105         * modules/xstrtod (Makefile.am): Likewise.
112106         * modules/xstrtol (Makefile.am): Likewise.
112107         * modules/xstrtold (Makefile.am): Likewise.
112108         * modules/yesno (Makefile.am): Likewise.
112109         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
112111 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
112113         * modules/error (Makefile.am): Distribute files through
112114         EXTRA_DIST, not lib_SOURCES.
112116 2006-10-12  Eric Blake  <ebb9@byu.net>
112118         * modules/error (Makefile.am): Distribute files in /lib.
112119         * modules/obstack (Makefile.am): Likewise.
112121 2006-10-12  Bruno Haible  <bruno@clisp.org>
112123         * modules/acl (Makefile.am): Distribute all files in lib/ through
112124         EXTRA_DIST.
112125         * modules/arcfour (Makefile.am): Likewise.
112126         * modules/arctwo (Makefile.am): Likewise.
112127         * modules/argmatch (Makefile.am): Likewise.
112128         * modules/argz (Makefile.am): Likewise.
112129         * modules/atexit (Makefile.am): Likewise.
112130         * modules/backupfile (Makefile.am): Likewise.
112131         * modules/c-strtod (Makefile.am): Likewise.
112132         * modules/c-strtold (Makefile.am): Likewise.
112133         * modules/calloc (Makefile.am): Likewise.
112134         * modules/canon-host (Makefile.am): Likewise.
112135         * modules/canonicalize (Makefile.am): Likewise.
112136         * modules/chdir-long (Makefile.am): Likewise.
112137         * modules/chdir-safer (Makefile.am): Likewise.
112138         * modules/check-version (Makefile.am): Likewise.
112139         * modules/chown (Makefile.am): Likewise.
112140         * modules/cloexec (Makefile.am): Likewise.
112141         * modules/close-stream (Makefile.am): Likewise.
112142         * modules/closeout (Makefile.am): Likewise.
112143         * modules/crc (Makefile.am): Likewise.
112144         * modules/cycle-check (Makefile.am): Likewise.
112145         * modules/des (Makefile.am): Likewise.
112146         * modules/dirfd (Makefile.am): Likewise.
112147         * modules/dirname (Makefile.am): Likewise.
112148         * modules/dup2 (Makefile.am): Likewise.
112149         * modules/euidaccess (Makefile.am): Likewise.
112150         * modules/exclude (Makefile.am): Likewise.
112151         * modules/exitfail (Makefile.am): Likewise.
112152         * modules/fcntl-safer (Makefile.am): Likewise.
112153         * modules/file-type (Makefile.am): Likewise.
112154         * modules/fileblocks (Makefile.am): Likewise.
112155         * modules/filemode (Makefile.am): Likewise.
112156         * modules/filenamecat (Makefile.am): Likewise.
112157         * modules/fnmatch (Makefile.am): Likewise.
112158         * modules/fopen-safer (Makefile.am): Likewise.
112159         * modules/fpending (Makefile.am): Likewise.
112160         * modules/fprintftime (Makefile.am): Likewise.
112161         * modules/free (Makefile.am): Likewise.
112162         * modules/fsusage (Makefile.am): Likewise.
112163         * modules/ftruncate (Makefile.am): Likewise.
112164         * modules/fts (Makefile.am): Likewise.
112165         * modules/gc (Makefile.am): Likewise.
112166         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
112167         * modules/getaddrinfo (Makefile.am): Likewise.
112168         * modules/getcwd (Makefile.am): Likewise.
112169         * modules/getdelim (Makefile.am): Likewise.
112170         * modules/getdomainname (Makefile.am): Likewise.
112171         * modules/getgroups (Makefile.am): Likewise.
112172         * modules/gethostname (Makefile.am): Likewise.
112173         * modules/gethrxtime (Makefile.am): Likewise.
112174         * modules/getline (Makefile.am): Likewise.
112175         * modules/getloadavg (Makefile.am): Likewise.
112176         * modules/getlogin_r (Makefile.am): Likewise.
112177         * modules/getopt (Makefile.am): Likewise.
112178         * modules/getpass (Makefile.am): Likewise.
112179         * modules/getpass-gnu (Makefile.am): Likewise.
112180         * modules/getsubopt (Makefile.am): Likewise.
112181         * modules/gettime (Makefile.am): Likewise.
112182         * modules/gettimeofday (Makefile.am): Likewise.
112183         * modules/getugroups (Makefile.am): Likewise.
112184         * modules/getusershell (Makefile.am): Likewise.
112185         * modules/glob (Makefile.am): Likewise.
112186         * modules/group-member (Makefile.am): Likewise.
112187         * modules/hard-locale (Makefile.am): Likewise.
112188         * modules/hash (Makefile.am): Likewise.
112189         * modules/hmac-md5 (Makefile.am): Likewise.
112190         * modules/hmac-sha1 (Makefile.am): Likewise.
112191         * modules/human (Makefile.am): Likewise.
112192         * modules/idcache (Makefile.am): Likewise.
112193         * modules/imaxabs (Makefile.am): Likewise.
112194         * modules/imaxdiv (Makefile.am): Likewise.
112195         * modules/inet_ntop (Makefile.am): Likewise.
112196         * modules/inet_pton (Makefile.am): Likewise.
112197         * modules/inttostr (Makefile.am): Likewise.
112198         * modules/isapipe (Makefile.am): Likewise.
112199         * modules/lchown (Makefile.am): Likewise.
112200         * modules/long-options (Makefile.am): Likewise.
112201         * modules/lstat (Makefile.am): Likewise.
112202         * modules/malloc (Makefile.am): Likewise.
112203         * modules/mathl (Makefile.am): Likewise.
112204         * modules/mbchar (Makefile.am): Likewise.
112205         * modules/md2 (Makefile.am): Likewise.
112206         * modules/md4 (Makefile.am): Likewise.
112207         * modules/md5 (Makefile.am): Likewise.
112208         * modules/memcasecmp (Makefile.am): Likewise.
112209         * modules/memchr (Makefile.am): Likewise.
112210         * modules/memcmp (Makefile.am): Likewise.
112211         * modules/memcoll (Makefile.am): Likewise.
112212         * modules/memcpy (Makefile.am): Likewise.
112213         * modules/memmem (Makefile.am): Likewise.
112214         * modules/memmove (Makefile.am): Likewise.
112215         * modules/mempcpy (Makefile.am): Likewise.
112216         * modules/memrchr (Makefile.am): Likewise.
112217         * modules/memset (Makefile.am): Likewise.
112218         * modules/memxor (Makefile.am): Likewise.
112219         * modules/mkancesdirs (Makefile.am): Likewise.
112220         * modules/mkdir (Makefile.am): Likewise.
112221         * modules/mkdir-p (Makefile.am): Likewise.
112222         * modules/mkdtemp (Makefile.am): Likewise.
112223         * modules/mkstemp (Makefile.am): Likewise.
112224         * modules/mktime (Makefile.am): Likewise.
112225         * modules/modechange (Makefile.am): Likewise.
112226         * modules/mountlist (Makefile.am): Likewise.
112227         * modules/nanosleep (Makefile.am): Likewise.
112228         * modules/openat (Makefile.am): Likewise.
112229         * modules/pagealign_alloc (Makefile.am): Likewise.
112230         * modules/physmem (Makefile.am): Likewise.
112231         * modules/poll (Makefile.am): Likewise.
112232         * modules/posixtm (Makefile.am): Likewise.
112233         * modules/posixver (Makefile.am): Likewise.
112234         * modules/putenv (Makefile.am): Likewise.
112235         * modules/quote (Makefile.am): Likewise.
112236         * modules/quotearg (Makefile.am): Likewise.
112237         * modules/raise (Makefile.am): Likewise.
112238         * modules/read-file (Makefile.am): Likewise.
112239         * modules/readline (Makefile.am): Likewise.
112240         * modules/readlink (Makefile.am): Likewise.
112241         * modules/readtokens (Makefile.am): Likewise.
112242         * modules/readutmp (Makefile.am): Likewise.
112243         * modules/realloc (Makefile.am): Likewise.
112244         * modules/regex (Makefile.am): Likewise.
112245         * modules/rename (Makefile.am): Likewise.
112246         * modules/rename-dest-slash (Makefile.am): Likewise.
112247         * modules/rijndael (Makefile.am): Likewise.
112248         * modules/rmdir (Makefile.am): Likewise.
112249         * modules/rpmatch (Makefile.am): Likewise.
112250         * modules/safe-read (Makefile.am): Likewise.
112251         * modules/safe-write (Makefile.am): Likewise.
112252         * modules/same (Makefile.am): Likewise.
112253         * modules/save-cwd (Makefile.am): Likewise.
112254         * modules/savedir (Makefile.am): Likewise.
112255         * modules/setenv (Makefile.am): Likewise.
112256         * modules/settime (Makefile.am): Likewise.
112257         * modules/sha1 (Makefile.am): Likewise.
112258         * modules/sig2str (Makefile.am): Likewise.
112259         * modules/snprintf (Makefile.am): Likewise.
112260         * modules/stdlib-safer (Makefile.am): Likewise.
112261         * modules/stpcpy (Makefile.am): Likewise.
112262         * modules/stpncpy (Makefile.am): Likewise.
112263         * modules/strcase (Makefile.am): Likewise.
112264         * modules/strcasestr (Makefile.am): Likewise.
112265         * modules/strchrnul (Makefile.am): Likewise.
112266         * modules/strcspn (Makefile.am): Likewise.
112267         * modules/strdup (Makefile.am): Likewise.
112268         * modules/strerror (Makefile.am): Likewise.
112269         * modules/strftime (Makefile.am): Likewise.
112270         * modules/strndup (Makefile.am): Likewise.
112271         * modules/strnlen (Makefile.am): Likewise.
112272         * modules/strpbrk (Makefile.am): Likewise.
112273         * modules/strsep (Makefile.am): Likewise.
112274         * modules/strstr (Makefile.am): Likewise.
112275         * modules/strtod (Makefile.am): Likewise.
112276         * modules/strtoimax (Makefile.am): Likewise.
112277         * modules/strtok_r (Makefile.am): Likewise.
112278         * modules/strtol (Makefile.am): Likewise.
112279         * modules/strtoll (Makefile.am): Likewise.
112280         * modules/strtoul (Makefile.am): Likewise.
112281         * modules/strtoull (Makefile.am): Likewise.
112282         * modules/strtoumax (Makefile.am): Likewise.
112283         * modules/strverscmp (Makefile.am): Likewise.
112284         * modules/time_r (Makefile.am): Likewise.
112285         * modules/timegm (Makefile.am): Likewise.
112286         * modules/tmpfile-safer (Makefile.am): Likewise.
112287         * modules/unistd-safer (Makefile.am): Likewise.
112288         * modules/unlinkdir (Makefile.am): Likewise.
112289         * modules/userspec (Makefile.am): Likewise.
112290         * modules/utime (Makefile.am): Likewise.
112291         * modules/utimecmp (Makefile.am): Likewise.
112292         * modules/utimens (Makefile.am): Likewise.
112293         * modules/vasnprintf (Makefile.am): Likewise.
112294         * modules/vasprintf (Makefile.am): Likewise.
112295         * modules/vsnprintf (Makefile.am): Likewise.
112296         * modules/xalloc (Makefile.am): Likewise.
112297         * modules/xgetcwd (Makefile.am): Likewise.
112298         * modules/xnanosleep (Makefile.am): Likewise.
112299         * modules/xreadlink (Makefile.am): Likewise.
112300         * modules/xstrtod (Makefile.am): Likewise.
112301         * modules/xstrtol (Makefile.am): Likewise.
112302         * modules/xstrtold (Makefile.am): Likewise.
112303         * modules/yesno (Makefile.am): Likewise.
112305 2006-10-12  Jim Meyering  <jim@meyering.net>
112307         * m4/getloadavg.m4: Revert the change below.
112309         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
112310         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
112311         fail with a symlink, which is what coreutils' ./bootstrap now
112312         creates by default.
112314 2006-10-12  Bruno Haible  <bruno@clisp.org>
112316         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
112317         mingw.
112318         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
112319         MSVC and mingw explicitly.
112321 2006-10-11  Simon Josefsson  <jas@extundo.com>
112322             Bruno Haible  <bruno@clisp.org>
112324         Add support for multiple gnulib-tool invocations in the scope of a
112325         single configure.ac file.
112326         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
112327         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
112328         with the same contents as the _LIBADD variable.
112329         (func_emit_initmacro_start, func_emit_initmacro_end,
112330         func_emit_initmacro_done): New functions.
112331         (func_import, func_create_testdir): Invoke them. Allow the identifiers
112332         gl_LIBOBJS and gl_LTLIBOBJS.
112334 2006-10-11  Bruno Haible  <bruno@clisp.org>
112336         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
112337         (func_create_testdir): Don't create po/Makefile.am, don't invoke
112338         autoreconf. Instead, invoke autopoint explicitly but move back the
112339         *.m4 files from gnulib.
112341 2006-10-11  Bruno Haible  <bruno@clisp.org>
112343         * gnulib-tool (func_usage): Make module names after --create-testdir
112344         optional.
112345         (func_create_testdir): If no module was specified, use nearly all
112346         modules.
112348 2006-10-12  Jim Meyering  <jim@meyering.net>
112350         Big performance improvement for fts-based tools that use FTS_NOSTAT.
112351         Avoid spurious inode-mismatch problems on non-POSIX file systems.
112352         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
112353         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
112354         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
112355         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
112356         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
112357         (fts_set_stat_required): New function.
112358         (fts_open): Defer the calls to fts_stat, if possible or requested.
112359         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
112360         into fts_stat itself.
112361         (fts_read): Perform any required (deferred) fts_stat call.
112362         (fts_build): Likewise, for the directory we're about to open and read.
112363         In the readdir loop, carefully decide whether each entry will require
112364         an eventual call to fts_stat, using dirent.d_type info if available.
112365         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
112366         a command line argument into this function.  Update all callers.
112367         Map a return value of FTS_DOT to FTS_D for a command line argument.
112368         * modules/fts (Depends-on): Add d-type.  Alphabetize.
112369         Thanks to Miklos Szeredi for his tenacity and for the initial
112370         bug report about "find" failing on a FUSE-based file system.
112372         * lib/fts.c (fts_open): Use consistent indentation.
112374 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
112376         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
112377         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
112378         reported by Jim Meyering.  All uses of cache variables renamed
112379         to match Autoconf's.
112380         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
112381         the other one.
112383         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
112384         Fix misspelling in diagnostic.
112386 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
112388         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
112389         defined.  Problem reported by Matthew Woehlke.
112391         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
112392         Add support for Tandem NonStop R series.
112393         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
112394         Use new macro.
112396         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
112397         (has_trailing_slash): Omit size arg; all callers changed.
112398         Omit 'inline', since it doesn't help performance and we'd
112399         need to configure it.
112400         Don't count //, ///, etc. as having a trailing slash.
112401         As a side effect, this removes a C99ism reported by Matthew Woehlke.
112402         (rpl_rename_dest_slash): On failure, use rename's errno rather
112403         than (in some cases) an incorrect or junk errno.
112404         Simplify code by removing need to compute length; this does
112405         cause it to make two passes instead of one over the file name,
112406         but it's worth it.
112408         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
112409         change, since Autoconf's version may no longer be appropriate now
112410         that we are using CVS Autoconf's version.  Add support for Tandem.
112412 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
112413             Bruno Haible  <bruno@clisp.org>
112415         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
112416         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
112417         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
112418         gl_AC_TYPE_LONG_LONG.
112420         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
112421         instead of HAVE_LONG_LONG.
112422         * lib/printf-args.c (printf_fetchargs): Likewise.
112423         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
112424         * lib/vasnprintf.c (VASNPRINTF): Likewise.
112425         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
112426         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
112427         gl_AC_TYPE_LONG_LONG.
112429 2006-10-11  Bruno Haible  <bruno@clisp.org>
112431         * m4/longlong.m4: Add comments.
112432         * m4/ulonglong.m4: Likewise.
112434 2006-10-10  Bruno Haible  <bruno@clisp.org>
112436         Make it possible to #define stpcpy, strdup to aliases.
112437         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
112438         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
112440 2006-10-10  Bruno Haible  <bruno@clisp.org>
112442         Make it possible to #define gcd to an alias.
112443         * lib/gcd.c: Include config.h.
112445 2006-10-10  Bruno Haible  <bruno@clisp.org>
112447         Make it possible to #define c_isascii to an alias.
112448         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
112449         defined. Undefine the macros before defining them, to avoid gcc
112450         warnings.
112451         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
112452         define NO_C_CTYPE_MACROS early.
112454 2006-10-10  Bruno Haible  <bruno@clisp.org>
112456         Make it possible to #define set_program_name to an alias.
112457         * lib/progname.c: Don't undefine set_program_name; instead, undefine
112458         ENABLE_RELOCATABLE early.
112460 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
112462         Port to Tandem NSK OSS, which has 64-bit signed int but at most
112463         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
112464         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
112465         More generally, don't assume that 64-bit signed int is available
112466         if unsigned int is, and vice versa.
112467         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
112468         unsigned symbols, not on their signed counterparts.
112469         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
112470         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
112471         (UINT64_C, UINTMAX_C):
112472         Likewise.
112473         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
112474         unsigned counterparts.
112475         (Have_long_long, Unsigned): New macros.
112476         (Int): Renamed from INT.
112477         (strtoimax): Use the new macros.
112478         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
112479         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
112480         * modules/inttypes (inttypes.h): Substitute
112481         HAVE_UNSIGNED_LONG_LONG_INT.
112482         * modules/stdint (stdint.h): Likewise.
112483         (Files): Add m4/ulonglong.m4.
112485 2006-10-10  Bruno Haible  <bruno@clisp.org>
112487         Fix a gcc -Wshadow warning.
112488         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
112489         to 'bucket'.
112490         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
112491         gl_linked_indexof_from_to): Likewise.
112492         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
112493         Likewise.
112494         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
112495         Likewise.
112496         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
112497         Reported by Eric Blake.
112499 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
112501         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
112502         for NetBSD.  Problem reported by Bruno Haible.
112504 2006-10-09  Jim Meyering  <jim@meyering.net>
112506         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
112507         Patch from Bruno Haible.
112509 2006-10-09  Jim Meyering  <jim@meyering.net>
112511         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
112512         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
112513         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
112515 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
112517         Don't include <config.h> twice; this doesn't work in some cases,
112518         e.g., when config.h has "#define intmax_t long long int" and
112519         we include <config.h>, <inttypes.h>, <config.h> in that order.
112520         Problem reported by Matthew Woehlke in:
112521         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
112522         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
112523         * lib/fts-cycle.c: Don't include config.h.
112524         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
112525         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
112526         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
112527         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
112528         inttypes.h.
112529         * lib/xstrtoumax.c: Likewise.
112530         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
112531         __strtol and the like, so that this module is more like its siblings.
112532         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
112533         Remove; no longer needed now that we assume gnulib inttypes.h.
112535 2006-10-08  Bruno Haible  <bruno@clisp.org>
112537         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
112538         option.
112540 2006-10-07  Jim Meyering  <jim@meyering.net>
112542         * modules/inttypes (inttypes.h): Revert what seems to have been
112543         an inadvertent part of today's change: use "|", not "/" in the
112544         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
112546 2006-10-07  Bruno Haible  <bruno@clisp.org>
112548         * modules/sublist: New file.
112550 2006-10-07  Bruno Haible  <bruno@clisp.org>
112552         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
112553         * modules/argz (argz.h): Likewise.
112554         * modules/arpa_inet (arpa/inet.h): Likewise.
112555         * modules/byteswap (byteswap.h): Likewise.
112556         * modules/configmake (configmake.h): Likewise.
112557         * modules/fcntl (fcntl.h): Likewise.
112558         * modules/fnmatch (fnmatch.h): Likewise.
112559         * modules/getopt (getopt.h): Likewise.
112560         * modules/glob (glob.h): Likewise.
112561         * modules/inttypes (inttypes.h): Likewise.
112562         * modules/netinet_in (netinet/in.h): Likewise.
112563         * modules/poll (poll.h): Likewise.
112564         * modules/stdbool (stdbool.h): Likewise.
112565         * modules/stdint (stdint.h): Likewise.
112566         * modules/sys_select (sys/select.h): Likewise.
112567         * modules/sys_socket (sys/socket.h): Likewise.
112568         * modules/sys_stat (sys/stat.h): Likewise.
112569         * modules/sysexits (sysexits.h): Likewise.
112570         * modules/unistd (unistd.h): Likewise.
112571         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
112572         Add a "DO NOT EDIT" comment to the generated file.
112573         (func_import): Likewise for gnulib-comp.m4.
112575 2006-10-07  Bruno Haible  <bruno@clisp.org>
112577         * lib/gl_sublist.h: New file.
112578         * lib/gl_sublist.c: New file.
112580 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
112582         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
112583         name (relative to the original working directory) and the file
112584         name component (relative to the temporary working directory).  All
112585         callers changed.
112586         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
112587         * lib/mkdir-p.c (make_dir_parents): Likewise.
112588         * lib/mkdir-p.h (make_dir_parents): Likewise.
112590 2006-10-06  Eric Blake  <ebb9@byu.net>
112592         Define several macros for use by the clean-temp module.
112593         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
112594         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
112595         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
112597         * lib/clean-temp.h (close_stream_temp): New declaration.
112598         * lib/clean-temp.c (includes): Pull in headers according to what
112599         other modules are in use.
112600         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
112602 2006-10-06  Bruno Haible  <bruno@clisp.org>
112604         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
112605         instead of fopen, fwriteerror.
112607 2006-10-06  Bruno Haible  <bruno@clisp.org>
112609         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
112610         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
112611         int.
112612         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
112613         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
112614         Return an error indicator.
112615         Suggested by Eric Blake.
112617 2006-10-06  Bruno Haible  <bruno@clisp.org>
112619         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
112620         Reported by Eric Blake.
112622 2006-10-06  Bruno Haible  <bruno@clisp.org>
112624         * modules/closeout (Description): Mention stderr too.
112626 2006-10-06  Bruno Haible  <bruno@clisp.org>
112627         and Paul Eggert  <eggert@cs.ucla.edu>
112629         * lib/closeout.c (close_stdout): Also close stderr.
112630         * lib/closeout.h: Update comment.
112632 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
112634         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
112635         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
112636         * lib/dirchownmod.c: Include lchown.h.
112637         * lib/lchown.c: Don't include files that lchown.h now includes.
112638         Don't declare chown, since lchown.h now does that.
112639         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
112640         (lchown): Define to rpl_chown if lchown is declared but
112641         does not exist.  Declare using a prototype if lchown is not
112642         declared.  Add a copyright notice.
112643         * lib/mkstemp.h: Include <unistd.h>.
112644         * lib/openat.c: Include lchown.h.
112646         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
112647         we now test for that separately.
112648         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
112649         rather than O_NOFOLLOW, when testing whether it's possible to
112650         avoid a race condition reliably.
112651         * lib/savewd.c (savewd_chdir): Likewise.
112653         Remove macros that are no longer needed now that stdint.h is
112654         reliable.
112655         * lib/fsusage.c (UINTMAX_MAX): Remove.
112656         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
112657         * lib/utimecmp.c (SIZE_MAX): Remove.
112659         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
112661         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
112662         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
112663         O_NOATIME works.
112665 2006-10-05  Bruno Haible  <bruno@clisp.org>
112667         * lib/gl_list.h (gl_sortedlist_search_from_to,
112668         gl_sortedlist_indexof_from_to): New declarations.
112669         (gl_list_implementation): New fields sortedlist_search_from_to,
112670         sortedlist_indexof_from_to.
112671         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
112672         inline functions.
112673         * lib/gl_list.c (gl_sortedlist_search_from_to,
112674         gl_sortedlist_indexof_from_to): New functions.
112675         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
112676         function.
112677         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
112678         (gl_array_sortedlist_search_from_to): New function.
112679         (gl_array_list_implementation): Update.
112680         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
112681         function.
112682         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
112683         (gl_carray_sortedlist_search_from_to): New function.
112684         (gl_carray_list_implementation): Update.
112685         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
112686         gl_linked_sortedlist_indexof_from_to): New functions.
112687         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
112688         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
112689         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
112690         gl_tree_sortedlist_indexof_from_to): New functions.
112691         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
112692         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
112693         Update.
112694         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
112695         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
112696         Update.
112698 2006-10-05  Bruno Haible  <bruno@clisp.org>
112700         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
112701         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
112702         (struct gl_list_implementation): Add fields search_from_to,
112703         indexof_from_to. Remove fields search, indexof.
112704         (gl_list_search): Use the search_from_to method.
112705         (gl_list_search_from, gl_list_search_from_to): New functions.
112706         (gl_list_indexof): Use the indexof_from_to method.
112707         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
112708         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
112709         (gl_list_search_from, gl_list_search_from_to): New functions.
112710         (gl_list_indexof): Use the indexof_from_to method.
112711         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
112712         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
112713         gl_array_indexof. Add start_index, end_index arguments.
112714         (gl_array_search_from_to): Renamed from gl_array_search. Add
112715         start_index, end_index arguments.
112716         (gl_array_remove, gl_array_list_implementation): Update.
112717         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
112718         gl_carray_indexof. Add start_index, end_index arguments.
112719         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
112720         start_index, end_index arguments.
112721         (gl_carray_remove, gl_carray_list_implementation): Update.
112722         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
112723         gl_linked_search. Add start_index, end_index arguments.
112724         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
112725         start_index, end_index arguments.
112726         (gl_linked_remove): Update.
112727         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
112728         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
112729         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
112730         field to 'size_t'.
112731         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
112732         gl_tree_search. Add start_index, end_index arguments.
112733         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
112734         start_index, end_index arguments.
112735         (gl_tree_remove): Update.
112736         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
112737         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
112738         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
112739         function.
112740         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
112741         gl_tree_search. Add start_index, end_index arguments.
112742         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
112743         start_index, end_index arguments.
112744         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
112745         Update.
112746         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
112748 2006-10-05  Bruno Haible  <bruno@clisp.org>
112750         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
112752         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
112753         fwriteerror_temp): New declarations.
112754         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
112755         (descriptors): New variable.
112756         (cleanup): First, close the descriptors.
112757         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
112758         fclose_temp, fwriteerror_temp): New functions.
112760 2006-10-04  Jim Meyering  <jim@meyering.net>
112762         * lib/fts.c (fts_open): Tiny comment change.
112764 2006-10-04  Bruno Haible  <bruno@clisp.org>
112766         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
112767         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
112768         gl_LOCK_BODY.
112769         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
112770         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
112771         gl_LOCK_EARLY_BODY.
112772         (gl_LOCK): Require gl_LOCK_BODY.
112774 2006-10-04  Bruno Haible  <bruno@clisp.org>
112776         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
112777         (gl_oset_search_atleast): New declaration.
112778         (struct gl_oset_implementation): Add field 'search_atleast'.
112779         (gl_oset_search_atleast): New inline function.
112780         * lib/gl_oset.c (gl_oset_search_atleast): New function.
112781         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
112782         (gl_array_oset_implementation): Update.
112783         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
112784         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
112785         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
112787 2006-10-04  Bruno Haible  <bruno@clisp.org>
112789         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
112791 2006-10-03  Bruno Haible  <bruno@clisp.org>
112793         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
112794         from gl_avltreehash_list_implementation.
112796 2006-10-03  Bruno Haible  <bruno@clisp.org>
112798         * lib/gl_oset.c (gl_oset_add): Fix return type.
112800 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
112802         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
112804 2006-10-02  Eric Blake  <ebb9@byu.net>
112806         * modules/strnlen (Depends-on): Add extensions.
112808 2006-10-02  Eric Blake  <ebb9@byu.net>
112810         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
112811         definition in 2.60+.
112813 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
112815         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
112816         checks.
112818 2006-10-02  Bruno Haible  <bruno@clisp.org>
112820         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
112821         to the AUTOMAKE_OPTIONS.
112822         Reported by Jim Meyering.
112824 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
112826         Work around bug in Solaris 10 /proc file system:
112827         /proc/self/fd/NNN/.. isn't the parent directory of
112828         the directory whose file descriptor is NNN.  This needs to
112829         be worked around at run time, not compile time, since a
112830         program might be built on Solaris 8, where things work, and
112831         run on Solaris 10.
112832         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
112833         to use the following interface instead:
112834         (OPENAT_BUFFER_SIZE): New macro.
112835         (openat_proc_name): New function.
112836         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
112837         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
112838         Likewise.
112839         * lib/openat-proc.c: New file.
112840         * modules/openat (Files): Add lib/openat-proc.c.
112841         (Depends-on): Add same-inode, stdbool.
112842         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
112844 2006-09-29  Bruno Haible  <bruno@clisp.org>
112846         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
112847         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
112848         argument. Set stdout_closed before testing for ferror, not after.
112849         (fwriteerror, fwriteerror_no_ebadf): New functions.
112851 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112853         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
112855 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
112857         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
112858         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
112860 2006-09-28  Jim Meyering  <jim@meyering.net>
112862         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
112863         Include <unistd.h>.
112865 2006-09-28  Bruno Haible  <bruno@clisp.org>
112867         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
112868         * modules/linkedhash-list (Depends-on): Likewise.
112869         * modules/rbtreehash-list (Depends-on): Likewise.
112871 2006-09-28  Bruno Haible  <bruno@clisp.org>
112873         * lib/strndup.h: Simplify the redefinition of strndup.
112874         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
112875         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
112877 2006-09-28  Bruno Haible  <bruno@clisp.org>
112879         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
112880         * lib/gl_linkedhash_list.c: Likewise.
112881         * lib/gl_rbtreehash_list.c: Likewise.
112883 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
112885         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
112886         getaddrinfo.
112888         * lib/__fpending.h: Don't include <stdio_ext.h> unless
112889         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
112890         it causes <stdio_ext.h> to cause a compile-time error.
112891         Problem reported by Nelson H. F. Beebe.
112892         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
112893         of HAVE_DECL___PENDING.
112895         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
112896         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
112897         declaration.
112899 2006-09-27  Jim Meyering  <jim@meyering.net>
112901         This file could end up with a definition for a function
112902         named __strndup, rather than rpl_strndup on a system with
112903         incomplete weak_alias support.
112904         * lib/strndup.c (strndup): Rename from __strndup.
112905         Remove #defines that used to map __strndup to strndup.
112906         Don't use K&R prototypes.
112907         Remove LIBC-related code, since this file is not sync'd with glibc.
112908         * lib/strndup.h: Revamp, accordingly.
112909         * m4/strndup.m4: Modernize.
112911 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
112913         * modules/savewd (Depends-on): Add 'raise'.
112914         * lib/savewd.c: Include <signal.h>, for 'raise'.
112916 2006-09-26  Jim Meyering  <jim@meyering.net>
112918         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
112919         when we detect Darwin 8.7.0's acl_get_file bug.
112920         Rearrange to perform the new (below) run-test while $LIBS
112921         contains any acl-related library.  Set USE_ACL at the end.
112922         (gl_ACL_GET_FILE): New function.
112924 2006-09-26  Eric Blake  <ebb9@byu.net>
112926         * lib/verror.c: Include <config.h> unconditionally.
112928 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
112930         * modules/clock-time (Maintainer): Add self.
112931         * modules/getlogin_r (Depends-on): Add extensions.
112933 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112935         * modules/clock-time: New module.
112936         * modules/nanosleep (Depends-on): Add clock-time.
112937         * modules/gethrxtime (Depends-on): Likewise.
112938         * modules/gettime (Depends-on): Likewise.
112939         * modules/settime (Depends-on): Likewise.
112941         * modules/fts-lgpl: Depend on openat.
112942         * modules/mkancesdirs: Depend on savewd.
112943         * modules/mkdir-p: Likewise.
112945 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112947         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
112949         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
112950         `gl_have_arbitrary_file_name_length_limit' to
112951         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
112952         actually works between configure runs.
112954 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112955             Bruno Haible  <bruno@clisp.org>
112957         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
112959 2006-09-25  Jim Meyering  <jim@meyering.net>
112961         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
112962         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
112964 2006-09-25  Eric Blake  <ebb9@byu.net>
112966         * gnulib-tool (func_import, func_create_testdir): Fix typos in
112967         exec's in 2006-09-18 patch when shuffling fds.
112969 2006-09-25  Bruno Haible  <bruno@clisp.org>
112971         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
112972         Reported by Jim Meyering.
112974 2006-09-24  Jim Meyering  <jim@meyering.net>
112976         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
112977         compare a pointer against a literal "0".  That caused failures with
112978         at least HP-UX's hpcc.
112980 2006-09-22  Simon Josefsson  <jas@extundo.com>
112982         * modules/gc-sha1:
112983         * modules/gc-md4:
112984         * modules/gc-hmac-sha1:
112985         * modules/gc-hmac-md5:
112986         * modules/gc-des:
112987         * modules/gc-arcfour: Distribute more files.
112989 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112991         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
112992         (gl_linked_iterator_from_to): Initialize struct completely.
112993         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
112994         (gl_tree_iterator_from_to): Likewise
112995         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
112996         * lib/gl_array_list.c [lint] (gl_array_iterator)
112997         (gl_array_iterator_from_to): Likewise.
112998         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
112999         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
113000         (gl_carray_iterator_from_to): Likewise.
113002         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
113003         * lib/md4.c (md4_process_block): Remove unused variable.
113004         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
113005         parentheses for clarity.
113007 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113009         * modules/bison-i18n (Depends-on): Add gettext.
113011 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113013         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
113014         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
113015         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
113016         also add missing comma that caused broken test.
113017         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
113018         stdlib.h, for `abort'.
113019         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
113020         variables.
113021         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
113022         include unistd.h if present, for `rmdir'.
113023         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
113024         variables.
113025         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
113026         in the process include standard headers for prototypes.
113027         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
113028         gets declared on GNU/Linux.
113029         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
113030         unistd.h, for `rmdir'.
113031         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
113033         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
113034         always true.
113035         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
113037         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
113039 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113041         * gnulib-tool (func_version): Create output all at once.  This
113042         may help avoid triggering unnecessary SIGPIPEs, and at any
113043         rate it doesn't hurt.
113045 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113046             Bruno Haible  <bruno@clisp.org>
113048         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
113049         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
113050         * m4/signed.m4 (bh_C_SIGNED): Likewise.
113052         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
113053         (gl_FUNC_VASPRINTF): Invoke it.
113055 2006-09-22  Bruno Haible  <bruno@clisp.org>
113057         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
113058         getloadavg.c as first argument.
113060 2006-09-22  Bruno Haible  <bruno@clisp.org>
113062         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
113063         at the beginning of the gl_INIT macro.
113064         * modules/getloadavg (configure.ac): Pass $gl_source_base to
113065         gl_GETLOADAVG.
113067 2006-09-22  Bruno Haible  <bruno@clisp.org>
113069         * gnulib-tool (func_create_megatestdir): Don't include the config-h
113070         module.
113071         Suggested by Ralf Wildenhues.
113073 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
113075         Import this patch from libc:
113077         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
113079         * lib/regex_internal.c (re_string_reconstruct): Handle
113080         offset < pstr->valid_raw_len && pstr->offsets_needed case.
113081         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
113082         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
113083         re_string_context_at.
113085         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
113086         now requires it.
113087         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
113088         gl_REGEX now does it for us.
113089         (gl_REGEX): Add test taken from
113090         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
113092         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
113093         Check that large offsets work.  Modernize Autoconf usages.
113094         Prefer "yes" to mean a good thing rather than a bad.
113095         Don't put "#define mkstemp" in config.h, as this might interfere
113096         with standard system headers that "#define mkstemp mkstemp64".
113098         * modules/mkstemp (Depends-on): Add extensions, so that
113099         mkstemp is visible on some platforms.
113100         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
113101         (Include): Change to "mkstemp.h" from <stdlib.h>.
113102         (Files): Add mkstemp.h.
113104         * lib/mkstemp.h: New file, since some standard headers
113105         #define mkstemp.
113106         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
113107         Include "mkstemp.h".
113108         Make the _LIBC code resemble glibc original more,
113109         e.g., use K&R style.
113110         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
113111         (mkstemp): Remove, since mkstemp.h does this for us.
113112         * lib/stdlib--.h: Include mkstemp.h.
113114         Import this patch from libc:
113116         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
113118         * lib/tempname.c (__gen_tempname): Change attempts_min
113119         into a macro.  Use preprocessor to decide how to initialize
113120         attempts [Coverity CID 67].
113122 2006-09-20  Bruno Haible  <bruno@clisp.org>
113124         * lib/mkdtemp.c: Import from libc.
113125         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
113126                 * sysdeps/posix/tempname.c (__gen_tempname): Change
113127                 attempts_min into a macro.  Use preprocessor to decide how to
113128                 initialize attempts [Coverity CID 67].
113129         2001-11-27  Paul Eggert  <eggert@twinsun.com>
113130                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
113131                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
113133 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113135         * gnulib-tool (func_exit): New function, to allow to pass the
113136         exit status portably through the trap.  Use everywhere.
113137         (--help, --version): Signal a write error.
113138         (trap): catch SIGPIPE, for write errors.
113139         Exit at the end of the trap, with the correct exit status.
113141 2006-09-19  Karl Berry  <karl@gnu.org>
113143         * doc/gnulib.texi: note about the license texinfo files.
113145 2006-09-19  Eric Blake  <ebb9@byu.net>
113147         * gnulib-tool: Avoid space-tab.
113149 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
113151         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
113152         that prevented coreutils 6.1 from building.  Problem reported
113153         by Petter Reinholdtsen.
113155 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
113157         * gnulib-tool (avoidlist): Fix typo that broke options like
113158         --avoid=lock that are used by coreutils bootstrap.
113160 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
113162         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
113163         more systematically.
113165 2006-09-18  Jim Meyering  <jim@meyering.net>
113167         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
113169 2006-09-18  Bruno Haible  <bruno@clisp.org>
113171         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
113173 2006-09-18  Bruno Haible  <bruno@clisp.org>
113175         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
113176         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
113177         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
113178         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
113179         * m4/gettext.m4: Require autoconf >= 2.52.
113180         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
113181         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
113182         of gl_cv_header_inttypes_h.
113184 2006-09-18  Bruno Haible  <bruno@clisp.org>
113186         * lib/javaversion.c: Include configmake.h.
113188 2006-09-18  Bruno Haible  <bruno@clisp.org>
113190         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
113191         avoid that the while loops be executed in a subshell.
113193 2006-09-18  Bruno Haible  <bruno@clisp.org>
113195         * MODULES.html.sh (func_module): Break long lines.
113196         Suggested by Bruce Korb <bkorb@gnu.org>.
113198 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113200         Speed up by a factor of 1.12.
113201         * gnulib-tool (nl): New variable.
113202         (func_import): Rewrite include directive extraction to only read each
113203         directive once.
113205 2006-09-17  Bruno Haible  <bruno@clisp.org>
113207         * modules/javaversion (Makefile.am): Remove DEFS setting.
113208         (Depends-on): Add configmake, for PKGDATADIR definition.
113210 2006-09-17  Bruno Haible  <bruno@clisp.org>
113212         * gnulib-tool (func_create_testdir): Rewrite all files at once.
113214 2006-09-17  Bruno Haible  <bruno@clisp.org>
113216         * gnulib-tool (func_append): New function, stolen from libtool.m4.
113217         (func_modules_transitive_closure, func_modules_add_dummy,
113218         func_modules_to_filelist, func_import, func_create_testdir,
113219         func_create_megatestdir, ...): Use it wherever possible.
113220         Suggested by Ralf Wildenhues.
113222 2006-09-16  Karl Berry  <karl@gnu.org>
113224         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
113225         to avoid sectioning errors.
113226         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
113227         [ifinfo]: blank line after @center-ed titles.
113228         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
113229         Spell FSF address consistently with others.
113230         (These changes approved by rms.)
113232 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113234         Speed up by a factor of 1.61.
113235         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
113236         already checked module names again.
113238 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113240         Speed up by a factor of 1.13.
113241         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
113242         for new_files, and the input to func_add_or_update.
113244 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113246         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
113247         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
113249 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
113251         * modules/mkancesdirs (Depends-on): Add fcntl.
113252         * modules/savewd: New file.
113253         * MODULES.html.sh (File system functions): Add savewd.
113255         * modules/configmake (Makefile.am): Add support for the
113256         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
113258 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
113260         * m4/savewd.m4: New file.
113262 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
113264         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
113265         (dirchownmod): New arg FD.  All callers changed.
113266         Use FD rather than opening the directory ourself, as opening is
113267         now the caller's responsibility.
113268         * lib/dirchownmod.h: Likewise.
113269         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
113270         hosts that require <sys/types.h> before <sys/stat.h>.  Include
113271         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
113272         (test_dir): Remove.
113273         (mkancesdirs): Return length of prefix of FILE that has already
113274         been made, or -2 if there is a child doing the work.  Redo
113275         algorithm so that it is O(N) rather than O(N**2).  Optimize away
113276         ".", and treat ".." specially since it might stray back into
113277         already-created areas.  Use a subprocess if necessary.  New arg
113278         WD; all users changed.  MAKE_DIR function should now return 1
113279         if it creates a directory that is not readable.  Return -2 if
113280         a child process is spun off.
113281         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
113282         Adjust signature to match code.
113283         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
113284         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
113285         all users changed.
113286         * lib/savewd.c, lib/savewd.h: New files.
113288 2006-09-15  Jim Meyering  <jim@meyering.net>
113290         * modules/rename-dest-slash: New module.
113291         * MODULES.html.sh (posix_compat): Add it here.
113293         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
113295 2006-09-15  Jim Meyering  <jim@meyering.net>
113297         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
113298         file.
113300         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
113302 2006-09-15  Jim Meyering  <jim@meyering.net>
113304         * lib/rename-dest-slash.c (has_trailing_slash): Use
113305         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
113306         (rpl_rename_dest_slash): Perform the cheaper trailing slash
113307         test before testing whether SRC is a directory.
113308         Suggestions from Bruno Haible.
113310         Avoid a warning about an unused variable.
113311         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
113312         into the #ifdef block where it's used.
113314         * lib/rename-dest-slash.c: New file.
113316 2006-09-14  Bruno Haible  <bruno@clisp.org>
113318         * lib/allocsa.c: Include <config.h> unconditionally.
113319         * lib/asnprintf.c: Likewise.
113320         * lib/asprintf.c: Likewise.
113321         * lib/c-strcasecmp.c: Likewise.
113322         * lib/c-strcasestr.c: Likewise.
113323         * lib/c-strncasecmp.c: Likewise.
113324         * lib/c-strstr.c: Likewise.
113325         * lib/classpath.c: Likewise.
113326         * lib/clean-temp.c: Likewise.
113327         * lib/concatpath.c: Likewise.
113328         * lib/copy-file.c: Likewise.
113329         * lib/csharpcomp.c: Likewise.
113330         * lib/csharpexec.c: Likewise.
113331         * lib/execute.c: Likewise.
113332         * lib/fatal-signal.c: Likewise.
113333         * lib/findprog.c: Likewise.
113334         * lib/fwriteerror.c: Likewise.
113335         * lib/gl_array_list.c: Likewise.
113336         * lib/gl_array_oset.c: Likewise.
113337         * lib/gl_avltree_list.c: Likewise.
113338         * lib/gl_avltree_oset.c: Likewise.
113339         * lib/gl_avltreehash_list.c: Likewise.
113340         * lib/gl_carray_list.c: Likewise.
113341         * lib/gl_linked_list.c: Likewise.
113342         * lib/gl_linkedhash_list.c: Likewise.
113343         * lib/gl_list.c: Likewise.
113344         * lib/gl_oset.c: Likewise.
113345         * lib/gl_rbtree_list.c: Likewise.
113346         * lib/gl_rbtree_oset.c: Likewise.
113347         * lib/gl_rbtreehash_list.c: Likewise.
113348         * lib/imaxabs.c: Likewise.
113349         * lib/imaxdiv.c: Likewise.
113350         * lib/javacomp.c: Likewise.
113351         * lib/javaexec.c: Likewise.
113352         * lib/javaversion.c: Likewise.
113353         * lib/linebreak.c: Likewise.
113354         * lib/localcharset.c: Likewise.
113355         * lib/lock.c: Likewise.
113356         * lib/mbchar.c: Likewise.
113357         * lib/mbswidth.c: Likewise.
113358         * lib/mkdtemp.c: Likewise.
113359         * lib/pipe.c: Likewise.
113360         * lib/printf-args.c: Likewise.
113361         * lib/printf-parse.c: Likewise.
113362         * lib/progname.c: Likewise.
113363         * lib/progreloc.c: Likewise.
113364         * lib/readlink.c: Likewise.
113365         * lib/sh-quote.c: Likewise.
113366         * lib/stpcpy.c: Likewise.
113367         * lib/stpncpy.c: Likewise.
113368         * lib/strcasecmp.c: Likewise.
113369         * lib/strcasestr.c: Likewise.
113370         * lib/strcspn.c: Likewise.
113371         * lib/striconv.c: Likewise.
113372         * lib/strncasecmp.c: Likewise.
113373         * lib/strnlen1.c: Likewise.
113374         * lib/strstr.c: Likewise.
113375         * lib/strtok_r.c: Likewise.
113376         * lib/tls.c: Likewise.
113377         * lib/tmpdir.c: Likewise.
113378         * lib/unicodeio.c: Likewise.
113379         * lib/unsetenv.c: Likewise.
113380         * lib/vasnprintf.c: Likewise.
113381         * lib/vasprintf.c: Likewise.
113382         * lib/wait-process.c: Likewise.
113383         * lib/xallocsa.c: Likewise.
113384         * lib/xsetenv.c: Likewise.
113385         * lib/xstriconv.c: Likewise.
113387 2006-09-13  Simon Josefsson  <jas@extundo.com>
113389         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
113390         that internally, suggested by Ralf Wildenhues
113391         <Ralf.Wildenhues@gmx.de>.
113393 2006-09-13  Simon Josefsson  <jas@extundo.com>
113395         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
113396         @LIBOBJS@.
113397         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
113399 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
113401         * lib/_fpending.c: Include <config.h> unconditionally, since we no
113402         longer worry about uses that don't define HAVE_CONFIG_H.
113403         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
113404         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
113405         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
113406         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
113407         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
113408         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
113409         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
113410         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
113411         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
113412         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
113413         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
113414         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
113415         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
113416         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
113417         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
113418         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
113419         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
113420         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
113421         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
113422         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
113423         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
113424         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
113425         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
113426         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
113427         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
113428         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
113429         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
113430         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
113431         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
113432         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
113433         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
113434         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
113435         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
113436         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
113437         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
113438         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
113439         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
113440         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
113441         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
113442         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
113443         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
113444         Likewise.
113446 2006-09-13  Eric Blake  <ebb9@byu.net>
113448         * lib/getopt.c: Fix typo in last commit.
113450 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
113452         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
113453         dgettext.
113455 2006-09-12  Jim Meyering  <jim@meyering.net>
113457         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
113458         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
113459         Reported by Nelson H. F. Beebe.
113461 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
113463         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
113464         program_invocation_name and program_invocation_short_name are
113465         initialized.
113466         * lib/argp-namefrob.h: Move declarations of program_invocation_name
113467         and program_invocation_short_name to argp.h, so they are visible
113468         to user programs.
113469         * lib/argp.h: Likewise
113471 2006-09-10  Bruno Haible  <bruno@clisp.org>
113473         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
113474         m4/inttypes_h.m4, m4/uintmax_t.m4.
113476 2006-09-10  Bruno Haible  <bruno@clisp.org>
113478         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
113479         gl_AC_TYPE_UINTMAX_T.
113481 2006-09-10  Bruno Haible  <bruno@clisp.org>
113483         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
113485 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
113487         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
113488         convention.  Text proposed by Bruno Haible.
113489         (struct argp_option): Document the use of N_() wrappers.
113491         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
113492         '\v', and translate the two parts separately, instead of feeding
113493         the whole string to gettext.  This allows to exclude
113494         '\v' from the strings visible to the translator by writing doc
113495         strings as N_("..") "\v" N_("..").
113497 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
113499         * config/srclist.txt: Undo latest change; the bug was fixed.
113501 2006-09-09  Bruno Haible  <bruno@clisp.org>
113503         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
113504         assignments if building a library without libtool.
113505         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
113506         in func_emit_lib_Makefile_am.
113507         (func_import): When building a static library libfoo.a, arrange to
113508         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
113509         (func_create_testdir): Likewise.
113510         * modules/gc (configure.ac, Makefile.am): If building statically,
113511         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
113512         * modules/iconvme (configure.ac, Makefile.am): Likewise.
113513         * modules/striconv (configure.ac, Makefile.am): Likewise.
113514         Based on a suggestion by Ralf Wildenhues.
113516 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113518         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
113519         Check for unistd.h too, since Autoconf doesn't assume POSIX.
113520         Also:
113522         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113523         Add year_2050_test to catch glibc bug 2821
113524         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
113526         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
113527         Prefer #ifdef to #if.
113529         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
113530         Return from 'main' instead of calling 'exit'.
113532 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113534         * lib/mktime.c (guess_time_tm): Fix bug where mktime
113535         returned the maximum time_t value rather than (time_t) -1.
113536         Problem originally reported by William Bardwell
113537         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
113539         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
113540         Moved to here ...
113541         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
113542         ... from here.
113544 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113546         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
113547         2821 is fixed.
113549 2006-09-08  Jim Meyering  <jim@meyering.net>
113551         Don't make generated files read-only.  That would bother too many
113552         people.  However, do retain the ability to work when targets are
113553         read-only: remove the destination and temporary files before writing
113554         them (when generated via sed or echo), or by using the -f option for
113555         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
113556         * modules/alloca-opt, modules/argz, modules/arpa_inet:
113557         * modules/byteswap, modules/configmake, modules/fcntl:
113558         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
113559         * modules/localcharset, modules/netinet_in, modules/poll:
113560         * modules/stdbool, modules/stdint, modules/sys_select:
113561         * modules/sys_socket, modules/sys_stat, modules/sysexits:
113563 2006-09-08  Jim Meyering  <jim@meyering.net>
113565         Avoid new build failure on FreeBSD 6.0.
113566         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
113567         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
113568         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
113570 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113572         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
113574 2006-09-07  Jim Meyering  <jim@meyering.net>
113576         Fix global typo in last change: use chmod u-w, not chmod u-x.
113577         Spotted by Paul Eggert and Bruce Korb.
113578         * modules/alloca-opt, modules/argz, modules/arpa_inet:
113579         * modules/byteswap, modules/configmake, modules/fcntl:
113580         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
113581         * modules/localcharset, modules/netinet_in, modules/poll:
113582         * modules/stdbool, modules/stdint, modules/sys_select:
113583         * modules/sys_socket, modules/sys_stat, modules/sysexits:
113585 2006-09-06  Jim Meyering  <jim@meyering.net>
113587         Make generated files be read-only.
113588         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
113589         Ensure that each generated file is now read-only.
113590         * modules/argz: Likewise.
113591         * modules/arpa_inet: Likewise.
113592         * modules/byteswap: Likewise.
113593         * modules/configmake: Likewise.
113594         * modules/fcntl: Likewise.
113595         * modules/fnmatch: Likewise.
113596         * modules/getopt: Likewise.
113597         * modules/glob: Likewise.
113598         * modules/inttypes: Likewise.
113599         * modules/netinet_in: Likewise.
113600         * modules/poll: Likewise.
113601         * modules/stdbool: Likewise.
113602         * modules/stdint: Likewise.
113603         * modules/sys_select: Likewise.
113604         * modules/sys_socket: Likewise.
113605         * modules/sys_stat: Likewise.
113606         * modules/sysexits: Likewise.
113607         * modules/localcharset: Same as above, but continue using temporary
113608         file named "t-$@" (why different?) rather than the "$@-t" used
113609         everywhere else.
113611         * modules/sysexits (Makefile.am): Replace literal occurrences
113612         of "sysexit.h" more readable, and more consistent, "$@".
113614 2006-09-06  Bruno Haible  <bruno@clisp.org>
113616         * modules/striconv: New file.
113617         * modules/xstriconv: New file.
113618         * MODULES.html.sh (Internationalization functions): Add striconv,
113619         xstriconv.
113621 2006-09-06  Bruno Haible  <bruno@clisp.org>
113623         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
113624         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
113625         not using libtool correctly.
113627 2006-09-06  Bruno Haible  <bruno@clisp.org>
113629         * lib/striconv.h: New file.
113630         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
113631         iconvstring.c.
113632         * lib/xstriconv.h: New file.
113633         * lib/xstriconv.c: New file.
113635 2006-09-06  Bruno Haible  <bruno@clisp.org>
113637         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
113638         lib_..._LDFLAGS.
113640 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113642         * lib/argz_.h: Sync from Libtool.
113644         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
113645                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
113647         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
113649 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
113651         * modules/trim: New file.
113653 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
113655         * lib/trim.h: New file.
113656         * lib/trim.c: New file.
113658 2006-09-05  Bruno Haible  <bruno@clisp.org>
113660         * MODULES.html.sh (String handling): Add trim.
113662 2006-09-04  Karl Berry  <karl@gnu.org>
113664         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
113665         until next release.
113667 2006-09-03  Bruno Haible  <bruno@clisp.org>
113669         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
113670         correctly.
113672 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
113674         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
113675         not gl_GETLOADAVG.  Omit unneeded semicolons.
113676         Problems reported by Ralf Wildenhues in
113677         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
113678         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
113679         at the end, which is the usual gnulib style.
113681         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
113682         of doing all the work ourselves.
113683         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
113684         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
113686 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
113688         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
113689         Problem reported by Ralf Wildenhues in
113690         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
113692         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
113693         HAVE_STRUCT_STATFS_F_FSTYPENAME.
113695 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
113697         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
113698         yesterday's patch by changing test -n to test -z.
113700 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
113702         * modules/getloadavg (Files): Add m4/getloadavg.m4.
113703         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
113704         the former is now obsolescent.
113706         * modules/chdir-long (Depends-on): Add fcntl.
113708 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
113710         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
113711         obsolescent, and programs should use gnulib instead.
113712         * m4/getloadavg.m4: New file, with contents taken from Autoconf
113713         but with prefixes changed.
113715 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
113717         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
113718         or stdbool.h, because they might not exist while configuring.
113720         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
113721         Don't include unistd.h or limits.h; not needed, since chdir-long.h
113722         does that for us.
113723         (O_DIRECTORY): Remove.
113725 2006-08-31  Eric Blake  <ebb9@byu.net>
113727         * gnulib-tool: Don't let emacs change spaces to TAB.
113729 2006-08-31  Bruno Haible  <bruno@clisp.org>
113731         * gnulib-tool: When calling func_import more than once, do it in a
113732         subshell.
113733         Reported by Eric Blake <ebb9@byu.net>.
113735 2006-08-31  Bruno Haible  <bruno@clisp.org>
113737         * gnulib-tool (nl): Remove variable.
113738         (sed_transform_lib_file): Use more robust test for config-h module.
113739         (func_import): Fix typo in 2006-08-25 patch.
113741 2006-08-31  Bruno Haible  <bruno@clisp.org>
113743         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
113744         specified, augment Makefile.am variables instead of assigning them.
113746 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113748         Work around a bug in both the Linux and SunOS 64-bit kernels:
113749         nanosleep mishandles sleeps for longer than 2**31 seconds.
113750         Problem reported by Frank v Waveren in
113751         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
113752         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
113753         Check for nanosleep bug.
113754         (LIB_NANOSLEEP): Append clock_gettime library if needed.
113756 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113758         Work around a bug in both the Linux and SunOS 64-bit kernels:
113759         nanosleep mishandles sleeps for longer than 2**31 seconds.
113760         Problem reported by Frank v Waveren in
113761         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
113762         * lib/nanosleep.c (BILLION): New constant.
113763         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
113764         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
113765         implementation.
113767 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113769         * modules/nanosleep (Depends-on): Add gettime.
113771 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113772         and Simon Josefsson  <jas@extundo.com>
113773         and Oskar Liljeblad  <oskar@osk.mine.nu>
113775         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
113776         * gnulib-tool (func_import): New license type 'unmodifiable license
113777         text'.
113778         * modules/fdl: Use it.  Longer description.
113779         * module/gpl, module/lgpl: New files.
113781 2006-08-30  Jim Meyering  <jim@meyering.net>
113783         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
113784         shadowing the parameter.
113786 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113788         Sync from Libtool:
113790         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113792         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
113793         sharing with gnulib.  Report by Eric Blake.
113795 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
113797         * modules/isapipe: New file.
113798         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
113800 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
113802         * modules/configmake (Makefile.am): Add a comment, and omit
113803         the CONFIGMAKE_ prefix from generated macro names.  Suggested
113804         by Bruno Haible.
113806 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
113808         * m4/isapipe.m4: New file.
113810 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
113812         * lib/isapipe.c, lib/isapipe.h: New files.
113814 2006-08-29  Jim Meyering  <jim@meyering.net>
113816         * modules/configmake (Makefile.am): Make configmake.h depend on
113817         Makefile.  Otherwise, a stale configmake.h could hang around.
113819 2006-08-29  Eric Blake  <ebb9@byu.net>
113821         * lib/error.c (error_at_line, print_errno_message): Match libc, after
113822         resolution of upstream bug 3044.
113824 2006-08-29  Bruno Haible  <bruno@clisp.org>
113826         * modules/localcharset (Depends-on): Add configmake.
113827         (Makefile.am): Remove setting of LIBDIR through DEFS.
113829 2006-08-29  Bruno Haible  <bruno@clisp.org>
113831         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
113832         defined.
113834 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113836         * modules/fcntl: New file.
113837         * modules/chdir-safer (Depends-on): Add fcntl.
113838         * modules/fts: Likewise.
113839         * modules/mkdir-p: Likewise.
113841         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
113842         This undoes the most recent change, since we're now addressing the
113843         problem in a different way.
113845         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
113846         into output, since the output might be called Makefile.am even
113847         if $makefile_name is something different.
113848         (func_import): Use $makefile_am rather than
113849         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
113850         empty.
113852         * modules/inttypes (Files): Add m4/inttypes-h.m4.
113854 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113856         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
113857         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
113858         recent change to stdint.m4, since we're now addressing the problem in a
113859         different way.
113861 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113863         * m4/fcntl_h.m4: New file.
113865 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113867         * lib/fcntl_.h: New file.
113868         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
113869         the fcntl module.
113870         * lib/dirchownmod.c: Likewise.
113871         * lib/fts.c: Likewise.
113873         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
113874         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
113875         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
113876         just before including <inttypes.h>, to avoid circular inclusion.
113878 2006-08-28  Jim Meyering  <jim@meyering.net>
113880         * doc/visibility.texi: Actually read and correct the grammar of the
113881         sentence affected by yesterday's change.
113883 2006-08-28  Eric Blake  <ebb9@byu.net>
113885         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
113886         needs wrapper.
113888 2006-08-28  Eric Blake  <ebb9@byu.net>
113890         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
113892 2006-08-28  Eric Blake  <ebb9@byu.net>
113894         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
113896 2006-08-28  Bruno Haible  <bruno@clisp.org>
113898         * modules/c-strstr: New file, from GNU gettext.
113899         * MODULES.html.sh (String handling): Add c-strstr.
113901 2006-08-28  Bruno Haible  <bruno@clisp.org>
113903         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
113904         macros.
113905         Reported by Eric Blake.
113907 2006-08-28  Bruno Haible  <bruno@clisp.org>
113909         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
113910         (VASNPRINTF): Return a string of length > INT_MAX without failing.
113911         * lib/vasprintf.c: Include errno.h, limits.h.
113912         (EOVERFLOW): New fallback definition.
113913         (vasprintf): Test here whether the string length is > INT_MAX.
113914         * lib/vsnprintf.c: Include errno.h, limits.h.
113915         (EOVERFLOW): New fallback definition.
113916         (vsnprintf): Fix bug when generated string was too long for the buffer.
113917         Test here whether the string length is > INT_MAX.
113919 2006-08-28  Bruno Haible  <bruno@clisp.org>
113921         * lib/inttypes_.h (SCNX*): Remove definitions.
113922         Reported by Eric Blake.
113924 2006-08-28  Bruno Haible  <bruno@clisp.org>
113926         * lib/c-strstr.h: New file, from GNU gettext.
113927         * lib/c-strstr.c: New file, from GNU gettext.
113929 2006-08-28  Bruno Haible  <bruno@clisp.org>
113931         * gnulib-tool: Reorder some statements.
113933 2006-08-28  Bruno Haible  <bruno@clisp.org>
113935         * gnulib-tool: New option --makefile-name.
113936         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
113937         $makefile_name.
113938         (func_import): Write $makefile_name to the cache file, and read it from
113939         there unless explicitly specified. Use $makefile_name as file name
113940         instead of Makefile.am. Adjust the recommendations accordingly.
113942 2006-08-28  Bruno Haible  <bruno@clisp.org>
113944         * gnulib-tool (func_verify_module): Check against misapplying patch.
113946 2006-08-28  Bruno Haible  <bruno@clisp.org>
113948         * gnulib-tool (func_relativize, func_relconcat): New functions.
113949         Give an error if --local-dir is given with --update.
113950         Remove trailing slashes from $local_gnulib_dir.
113951         (func_import): Store the relativized $local_gnulib_dir in
113952         gnulib-cache.m4, and read it from there if not specified explicitly.
113954 2006-08-28  Bruno Haible  <bruno@clisp.org>
113956         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
113957         is the current directory. Respect also $local_gnulib_dir.
113959 2006-08-28  Bruno Haible  <bruno@clisp.org>
113960             Simon Josefsson  <jas@extundo.com>
113962         BeOS portability.
113963         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
113965 2006-08-27  Jim Meyering  <jim@meyering.net>
113967         * doc/visibility.texi: Remove duplicate word: "pointer".
113969 2006-08-26  Bruno Haible  <bruno@clisp.org>
113971         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
113972         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
113973         (Makefile.am): Create inttypes.h from inttypes_.h.
113974         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
113976         * modules/imaxabs: New file.
113978         * modules/imaxdiv: New file.
113980 2006-08-26  Bruno Haible  <bruno@clisp.org>
113982         * m4/inttypes.m4: New file.
113983         * m4/_inttypes_h.m4: Remove file.
113984         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
113985         PRI_MACROS_BROKEN.
113986         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
113988         * m4/imaxabs.m4: New file.
113990         * m4/imaxdiv.m4: New file.
113992 2006-08-26  Bruno Haible  <bruno@clisp.org>
113994         * lib/inttypes_.h: New file.
113995         * lib/inttypes.h: Remove file.
113996         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
113998         * lib/imaxabs.c: New file.
114000         * lib/imaxdiv.c: New file.
114002 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114004         New config-h module, so that "make" output needn't be cluttered
114005         by -DHAVE_CONFIG_H.
114006         * MODULES.html.sh (Support for building libraries and executables):
114007         Add config-h.
114008         * modules/config-h: New file.
114009         * gnulib-tool (nl, sed_transform_lib_file): New vars.
114010         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
114011         the config-h module is used.
114013         New configmake module, so that "make" output needn't be cluttered
114014         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
114015         * MODULES.html.sh (Support for building libraries and executables):
114016         Add configmake.
114017         * modules/configmake: New file.
114019 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114021         * m4/config-h.m4: New file.
114023 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
114025         * config/srclist.txt: Add elisp-comp.
114027 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
114029         * MODULES.html.sh (Support for building libraries and executables):
114030         Add elisp-comp.
114031         * build-aux/elisp-comp: New file.
114032         * modules/elisp-comp: New file.
114034 2006-08-24  Bruno Haible  <bruno@clisp.org>
114036         * gnulib-tool (func_create_testdir): Use non-default values of
114037         sourcebase and m4base.
114039 2006-08-24  Bruno Haible  <bruno@clisp.org>
114041         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
114042         HTML structure.
114044 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
114046         * modules/openat (Depends-on): Add lchown.
114048 2006-08-23  Bruno Haible  <bruno@clisp.org>
114050         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
114051         of gl_LOCK_EARLY instead of gl_LOCK.
114053 2006-08-23  Bruno Haible  <bruno@clisp.org>
114055         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
114056         on OSF/1 to no.
114057         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
114059 2006-08-23  Bruno Haible  <bruno@clisp.org>
114061         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
114062         as unusable.
114064         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
114065         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
114066         (gl_LOCK): New macro.
114068 2006-08-22  Simon Josefsson  <jas@extundo.com>
114070         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
114071         to md5 module.
114073 2006-08-22  Simon Josefsson  <jas@extundo.com>
114075         * MODULES.html.sh: Add "Support for maintaining and release
114076         projects".
114078         * build-aux/gnupload: New file, from coreutils.
114080 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114082         Avoid the need for AC_LIBSOURCES in m4 macros.
114083         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
114084         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
114085         * modules/check-version (EXTRA_DIST): Add check-version.h.
114086         * modules/crc (EXTRA_DIST): Add crc.h.
114087         * modules/des (EXTRA_DIST): Add des.h.
114088         * modules/gc (EXTRA_DIST): Add gc.h.
114089         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
114090         * modules/getline (EXTRA_DIST): Add getline.h.
114091         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
114092         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
114093         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
114094         * modules/md2 (EXTRA_DIST): Add md2.h.
114095         * modules/md4 (EXTRA_DIST): Add md4.h.
114096         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
114097         * modules/read-file (EXTRA_DIST): Add read-file.h.
114098         * modules/readline (EXTRA_DIST): Add readline.h.
114099         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
114100         rijndael-api-fst.h.
114102 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114104         * m4/rijndael.m4 (gl_ARCFOUR):
114105         * m4/arctwo.m4 (gl_ARCTWO):
114106         * m4/check-version.m4 (gl_CHECK_VERSION):
114107         * m4/crc.m4 (gl_CRC):
114108         * m4/des.m4 (gl_DES):
114109         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
114110         * m4/gc.m4 (gl_GC):
114111         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
114112         * m4/getline.m4 (gl_FUNC_GETLINE):
114113         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
114114         * m4/hmac-md5.m4 (gl_HMAC_MD5):
114115         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
114116         * m4/md2.m4 (gl_MD2):
114117         * m4/md4.m4 (gl_MD4):
114118         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
114119         * m4/read-file.m4 (gl_FUNC_READ_FILE):
114120         * m4/readline.m4 (gl_FUNC_READLINE):
114121         * m4/rijndael.m4 (gl_RIJNDAEL):
114122         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
114123         to get the necessary .h files and whatnot.
114125 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114127         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
114128         gnulib rather than the other way around.
114129         * config/srclistvars.sh (COREUTILS): Remove.
114131 2006-08-22  Jim Meyering  <jim@meyering.net>
114133         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
114135         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
114137 2006-08-22  Eric Blake  <ebb9@byu.net>
114139         * modules/regexprops-generic: New file.
114140         * MODULES.html.sh (Support for building documentation): List it.
114142 2006-08-22  Eric Blake  <ebb9@byu.net>
114144         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
114145         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
114146         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
114147         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
114149 2006-08-22  Bruno Haible  <bruno@clisp.org>
114151         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
114152         and lib_LTLIBRARIES like the other lib_* variables.
114154 2006-08-22  Bruno Haible  <bruno@clisp.org>
114156         * build-aux/x-to-1.in: New file, from GNU gettext.
114158 2006-08-22  Bruno Haible  <bruno@clisp.org>
114160         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
114161         <utmpx.h> exists.
114163 2006-08-22  Bruno Haible  <bruno@clisp.org>
114165         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
114166         <utmpx.h> exists.
114168 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
114170         BeOS portability.
114171         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
114172         exist.
114173         Problem reported by Bruno Haible.
114175 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
114177         Avoid the need for AC_LIBSOURCES in m4 macros.
114178         * modules/acl (EXTRA_DIST): Add acl.h.
114179         * modules/argmatch (Files): Add m4/argmatch.m4.
114180         (configure.ac): Add gl_ARGMATCH.
114181         (EXTRA_DIST): Renamed from lib_SOURCES, for
114182         consistency with the other modules.  Remove argmatch.c.
114183         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
114184         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
114185         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
114186         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
114187         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
114188         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
114189         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
114190         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
114191         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
114192         * modules/closeout (EXTRA_DIST): Add closeout.h.
114193         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
114194         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
114195         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
114196         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
114197         dirname.h; remove basename.c and stripslash.c.
114198         * modules/exclude (EXTRA_DIST): Add exclude.h.
114199         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
114200         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
114201         * modules/file-type (EXTRA_DIST): Add file-type.h.
114202         * modules/filemode (EXTRA_DIST): Add filemode.h.
114203         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
114204         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
114205         * modules/fpending (EXTRA_DIST): Add __fpending.h.
114206         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
114207         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
114208         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
114209         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
114210         * modules/getdate (EXTRA_DIST): Add getdate.c.
114211         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
114212         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
114213         * modules/getpass (EXTRA_DIST): Add getpass.h.
114214         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
114215         * modules/group-member (EXTRA_DIST): Add group-member.h.
114216         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
114217         * modules/hash (EXTRA_DIST): Add hash.h.
114218         * modules/human (EXTRA_DIST): Add human.h.
114219         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
114220         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
114221         * modules/lchown (EXTRA_DIST): Add lchown.h.
114222         * modules/long-options (EXTRA_DIST): Add long-options.h.
114223         * modules/lstat (EXTRA_DIST): Add lstat.h.
114224         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
114225         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
114226         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
114227         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
114228         * modules/memxor (EXTRA_DIST): Add memxor.h.
114229         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
114230         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
114231         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
114232         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
114233         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
114234         * modules/physmem (EXTRA_DIST): Add physmem.h.
114235         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
114236         * modules/posixver (EXTRA_DIST): Add posixver.h.
114237         * modules/quote (EXTRA_DIST): Add quote.h.
114238         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
114239         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
114240         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
114241         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
114242         regex_internal.h regexec.c.
114243         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
114244         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
114245         * modules/same (EXTRA_DIST): Add same.h.
114246         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
114247         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
114248         * modules/savedir (EXTRA_DIST): Add savedir.h.
114249         * modules/sha1 (EXTRA_DIST): Add sha1.h.
114250         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
114251         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
114252         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
114253         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
114254         * modules/strdup (EXTRA_DIST): Add strdup.h.
114255         * modules/strftime (EXTRA_DIST): Add strftime.h.
114256         * modules/strndup (EXTRA_DIST): Add strndup.h.
114257         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
114258         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
114259         * modules/time_r (EXTRA_DIST): Add time_r.h.
114260         * modules/timespec (EXTRA_DIST): Add timespec.h.
114261         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
114262         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
114263         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
114264         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
114265         * modules/userspec (EXTRA_DIST): Add userspec.h.
114266         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
114267         * modules/utimens (EXTRA_DIST): Add utimens.h.
114268         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
114269         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
114270         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
114271         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
114272         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
114273         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
114274         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
114275         * modules/yesno (EXTRA_DIST): Add yesno.h.
114277 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
114279         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
114281         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
114282         * m4/dev-ino.m4, same-inode.m4: Remove.
114284         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
114285         * m4/acl.m4 (AC_FUNC_ACL):
114286         * m4/backupfile.m4 (gl_BACKUPFILE):
114287         * m4/c-strtod.m4 (gl_C99_STRTOLD):
114288         * m4/canon-host.m4 (gl_CANON_HOST):
114289         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
114290         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
114291         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
114292         * m4/cloexec.m4 (gl_CLOEXEC):
114293         * m4/close-stream.m4 (gl_CLOSE_STREAM):
114294         * m4/closeout.m4 (gl_CLOSEOUT):
114295         * m4/dirfd.m4 (gl_FUNC_DIRFD):
114296         * m4/dirname.m4 (gl_DIRNAME):
114297         * m4/exclude.m4 (gl_EXCLUDE):
114298         * m4/exitfail.m4 (gl_EXITFAIL):
114299         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
114300         * m4/file-type.m4 (gl_FILE_TYPE):
114301         * m4/filemode.m4 (gl_FILEMODE):
114302         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
114303         * m4/fpending.m4 (gl_FUNC_FPENDING):
114304         * m4/fprintftime.m4 (gl_FPRINTFTIME):
114305         * m4/fts.m4 (gl_FUNC_FTS):
114306         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
114307         * m4/getdate.m4 (gl_GETDATE):
114308         * m4/gethrxtime.m4 (gl_GETHRXTIME):
114309         * m4/getpagesize.m4 (gl_GETPAGESIZE):
114310         * m4/getpass.m4 (gl_FUNC_GETPASS):
114311         * m4/gettime.m4 (gl_GETTIME):
114312         * m4/getugroups.m4 (gl_GETUGROUPS):
114313         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
114314         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
114315         * m4/hard-locale.m4 (gl_HARD_LOCALE):
114316         * m4/hash.m4 (gl_HASH):
114317         * m4/idcache.m4 (gl_IDCACHE):
114318         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
114319         * m4/lchown.m4 (gl_FUNC_LCHOWN):
114320         * m4/long-options.m4 (gl_LONG_OPTIONS):
114321         * m4/lstat.m4 (gl_FUNC_LSTAT):
114322         * m4/md5.m4 (gl_MD5):
114323         * m4/memcasecmp.m4 (gl_MEMCASECMP):
114324         * m4/memcoll.m4 (gl_MEMCOLL):
114325         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
114326         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
114327         * m4/memxor.m4 (gl_MEMXOR):
114328         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
114329         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
114330         * m4/modechange.m4 (gl_MODECHANGE):
114331         * m4/mountlist.m4 (gl_MOUNTLIST):
114332         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
114333         * m4/openat.m4 (gl_FUNC_OPENAT):
114334         * m4/pathmax.m4 (gl_PATHMAX):
114335         * m4/physmem.m4 (gl_PHYSMEM):
114336         * m4/posixtm.m4 (gl_POSIXTM):
114337         * m4/posixver.m4 (gl_POSIXVER):
114338         * m4/quote.m4 (gl_QUOTE):
114339         * m4/quotearg.m4 (gl_QUOTEARG):
114340         * m4/readtokens.m4 (gl_READTOKENS):
114341         * m4/readutmp.m4 (gl_READUTMP):
114342         * m4/regex.m4 (gl_REGEX):
114343         * m4/safe-read.m4 (gl_SAFE_READ):
114344         * m4/safe-write.m4 (gl_SAFE_WRITE):
114345         * m4/same.m4 (gl_SAME):
114346         * m4/save-cwd.m4 (gl_SAVE_CWD):
114347         * m4/savedir.m4 (gl_SAVEDIR):
114348         * m4/settime.m4 (gl_SETTIME):
114349         * m4/sha1.m4 (gl_SHA1):
114350         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
114351         * m4/stat-macros.m4 (gl_STAT_MACROS):
114352         * m4/stat-time.m4 (gl_STAT_TIME):
114353         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
114354         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
114355         * m4/strdup.m4 (gl_FUNC_STRDUP):
114356         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
114357         * m4/strndup.m4 (gl_FUNC_STRNDUP):
114358         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
114359         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
114360         * m4/time_r.m4 (gl_TIME_R):
114361         * m4/timespec.m4 (gl_TIMESPEC):
114362         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
114363         * m4/unlinkdir.m4 (gl_UNLINKDIR):
114364         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
114365         * m4/userspec.m4 (gl_USERSPEC):
114366         * m4/utimecmp.m4 (gl_UTIMECMP):
114367         * m4/utimens.m4 (gl_UTIMENS):
114368         * m4/xalloc.m4 (gl_XALLOC):
114369         * m4/xgetcwd.m4 (gl_XGETCWD):
114370         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
114371         * m4/xreadlink.m4 (gl_XREADLINK):
114372         * m4/xstrtod.m4 (gl_XSTRTOD):
114373         * m4/yesno.m4 (gl_YESNO):
114374         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
114375         to get the necessary .h files and whatnot.
114377 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
114378             Bruno Haible  <bruno@clisp.org>
114380         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
114381         /bin/sh understanding of '!' conditional negation.
114383 2006-08-21  Jim Meyering  <jim@meyering.net>
114385         * modules/openat (Depends-on): Really alphabetize.
114387         * modules/acl (Depends-on): Add error and quote.
114389         * check-module (find_included_lib_files): Add at-func.c to the
114390         ok-to-include-more-than-once white list.
114392         * modules/openat (Depends-on): Add lstat.  Alphabetize.
114394 2006-08-21  Bruno Haible  <bruno@clisp.org>
114396         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114397         Emit a pkgdata_DATA variable only if some snippets add contents to it.
114398         Reported by Martin Lambers <marlam@marlam.de>.
114400 2006-08-21  Bruno Haible  <bruno@clisp.org>
114402         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
114403         specify an installation location, don't emit a noinst_LIBRARIES or
114404         noinst_LTLIBRARIES assignment.
114406 2006-08-21  Bruno Haible  <bruno@clisp.org>
114408         BeOS portability.
114409         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
114410         BeOS has mbrtowc() but no <wctype.h>.
114412 2006-08-21  Bruno Haible  <bruno@clisp.org>
114414         BeOS portability.
114415         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
114416         exist.
114418 2006-08-21  Bruno Haible  <bruno@clisp.org>
114420         BeOS portability.
114421         * lib/mbchar.h: Include <wctype.h> only if it exists.
114423 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114425         Remove files that are no longer needed by their respective modules.
114426         * m4/obstack.m4: Remove.
114427         * m4/strerror_r.m4: Remove.
114428         * m4/uint32_t.m4: Remove.
114429         * m4/uintptr_t.m4: Remove.
114430         * m4/ullong_max.m4: Remove.
114431         * m4/xstrtoimax.m4: Remove.
114432         * m4/xstrtoumax.m4: Remove.
114434         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
114435         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
114436         dependencies now capture this.
114438         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
114439         Do not use AC_LIBSOURCES, since gnulib modules now do this.
114440         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
114441         * m4/human.m4 (gl_HUMAN): Likewise.
114442         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
114443         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
114445         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
114447         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
114448         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
114449         stdint.
114450         * m4/human.m4 (gl_HUMAN): Likewise.
114451         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
114452         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
114453         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
114454         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
114455         * m4/xstrtol (gl_XSTRTOL): Likewise.
114457         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
114458         AC_TYPE_LONG_LONG_INT.
114459         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
114460         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
114461         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
114462         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
114464         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
114465         on stdbool.
114467         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
114468         (gl_PREREQ_XSTRTOUL): Remove.
114470         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
114472         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
114473         mode.
114475 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114477         Add and change modules to make it easier for coreutils to use
114478         gnulib-tool.
114479         * modules/backupfile (Files): Remove m4/d-ino.m4.
114480         (Depends-on): Add d-ino.
114481         * modules/cycle-check (Depends-on): Add stdint.
114482         (lib_SOURCES): Add cycle-check.h.
114483         * modules/d-ino: New module.
114484         * modules/d-type: New module.
114485         * modules/error (Files): Remove m4/strerror_r.m4.
114486         * modules/filemode (Files): Add m4/st_dm_mode.m4.
114487         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
114488         m4/inttypes_h.m4, m4/uintmax_t.m4.
114489         (Depends-on): Add stdint.
114490         (lib_SOURCES): Add fsusage.h.
114491         * modules/getcwd (Files): Remove d-ino.m4.
114492         (Depends-on): Add d-ino.
114493         * modules/getndelim2 (Depends-on): Add stdint.
114494         * modules/glob (Files): Remove m4/d-type.m4.
114495         (Depends-on): Add d-type.
114496         * modules/host-os: New module.
114497         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
114498         m4/inttypes_h.m4, m4/uintmax_t.m4.
114499         * Depends-on: Add stdint.
114500         (lib_SOURCES): Add human.h.
114501         * modules/inttostr (Files): Remove m4/intmax_t.m4,
114502         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
114503         m4/uintmax_t.m4, m4/ulonglong.m4.
114504         (Depends-on): Add stdint.
114505         (EXTRA_DIST): Add inttostr.h.
114506         * modules/lchmod: New module.
114507         * modules/link-follow: New module.
114508         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
114509         (Depends-on): Add lchmod.
114510         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
114511         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
114512         (Depends-on): Add stdint.
114513         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
114514         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
114515         (Depends-on): Add stdint.
114516         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
114517         * modules/perl: New module.
114518         * modules/regex (Depends-on): Add stdint.
114519         * modules/rmdir-errno: New module.
114520         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
114521         m4/intmax_t.m4.
114522         (Depends-on): Add stdint.
114523         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
114524         m4/uintmax_t.m4.
114525         (Depends-on): Add stdint.
114526         * modules/unlink-busy: New module.
114527         * modules/utimecmp (Depends-on): Add stdint.
114528         * modules/uptime: New module.
114529         * modules/winsz-ioctl: New module.
114530         * modules/winsz-termios: New module.
114531         * modules/xnanosleep (Depends-on): Add nanosleep.
114532         * modules/ullong_max: Remove.
114533         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
114534         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
114535         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
114536         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
114537         (Depends-on): Add inttypes.
114538         (lib_SOURCES): Add xstrtol.h.
114539         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
114540         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
114541         * MODULES.html.sh: Move 'assert' into the assert section.
114542         Move 'dummy' into the linking section.
114543         Remove ullong_max.
114544         Add section for compatibility checks for POSIX:2001 functions,
114545         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
114546         winsz-ioctl, and winsz-termios into it.
114547         Add lchmod.
114548         Add top-level Misc section and put host-os, perl, and uptime
114549         into it.
114551 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114553         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
114554         now assume the stdint module.  Do not include inttypes.h.
114555         * lib/fsusage.h: Likewise.
114556         * lib/getndelim2.c: Likewise.
114557         * lib/human.h: Likewise.
114558         * lib/inttostr.h: Likewise.
114559         * lib/obstack.c: Likewise.
114560         * lib/regex_internal.h: Likewise.
114561         * lib/tempname.c: Likewise.
114562         * lib/utimecmp.c: Likewise.
114563         * lib/xstrtol.h: Likewise.
114565         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
114567         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
114568         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
114569         * lib/xtime.h: Likewise.
114571 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
114573         * modules/openat (Files): Add lib/fchmodat.c.
114574         Fixes problem reported by Jay Youngman.
114576 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
114578         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
114579         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
114581 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
114582             Bruno Haible  <bruno@clisp.org>
114584         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
114585         and is a script that invokes bison. Tighten the code. Add comments.
114587 2006-08-18  Jim Meyering  <jim@meyering.net>
114589         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
114590         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
114591         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
114592         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
114594 2006-08-18  Bruno Haible  <bruno@clisp.org>
114596         * modules/bison-i18n: New file.
114597         * MODULES.html.sh (Internationalization functions): Add it.
114599 2006-08-18  Bruno Haible  <bruno@clisp.org>
114601         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
114602         sys/statvfs.h. When getmntinfo was found, check its declaration and
114603         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
114605 2006-08-18  Bruno Haible  <bruno@clisp.org>
114607         * m4/bison-i18n.m4: New file, from bison.
114609 2006-08-18  Bruno Haible  <bruno@clisp.org>
114611         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
114612         (ME_DUMMY): Treat "kernfs" as a dummy.
114613         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
114615 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
114617         Update from coreutils.
114619         2006-08-15  Jim Meyering  <jim@meyering.net>
114621         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
114623         2006-01-17  Jim Meyering  <jim@meyering.net>
114625         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
114627         2006-01-11  Jim Meyering  <jim@meyering.net>
114629         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
114630         Check for the lchmod function.
114632 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
114634         Update from coreutils.
114636         * lib/__fpending.h: Add copyright notice.
114637         * lib/fprintftime.h: Likewise.
114638         * lib/savedir.c: Use (C) in copyright notice.
114639         * lib/savedir.h: Likewise.
114641         2006-08-15  Jim Meyering  <jim@meyering.net>
114643         * lib/at-func.c: New file, with the logic of all emulated at-functions.
114644         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
114645         in support of the EXPECTED_ERRNO macro.
114646         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
114647         definitions.  Instead, define the appropriate symbols and include
114648         "at-func.c".
114649         * lib/mkdirat.c (mkdirat): Likewise.
114650         * lib/fchmodat.c (fchmodat): Likewise.
114651         (ENOSYS): Remove definition.
114652         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
114653         it.  Don't include "unistd--.h" -- it wasn't ever used.
114655         2006-01-17  Jim Meyering  <jim@meyering.net>
114657         Rewrite fts.c not to change the current working directory,
114658         by using openat, fstatat, fdopendir, etc..
114660         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
114661         (HAVE_OPENAT_SUPPORT): Define.
114662         [_LIBC] (fchdir): Don't undef or define; no longer used.
114663         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
114664         Now, this `function' always succeeds, and consumes its file descriptor
114665         parameter -- so callers must not close such FDs.  Update callers.
114666         (diropen_fd, opendirat, cwd_advance_fd): New functions.
114667         (diropen): Add parameter, SP.  Adjust all callers.
114668         Implement using diropen_fd, rather than open.
114669         (fts_open): Initialize new member, fts_cwd_fd.
114670         Remove fts_rft-setting code.
114671         (fts_close): Close fts_cwd_fd, if necessary.
114672         (__opendir2): Define in terms of opendir or opendirat,
114673         depending on whether the FST_NOCHDIR flag is set.
114674         (fts_build): Since fts_safe_changedir consumes its FD, and since
114675         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
114676         and close the dup'd file descriptor upon failure.
114677         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
114678         (fts_safe_changedir): Tweak semantics to reflect that this function
114679         now calls cwd_advance_fd and hence consumes its FD argument.
114680         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
114681         [struct FTS] (fts_rft): Remove now-unused member.
114682         [struct FTS] (fts_cycle.state): Improve comment.
114684         * lib/openat.c (openat_needs_fchdir): New function.
114685         * lib/openat.h (openat_needs_fchdir): Declare it.
114687 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
114689         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
114690         Problem and fix reported by Pádraig Brady in
114691         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
114693 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114695         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
114697 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114699         * lib/memcoll.c (memcoll): Optimize for the common case where the
114700         arguments are bytewise equal.
114702 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114704         * doc/regexprops-generic.texi: Add a copyright notice.
114706 2006-08-15  Bruno Haible  <bruno@clisp.org>
114708         * modules/tmpdir (License): Change to LGPL.
114710 2006-08-15  Bruno Haible  <bruno@clisp.org>
114712         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
114713         module.
114715 2006-08-14  Simon Josefsson  <jas@extundo.com>
114717         * config/srclist.txt: Add gnupload.
114719 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114721         Change copyright notice from LGPL 2 to GPL 2, since that's the
114722         standard form used in the gnulib repository.
114723         * tests/test-lock.c: Likewise.
114724         * tests/test-stdint.c: Likewise.
114725         * tests/test-tls.c: Likewise.
114727         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
114728         prelude-manager.  User shorter URLs for GNU projects, without '?'.
114729         Add copyright notice.
114731         * check-module: Add copyright notice.  Output a copyright
114732         notice if "--version" is specified.
114733         * modules/COPYING: New file.
114734         * tests/test-getaddrinfo.c: Add copyright notice.
114735         * tests/test-verify.c: Likewise.
114737 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114739         Change copyright notice from LGPL 2 to GPL 2, since that's the
114740         standard form used in the gnulib repository.
114741         * lib/lock.c: LGPL -> GPL.
114742         * lib/lock.h: Likewise.
114743         * lib/strnlen1.c: Likewise.
114744         * lib/strnlen1.h: Likewise.
114745         * lib/tls.c: Likewise.
114746         * lib/tls.h: Likewise.
114747         * lib/tmpdir.c: Likewise.
114749         * lib/TODO: Remove; this belongs only in coreutils.
114751 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114753         Add copyright notices to long-enough files that lack them, since
114754         otherwise the files aren't clearly free.  Use the same notice that
114755         getdate.texi already uses.
114756         * doc/alloca-opt.texi: Add copyright notice.
114757         * doc/alloca.texi: Likewise.
114758         * doc/ctime.texi: Likewise.
114759         * doc/functions.texi: Likewise.
114760         * doc/gcd.texi: Likewise.
114761         * doc/gnulib-tool.texi: Likewise.
114762         * doc/inet_ntoa.texi: Likewise.
114763         * doc/visibility.texi: Likewise.
114765         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
114766         * doc/quote.texi: Add copyright notice.
114768         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
114769         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
114770         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
114771         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
114772         is now obsolete, and give a pointer to the Sun list.
114773         Add copyright notice.
114775 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114777         * config/srclistvars.sh: Add copyright notice.
114779 2006-08-14  Eric Blake  <ebb9@byu.net>
114781         Import the following change from libc:
114783         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
114785         Upstream bug 2997.
114786         * lib/misc/error.c: Add space between program name and message if file
114787         name is missing.
114789 2006-08-12  Karl Berry  <karl@gnu.org>
114791         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
114792         remove, these originate in gnulib now.
114794 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114796         * doc/Makefile (standards.info standards.html standards.dvi):
114797         Also depend on make-stds.texi.
114799 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
114801         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
114802         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
114804         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
114805         in wchar_t.  Problem reported by Eric Blake.
114807         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
114808         LEN is smaller than SIZE.  Suggested by Bruno Haible.
114809         Also, help the compiler to keep LEN in a register.
114811 2006-08-11  Eric Blake  <ebb9@byu.net>
114813         * users.txt: Sort.  Add tar.
114815 2006-08-11  Bruno Haible  <bruno@clisp.org>
114817         * users.txt: New file.
114819 2006-08-11  Bruno Haible  <bruno@clisp.org>
114821         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
114822         before <wchar.h>. Needed for OSF/1 and BSD/OS.
114824 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
114826         * modules/snprintf (Depends-on): Remove minmax.
114827         (Maintainer): Add self and Bruno.
114829 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
114831         * lib/.cppi-disable: Add snprintf.h, socket_.h.
114832         * lib/snprintf.c: Include <errno.h> and <limits.h>.
114833         (EOVERFLOW): Define if the system does not.
114834         Do not include "minmax.h"; it wasn't used.
114835         (snprintf): Don't assume size_t promotes to an unsigned type.
114836         Fix bug when generated string was too long for the buffer: the
114837         buffer's contents are supposed to be the initial prefix of the
114838         output.  Don't assume vasnprintf returns EOVERFLOW if the size
114839         exceeds INT_MAX; do the check ourselves.
114841         Import the following changes from libc:
114843         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
114845         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
114846         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
114847         set wc to the byte which couldn't be converted.
114848         (re_string_reconstruct): Don't clear valid_raw_len before calling
114849         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
114850         tip_context using re_string_context_at.
114852         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
114854         * lib/posix/regex.h: g++ still cannot handled [restrict].
114856         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
114858         * lib/posix/regex.h: Remove special handling for VMS.
114860 2006-08-10  Jim Meyering  <jim@meyering.net>
114862         * modules/same-inode: New module.
114863         * modules/dev-ino: New module.
114864         * modules/cycle-check: Depend on these modules, rather than simply
114865         including their .h files.
114866         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
114867         required via m4/cycle-check.m4.
114868         * modules/same: Depend on new same-inode module, rather than
114869         including same-inode.h.
114870         * modules/chdir-safer: New file.
114872         * modules/chown (Depends-on): Add stat-macros.
114874 2006-08-10  Jim Meyering  <jim@meyering.net>
114876         * m4/cycle-check.m4: New file.
114877         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
114878         * m4/dev-ino.m4, m4/same-inode.m4: New files.
114880 2006-08-10  Eric Blake  <ebb9@byu.net>
114882         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
114883         in from original proposal.
114885 2006-08-10  Eric Blake  <ebb9@byu.net>
114886         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
114888         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
114889         namespace.
114891 2006-08-10  Bruno Haible  <bruno@clisp.org>
114893         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
114894         as well.
114896 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
114898         Sync from coreutils.
114900         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
114902         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
114903         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
114905 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
114907         * modules/restrict: Remove; no longer needed now that we assume
114908         Autoconf 2.59 or later.
114909         * MODULES.html.sh: Remove 'restrict'.
114910         * modules/argp (Depends-on): Remove 'restrict'.
114911         * modules/base64 (Depends-on): Likewise.
114912         * modules/gc (Depends-on): Likewise.
114913         * modules/getaddrinfo (Depends-on): Likewise.
114914         * modules/glob (Depends-on): Likewise.
114915         * modules/inet_ntop (Depends-on): Likewise.
114916         * modules/inet_pton (Depends-on): Likewise.
114917         * modules/memxor (Depends-on): Likewise.
114918         * modules/regex (Depends-on): Likewise.
114919         * modules/strtok_r (Depends-on): Likewise.
114920         * modules/time_r (Depends-on): Likewise.
114922 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
114924         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
114925         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
114926         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
114927         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
114928         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
114929         * m4/memxor.m4 (gl_MEMXOR): Likewise.
114930         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
114931         gl_C_RESTRICT replaced by AC_C_RESTRICT.
114933         Merge from coreutils.
114934         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
114935         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
114936         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
114937         * m4/time_r.m4 (gl_TIME_R): Likewise.
114939 2006-08-09  Karl Berry  <karl@gnu.org>
114941         * config/srclist.txt: no more gettext-tools, per Bruno.
114943 2006-08-08  Eric Blake  <ebb9@byu.net>
114945         * modules/verror: New module.
114946         * MODULES.html.sh: Document it.
114948 2006-08-08  Eric Blake  <ebb9@byu.net>
114950         * lib/verror.h, lib/verror.c: New files.
114952 2006-08-08  Eric Blake  <ebb9@byu.net>
114954         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
114955         verror_at_line output complies with GNU Coding Standards even when
114956         file is NULL.
114958 2006-08-07  Bruno Haible  <bruno@clisp.org>
114960         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
114961         versions of AIX.
114962         Reported by Ralf Wildenhues.
114964 2006-08-07  Bruno Haible  <bruno@clisp.org>
114966         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
114967         in an AC_DEFUN. Needed so that the autoconf snippets can use
114968         AC_REQUIRE.
114970 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114972         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114973         Initialize pkgdata_DATA.
114974         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
114975         overriding it.
114977 2006-08-06  Eric Blake  <ebb9@byu.net>
114979         * lib/error.h: Fold in some upstream changes from glibc.
114980         * lib/error.c: Likewise.
114982 2006-08-04  Bruno Haible  <bruno@clisp.org>
114984         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114985         Make the mostlyclean-local rule depend on mostlyclean-generic.
114986         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
114988 2006-07-31  Bruno Haible  <bruno@clisp.org>
114990         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
114991         <stdlib.h>, <string.h>.
114993 2006-07-30  Bruno Haible  <bruno@clisp.org>
114995         * modules/readlink (License): Change to LGPL.
114997 2006-07-30  Bruno Haible  <bruno@clisp.org>
114999         * modules/javaversion (Makefile.am): Distribute javaversion.java and
115000         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
115001         set PKGDATADIR to point to it.
115003 2006-07-30  Bruno Haible  <bruno@clisp.org>
115005         * modules/csharpexec (configure.ac): Comment out macro invocation.
115006         * modules/javaexec (configure.ac): Likewise.
115007         * modules/javacomp-script (configure.ac): Likewise.
115009         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
115011 2006-07-30  Bruno Haible  <bruno@clisp.org>
115013         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
115014         linked-list.
115016 2006-07-30  Bruno Haible  <bruno@clisp.org>
115018         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
115020 2006-07-30  Bruno Haible  <bruno@clisp.org>
115022         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115023         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
115024         get removed.
115026 2006-07-29  Bruno Haible  <bruno@clisp.org>
115028         Make it possible for gnulib-tool to work with locally modified or
115029         augmented gnulib repositories.
115030         * gnulib-tool (func_usage): Document --local-dir option.
115031         (local_gnulib_dir): New variable.
115032         Handle --local-dir option.
115033         (func_lookup_file): New function.
115034         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
115035         (func_get_description, func_get_filelist, func_get_description,
115036         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
115037         func_get_automake_snippet, func_get_include_directive,
115038         func_get_license, func_get_maintainer): Use func_lookup_file.
115039         (func_import, func_create_testdir): Use func_lookup_file.
115041 2006-07-29  Bruno Haible  <bruno@clisp.org>
115043         * modules/setenv (Depends-on): Add unistd.
115045 2006-07-29  Bruno Haible  <bruno@clisp.org>
115047         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
115049 2006-07-29  Bruno Haible  <bruno@clisp.org>
115051         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
115053 2006-07-29  Bruno Haible  <bruno@clisp.org>
115055         * gnulib-tool (import, update): If there is no Makefile.am, look at
115056         aclocal.m4, instead of bailing out.
115058 2006-07-29  Bruno Haible  <bruno@clisp.org>
115060         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
115061         Categorize the options by when they are useful.
115063 2006-07-29  Bruno Haible  <bruno@clisp.org>
115065         * gnulib-tool (func_usage): Document option --no-libtool.
115066         Handle option --no-libtool.
115067         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
115068         for changed semantics of $libtool variable.
115069         (func_import): Likewise. If libtool is not used, show this through
115070         an option --no-libtool.
115071         (func_create_testdir): Update.
115073 2006-07-29  Bruno Haible  <bruno@clisp.org>
115075         * gnulib-tool (func_import): Extend error message about missing
115076         --doc-base.
115078 2006-07-29  Bruno Haible  <bruno@clisp.org>
115080         * gnulib-tool (func_import): Don't create the $docbase directory if
115081         there is no file to store there.
115083 2006-07-29  Bruno Haible  <bruno@clisp.org>
115085         * gnulib-tool (autoconf_minversion): If a --dir option is given and
115086         relevant, look for configure.ac there, not in the current directory.
115087         Also use a simple search for AC_PREREQ, not "autoconf --trace".
115089 2006-07-29  Bruno Haible  <bruno@clisp.org>
115091         * gnulib-tool (SORT): New variable.
115092         (func_usage): Undocument --assume-autoconf option.
115093         Remove --assume-autoconf option handling.
115094         (autoconf_minversion): Determine from the contents of configure.ac.
115095         (func_import): Remove autoconf_minversion handling.
115096         Suggested by Eric Blake.
115098 2006-07-29  Bruno Haible  <bruno@clisp.org>
115100         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
115102 2006-07-29  Bruno Haible  <bruno@clisp.org>
115104         * config/srclist.txt (*setenv.[ch]): Remove rules.
115106 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
115108         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
115110 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
115112         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
115113         arpa/inet.h.
115115 2006-07-28  Simon Josefsson  <jas@extundo.com>
115117         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
115118         * modules/inet_pton (Depends-on): Likewise.
115120 2006-07-28  Simon Josefsson  <jas@extundo.com>
115122         * m4/netinet_in_h.m4: New file.
115124 2006-07-28  Simon Josefsson  <jas@extundo.com>
115126         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
115127         #include's.
115129 2006-07-28  Simon Josefsson  <jas@extundo.com>
115131         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
115132         #include's.
115134 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
115136         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
115137         setgid on directories only if they set these bits.
115138         * lib/modechange.h: Remove obsolete comment about masks.
115140 2006-07-28  Eric Blake  <ebb9@byu.net>
115142         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
115143         macro expansion.
115145 2006-07-28  Bruno Haible  <bruno@clisp.org>
115147         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
115149 2006-07-28  Bruno Haible  <bruno@clisp.org>
115151         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
115153 2006-07-28  Bruno Haible  <bruno@clisp.org>
115155         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
115156         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
115157         Define fallbacks.
115158         Avoids link error on FreeBSD 4.x.
115159         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
115161         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
115162         encoding.
115163         * lib/mbswidth.c (iswcntrl): Likewise.
115165 2006-07-27  Bruno Haible  <bruno@clisp.org>
115167         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
115168         test.
115170 2006-07-27  Bruno Haible  <bruno@clisp.org>
115172         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
115173         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
115174         defined.
115176 2006-07-26  Eric Blake  <ebb9@byu.net>
115178         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
115180 2006-07-26  Eric Blake  <ebb9@byu.net>
115182         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
115183         like mingw that lack mkstemp.
115184         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
115185         avoid compilation warning on mingw.
115187 2006-07-26  Bruno Haible  <bruno@clisp.org>
115189         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
115190         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
115191         INT_FAST*_MIN, INTPTR_MIN.
115193 2006-07-25  Bruno Haible  <bruno@clisp.org>
115195         * modules/version-etc (Depends-on): Add stdarg.
115197 2006-07-25  Bruno Haible  <bruno@clisp.org>
115199         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
115200         complex commands.
115202 2006-07-25  Bruno Haible  <bruno@clisp.org>
115204         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
115205         defined in <stdarg.h> or config.h.
115207 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
115209         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
115210         (gl_STDIO_SAFER): Remove.
115212 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
115214         * MODULES.html.sh (File stream based Input/Output):
115215         Add fopen-safer, tmpfile-safer; remove stdio-safer.
115216         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
115217         * modules/fopen-safer, modules/tmpfile-safer: New files.
115218         * modules/stdio-safer: Remove.
115220 2006-07-24  Bruno Haible  <bruno@clisp.org>
115222         * modules/tmpdir: New file.
115223         * MODULES.html.sh (File system functions): Add it.
115225 2006-07-24  Bruno Haible  <bruno@clisp.org>
115227         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
115228         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
115230 2006-07-24  Bruno Haible  <bruno@clisp.org>
115232         * modules/clean-temp: New file.
115234 2006-07-24  Bruno Haible  <bruno@clisp.org>
115236         * m4/tmpdir.m4: New file, from GNU gettext.
115238 2006-07-24  Bruno Haible  <bruno@clisp.org>
115240         * lib/tmpdir.h: New file, from GNU gettext.
115241         * lib/tmpdir.c: New file, from GNU gettext.
115243 2006-07-24  Bruno Haible  <bruno@clisp.org>
115245         * lib/clean-temp.h: New file, from GNU gettext.
115246         * lib/clean-temp.c: New file, from GNU gettext.
115248 2006-07-23  Eric Blake  <ebb9@byu.net>
115250         * modules/stdio-safer (Files): Add tmpfile-safer.c.
115251         (Depends-on): Add binary-io.
115253 2006-07-23  Eric Blake  <ebb9@byu.net>
115255         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
115257 2006-07-23  Eric Blake  <ebb9@byu.net>
115259         * lib/tmpfile-safer.c: New file.
115260         * lib/stdio-safer.h (fopen_safer): Add prototype.
115261         * lib/stdio--.h (tmpfile): Make safer.
115263 2006-07-23  Bruno Haible  <bruno@clisp.org>
115265         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
115266         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
115267         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
115268         gl_linked_remove_at): Use it.
115270 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
115271         and Simon Josefsson <jas@extundo.com>
115273         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
115275         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
115277 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
115279         * modules/close-stream: New file.
115280         * modules/closeout (Description): Make it clear that it exits
115281         with a diagnostic on error.
115282         (Depends-on): Add close-stream.  Remove fpending, stdbool.
115283         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
115285 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
115287         * m4/close-stream.m4: New file.
115289 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
115291         * lib/close-stream.c, lib/close-stream.h: New files.
115293 2006-07-22  Bruno Haible  <bruno@clisp.org>
115295         Merge from GNU gettext 0.15.
115297         2006-05-01  Bruno Haible  <bruno@clisp.org>
115299                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
115301         2006-07-22  Bruno Haible  <bruno@clisp.org>
115303                 * modules/javaversion: New file.
115304                 * MODULES.html.sh (Java): Add javaversion.
115306         2006-03-12  Bruno Haible  <bruno@clisp.org>
115308                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
115310         2005-12-04  Bruno Haible  <bruno@clisp.org>
115312                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
115313                 (untested).
115315         2006-06-21  Bruno Haible  <bruno@clisp.org>
115317                 Avoid warnings from recent versions of mcs.
115318                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
115319                 -o, -L, -r any more. Use options documented since mcs-1.0
115320                 instead. Similarly for -g.
115322         2005-12-04  Bruno Haible  <bruno@clisp.org>
115324                 * build-aux/csharpcomp.sh.in: Suffix for resources is
115325                 .resources, not .resource.
115327         2005-07-09  Bruno Haible  <bruno@clisp.org>
115329                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
115330                 add a .dll suffix.
115331                 Reported by Mark Junker <mjscod@gmx.de>.
115333         2006-07-22  Bruno Haible  <bruno@clisp.org>
115335                 * modules/gettext: Upgrade to gettext-0.15.
115336                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
115337                 m4/visibility.m4.
115338                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
115340 2006-07-22  Bruno Haible  <bruno@clisp.org>
115342         Merge from GNU gettext 0.15.
115344         2006-03-25  Bruno Haible  <bruno@clisp.org>
115346                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
115348         2006-07-21  Bruno Haible  <bruno@clisp.org>
115350                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
115351                 "1.1".
115353         2006-05-09  Bruno Haible  <bruno@clisp.org>
115355                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
115356                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
115357                 for the conftestver execution.
115359         2006-05-01  Bruno Haible  <bruno@clisp.org>
115361                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
115362                 optional target-version argument. Verify that the compiler
115363                 groks source of the specified source-version, or add -source
115364                 option as necessary. Verify that the compiler produces
115365                 bytecode in the specified target-version, or add -target and
115366                 -source options as necessary. Make the result of the test
115367                 available as variable CONF_JAVAC. Also log error output in
115368                 config.log.
115370         2006-03-11  Bruno Haible  <bruno@clisp.org>
115372                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
115374         2006-05-09  Bruno Haible  <bruno@clisp.org>
115376                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
115377                 CLASSPATH_SEPARATOR to a semicolon.
115379         2006-03-12  Bruno Haible  <bruno@clisp.org>
115381                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
115382                 available as variable CONF_JAVA, for subsequent autoconf
115383                 tests. Also log error output in config.log.
115385         2006-07-19  Bruno Haible  <bruno@clisp.org>
115387                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
115388                 that getline works on glibc2 systems. Needed to avoid trouble
115389                 in relocatable.c.
115390                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
115392         2005-12-04  Bruno Haible  <bruno@clisp.org>
115394                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
115395                 launcher (untested).
115397         2005-12-04  Bruno Haible  <bruno@clisp.org>
115399                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
115401         2006-07-22  Bruno Haible  <bruno@clisp.org>
115403                 * gettext.m4: Update from GNU gettext-0.15.
115404                 * nls.m4: Likewise.
115405                 * po.m4: Likewise.
115406                 * inttypes-pri.m4: Likewise.
115407                 * inttypes-h.m4: Renamed from inttypes.m4.
115408                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
115410 2006-07-22  Bruno Haible  <bruno@clisp.org>
115412         Merge from GNU gettext 0.15.
115414         2005-07-05  Bruno Haible  <bruno@clisp.org>
115416                 * printf-args.c (printf_fetchargs): Work around broken
115417                 definition of wint_t on mingw.
115419         2005-02-12  Bruno Haible  <bruno@clisp.org>
115421                 * xallocsa.h: Add extern "C" for C++.
115423         2006-05-17  Bruno Haible  <bruno@clisp.org>
115425                 Cygwin portability.
115426                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
115428         2006-04-30  Bruno Haible  <bruno@clisp.org>
115430                 * progreloc.c: Include <mach-o/dyld.h> if available.
115431                 (find_executable): Use _NSGetExecutablePath when possible.
115433         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
115435                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
115436                 function.
115438         2005-12-29  Bruno Haible  <bruno@clisp.org>
115440                 * progreloc.c (set_program_name_and_installdir): Fix
115441                 compilation error.
115443         2005-12-04  Bruno Haible  <bruno@clisp.org>
115445                 Cygwin portability.
115446                 * progreloc.c: Include <windows.h> also on Cygwin.
115447                 (find_executable): Add support for Cygwin.
115448                 (set_program_name_and_installdir): Handle also platforms with
115449                 nonempty EXEEXT.
115451         2006-07-11  Bruno Haible  <bruno@clisp.org>
115453                 * javacomp.c: Fix a comment.
115454                 Reported by Jim Meyering.
115456         2006-04-30  Bruno Haible  <bruno@clisp.org>
115458                 * javacomp.h (compile_java_class): Add source_version,
115459                 target_version arguments.
115460                 * javacomp.c: Rewritten to choose only a compiler that
115461                 respects the specified source_version and target_version.
115463         2006-06-27  Bruno Haible  <bruno@clisp.org>
115465                 Assume correct S_ISDIR macro.
115466                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
115468         2006-07-22  Bruno Haible  <bruno@clisp.org>
115470                 * javaversion.h: New file, from GNU gettext.
115471                 * javaversion.c: New file, from GNU gettext.
115472                 * javaversion.java: New file, from GNU gettext.
115473                 * javaversion.class: New file, from GNU gettext.
115475         2006-05-17  Bruno Haible  <bruno@clisp.org>
115477                 Cygwin portability.
115478                 * javaexec.c (execute_java_class): Test for jview program
115479                 also on Cygwin.
115481         2006-04-09  Bruno Haible  <bruno@clisp.org>
115483                 * fatal-signal.c: Don't include string.h.
115484                 (at_fatal_signal): Use a copying loop instead of memcpy.
115486         2005-12-04  Bruno Haible  <bruno@clisp.org>
115488                 * csharpexec.c: Add support for 'clix' launcher (untested).
115489                 (execute_csharp_using_sscli): New function.
115490                 (execute_csharp_program): Call it.
115492         2006-06-21  Bruno Haible  <bruno@clisp.org>
115494                 Avoid warnings from recent versions of mcs.
115495                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
115496                 -o, -L, -r any more. Use options documented since mcs-1.0
115497                 instead. Similarly for -g.
115499         2005-07-09  Bruno Haible  <bruno@clisp.org>
115501                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
115502                 add a .dll suffix.
115503                 Reported by Mark Junker <mjscod@gmx.de>.
115505         2006-06-17  Bruno Haible  <bruno@clisp.org>
115507                 * config.charset: Update for NetBSD 3.0.
115509         2006-05-17  Bruno Haible  <bruno@clisp.org>
115511                 Cygwin portability.
115512                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
115514         2006-05-16  Bruno Haible  <bruno@clisp.org>
115516                 * localcharset.c [CYGWIN]: Include <windows.h>.
115517                 (get_charset_aliases): For Cygwin, return the same CPxxx
115518                 aliases list as under WIN32.
115519                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
115520                 the environment variables. Fall back to GetACP().
115522         2006-04-05  Bruno Haible  <bruno@clisp.org>
115524                 * config.charset: Update Juan Manuel Guerrero's address.
115526         2005-02-12  Bruno Haible  <bruno@clisp.org>
115528                 * allocsa.h: Add extern "C" for C++.
115530         2005-02-10  Bruno Haible  <bruno@clisp.org>
115532                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
115533                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
115535         2006-07-22  Bruno Haible  <bruno@clisp.org>
115537                 * gettext.h: Update to GNU gettext-0.15.
115539 2006-07-22  Bruno Haible  <bruno@clisp.org>
115541         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
115542         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
115543         lib-prefix.m4, longdouble.m4, ssize_t.m4.
115545 2006-07-21  Eric Blake  <ebb9@byu.net>
115547         * modules/stdlib-safer: New file.
115548         * MODULES.html.sh (File stream based Input/Output): Add
115549         stdlib-safer.
115551 2006-07-21  Eric Blake  <ebb9@byu.net>
115553         * lib/stdlib-safer.h: New file from coreutils, required by
115554         stdlib--.h.
115556 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
115558         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
115560 2006-07-20  Bruno Haible  <bruno@clisp.org>
115562         * gnulib-tool: Recognize new option --assume-autoconf.
115563         (autoconf_minversion): New variable.
115564         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
115566 2006-07-20  Bruno Haible  <bruno@clisp.org>
115568         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
115570 2006-07-19  Derek R. Price  <derek@ximbiot.com>
115572         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
115573         Reindent and repaginate.
115575 2006-07-19  Derek Price  <derek@ximbiot.com>
115577         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
115578         Correct grammar.
115580 2006-07-17  Bruno Haible  <bruno@clisp.org>
115582         * modules/list: New file.
115583         * modules/array-list: New file.
115584         * modules/carray-list, modules/carray-list-tests: New files.
115585         * modules/linked-list, modules/linked-list-tests: New files.
115586         * modules/avltree-list, modules/avltree-list-tests: New files.
115587         * modules/rbtree-list, modules/rbtree-list-tests: New files.
115588         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
115589         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
115590         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
115591         * modules/oset: New file.
115592         * modules/array-oset: New file.
115593         * modules/avltree-oset, modules/avltree-oset-tests: New files.
115594         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
115595         * tests/test-carray_list.c: New file.
115596         * tests/test-linked_list.c: New file.
115597         * tests/test-avltree_list.c: New file.
115598         * tests/test-rbtree_list.c: New file.
115599         * tests/test-linkedhash_list.c: New file.
115600         * tests/test-avltreehash_list.c: New file.
115601         * tests/test-rbtreehash_list.c: New file.
115602         * tests/test-avltree_oset.c: New file.
115603         * tests/test-rbtree_oset.c: New file.
115604         * MODULES.html.sh (Container data structures): New section.
115606 2006-07-17  Bruno Haible  <bruno@clisp.org>
115608         * m4/gl_list.m4: New file.
115610 2006-07-17  Bruno Haible  <bruno@clisp.org>
115612         * lib/gl_list.h: New file.
115613         * lib/gl_list.c: New file.
115614         * lib/gl_array_list.h: New file.
115615         * lib/gl_array_list.c: New file.
115616         * lib/gl_carray_list.h: New file.
115617         * lib/gl_carray_list.c: New file.
115618         * lib/gl_linked_list.h: New file.
115619         * lib/gl_linked_list.c: New file.
115620         * lib/gl_anylinked_list1.h: New file.
115621         * lib/gl_anylinked_list2.h: New file.
115622         * lib/gl_avltree_list.h: New file.
115623         * lib/gl_avltree_list.c: New file.
115624         * lib/gl_anyavltree_list1.h: New file.
115625         * lib/gl_anyavltree_list2.h: New file.
115626         * lib/gl_rbtree_list.h: New file.
115627         * lib/gl_rbtree_list.c: New file.
115628         * lib/gl_anyrbtree_list1.h: New file.
115629         * lib/gl_anyrbtree_list2.h: New file.
115630         * lib/gl_anytree_list1.h: New file.
115631         * lib/gl_anytree_list2.h: New file.
115632         * lib/gl_linkedhash_list.h: New file.
115633         * lib/gl_linkedhash_list.c: New file.
115634         * lib/gl_anyhash_list1.h: New file.
115635         * lib/gl_anyhash_list2.h: New file.
115636         * lib/gl_avltreehash_list.h: New file.
115637         * lib/gl_avltreehash_list.c: New file.
115638         * lib/gl_rbtreehash_list.h: New file.
115639         * lib/gl_rbtreehash_list.c: New file.
115640         * lib/gl_anytreehash_list1.h: New file.
115641         * lib/gl_anytreehash_list2.h: New file.
115643         * lib/gl_oset.h: New file.
115644         * lib/gl_oset.c: New file.
115645         * lib/gl_array_oset.h: New file.
115646         * lib/gl_array_oset.c: New file.
115647         * lib/gl_avltree_oset.h: New file.
115648         * lib/gl_avltree_oset.c: New file.
115649         * lib/gl_rbtree_oset.h: New file.
115650         * lib/gl_rbtree_oset.c: New file.
115651         * lib/gl_anytree_oset.h: New file.
115653 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
115655         * m4/mkancesdirs.m4: New file.
115656         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
115657         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
115658         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
115659         it.
115661 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
115663         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
115664         * lib/mkancesdirs.h: New files.
115665         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
115666         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
115667         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
115668         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
115669         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
115670         callers changed.  Revamp internals significantly, by not
115671         attempting to create directories that are temporarily more
115672         permissive than the final results.  Do not attempt to use
115673         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
115674         This removes some race conditions, fixes some bugs, and simplifies
115675         things.  Use new dirchownmod function to do owner and mode changes.
115676         * lib/mkdir-p.h: Likewise.
115677         * lib/modechange.c (octal_to_mode): New function.
115678         (struct mode_change): New member mentioned.
115679         (make_node_op_equals): New arg mentioned.  All callers changed.
115680         (mode_compile): Keep track of which mode bits the user has explicitly
115681         mentioned.
115682         (mode_adjust): New arg DIR, so that we implement the X op correctly.
115683         New arg PMODE_BITS, to keep track of which mode bits the user
115684         mentioned; it treats S_ISUID and S_ISGID speciall.
115685         All callers changed.
115686         * lib/modechange.h: Likewise.
115688 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
115690         * MODULES.html.sh: Add mkancestors.
115691         * modules/mkancesdirs: New module.
115692         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
115693         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
115694         The chdir-safer and afs files are now orphans; I'll remove them
115695         unless someone speaks up.
115696         Add lib/dirchownmod.c, lib/dirchownmod.h.
115697         (Depends-on): Remove alloca, chown, save-cwd, dirname.
115698         Add lchown, mkancesdirs.
115699         (Maintainer): Add self.
115701 2006-07-15  Karl Berry  <karl@gnu.org>
115703         * gnulib-tool: help message wording/arrangement.
115705 2006-07-14  Simon Josefsson  <jas@extundo.com>
115707         * doc/gnulib.texi (Libtool and Windows): New section.
115709 2006-07-12  Simon Josefsson  <jas@extundo.com>
115711         * modules/gendocs (License): Fix license, approved by Karl.
115713 2006-07-12  Eric Blake  <ebb9@byu.net>
115715         * MODULES.html.sh: Add gendocs.
115717 2006-07-11  Eric Blake  <ebb9@byu.net>
115719         * modules/fdl: New module, to install doc/fdl.texi.
115720         * MODULES.html.sh: Add new section for documentation modules.
115721         * gnulib-tool: Avoid space-tab.
115722         (--doc-base): New option, to manage files from doc.
115724 2006-07-11  Eric Blake  <ebb9@byu.net>
115726         * m4/absolute-header.m4: Fix comments to match recent change.
115728 2006-07-11  Eric Blake  <ebb9@byu.net>
115730         * gnulib-tool: List --doc-base before --tests-base.
115732 2006-07-11  Derek R. Price  <derek@ximbiot.com>
115734         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
115736 2006-07-11  Bruno Haible  <bruno@clisp.org>
115738         * README: Mention where to put documentation.
115740 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115742         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
115744 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
115746         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
115747         to stdint.m4.
115749 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
115751         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
115752         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
115753         "no/such/file/stdint.h" when there is no such file, so that
115754         the resulting C code can be parsed by dodgy compilers.
115755         Problems reported by Bob Proulx.
115757 2006-07-10  Derek R. Price  <derek@ximbiot.com>
115759         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
115760         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
115761         macros into the GNU _D_EXACT_NAMLEN.
115762         * lib/savedir.c:  Likewise.
115763         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
115765 2006-07-10  Derek R. Price  <derek@ximbiot.com>
115766         and Paul Eggert  <eggert@cs.ucla.edu>
115768         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
115769         * m4/savedir.m4:
115770         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
115771         macros into the GNU _D_EXACT_NAMLEN.
115773 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
115775         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
115776         around the absolute name, to work around a problem with the HP-UX
115777         11.23 native C compiler, reported by Bob Proulx.
115779 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
115781         * doc/maintain.texi, make-stds.texi: Sync from
115782         <http://savannah.gnu.org/projects/gnustandards>.
115784 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
115786         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
115788 2006-07-09  Jim Meyering  <jim@meyering.net>
115790         * m4/glob.m4: Remove a doubled word in a comment.
115792 2006-07-09  Jim Meyering  <jim@meyering.net>
115794         * lib/argp-pv.c: Remove a doubled word in a comment.
115795         * lib/check-version.c (check_version): Likewise.
115796         * lib/javacomp.c (compile_java_class): Likewise.
115798 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
115800         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
115801         for the benefit of people using Autoconf 2.60.  If you want to
115802         support older Autoconf versions you can copy m4/onceonly_2_57.m4
115803         (or m4/onceonly.m4, if pre-2.57) manually.
115805 2006-07-08  Jim Meyering  <jim@meyering.net>
115807         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
115808         comment.
115809         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
115810         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
115811         comment.
115813 2006-07-08  Jim Meyering  <jim@meyering.net>
115815         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
115817 2006-07-07  Simon Josefsson  <jas@extundo.com>
115819         * tests/test-crc.c: Change expected crc value, the test vector
115820         were probably computed using the old broken crc.c?
115822 2006-07-06  Simon Josefsson  <jas@extundo.com>
115824         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
115825         now the canonical place for the M4 file).
115827         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
115828         from the sys_socket dependency now.
115830         * modules/inet_pton (Files): Ditto.
115832         * modules/inet_ntop (Files): Ditto.
115834 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
115836         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
115837         not gl_PREREQ_GETUSERSHELL.
115839 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115841         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
115842         with only one argument, for Autoconf 2.60.
115843         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
115844         expand to nothing, so add a shell command to avoid syntax error.
115845         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
115847 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115849         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
115851 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
115853         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
115854         no longer needed.  Check for isblank decl.
115855         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
115856         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
115857         of existence.
115859 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
115861         * lib/getloadavg.c: Use __VMS, not VMS.
115862         * lib/getopt.c: Likewise.
115863         * lib/getpagesize.h: Likewise.
115864         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
115865         and probably does not work.
115867 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
115869         * lib/.cppi-disable: Add wcwidth.
115870         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
115871         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
115872         (ISGRAPH): Remove.  All uses changed to isgraph.
115873         (FOLD) [!defined _LIBC]: Remove special case.
115874         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
115875         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
115876         HAVE_ISBLANK.
115877         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
115878         case.
115880 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
115882         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
115883         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
115884         brackets.  Other minor changes to suppress some compiler
115885         warnings.
115887 2006-07-06  Derek R. Price  <derek@ximbiot.com>
115888         and Paul Eggert  <eggert@cs.ucla.edu>
115890         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
115891         of invoking obsolescent AC_HEADER_DIRENT macro.
115892         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
115893         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
115894         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
115895         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
115896         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
115897         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
115898         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
115899         * m4/readdir.m4: Remove; no longer needed.
115901 2006-07-06  Derek R. Price  <derek@ximbiot.com>
115902         and Paul Eggert  <eggert@cs.ucla.edu>
115904         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
115905         Don't worry about this obsolete case any more.
115906         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
115907         directories.
115908         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
115909         worry about this obsolete case any more.
115910         * lib/fts.c: Likewise.
115911         * lib/getcwd.c: Likewise.
115912         * lib/glob.h: Likewise.
115913         * lib/savedir.c: Likewise.
115915 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
115917         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
115918         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
115919         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
115920         needed.
115921         All uses removed.
115922         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
115923         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
115924         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
115925         needed.
115926         * m4/getdate.m4 (gl_GETDATE): Likewise.
115927         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
115928         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
115929         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
115930         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
115931         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
115932         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
115933         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
115934         needed.
115936 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
115938         * lib/memcasecmp.c: Include <limits.h>.
115939         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
115940         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
115941         Don't assume isdigit succeeds only on '0' through '9'.
115943 2006-07-05  Eric Blake  <ebb9@byu.net>
115945         * modules/getaddrinfo (Depends-on): Add snprintf.
115947 2006-07-05  Eric Blake  <ebb9@byu.net>
115949         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
115950         to avoid 'header present but could not be compiled' on cygwin.
115952 2006-07-05  Eric Blake  <ebb9@byu.net>
115954         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
115955         missing from netdb.h.
115956         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
115958 2006-07-05  Derek R. Price  <derek@ximbiot.com>
115960         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
115961         no longer needed.
115962         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
115963         * m4/getdate.m4 (gl_GETDATE): Likewise.
115964         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
115965         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
115966         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
115967         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
115968         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
115970 2006-07-05  Derek R. Price  <derek@ximbiot.com>
115972         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
115973         All uses of is_space replaced by isspace.
115974         * lib/exit.h: Don't talk about STDC_HEADERS.
115975         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
115976         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
115977         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
115978         replaced by isprint etc.
115979         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
115980         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
115981         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
115982         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
115983         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
115984         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
115986 2006-07-05  Bruno Haible  <bruno@clisp.org>
115988         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
115989         the function exists, before testing against AIX.
115990         Reported by Martin Lambers <marlam@marlam.de>.
115992 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
115994         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
115995         From Mark D. Baushke.
115997 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
115999         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
116000         to the absolute name, not just one, to bypass Sun C 5.8's
116001         "warning: #include of /usr/include/... may be non-portable".
116003 2006-07-04  Eric Blake  <ebb9@byu.net>
116005         * modules/dirname-tests: New test module.
116006         * tests/test-dirname.c: New file, replacing dirname.c
116007         TEST_DIRNAME section that was recently deleted.
116009 2006-07-04  Bruno Haible  <bruno@clisp.org>
116011         Assume ANSI C header files and <ctype.h> functions.
116012         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
116013         (mbsnwidth): Use isprint, iscntrl instead.
116015 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116017         Merge from coreutils.
116018         * MODULES.html.sh: Add xstrtold.
116019         * modules/xstrtold: New file.
116020         * modules/cycle-check (Files): Add lib/same-inode.h.
116021         * modules/dirname (Files): Add m4/double-slash-root.m4.
116022         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
116023         * modules/mkdir-p (Files): Add lib/same-inode.h.
116024         * modules/same (Files): Add lib/same-inode.h.
116026 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116028         * m4/absolute-header.m4: Renamed from full-header-path.m4.
116029         This is to keep the terminology clean; POSIX talks about
116030         "absolute pathnames", not "full pathnames", but the GNU
116031         Coding Standards say to use "path" for something else;
116032         so use "absolute" to keep both sides happy.
116033         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
116034         Set gl_absolute_header, not gl_full_header_path.
116035         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
116036         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
116037         All uses changed.
116039         Merge from coreutils.
116041         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
116043         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
116044         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
116045         want to require the building of c-strtod.o.
116046         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
116047         needs -lm directly.
116048         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
116050         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
116052         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
116053         --as-needed option if available.  Problem reported by Albert Chin in
116054         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
116055         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
116056         cc merely issues a bunch of annoying warnings for --as-needed
116057         (this problem was reported by Bob Proulx).  Also, try linking with
116058         -lm to detect a bug in binutils 2.16 (this problem was reported
116059         by Ralf Wildenhues).
116061         2006-06-18  Jim Meyering  <jim@meyering.net>
116063         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
116064         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
116065         macro.
116066         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
116067         also check for glibc-2.4's abort-inducing bug.
116069         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
116070         Low-probability clean-up should be to use rmdir to get rid of
116071         the just-created directory, not unlink.
116073         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
116074         configure fail, and request a bug report to inform us about it.
116075         Add a comment that, barring reports to the contrary, in 2007 we'll
116076         assume ftruncate is universally available.
116078         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
116080         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
116082         2006-03-12  Jim Meyering  <jim@meyering.net>
116084         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
116085         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
116086         * m4/same.m4 (gl_SAME): Likewise.
116087         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
116089         2006-03-11  Eric Blake  <ebb9@byu.net>
116091         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
116092         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
116093         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
116094         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
116096 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116098         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
116099         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
116100         reported by Mark D. Baushke, one in
116101         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
116103         Merge from coreutils.
116105         * lib/.cppi-disable: Add stdint_.h.
116106         * lib/.cvsignore: Add stdint.h.
116108         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
116110         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
116111         both double and long double versions.
116112         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
116113         * lib/xstrtold.c: New file.
116114         * lib/xstrtod.h (xstrtold): New decl.
116116         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
116118         * lib/filemode.c (setst): Remove.
116119         (strmode): Rewrite to avoid setst.  This makes the code shorter,
116120         (arguably) clearer, and the generated code is a bit smaller on my
116121         Debian GNU/Linux stable x86 host.
116123         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
116125         * lib/filemode.c: Include "filemode.h" first, to test the interface.
116126         Assume that filemode.h includes sys/types.h and sys/stat.h.
116127         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
116128         (ftypelet): Reorder to put common cases first, for efficiency.
116129         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
116130         to do 'M'.
116131         (strmode): Renamed from mode_string, and now stores 12 bytes instead
116132         of 10, for compatibility with FreeBSD.  All callers changed.
116133         (filemodestring): Now stores 12 bytes instead of 10, and sets file
116134         types that can't be deduced solely from st_mode.  First arg is now a
116135         const pointer.
116136         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
116137         (strmode): Renamed from mode_string.
116138         (filemodestring): New decl.
116139         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
116140         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
116141         needed.
116142         (S_ISPORT, S_ISWHT): New macros, if not already defined.
116144         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
116146         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
116147         fsusage.h now does that.  Include fsusage.h first, to test interface.
116148         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
116149         at most one method (the old code could have generated decls that
116150         didn't conform to C89, not that this was ever exercised).
116151         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
116153         2006-03-19  Jim Meyering  <jim@meyering.net>
116155         Work even in a chroot where d_ino values for entries in "/"
116156         don't match the stat.st_ino values for the same names.
116157         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
116158         number, iterate through all entries again, using lstat instead.
116159         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
116160         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
116162         * lib/getcwd.c (__getcwd): Clarify a comment.
116163         Use memcpy in place of a call to strcpy.
116165         2006-03-12  Jim Meyering  <jim@meyering.net>
116167         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
116168         matches that of the current directory (which we're about to chdir ".."
116169         out of), then save the dev-ino of the parent, instead.
116171         * lib/same-inode.h (SAME_INODE): New file/macro.
116172         * lib/chdir-safer.c (SAME_INODE): Remove definition.
116173         Include "same-inode.h", instead.
116174         * lib/same.c: Likewise.
116175         * lib/cycle-check.h: Include "same-inode.h".
116176         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
116177         * lib/cycle-check.c (SAME_INODE): Remove definition.
116178         * lib/root-dev-ino.h: Include "same-inode.h".
116180         2006-03-11  Eric Blake  <ebb9@byu.net>
116182         * lib/same.c (same_name): s/base_name/last_component/
116183         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
116184         * lib/filenamecat.c (file_name_concat): Likewise.
116186         2006-03-11  Eric Blake  <ebb9@byu.net>,
116187                     Paul Eggert  <eggert@cs.ucla.edu>
116189         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
116190         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
116191         drive prefix.
116192         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
116193         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
116194         (last_component): New method.
116195         * lib/dirname.c (dir_len): Determine when drive letters need a
116196         subsequent slash.  Preserve // when it is special.
116197         (dir_name): Don't append dot when drive letter is absolute.
116198         [TEST_DIRNAME]: Move into a full-blown gnulib test.
116199         * lib/basename.c (base_name): New semantics - malloc the result.
116200         Preserve // when it is special.  Preserve relative files that look
116201         like drive letters.
116202         (base_len): Preserve // when it is special.
116203         (last_component): New method, similar to old base_name semantics.
116204         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
116205         base_name.  Strip redundant slashes from ///.
116207 2006-07-03  Jim Meyering  <jim@meyering.net>
116209         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
116210         macro is used before the first cycle_check call.
116212 2006-07-03  Eric Blake  <ebb9@byu.net>
116214         * modules/dirname (Depends-on): Add xstrndup.
116216 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
116218         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
116219         test cases, so that config.log is a bit easier to follow.
116221 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
116223         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
116224         both are 64 bits, since this seems to be the tradition, and this
116225         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
116226         we ever run into a host that prefers long long to long in this
116227         case, we'll need another configure-time test.  Problem reported by
116228         Jim Meyering.
116230 2006-07-02  Eric Blake  <ebb9@byu.net>
116232         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
116234 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
116236         * modules/inttypes (Depends-on): No longer depends on stdint.
116237         * modules/stdint (Description): Say more about assumptions.
116238         Say that the fast types might differ.  Say macros are used.
116239         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
116240         (Makefile.am): Revise list of substituted symbols to match
116241         new stdint.m4.
116242         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
116243         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
116244         * tests/test-stdint.c (verify_same_types)
116245         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
116246         the code conforms to C99/C89.
116247         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
116248         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
116250 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
116252         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
116253         but fix a bug, by requiring at least 64 bits.
116254         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
116255         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
116256         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
116257         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
116259         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
116260         changes.  Make 2.59 a prerequisite.  Check and substitute for
116261         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
116262         inttypes.h.  Do not use special include files; just use the
116263         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
116264         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
116265         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
116266         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
116267         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
116268         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
116269         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
116270         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
116271         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
116272         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
116273         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
116274         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
116275         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
116276         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
116277         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
116278         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
116279         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
116280         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
116281         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
116282         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
116283         WINT_MAX.  Check for C99 conformance more strictly, by detecting
116284         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
116285         not check for things that C99 does not require, e.g., int8_t.  If
116286         a test isn't needed unless <stdint.h> isn't working, and is
116287         unlikely to be needed for any other reason, then don't do it
116288         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
116289         size_t, since we assume C89 freestanding at least.  Do not check
116290         for sig_atomic_t, wchar_t, or wint_t, since the code now does
116291         the right thing even if the types are not defined.  Instead use:
116292         (gl_STDINT_TYPE_PROPERTIES): New macro.
116293         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
116294         testing whether <sys/types.h> clashes, as Autoconf does this for
116295         us now.  All uses removed.
116296         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
116297         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
116298         (gl_CHECK_TYPE_SAME):
116299         Remove; no longer needed.
116300         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
116301         exists, since we'll return 0 anyway in that case.
116302         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
116304 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
116306         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
116307         possible collision with system files.
116308         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
116309         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
116310         WCHAR_MIN and WCHAR_MAX in this case.
116311         (<stddef.h>): Do not include; no longer needed.
116312         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
116313         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
116314         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
116315         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
116316         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
116317         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
116318         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
116319         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
116320         !defined(__c99))]: Include in this case too, since it's harmless
116321         now.
116322         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
116323         dangerous to do so.
116324         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
116325         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
116326         (_STDINT_MIN, _STDINT_MAX): New macros.
116327         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
116328         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
116329         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
116330         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
116331         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
116332         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
116333         macros, not typedefs; this simplifies things quite a bit.
116334         Use long int for all types narrower than int64_t.
116335         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
116336         Define in terms of long long int or int64_t or long int,
116337         not int64_t or int32_t.  This saves some compile-time testing.
116338         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
116339         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
116340         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
116341         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
116342         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
116343         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
116344         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
116345         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
116346         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
116347         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
116348         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
116349         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
116350         undef any previous version and define our own version, for
116351         simplicity and consistency with the new macros for types.
116352         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
116353         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
116354         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
116355         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
116356         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
116357         @WINT_T_SUFFIX@ to keep things simple here.
116358         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
116359         Simplify by assuming typical 8/16/32/64 host, since we're
116360         already doing that elsewhere anyway.
116361         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
116362         and assume long long int is 64 bits if available.  This
116363         speeds up 'configure'.
116365 2006-07-01  Eric Blake  <ebb9@byu.net>
116367         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
116368         Reported by Andreas Buening.
116370 2006-07-01  Eric Blake  <ebb9@byu.net>
116372         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
116374 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
116376         * lib/getaddrinfo.c: fixed typo
116378 2006-06-29  Jim Meyering  <jim@meyering.net>
116380         * modules/strftime (Maintainer): Add my name, since with the
116381         FPRINTFTIME changes strftime.c has forked from glibc.
116383 2006-06-29  Eric Blake  <ebb9@byu.net>
116385         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
116387 2006-06-29  Eric Blake  <ebb9@byu.net>
116389         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
116391 2006-06-29  Eric Blake  <ebb9@byu.net>
116393         * lib/stat_.h: New file.
116395 2006-06-29  Eric Blake  <ebb9@byu.net>
116397         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
116398         unused static function.
116400 2006-06-29  Eric Blake  <ebb9@byu.net>
116402         * doc/functions.texi (Function Portability): Document missing lstat
116403         on mingw.
116405 2006-06-29  Eric Blake  <ebb9@byu.net>
116407         * MODULES.html.sh: Add sys_stat.
116408         * modules/sys_stat: New module.
116409         * modules/mkstemp (Depends-on): Add sys_stat.
116411 2006-06-29  Derek R. Price  <derek@ximbiot.com>
116413         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
116415 2006-06-29  Derek R. Price  <derek@ximbiot.com>
116417         * m4/c-bs-a.m4: Removed.
116419 2006-06-29  Derek R. Price  <derek@ximbiot.com>
116421         * lib/strftime.c: Assume strftime() exists.
116423 2006-06-29  Derek Price  <derek@ximbiot.com>
116425         * modules/c-bs-a: Removed - \a is C89.
116426         * MODULES.html.sh: Remove c-bs-a.
116428 2006-06-29  Bruno Haible  <bruno@clisp.org>
116430         * modules/wcwidth (License): Change to LGPL.
116432 2006-06-28  Simon Josefsson  <jas@extundo.com>
116434         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
116435         on _WIN32.
116437         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
116438         getnameinfo.
116440 2006-06-28  Simon Josefsson  <jas@extundo.com>
116442         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
116444 2006-06-28  Simon Josefsson  <jas@extundo.com>
116446         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
116447         functions there.  It will succeed on Windows XP, but on Windows
116448         2000 and (presumably) earlier, it will fail, and use the internal
116449         re-implementation.
116450         (use_win32_p): New function.
116451         (getaddrinfo): Use strtoul on servname, to support numeric ports.
116452         Support AI_NUMERICSERV to disable getservbyname.
116453         (getnameinfo): New function, only supports
116454         NI_NUMERICHOST|NI_NUMERICSERV for now.
116456         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
116457         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
116458         getnameinfo.
116460 2006-06-28  Eric Blake  <ebb9@byu.net>
116462         * modules/wcwidth: New file.
116463         * modules/mbchar (Depends-on): Add wcwidth.
116464         * modules/mbswidth (Depends-on): Add wcwidth.
116465         * MODULES.html.sh: Add wcwidth.
116467 2006-06-28  Eric Blake  <ebb9@byu.net>
116469         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
116470         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
116472 2006-06-28  Eric Blake  <ebb9@byu.net>
116474         * lib/xvasprintf.h: Fix comments.
116476 2006-06-28  Eric Blake  <ebb9@byu.net>
116478         * lib/mbchar.h (wcwidth): Include wcwidth.h.
116479         * lib/mbswidth.c (wcwidth): Move from here...
116480         * lib/wcwidth.h: ...to this new file.
116482 2006-06-28  Derek R. Price  <derek@ximbiot.com>
116484         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
116486         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
116487         it's obsolete.
116488         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
116490 2006-06-28  Derek R. Price  <derek@ximbiot.com>
116492         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
116493         Autoconf 2.60 says this stuff was obsolete.
116495 2006-06-28  Bruno Haible  <bruno@clisp.org>
116497         * modules/wcwidth (Files): Add m4/wchar_t.m4.
116499 2006-06-28  Bruno Haible  <bruno@clisp.org>
116501         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
116502         gt_TYPE_WCHAR_T.
116504 2006-06-28  Bruno Haible  <bruno@clisp.org>
116506         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
116507         declaration for wcwidth.
116508         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
116510 2006-06-28  Bruno Haible  <bruno@clisp.org>
116512         * lib/mkdtemp.c [MINGW]: Include <io.h>.
116513         (mkdir): Define using _mkdir.
116515 2006-06-28  Bruno Haible  <bruno@clisp.org>
116517         * lib/getaddrinfo.h: Fix POSIX URL.
116518         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
116519         _WIN32.
116520         (use_win32_p): Make static.
116521         (getaddrinfo): Reject service name if it is empty or does not consist
116522         solely of decimal digits, or if its value is > 65535.
116523         (getnameinfo): Remove useless casts.
116525 2006-06-27  Simon Josefsson  <jas@extundo.com>
116527         * modules/sys_select: New file, suggested by Bruno Haible, Paul
116528         Eggert and Martin Lambers.
116530 2006-06-27  Simon Josefsson  <jas@extundo.com>
116532         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
116533         Eggert and Martin Lambers.
116535 2006-06-27  Bruno Haible  <bruno@clisp.org>
116537         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
116538         result to 0, not to empty.
116539         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
116541 2006-06-27  Bruno Haible  <bruno@clisp.org>
116543         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
116545 2006-06-26  Simon Josefsson  <jas@extundo.com>
116547         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
116548         present.
116550 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
116552         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
116553         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
116554         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
116556 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
116558         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
116560 2006-06-26  Bruno Haible  <bruno@clisp.org>
116562         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
116564 2006-06-26  Bruno Haible  <bruno@clisp.org>
116566         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
116568 2006-06-26  Bruno Haible  <bruno@clisp.org>
116570         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
116571         SGI C compiler in pre-C99 mode.
116572         Suggested by Mark D. Baushke and Larry Jones.
116574 2006-06-26  Bruno Haible  <bruno@clisp.org>
116576         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
116577         WCHAR_MAX.
116578         Reported by Mark D. Baushke and Larry Jones.
116580 2006-06-26  Bruno Haible  <bruno@clisp.org>
116582         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
116583         in pre-C99 mode.
116584         Suggested by Mark D. Baushke and Larry Jones.
116586 2006-06-23  Simon Josefsson  <jas@extundo.com>
116587             Bruno Haible  <bruno@clisp.org>
116589         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
116590         Emit mostlyclean-local rule.
116591         (func_emit_tests_Makefile_am): Likewise.
116592         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
116594 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
116596         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
116598 2006-06-23  Bruno Haible  <bruno@clisp.org>
116600         * tests/test-stdint.c: Update to match ISO C 99 Technical
116601         Corrigendum 1.
116603 2006-06-23  Bruno Haible  <bruno@clisp.org>
116605         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
116607 2006-06-23  Bruno Haible  <bruno@clisp.org>
116609         * lib/stdint_.h: Treat IRIX like OpenBSD.
116611 2006-06-23  Bruno Haible  <bruno@clisp.org>
116613         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
116614         ISO C 99 Technical Corrigendum 1.
116616 2006-06-22  Simon Josefsson  <jas@extundo.com>
116618         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
116619         MinGW.
116621 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
116623         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
116624         needed.  Some compiler complained about some of them.  Problem reported
116625         by Larry Jones in
116626         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
116628 2006-06-21  Simon Josefsson  <jas@extundo.com>
116630         * tests/test-getaddrinfo.c: New file.
116632         * modules/getaddrinfo-tests: New file.
116634         * MODULES.html.sh: Add inet_pton.
116636         * modules/inet_pton: New file.
116638 2006-06-21  Simon Josefsson  <jas@extundo.com>
116640         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
116641         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
116642         of using the (limited) gnulib implementation on Windows XP.
116644         * m4/inet_pton.m4: New file.
116646 2006-06-21  Simon Josefsson  <jas@extundo.com>
116648         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
116649         variable.
116651         * lib/socket_.h: Don't define WINVER.
116653         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
116654         slightly modified to work in gnulib.
116656 2006-06-21  Simon Josefsson  <jas@extundo.com>
116658         * doc/gnulib.texi (Windows sockets): Add.
116660 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
116662         * lib/read-file.c (fread_file): Start with buffer allocation of
116663         0 bytes rather than 1 byte; this simplifies the code.
116664         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
116665         code to free buffer and save/restore errno.
116666         (internal_read_file): Remove unused local.
116668 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
116670         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
116671         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
116672         Problem reported by Denis Excoffier in
116673         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
116675 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
116677         * modules/sys_socket, modules/socklen: Include sys/types since
116678         FreeBSD 4.x's sys/socket.h needs it.
116680 2006-06-19  Simon Josefsson  <jas@extundo.com>
116682         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
116684 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
116686         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
116688 2006-06-19  Bruno Haible  <bruno@clisp.org>
116690         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
116691         and FULL_PATH_INTTYPES_H in angle brackets.
116692         Reported by Mark D. Baushke <mdb@gnu.org>.
116694 2006-06-17  Eric Blake  <ebb9@byu.net>
116696         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
116697         errno.
116699 2006-06-17  Bruno Haible  <bruno@clisp.org>
116701         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
116702         <sys/inttypes.h>.
116704 2006-06-17  Bruno Haible  <bruno@clisp.org>
116706         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
116707         whether errno is declared. Assume <errno.h> declares errno.
116709 2006-06-17  Bruno Haible  <bruno@clisp.org>
116711         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
116713 2006-06-17  Bruno Haible  <bruno@clisp.org>
116715         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
116716         problem on Solaris 2.5.1.
116718 2006-06-16  Eric Blake  <ebb9@byu.net>
116720         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
116721         * lib/unicodeio.c [!defined errno]: Likewise.
116722         * lib/strtol.c [!defined errno]: Likewise.
116723         * lib/strtod.c [!defined errno]: Likewise.
116725 2006-06-15  Eric Blake  <ebb9@byu.net>
116727         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
116729 2006-06-15  Eric Blake  <ebb9@byu.net>
116731         * config/srclist.txt (ssize_t.m4): Lose sync.
116733 2006-06-15  Bruno Haible  <bruno@clisp.org>
116735         * modules/stdint (Files): Include m4/full-header-path.m4,
116736         m4/size_max.m4, m4/wchar_t.m4.
116737         (Makefile.am): Many more substitutions.
116738         * modules/stdint-tests: New file.
116739         * tests/test-stdint.c: New file.
116741 2006-06-15  Bruno Haible  <bruno@clisp.org>
116743         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
116744         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
116745         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
116746         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
116747         gl_CHECK_TYPE_SAME): New macros.
116749 2006-06-15  Bruno Haible  <bruno@clisp.org>
116751         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
116753 2006-06-15  Bruno Haible  <bruno@clisp.org>
116755         * lib/stdint_.h: Rewritten to be fully auto-configured.
116756         Fixes bug on HP-UX/IA64.
116758 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
116760         * lib/getdate.y (__attribute__): Don't define if already defined.
116761         Problem reported by Larry Jones.
116762         * lib/utimens.c (__attribute__): Likewise.
116764 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
116766         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
116767         reported by Andreas Schwab.
116769 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116770             Bruno Haible  <bruno@clisp.org>
116772         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
116773         check for the declaration of strnlen and a run test that exposes the
116774         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
116775         rpl_strndup.
116777 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116778             Bruno Haible  <bruno@clisp.org>
116780         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
116782 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116784         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
116785         compile test, for Tru64 4.0D.
116787 2006-05-28  Karl Berry  <karl@gnu.org>
116789         * config/srclist.txt (printf-args.c): lose sync.
116791 2006-05-26  Martin Lambers  <marlam@marlam.de>
116793         * lib/getpass.c: Updates the test for the native W32 API, and adds
116794         missing includes, thus fixing compilation warnings.
116796 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
116798         * lib/exclude.c (exclude_fnmatch): New function.
116799         (excluded_file_name): Call exclude_fnmatch.
116800         * lib/exclude.h (excluded_file_name): New prototype
116802 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
116804         * lib/tempname.c (small_open, large_open): New macros.
116805         (__open, __open64) [!_LIBC]: Remove.
116806         (__gen_tempname): Use small_open and large_open instead of __open
116807         and __open64.  This fixes a portability bug on HP-UX 11.11i
116808         reported by Simon Wing-Tang in
116809         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
116811 2006-05-24  Bruno Haible  <bruno@clisp.org>
116813         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
116814         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
116815         Reported by Thorsten Maerz <torte@netztorte.de> via
116816         Aaron Stone <aaron@serendipity.cx>.
116818 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
116820         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
116821         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
116822         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
116823         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
116824         not really conditional on the cache.
116825         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
116827 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
116829         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
116830         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
116831         (my_usleep): Don't mishandle maximum value.
116833 2006-05-19  Jim Meyering  <jim@meyering.net>
116835         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
116837 2006-05-17  Bruno Haible  <bruno@clisp.org>
116839         Cygwin portability.
116840         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
116842 2006-05-17  Bruno Haible  <bruno@clisp.org>
116844         * lib/stdint_.h: Fix recognition of Cygwin.
116846 2006-05-15  Bruno Haible  <bruno@clisp.org>
116848         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
116849         on libtool patch by Ralf Wildenhues.
116851 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
116853         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
116854         test for C99 conformance; (bool) 0.5 is an integer constant
116855         expression, but (bool) -0.5 is not.  Problem reported by Fedor
116856         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
116858 2006-05-11  Simon Josefsson  <jas@extundo.com>
116860         * m4/xvasprintf.m4: Fix obvious typo.
116862 2006-05-11  Jim Meyering  <jim@meyering.net>
116864         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
116865         James Lemley.
116867 2006-05-10  Simon Josefsson  <jas@extundo.com>
116869         * lib/md4.c: Typo fix, update copyright years.
116870         (K1, K2): Don't use L because it turn computations into 64-bit on
116871         64-bit platforms.
116873 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
116875         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
116876         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
116877         unwanted sign propagation, e.g., on hosts with 64-bit int.
116878         There still are some problems with reeelly weird theoretical hosts
116879         (e.g., 33-bit int) but it's not worth worrying about now.
116880         * lib/sha1.c (rol): Likewise.
116881         (K1, K2, K3, K4): Remove unnecessary L suffix.
116883 2006-05-10  Bruno Haible  <bruno@clisp.org>
116885         * lib/des.c: Cast to avoid warnings.
116887 2006-05-09  Bruno Haible  <bruno@clisp.org>
116889         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
116890         (Depends-on): Depend also on xsize, stdarg.
116891         (configure.ac): Add gl_XVASPRINTF.
116893 2006-05-09  Bruno Haible  <bruno@clisp.org>
116895         * m4/xvasprintf.m4: New file.
116897 2006-05-09  Bruno Haible  <bruno@clisp.org>
116899         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
116900         (EOVERFLOW): Define fallback value.
116901         (xstrcat): New function.
116902         (xvasprintf): Recognize the special case of a string concatenation.
116904 2006-05-08  Eric Blake  <ebb9@byu.net>
116906         * gnulib-tool (func_version): Base copyright year on CVS date.
116907         (func_emit_copyright_notice): New function.
116908         (func_emit_lib_Makefile_am): Use it.
116909         (func_emit_tests_Makefile_am): Likewise.
116910         (func_import): Likewise.
116912 2006-05-08  Bruno Haible  <bruno@clisp.org>
116914         * modules/stdarg: New file.
116915         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
116917 2006-05-08  Bruno Haible  <bruno@clisp.org>
116919         * m4/stdarg.m4: New file, from GNU gettext.
116921 2006-05-08  Bruno Haible  <bruno@clisp.org>
116923         * config/srclist.txt (build-aux/config.rpath): different from latest
116924         release.
116926 2006-05-08  Bruno Haible  <bruno@clisp.org>
116928         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
116930 2006-05-05  Jim Meyering  <jim@meyering.net>
116932         * m4/warning.m4: New file, derived from bison's file by the same name.
116934 2006-05-03  Bruno Haible  <bruno@clisp.org>
116936         * lib/stdint_.h: Shorter URL.
116937         * lib/inttypes.h: Likewise.
116939 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
116941         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
116943 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
116945         * lib/verify.h: Document the internals better.  Most of this change
116946         was written by Bruno Haible.
116948 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
116950         * doc/verify.texi: New file, partly based on a proposal by
116951         Bruno Haible.
116953 2006-05-02  Bruno Haible  <bruno@clisp.org>
116955         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
116956         test from here...
116957         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
116959 2006-04-29  Bruno Haible  <bruno@clisp.org>
116961         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
116962         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
116964 2006-04-29  Bruno Haible  <bruno@clisp.org>
116966         * gnulib-tool: Make --update option actually work.
116968 2006-04-29  Bruno Haible  <bruno@clisp.org>
116970         * doc/gcd.texi: New file.
116971         * doc/gnulib.texi: Include it.
116973 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
116975         * lib/getdate.y (get_date): When adding relative date, start with the
116976         initial time, not with the result of the first mktime call.
116978 2006-04-25  Bruno Haible  <bruno@clisp.org>
116980         * gnulib-tool (func_import): Output the include directives in three
116981         blocks, sorted separately.
116982         Reported by Ben Pfaff <blp@cs.stanford.edu>.
116984 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
116986         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
116987         to define main with arguments, for C++.  Reported by Eric Blake.
116988         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
116989         Prefer 'int main ()' to 'int main (void)', for C++.
116990         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
116991         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
116992         for 'main', for C99 and C++.
116994 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
116996         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
116997         Don't assume that exit status -1 is valid.
116998         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
116999         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
117000         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
117001         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
117002         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
117003         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
117004         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
117005         functions can be used without declaring them, or that you can
117006         exit with status -1.
117007         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
117009 2006-04-24  Karl Berry  <karl@gnu.org>
117011         * config/srclist.txt (longdouble.m4): sync lost.
117013 2006-04-24  Eric Blake  <ebb9@byu.net>
117015         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
117017 2006-04-24  Bruno Haible  <bruno@clisp.org>
117019         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
117020         poll() implementation in AIX.
117021         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117023 2006-04-24  Bruno Haible  <bruno@clisp.org>
117025         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
117026         assigned exactly once.
117028 2006-04-23  Claudio Fontana  <claudio@gnu.org>
117029             Bruno Haible  <bruno@clisp.org>
117031         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
117032         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
117033         for AM_CPPFLAGS.
117035 2006-04-23  Bruno Haible  <bruno@clisp.org>
117037         * modules/copy-file: Depend on unistd.
117038         * modules/execute: Likewise.
117039         * modules/fatal-signal: Likewise.
117040         * modules/findprog: Likewise.
117041         * modules/mkdtemp : Likewise.
117042         * modules/pipe: Likewise.
117043         * modules/wait-process: Likewise.
117045 2006-04-23  Bruno Haible  <bruno@clisp.org>
117047         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
117048         condition was already detected.
117049         Reported by Ben Pfaff <blp@cs.stanford.edu>.
117051 2006-04-23  Bruno Haible  <bruno@clisp.org>
117053         * lib/copy-file.c: Include <unistd.h> unconditionally.
117054         * lib/execute.c: Likewise.
117055         * lib/fatal-signal.c: Likewise.
117056         * lib/findprog.c: Likewise.
117057         * lib/mkdtemp.c: Likewise.
117058         * lib/pipe.h: Likewise.
117059         * lib/pipe.c: Likewise.
117060         * lib/wait-process.h: Likewise.
117062 2006-04-23  Bruno Haible  <bruno@clisp.org>
117064         * gnulib-tool (func_usage): Fix --import description. Document
117065         --update.
117066         (func_import): Create temporary file in a temporary directory, if
117067         --dry-run is specified. Silence errors from 'grep' when there are no
117068         m4 files in $m4dir.
117069         (func_create_testdir): Silence errors from 'grep' when there are no
117070         m4 files in $m4dir.
117071         Reported by Karl Berry <karl@freefriends.org>.
117073 2006-04-20  Bruno Haible  <bruno@clisp.org>
117075         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
117076         one argument, so that the code will be portable to Autoconf 2.60.
117077         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
117078         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
117079         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
117081 2006-04-19  Derek Price  <derek@ximbiot.com>
117082             Eric Blake  <ebb9@byu.net>
117084         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
117085         rather than "/full/path.h".  Update comment to match.  Shorten &
117086         generalize m4_translit call via AS_TR_CPP.
117088 2006-04-19  Derek Price  <derek@ximbiot.com>
117089             Eric Blake  <ebb9@byu.net>
117091         * lib/inttypes.h: Correct grammar in comment.
117093 2006-04-18  Derek Price  <derek@ximbiot.com>
117094             Paul Eggert  <eggert@cs.ucla.edu>
117096         * modules/inttypes: New file.
117097         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
117099 2006-04-18  Derek Price  <derek@ximbiot.com>
117100             Paul Eggert  <eggert@cs.ucla.edu>
117102         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
117103         New files.
117105 2006-04-18  Derek Price  <derek@ximbiot.com>
117106             Paul Eggert  <eggert@cs.ucla.edu>
117108         * lib/inttypes.h: New file.
117109         * lib/strtoimax.c: Assume <inttypes.h>.
117111 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
117113         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
117114         isn't mounted.  Problem reported by Kir Kolyshkin.
117116 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
117118         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
117119         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
117120         Derek R. Price.
117121         * lib/regex.h (RE_DUP_MAX): Update comment to match current
117122         implementation.
117124 2006-04-12  Eric Blake  <ebb9@byu.net>
117126         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
117127         is now done automatically by the corresponding Autoconf macro.
117129 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
117131         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
117132         time_r.h.
117134 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117136         Merge regex changes from libc, removing some of our
117137         POSIX-conformance changes that were rejected and redoing them in a
117138         less-intrusive way.
117140         * lib/regcomp.c (re_compile_internal, init_dfa):
117141         Length arg is now size_t, not Idx.  All uses changed.
117142         (peek_token): Forward decl now says internal_function.
117143         (__re_error_msgid, __re_error_msgid_idx):
117144         Now static rather than extern with attribute_hidden.
117145         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
117146         For some reason libc prefers K&R style defns for external functions.
117147         (regerror) [!defined _LIBC]: Likewise.
117148         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
117149         (seek_collating_symbol_entry, lookup_collation_sequence_value):
117150         (build_range_exp, build_collating_symbol):
117151         Use K&R-style defn.
117152         (re_compile_fastmap): Use '\0' to memset, not 0.
117153         (utf8_sb_map): Make the calculations more obvious.
117154         (init_dfa, parse_bracket_exp, build_charclass_op):
117155         Call calloc and cast result, as glibc does.
117156         (init_word_char, fetch_token, peek_token, peek_token_bracket):
117157         (build_range_exp, build_collating_symbol):
117158         Now internal functions.
117160         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
117162         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
117163         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
117164         Don't depend on VMS; depend on __VMS instead, for POSIX
117165         namespace cleanness.
117166         (regoff_t): Define to ssize_t, not long int.
117168         Remove the REG_ macros named below.  Instead, make the old names
117169         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
117170         __USE_GNU_REGEX.
117171         (REG_BACKSLASH_ESCAPE_IN_LISTS):
117172         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
117173         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
117174         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
117175         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
117176         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
117177         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
117178         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
117179         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
117180         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
117181         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
117182         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
117183         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
117184         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
117185         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
117186         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
117187         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
117188         (REG_NREGS):
117189         Remove.  All uses replaced by the old RE_* names.
117190         (RE_BACKSLASH_ESCAPE_IN_LISTS):
117191         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
117192         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
117193         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
117194         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
117195         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
117196         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
117197         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
117198         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
117199         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
117200         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
117201         Don't bother having these macros be independent of each others'
117202         values, since they no longer exist in the POSIX name space.
117204         Rename the following member names back to their old names,
117205         unless !__USE_GNU_REGEX.  All uses changed back.
117206         (buffer): Renamed from re_buffer.
117207         (allocated): Renamed from re_allocated.
117208         (used): Renamed from re_used.
117209         (syntax): Renamed from re_syntax.
117210         (fastmap): Renamed from re_fastmap.
117211         (translate): Renamed from re_translate.
117212         (can_be_null): Renamed from re_can_be_null.
117213         (regs_allocated): Renamed from re_regs_allocated.
117214         (fastmap_accurate): Renamed from re_fastmap_accurate.
117215         (no_sub): Renamed from re_no_sub.
117216         (not_bol): Renamed from re_not_bol.
117217         (not_eol): Renamed from re_not_eol.
117218         (newline_anchor): Renamed from re_newline_anchor.
117219         (num_regs): Renamed from rm_num_regs.
117220         (start): Renamed from rm_start.
117221         (end): Renamed from rm_end.
117223         (free_state): Move up a bit.
117225         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
117226         #define to be empty.
117227         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
117228         when that is what is intended.
117229         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
117230         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
117231         (MAX): New macro.
117232         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
117233         All uses changed back to re_malloc, etc.  It's now the caller's
117234         responsibility to check for overflow; all callers changed.
117235         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
117236         (re_x2nrealloc): Remove.
117237         (free_state): Remove decl.
117239         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
117240         (re_set_registers, re_exec):
117241         Use K&R-style defn.
117243         2006-01-31  Roland McGrath  <roland@redhat.com>
117245         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
117246         Reported by Mike Frysinger <vapier@gentoo.org>.
117248         2006-01-15  Andreas Jaeger  <aj@suse.de>
117250         [BZ #1950]
117251         * lib/regex_internal.c (re_string_reconstruct): Adjust for
117252         build_wcs_upper_buffer change.
117253         (build_wcs_upper_buffer): Change return type.
117255         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
117257         * lib/regex_internal.h: Include <stdint.h> if available.
117259         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
117261         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
117263         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
117265         * lib/regcomp.c: Adjust for changed secondary hash function.
117267         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
117269         * lib/regex.h: Pretty printing.
117270         Clean up namespace a bit.
117272         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
117274         * lib/regexec.c (update_cur_sifted_state, check_arrival,
117275         check_arrival_add_next_nodes): Avoid using uninitialized variable.
117277         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
117278                     Ulrich Drepper  <drepper@redhat.com>
117280         [BZ #1302]
117281         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
117282         changed.
117283         (bitset_word_t): Renamed from bitset_word.  All uses changed.
117285         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
117287         [BZ #281]
117288         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
117289         * lib/regcomp.c: Remove unnecessary uses of
117290         unsigned RE_TRANSLATE_TYPE.
117291         * lib/regex_internal.h: Likewise.
117292         * lib/regex_internal.c: Likewise.
117293         * lib/regexec.c: Likewise.
117294         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
117296         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
117298         * lib/regexec.c (find_recover_state): Remove unnecessary
117299         initialization.
117300         (transit_state_bkref): Make DFA a const pointer.
117301         (get_subexp): Likewise.
117302         (check_arrival): Likewise.
117303         (update_cur_sifted_state): Likewise.
117304         (re_search_internal): Likewise.
117305         (prune_impossible_nodes): Likewise.
117306         (acquire_init_state_context): Likewise.
117307         (proceed_next_node): Likewise.
117308         (set_regs): Likewise.
117309         (free_fail_stack_return): Likewise.
117310         (check_arrival_expand_ecl): Mark DFA parameter as const.
117311         (check_arrival_expand_ecl_sub): Likewise.
117312         (check_subexp_limits): Likewise.
117313         (sub_epsilon_src_nodes):  Likewise.
117314         (add_epsilon_src_nodes):  Likewise.
117315         (merge_state_array): Likewise.
117316         (update_regs): Likewise.
117317         (build_trtable): Likewise.
117318         (sift_states_backward): Mark MCTX parameter as const.
117319         (build_sifted_states): Likewise.
117320         (update_cur_sifted_state): Likewise.
117321         (sift_states_mkref): Likewise.
117322         (check_arrival_expand_ecl): Mark eclosure as const.
117323         (check_dst_limits_calc_pos_1): Likewise.
117324         * lib/regex_internal.h (re_match_context_t): Make dfa a const
117325         pointer.
117327         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
117329         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
117330         (transit_state_sb): Likewise.
117331         (transit_state_mb): Likewise.
117332         (sift_states_iter_mb): Likewise.
117333         (check_arrival_add_next_nodes): Likewise.
117334         (check_node_accept_bytes): Change first parameter to pointer-to-const.
117335         [_LIBC] (re_search_2_stub): Use mempcpy.
117337         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
117338         mbrtowc for very simple UTF-8 case.
117340         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
117341         a pointer-to-const.
117342         (re_acquire_state_context): Likewise.
117343         * lib/regex_internal.h: Adjust prototypes.
117345         * lib/regex.c: Prevent using C++ compilers.
117347         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
117348         (re_acquire_state_context): Likewise.
117350 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117352         * modules/regex (Depends-on): Add ssize_t.
117354 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117356         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
117357         translation table.
117359 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117361         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
117363 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
117364             Bruno Haible  <bruno@clisp.org>
117366         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
117367         <sys/types.h> and <inttypes.h>.
117369 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117371         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
117372         `__error_t_defined', so argp.h will not typedef the former.
117374 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
117376         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
117377         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
117378         glibc names.  Even if glibc is changed to conform to POSIX, the
117379         traditional names will be available anyway, since regex depends on
117380         the extensions module.  Also, fix a longstanding typo in the
117381         implementation of Spencer ERE test #75 from grep 2.3.  Problems
117382         reported by Emanuele Giaquinta.  Also, change sense of cached
117383         variable, so that the message makes sense.
117385 2006-03-24  Simon Josefsson  <jas@extundo.com>
117387         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
117388         including some doc fixes.
117389         (base64_encode_alloc): Fix +1 bug on allocation failures.
117391 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117393         * lib/base64.c (base64_encode): Do not read past end of array with
117394         unsanitized input on systems with CHAR_BIT > 8.
117396 2006-03-24  Eric Blake  <ebb9@byu.net>
117398         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
117400 2006-03-22  Karl Berry  <karl@gnu.org>
117402         * config/srclist.txt (*setenv.[ch]): get from coreutils.
117403         * config/srclistvars.sh (COREUTILS): new var.
117405 2006-03-17  Jim Meyering  <jim@meyering.net>
117407         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
117408         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
117410 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
117412         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
117413         no longer needs it.  Instead, check that regoff_t is as least
117414         as wide as ptrdiff_t.
117416         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
117417         so that our regex.h stays compatible with the installed regex.
117418         This is helpful for installers who configure --without-included-regex.
117419         Problem reported by Emanuele Giaquinta.
117421 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
117423         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
117424         Typedef to long int, not to off_, as POSIX will likely change
117425         in that direction.
117427 2006-03-15  Eric Blake  <ebb9@byu.net>
117429         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
117431 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
117433         * lib/argp-help.c (validate_uparams): Fix typo
117434         * lib/argp-parse.c (argp_default_options): Consistently begin help
117435         messages with a lowercase letter.
117437 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
117439         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
117440         overrun buffers and shouldn't be used (much as gets shouldn't be
117441         used).
117442         * lib/time_r.c (asctime_r, ctime_r): Likewise.
117444 2006-03-08  Simon Josefsson  <jas@extundo.com>
117446         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
117447         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117449 2006-03-08  Simon Josefsson  <jas@extundo.com>
117451         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
117452         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117454 2006-03-08  Simon Josefsson  <jas@extundo.com>
117456         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
117457         signal that configure disabled the device.
117459 2006-03-08  Simon Josefsson  <jas@extundo.com>
117461         * build-aux/maint.mk: Fix refresh-po, to handle no translated
117462         languages.
117464 2006-03-07  Simon Josefsson  <jas@extundo.com>
117466         * modules/getopt (Depends-on): Add unistd.
117468         * modules/unistd: New file.
117470 2006-03-07  Simon Josefsson  <jas@extundo.com>
117472         * modules/gc-random: New file.
117474 2006-03-07  Simon Josefsson  <jas@extundo.com>
117476         * m4/unistd_h.m4: New file.
117478 2006-03-07  Simon Josefsson  <jas@extundo.com>
117480         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
117481         test to be side-effect free by storing the result in the cache
117482         variable gl_cv_lib_readline, and moving the assignment of
117483         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
117484         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117486 2006-03-07  Simon Josefsson  <jas@extundo.com>
117488         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
117489         error on missing devices (the functions will return an error).
117491         * m4/gc.m4: Move random stuff to gc-random.m4
117493 2006-03-07  Simon Josefsson  <jas@extundo.com>
117495         * lib/unistd_.h: New file.
117497 2006-03-07  Simon Josefsson  <jas@extundo.com>
117499         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
117501 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
117503         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
117504         Problem reported by Juan Manuel Guerrero.
117506 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
117508         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
117509         the unistd module.
117510         * lib/getlogin_r.c: Likewise.
117511         * lib/getlogin_r.h: Likewise.
117512         * lib/glob.c: Likewise.
117513         * lib/pagealign_alloc.c: Likewise.
117514         * lib/unistd_.h: Remove; no longer needed.
117516 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
117518         * MODULES.html.sh (Support for systems lacking POSIX:2001):
117519         Add unistd.
117520         * modules/c-stack (Depends-on): Add unistd.
117521         * modules/getlogin_r: Likewise.
117522         * modules/glob: Likewise.
117523         * modules/pagealign_alloc: Likewise.
117524         * modules/unistd (Files): Remove lib/unistd_.h.
117525         (EXTRA_DIST): Remove.
117526         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
117527         need unistd_.h.
117528         (MOSTLYCLEANFILES): Remove unistd.h-t.
117530 2006-03-03  Simon Josefsson  <jas@extundo.com>
117532         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
117534 2006-03-03  Simon Josefsson  <jas@extundo.com>
117536         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
117537         libidn and bison.
117539 2006-03-03  Simon Josefsson  <jas@extundo.com>
117541         * build-aux/maint.mk: Add indent target.
117543 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
117545         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
117546         our replacement poll.h in any case, to avoid a differing
117547         declaration from a system header.  Seen on AIX.
117549 2006-03-01  Simon Josefsson  <jas@extundo.com>
117551         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
117552         <kasal@ucw.cz>.
117554 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
117556         * modules/gettime (Depends-on): Add extensions module.
117557         * modules/nanosleep (Depends-on): Likewise.
117558         * modules/settime (Depends-on): Likewise.
117560 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
117562         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
117563         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
117564         pedantically.
117565         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
117566         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
117568         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
117569         not "==".  Reported by Ralf Wildenhues.
117571 2006-03-01  Karl Berry  <karl@gnu.org>
117573         * doc/Copyright/request-*: new files, synced from gnuorg.
117575 2006-03-01  Karl Berry  <karl@gnu.org>
117577         * config/srclist.txt (Copyright/*): new entries.
117579 2006-02-28  Simon Josefsson  <jas@extundo.com>
117581         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
117583 2006-02-27  Simon Josefsson  <jas@extundo.com>
117585         * lib/base64.h: Indent #define's.  From Jim Meyering
117586         <jim@meyering.net>.
117588 2006-02-27  Jim Meyering  <jim@meyering.net>
117590         Revert the change of 2006-02-24, so these files can continue
117591         to be sync'd from gettext.
117592         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
117593         of `config.h'.
117595 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
117597         * modules/intprops: New file.
117598         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
117599         Add intprops.
117600         * modules/getloadavg (Files): Remove lib/intprops.h.
117601         (Depends-on): Add intprops.
117602         * modules/human: Likewise.
117603         * modules/inttostr: Likewise.
117604         * modules/openat: Likewise.
117605         * modules/sig2str: Likewise.
117606         * modules/userspec: Likewise.
117607         * modules/utimecmp: Likewise.
117608         * modules/xnanosleep: Likewise.
117609         * modules/xstrtol: Likewise.
117611 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
117613         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
117614         * modules/lock-tests (TESTS): Use $(EXEEXT).
117615         * modules/tls-tests: Likewise.
117616         * modules/argp-tests: Likewise.
117617         (check_PROGRAMS): New var, replacing...
117618         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
117620 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117622         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
117623         `config.h'.
117625 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
117627         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
117629 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117631         Sync from coreutils.
117632         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
117633         gl_CHDIR_SAFER.
117635 2006-02-22  Jim Meyering  <jim@meyering.net>
117637         Sync from coreutils.
117638         * m4/chdir-safer.m4: New file.
117640 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
117642         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
117643         AT_FDCWD exceeds INT_MAX.
117644         * lib/openat.h (AT_FDCWD): Likewise.
117646 2006-02-17  Eric Blake  <address@hidden>
117648         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
117650 2006-02-16  Simon Josefsson  <jas@extundo.com>
117652         * modules/getaddrinfo (Depends-on): Add sys_socket.
117654 2006-02-15  Simon Josefsson  <jas@extundo.com>
117656         * build-aux/maint.mk: Add dsyntax-check rule.
117658 2006-02-15  Eric Blake  <ebb9@byu.net>
117660         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
117661         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
117662         'present but cannot compile' warnings on cygwin.
117663         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
117664         use ws2tcpip.h if sys/socket.h works.
117665         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
117666         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
117668 2006-02-14  Simon Josefsson  <jas@extundo.com>
117670         * modules/maintainer-makefile (Files): Rename.
117672         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
117673         and (the local) Makefile.cfg to maint-cfg.mk.
117675         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
117676         to the latter.
117678         * modules/maintainer-makefile: New module.
117680         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
117681         severaly stripped to make it possible to build it up from scratch
117682         with reliable tests.
117684         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
117685         fixes to permit overriding the default actions when configure and
117686         makefile are not available.
117688 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
117690         Sync from coreutils.
117691         * modules/lstat (Depends-on): Don't depend on xalloc.
117692         (License): Change from GPL to LGPL, since this is now simply a
117693         replacement for a libc function.
117695 2006-02-14  Jim Meyering  <jim@meyering.net>
117697         Sync from coreutils.
117699         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
117700         failure on deficient systems, and simplify gnulib lgpl dependencies.
117701         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
117702         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
117704         * lib/xalloc-die.c: Remove unused definition of N_.
117706 2006-02-14  Jim Meyering  <jim@meyering.net>
117708         Sync from coreutils.
117709         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
117710         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
117711         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
117712         double-quote uses of that variable, to accommodate the rare case in
117713         which getmntent is available in none of the libraries checked.  This
117714         happens at least on FreeBSD 5.0.
117716 2006-02-13  Simon Josefsson  <jas@extundo.com>
117718         * gnulib-tool (Usage): Fix --import, from
117719         karl@freefriends.org (Karl Berry).
117721 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
117723         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
117725 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
117727         * lib/argp-namefrob.h: Restore changes accidentally lost during the
117728         "autoupdate" on 2005-12-12.
117730 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
117732         * modules/closeout (Depends-on): Remove atexit.
117734 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
117736         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
117737         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
117739 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
117741         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
117742         __EXTENSIONS__ if this causes compilation to fail.  Problem
117743         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
117744         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
117746 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
117748         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
117749         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
117750         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
117751         All uses changed.
117753 2006-01-26  Simon Josefsson  <jas@extundo.com>
117755         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
117756         prototype is visible on mingw32.
117758         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
117759         for mingw32.
117761         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
117762         mingw32).
117764 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
117766         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
117767         attempt to open for write; this always fails, at least on POSIX
117768         hosts.  This reinstates the 2006-01-09 change, which was
117769         inadvertently removed.
117771 2006-01-26  Bruno Haible  <bruno@clisp.org>
117773         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
117774         Reported by Paul Eggert.
117776 2006-01-26  Bruno Haible  <bruno@clisp.org>
117777             Paul Eggert  <eggert@cs.ucla.edu>
117779         * lib/stdbool_.h (_Bool)
117780         [(! (defined __cplusplus || defined __BEOS__)
117781           && !defined __GNUC__
117782           && !(defined __HP_cc || defined __xlc__
117783                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
117784                || defined __sgi))]:
117785         #define to signed char in these cases too; this simplifies
117786         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
117787         etc., separately) and makes it more conservative.
117789 2006-01-25  Simon Josefsson  <jas@extundo.com>
117791         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
117792         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
117793         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
117795 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
117797         * lib/argp-namefrob.h: Bugfix. Remove stray #
117799 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
117801         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
117802         so that we test the test.
117803         Check for yet another HP-UX cc bug involving *bool |= bool.
117805 2006-01-25  Karl Berry  <karl@gnu.org>
117807         * config/srclist.txt (vasnprintf.c): sync lost.
117809 2006-01-25  Jim Meyering  <jim@meyering.net>
117811         Sync from the stable (b5) branch of coreutils:
117813         * lib/fts.c (fts_children): Don't let close() clobber errno from
117814         failed fchdir().
117816         * lib/fts.c (fts_stat): When following a symlink-to-directory,
117817         don't necessarily interpret stat-fails+lstat-succeeds as indicating
117818         a dangling symlink.  That can also happen at least for ELOOP.
117819         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
117820         FYI, this bug predates the inclusion of fts.c in coreutils.
117822         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
117823         in their own block, so pre-c99 compilers don't object.
117825         Avoid the double-free (first in fts_read, second in fts_close) that
117826         would occur when an `active' directory is made inaccessible (e.g.,
117827         via chmod a-x) during a traversal.
117828         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
117829         before returning.  Reproduce this failure by
117830         mkdir -p a/b; cd a; chmod a-x . b
117831         Reported by Stavros Passas.
117833 2006-01-25  Jim Meyering  <jim@meyering.net>
117835         * lib/fileblocks.c: Remove more useless parentheses.
117836         * lib/readutmp.h: Likewise.
117838 2006-01-25  Bruno Haible  <bruno@clisp.org>
117840         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
117841         warnings.
117842         Reported by Paul Eggert.
117844 2006-01-25  Bruno Haible  <bruno@clisp.org>
117846         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
117847         rid of a trap command. For Solaris sh.
117848         Reported by Mark D. Baushke <mdb@gnu.org>.
117850 2006-01-24  Simon Josefsson  <jas@extundo.com>
117852         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
117853         Bruno.
117855 2006-01-24  Karl Berry  <karl@gnu.org>
117857         * config/srclist.txt (argp-namefrob.h): sync lost.
117859 2006-01-24  Jim Meyering  <jim@meyering.net>
117861         * modules/openat (Files): Add lib/intprops.h.
117862         From Mark D. Baushke.
117864 2006-01-24  Jim Meyering  <jim@meyering.net>
117866         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
117867         Reported by Mark D. Baushke.
117869 2006-01-24  Jim Meyering  <jim@meyering.net>
117871         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
117873 2006-01-24  Bruno Haible  <bruno@clisp.org>
117875         * modules/strnlen (Maintainer): Change from glibc to all.
117877 2006-01-24  Bruno Haible  <bruno@clisp.org>
117879         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
117880         Patch by Paul Eggert.
117882 2006-01-24  Bruno Haible  <bruno@clisp.org>
117884         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
117885         already has it.
117886         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
117887         2005-11-26.
117889         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
117890         'signed char' to avoid problems with the built-in _Bool type.
117891         Reported by Paul Eggert on 2005-11-26.
117893 2006-01-24  Bruno Haible  <bruno@clisp.org>
117895         * gnulib-tool (func_import): Avoid constructing complicated sed
117896         expressions inside backquote.
117897         Report and solution by Mark D. Baushke <mdb@gnu.org>.
117899 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
117901         These changes imported from libc.
117902         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
117903         test and two separate function calls.
117904         * lib/strndup.c (__strndup): Add libc_hidden_def.
117906 2006-01-23  Simon Josefsson  <jas@extundo.com>
117908         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
117909         Remove the test_*_SOURCES variable: automake infers it by default.
117910         * modules/tls-tests: Likewise.
117912 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
117914         Work around porting bugs reported by Dieter in
117915         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
117916         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
117917         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
117918         Include "getopt.h" first, to check interface.
117919         (getenv): Declare only if defined HAVE_DECL_GETENV &&
117920         !HAVE_DECL_GETENV.
117921         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
117922         (__strndup): Revert to K&R-style function dfns, the glibc style.
117923         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
117924         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
117925         Include strnlen.h first, to get prototype properly.
117926         (strnlen): Renamed from __strnlen.
117927         Remove weak alias.
117929 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
117931         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
117933 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
117935         * config/srclist.txt: Adjust to reflect glibc reorganization.
117936         This affects only comments.
117938 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
117940          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
117941          Reported by Bruce Korb <bkorb@gnu.org>.
117943 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
117945         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
117946         to pacify gcc -Wswitch-default.
117948 2006-01-22  Bruno Haible  <bruno@clisp.org>
117950         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
117951         temporary buffer for sprintf, take into account the precision also
117952         for 'd', 'i', 'u', 'o', 'x', 'X'.
117954 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
117956         * modules/argp-tests: New module
117957         * tests/test-argp.c: New file
117958         * tests/test-argp-2.sh: New file
117960 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
117962         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
117963         (__argp_base_name): Removed
117964         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
117965         typo.
117966         (__argp_base_name): Provide macro definition or extern declaration
117967         depending on the configuration
117969 2006-01-20  Simon Josefsson  <jas@extundo.com>
117971         * modules/inet_ntop (Depends-on): Depend on sys_socket.
117973 2006-01-20  Simon Josefsson  <jas@extundo.com>
117975         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
117977 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
117979         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
117980         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
117981         Suggested by Bruno Haible.
117983 2006-01-20  Karl Berry  <karl@gnu.org>
117985         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
117986         until changes propagate, I guess.
117988 2006-01-19  Simon Josefsson  <jas@extundo.com>
117990         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
117992 2006-01-19  Simon Josefsson  <jas@extundo.com>
117994         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
117996 2006-01-19  Simon Josefsson  <jas@extundo.com>
117998         * gnulib-tool: Set check_PROGRAMS.
118000         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
118001         modules/des-tests, modules/gc-arcfour-tests,
118002         modules/gc-arctwo-tests, modules/gc-des-tests,
118003         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
118004         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
118005         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
118006         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
118007         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
118008         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
118009         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
118010         test_*_SOURCES.
118012 2006-01-18  Simon Josefsson  <jas@extundo.com>
118014         * modules/socklen (Depends-on): Depend on sys_socket.
118016 2006-01-18  Simon Josefsson  <jas@extundo.com>
118018         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
118019         modules/des-tests, modules/gc-arcfour-tests,
118020         modules/gc-arctwo-tests, modules/gc-des-tests,
118021         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
118022         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
118023         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
118024         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
118025         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
118026         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
118027         $(EXEEXT) to automake TESTS variable, for mingw32.
118029 2006-01-17  Simon Josefsson  <jas@extundo.com>
118031         * modules/socklen (Include): Need sys/socket.h.
118033 2006-01-17  Bruno Haible  <bruno@clisp.org>
118035         * modules/ssize_t (Include): Add <sys/types.h>.
118037 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
118039         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
118040         it's not portable and it doesn't work with cross-compiles.
118041         Problem reported by Bruno Haible.  Fix missing-$ typo in
118042         'test "gl_cv_ignore_unused_libraries" ...' that prevented
118043         -zignore from being used with Sun's C compiler.
118045 2006-01-12  Simon Josefsson  <jas@extundo.com>
118047         * lib/base64.c: Fix warning, reported by Bruno Haible
118048         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
118050 2006-01-12  Bruno Haible  <bruno@clisp.org>
118052         * modules/ldd: New file.
118053         * build-aux/ldd.sh.in: New file.
118054         * MODULES.html.sh (Support for building libraries and executables): Add
118055         ldd.
118057 2006-01-12  Bruno Haible  <bruno@clisp.org>
118059         * m4/ldd.m4: New file.
118061 2006-01-12  Bruno Haible  <bruno@clisp.org>
118063         * gnulib-tool (func_import, func_create_testdir): Don't go into an
118064         endless loop while replacing $auxdir with build-aux.
118066 2006-01-11  Simon Josefsson  <jas@extundo.com>
118068         * lib/stdint_.h (SIZE_MAX): Add missing (.
118070 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
118072         Sync from coreutils.
118073         * lib/md5.c: Fix commentary typos.
118074         (alignof, UNALIGNED_P): No need for a GCC-specific version.
118075         * lib/md5.h (__attribute__): Remove; unused.
118076         * lib/sha1.c: Fix commentary to match md5 better.
118077         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
118078         so that we don't need to worry about alignment.  All uses changed.
118079         This merges the 2005-10-28 md5 change into sha1.
118081 2006-01-11  Jim Meyering  <jim@meyering.net>
118083         Sync from coreutils.
118084         * lib/md5.c (OP): Fix spacing.
118086 2006-01-11  Bruno Haible  <bruno@clisp.org>
118088         Ensure automatic ordering between gl_LOCK and gl_ARGP.
118089         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
118090         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
118092 2006-01-11  Bruno Haible  <bruno@clisp.org>
118094         Ensure automatic ordering between gl_LOCK and gl_ARGP.
118095         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
118096         the "early" section as well.
118098 2006-01-11  Bruno Haible  <bruno@clisp.org>
118100         Avoid "ar: no archive members specified" error on MacOS X.
118101         * gnulib-tool (func_modules_add_dummy): New function.
118102         (func_import, func_create_testdir): Invoke it.
118104 2006-01-11  Bruno Haible  <bruno@clisp.org>
118106         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
118107         with $auxdir in AC_CONFIG_FILES statements.
118109 2006-01-11  Bruno Haible  <bruno@clisp.org>
118111         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
118112         Initialize also noinst_HEADERS to empty.
118114 2006-01-11  Bruno Haible  <bruno@clisp.org>
118116         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
118117         variables.
118118         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
118119         autoreconf.
118121 2006-01-11  Bruno Haible  <bruno@clisp.org>
118123         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
118124         overridable by the user.
118125         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118127 2006-01-10  Simon Josefsson  <jas@extundo.com>
118129         * modules/sys_socket: New file.
118131 2006-01-10  Simon Josefsson  <jas@extundo.com>
118133         * m4/sys_socket_h.m4: New file.
118135 2006-01-10  Simon Josefsson  <jas@extundo.com>
118137         * lib/socket_.h: New file.
118139 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118141         * modules/readutmp (Maintainer): Add myself.
118143 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118145         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
118146         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
118147         People who are still concerned with buggy memcmp implementations
118148         can invoke gl_FUNC_MEMCMP themselves.
118150 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118152         * lib/regex_internal.h (BITSET_WORD_BITS):
118153         Work around a bug in 64-bit PGC (before version 6.1-2), where the
118154         preprocessor mishandles large unsigned values as if they were signed.
118155         Problem reported by Claudio Fontana in
118156         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
118158 2006-01-10  Jim Meyering  <jim@meyering.net>
118160         Avoid the double-free (first in fts_read, second in fts_close) that
118161         would occur when an `active' directory is made inaccessible (e.g.,
118162         via chmod a-x) during a traversal.
118163         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
118164         before returning.  Reproduce this failure by
118165         mkdir -p a/b; cd a; chmod a-x . b
118166         Reported by Stavros Passas.
118168         Sync from coreutils.
118169         * lib/sha1.c: Tweak grammar in a comment.
118171 2006-01-10  Jim Meyering  <jim@meyering.net>
118173         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
118174         Patch by Joerg Sonnenberger.
118176 2006-01-10  Bruno Haible  <bruno@clisp.org>
118178         * modules/readutmp: Depend on module free.
118179         * modules/strtok_r: Depend on module restrict.
118181 2006-01-10  Bruno Haible  <bruno@clisp.org>
118183         * modules/gettext (configure.ac): Add an invocation of
118184         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
118186 2006-01-10  Bruno Haible  <bruno@clisp.org>
118188         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
118189         Reported by Werner Lemberg <wl@gnu.org>.
118191 2006-01-10  Bruno Haible  <bruno@clisp.org>
118193         * lib/localcharset.c: Update from GNU gettext.
118195 2006-01-10  Bruno Haible  <bruno@clisp.org>
118197         * lib/argp.h (__const): Remove macro. Use const instead.
118198         * lib/argp-fmtstream.h (__const): Likewise.
118199         * lib/glob_.h (__const): Remove macro.
118200         * lib/glob-libc.h: Use const instead of __const.
118202 2006-01-10  Bruno Haible  <bruno@clisp.org>
118204         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
118205         variable.
118206         Needed to avoid an automake error regarding the 'gettext' module.
118208 2006-01-09  Simon Josefsson  <jas@extundo.com>
118210         * modules/inet_ntop (Depends-on): Add restrict.
118212 2006-01-09  Simon Josefsson  <jas@extundo.com>
118214         * modules/gc-rijndael-tests (License): Put under LGPL.
118216         * modules/gc-des-tests (License): Likewise.
118218         * modules/gc-arcfour-tests (License): Likewise.
118220         * modules/gc-arctwo-tests (License): Likewise.
118222         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
118224         * modules/gc-hmac-sha1-tests (Files): Likewise.
118226         * modules/gc-hmac-md5-tests (License): Likewise.
118228         * modules/gc-sha1-tests (License): Likewise.
118230         * modules/gc-md5-tests (License): Likewise.
118232         * modules/gc-md4-tests (License): Likewise.
118234         * modules/gc-md2-tests (License): Likewise.
118236         * modules/gc-tests (License): Likewise.
118238         * modules/des-tests (License): Likewise.
118240         * modules/md4-tests (License): Likewise.
118242         * modules/md2-tests (License): Likewise.
118244 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
118246         Sync from coreutils:
118248         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
118249         * modules/lib-ignore: New file.
118250         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
118251         chdir-safer.m4, lchmod.m4.
118252         * modules/openat: Add mkdirat.c, openat-priv.h.
118254 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
118256         Sync from coreutils.
118257         * m4/lib-ignore.m4: New file.
118258         * m4/lchmod.m4: New file.
118260 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
118262         Sync from coreutils.
118263         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
118264         for write access: POSIX says that must fail.
118265         * lib/fts.c (diropen): Likewise.
118266         * lib/save-cwd.c (save_cwd): Likewise.
118267         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
118268         well, for minor improvements on hosts that lack O_DIRECTORY.
118269         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
118270         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
118271         Fall back on chown if open failed with EACCES.
118273         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
118274         Report an error at compile-time if only a 1-second nominal clock
118275         resolution is found.
118277         * lib/lchmod.h: New file.
118278         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
118279         (make_dir_parents): Use lchown rather than chown, and
118280         lchmod rather than chmod.
118282         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
118283         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
118284         "proc" reported by n0dalus.
118286         * lib/mountlist.c: Include <limits.h>.
118287         (dev_from_mount_options)
118288         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
118289         New function.  It no longer assumes "dev=" has the System V meaning
118290         on Linux (since it doesn't).  It also parses "dev=" more carefully.
118291         (read_file_system_list)
118292         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
118293         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
118294         dev= in that case.
118296         * lib/posixtm.h (PDS_PRE_2000): New macro.
118297         * lib/posixtm.c (year): Arg is now syntax_bits rather than
118298         allow_century.  All usages changed.  Reject dates outside the range
118299         1969-1999 if PDS_PRE_2000 is used.
118301 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
118303         Sync from coreutils.
118304         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
118305         (Time of day items): Mention the possibility of leap seconds.
118306         Problem reported by Dr. David Alan Gilbert.
118308 2006-01-09  Jim Meyering  <jim@meyering.net>
118310         Sync from coreutils.
118312         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
118314         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
118316         * lib/modechange.c (mode_compile): Reject an invalid mode string
118317         that starts with an octal digit.  From Andreas Gruenbacher.
118319         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
118320         and dup to open_safer and dup_safer, respectively.
118321         (openat_permissive): Fix typo in comment.
118323         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
118324         "gettext.h"; either no longer needed or are guaranteed by openat.h.
118325         (_): Remove; no longer needed.
118326         (openat): Renamed from rpl_openat; no need for rpl_openat
118327         since openat.h renames openat for us.
118328         Replace most of the body with a call to openat_permissive,
118329         to avoid duplicate code.
118330         Port to (probably hypothetical) environments were mode_t is
118331         wider than int.
118332         (openat_permissive): Require mode arg, so that we can check
118333         types better.  Put it just after flags.  Change cwd failure
118334         indicator from pointer-to-bool to pointer-to-errno-value.
118335         All callers changed.
118336         Invoke openat_save_fail and/or openat_restore_fail if
118337         cwd_errno is null, so that openat can call us.
118338         (openat_permissive, fdopendir, fstatat, unlinkat):
118339         Simplify errno handling to avoid some duplicate code,
118340         as it's OK to set errno on success.
118341         * lib/openat.h: Revamp code so that function macros depend on
118342         __OPENAT_PREFIX only, not also on AT_FDCWD.
118343         (openat_ro): Remove.  Caller changed to use openat_permissive.
118344         (openat_permissive): Now a macro, if not a function.
118345         (openat_restore_fail, openat_save_fail): Now always functions,
118346         since mkdirat needs them even if __OPENAT_PREFIX is defined.
118348         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
118349         and openat.c.
118350         * lib/mkdirat.c: Include openat-priv.h.
118351         Remove definitions of macros defined therein.
118352         * lib/openat.c: Likewise.
118354         * lib/mkdirat.c (mkdirat): New file and function.
118355         * lib/openat.h (mkdirat): Declare.
118357         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
118359         * lib/openat.h (openat_permissive): Declare.
118360         (openat_ro): Define.
118362         * lib/openat.c (EXPECTED_ERRNO): New macro.
118363         (openat_permissive): New function -- used in remove.c rewrite.
118364         (all functions): Set errno just before returning, only if there
118365         was an actual failure.
118366         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
118368         Emulate openat-family functions using Linux's procfs, if possible.
118369         Idea and some code based on Ulrich Drepper's glibc changes.
118371         * lib/openat.c: (BUILD_PROC_NAME): New macro.
118372         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
118373         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
118374         before falling back on save_cwd and restore_cwd.
118375         (fdopendir, fstatat, unlinkat): Likewise.
118377         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
118378         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
118380         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
118381         as second argument to va_arg.  Otherwise, some versions of gcc
118382         warn that `if this code is reached, the program will abort'.
118384 2006-01-09  Jim Meyering  <jim@meyering.net>
118386         Sync from coreutils.
118387         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
118388         Require openat-priv.h.
118390 2006-01-09  Bruno Haible  <bruno@clisp.org>
118392         * modules/strnlen (Include): Use strnlen.h.
118394 2006-01-09  Bruno Haible  <bruno@clisp.org>
118396         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
118398 2006-01-09  Bruno Haible  <bruno@clisp.org>
118400         * lib/sysexit_.h (EX_OK): New macro.
118401         Suggested by Martin Lambers <marlam@marlam.de>.
118403 2006-01-09  Bruno Haible  <bruno@clisp.org>
118405         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
118406         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
118408 2006-01-09  Bruno Haible  <bruno@clisp.org>
118410         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
118411         numbers.
118413 2006-01-09  Bruno Haible  <bruno@clisp.org>
118415         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
118416         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
118417         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
118418         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
118420 2006-01-09  Bruno Haible  <bruno@clisp.org>
118422         * build-aux/javacomp.sh.in: New file, moved from lib/.
118423         * modules/javacomp-script (Files): Update.
118424         (configure.ac): Add AC_CONFIG_FILES invocation.
118425         (EXTRA_DIST): Remove variable.
118427         * build-aux/javaexec.sh.in: New file, moved from lib/.
118428         * modules/javaexec (Files): Update.
118429         (configure.ac): Add AC_CONFIG_FILES invocation.
118430         (EXTRA_DIST): Remove javaexec.sh.in.
118432         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
118433         * modules/csharpcomp-script (Files): Update.
118434         (configure.ac): Add AC_CONFIG_FILES invocation.
118435         (EXTRA_DIST): Remove variable.
118437         * build-aux/csharpexec.sh.in: New file, moved from lib/.
118438         * modules/csharpexec (Files): Update.
118439         (configure.ac): Add AC_CONFIG_FILES invocation.
118440         (EXTRA_DIST): Remove csharpexec.sh.in.
118442 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
118444         Sync from coreutils.
118446         Add POSIX ACL support
118447         * lib/acl.h (copy_acl, set_acl): Add declarations.
118448         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
118449         systems other than Linux.
118450         (chmod_or_fchmod): New function: use fchmod when possible,
118451         and chmod otherwise.
118452         (file_has_acl): Add a POSIX ACL implementation, with a
118453         Linux-specific subcase.
118454         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
118455         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
118456         acls are unsupported.
118457         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
118458         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
118459         are unsupported.
118461 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
118463         Sync from coreutils.
118464         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
118466 2006-01-07  Bruno Haible  <bruno@clisp.org>
118468         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
118469         gl_EARLY.
118471 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
118473         * lib/strftime.c (tzname): Don't declare if it is already #defined.
118474         Problem reported for Mingw by Mark Junker.
118476 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
118478         * README: Gnulib normally doesn't generate a tarball.
118480 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
118482         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
118483         long int, not int, for nanosecond counts, so that people who are
118484         used to POSIX struct timespec won't be surprised.  Reported by Jim
118485         Meyering.
118487 2005-12-28  Bruno Haible  <bruno@clisp.org>
118489         * build-aux/config.rpath: Update from GNU gettext.
118491 2005-12-16  Jim Meyering  <jim@meyering.net>
118493         * modules/fprintftime: New module.
118494         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
118496 2005-12-16  Jim Meyering  <jim@meyering.net>
118498         * m4/fprintftime.m4: New file.
118500 2005-12-16  Jim Meyering  <jim@meyering.net>
118502         * lib/fprintftime.c, lib/fprintftime.h: New files.
118504 2005-12-15  Simon Josefsson  <jas@extundo.com>
118506         * modules/socklen (configure.ac): Fix M4 macro name, to align with
118507         new m4/socklen.m4.
118509 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
118511         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
118512         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
118514 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
118516         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
118517         * lib/argp-help.c (fill_in_uparams): Check if the constructed
118518         struct uparams is valid. Fall back to the default values if it is
118519         not.
118521 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
118523         * modules/argp (Files): Add argp-pin.c
118524         (Depends-on): dirname
118525         (lib_SOURCES): Add argp-pin.c
118527 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
118529         * m4/argp.m4:  Check if program_invocation_name and
118530         program_invocation_short_name are declared and define appropriate
118531         macros if they are not.
118533 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
118535         * lib/argp-help.c (__argp_base_name): New function
118536         (__argp_short_program_name): Rewrite using __argp_base_name
118537         * lib/argp-namefrob.h: Define program_invocation_name and
118538         program_invocation_short_name if requested
118539         (__argp_base_name): Add prototype
118540         * lib/argp-parse.c (argp_def): Use gettext wrappers
118541         (argp_default_parser): Use __argp_base_name
118542         * lib/argp-pin.c: New file. Defines program_invocation_name and
118543         program_invocation_short_name on systems that lack them.
118545 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
118547         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
118548         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
118549         porting problem reported by Georg Schwarz in
118550         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
118552 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
118554         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
118555         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
118556         porting problem reported by Georg Schwarz in
118557         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
118559 2005-12-05  Bruno Haible  <bruno@clisp.org>
118561         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
118562         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
118563         Reported by Mark Junker <mjscod@gmx.de>.
118565 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
118567         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
118568         Use implementation from Albert Chin, with some
118569         comments/corrections by Stepan Kasal and myself.
118571 2005-12-02  Bruno Haible  <bruno@clisp.org>
118573         * gnulib-tool (func_import): Accept GPLed build tool modules when
118574         --lgpl is given.
118575         * modules/csharpcomp-script: New file.
118576         * modules/csharpcomp: Depend on it.
118577         * modules/javacomp-script: New file.
118578         * modules/javacomp: Depend on it.
118579         Suggested by Simon Josefsson.
118581 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
118583         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
118584         statement, to work around an HP-UX 10.20 compiler bug reported by
118585         Peter O'Gorman.
118587 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
118589         * modules/savedir (Depends-on): Add openat.
118591 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
118593         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
118594         (uintmax_t) [defined uintmax_t]: Do not declare.
118595         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
118596         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
118597         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
118598         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
118599         sake of portability to weird hosts that C allows (though we don't
118600         know of any practical examples).
118602         * lib/savedir.h (fdsavedir): New decl.
118603         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
118604         contains most of the former guts of savedir.
118605         (savedir): Use savedirstream.
118606         Include "openat.h".
118608 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
118610         * modules/obstack (Files): Add m4/ulonglong.m4.
118611         Problem reported by Davide Angelocola.
118613 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
118615         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
118616         coreutils no longer futzes with rounding modes.
118618 2005-11-14  Jim Meyering  <jim@meyering.net>
118620         * lib/mkstemp-safer.c: Include <config.h>, required for possible
118621         replacement of mkstemp.
118623 2005-11-10  Simon Josefsson  <jas@extundo.com>
118625         * lib/readline.c: Remove EOL.
118627 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
118629         * modules/gethrxtime (Depends-on): Add gettime.
118631 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
118633         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
118634         or gettimeofday; no longer needed.
118636 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
118638         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
118639         time business.
118640         (gethrxtime) [! (HAVE_NANOUPTIME
118641         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
118642         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
118643         our own approximation.
118645 2005-11-08  Eric Blake  <ebb9@byu.net>
118647         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
118649 2005-11-08  Eric Blake  <ebb9@byu.net>
118651         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
118653 2005-11-04  Bruno Haible  <bruno@clisp.org>
118655         * gnulib-tool: Implement --update mode.
118657 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
118659         Fix porting problem reported by Theodoros V. Kalamatianos.
118660         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
118661         Don't assume that futimes failing means we must fail.
118663 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
118665         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
118666         variables to suggest the intended function of the PATH_MAX check.
118668 2005-10-30  Kean Johnston  <jkj@sco.com>
118670         Trivial changes to support SCO systems.
118671         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
118672         as PATH_MAX.
118673         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
118674         where __ptr is null when no I/O is pending.
118676 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
118678         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
118679         leave errno alone.  Problem reported by Dmitry V. Levin.
118681 2005-10-28  Simon Josefsson  <jas@extundo.com>
118683         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
118684         Test more.
118686         * tests/test-gc-md2.c, tests/test-md2.c: New files.
118688         * modules/md2, modules/md2-tests: New files.
118690 2005-10-28  Simon Josefsson  <jas@extundo.com>
118692         * m4/inet_ntop.m4: More tests.
118694         * m4/gc-md2.m4, md2.m4: New file.
118696 2005-10-28  Simon Josefsson  <jas@extundo.com>
118698         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
118699         "restrict" keywords, as per POSIX.  Protect the function
118700         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
118701         Don't use K&R prototypes.  Check the sprintf return values.
118702         Re-define EAFNOSUPPORT if not present.  Indent.
118704         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
118705         suggested by Bruno Haible <bruno@clisp.org>.
118707         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
118709         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
118711         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
118712         libgcrypt).
118714         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
118716         * lib/md2.h, lib/md2.c: New files.
118718 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
118720         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
118721         errno alone.  Problem reported by Frederic Jolliton.
118723 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
118725         * modules/verify (License): Change from GPL to LGPL.  This is a
118726         tiny module and there are apparently near-equivalents that are
118727         under the BSD license.
118729 2005-10-24  Simon Josefsson  <jas@extundo.com>
118731         * modules/sha1: Relicense to LGPL.
118733 2005-10-24  Simon Josefsson  <jas@extundo.com>
118735         * lib/md4.h: Shrink buffer size, now that we changed the type.
118737 2005-10-23  Simon Josefsson  <jas@extundo.com>
118739         * gnulib-tool (func_import): Fix --tests-base.
118741 2005-10-22  Simon Josefsson  <jas@extundo.com>
118743         * modules/arcfour (Depends-on): Need stdint.
118745 2005-10-22  Simon Josefsson  <jas@extundo.com>
118747         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
118748         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
118750 2005-10-22  Simon Josefsson  <jas@extundo.com>
118752         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
118753         suggested by Bruno Haible <bruno@clisp.org>.
118755 2005-10-22  Simon Josefsson  <jas@extundo.com>
118757         * lib/crc.h: Include stddef.h, for size_t.
118759 2005-10-22  Simon Josefsson  <jas@extundo.com>
118761         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
118762         arcfour_context struct (simplify test vector testing in GNU
118763         Shishi).
118765 2005-10-21  Simon Josefsson  <jas@extundo.com>
118767         * modules/des, modules/des-tests: New files.
118769         * modules/gc-des, modules/gc-des-tests: New files.
118771         * tests/test-des.c, tests/test-gc-des.c: New file.
118773 2005-10-21  Simon Josefsson  <jas@extundo.com>
118775         * modules/arctwo, modules/arctwo-tests: New files.
118777         * tests/test-arctwo.c: New file.
118779         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
118781         * tests/test-gc-arctwo.c: New file.
118783 2005-10-21  Simon Josefsson  <jas@extundo.com>
118785         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
118786         Bruno Haible <bruno@clisp.org>.
118788         * m4/gc-des.m4: New file.
118790 2005-10-21  Simon Josefsson  <jas@extundo.com>
118792         * m4/arctwo.m4: New file.
118794         * m4/gc-arctwo.m4: New file.
118796 2005-10-21  Simon Josefsson  <jas@extundo.com>
118798         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
118799         block.
118801 2005-10-21  Simon Josefsson  <jas@extundo.com>
118803         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
118804         <bruno@clisp.org>.
118806         * lib/hmac-sha1.c (hmac_sha1): Likewise.
118808         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
118809         Bruno Haible <bruno@clisp.org>.
118811         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
118812         <bruno@clisp.org>.
118814 2005-10-21  Simon Josefsson  <jas@extundo.com>
118816         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
118818 2005-10-21  Simon Josefsson  <jas@extundo.com>
118820         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
118822 2005-10-21  Simon Josefsson  <jas@extundo.com>
118824         * lib/des.h, lib/des.c: New files.
118826         * lib/gc-gnulib.c: Support DES.c
118828 2005-10-21  Simon Josefsson  <jas@extundo.com>
118830         * lib/arctwo.h, lib/arctwo.c: New files.
118832         * lib/gc-gnulib.c: Support ARCTWO.
118834 2005-10-21  Simon Josefsson  <jas@extundo.com>
118836         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
118837         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118839 2005-10-21  Simon Josefsson  <jas@extundo.com>
118841         * gnulib-tool (func_import, func_create_testdir): Define automake
118842         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
118843         Makefile.am snippet),
118844         suggested by Bruno Haible <bruno@clisp.org>.
118846         * modules/gc (Makefile.am): Use it.
118848 2005-10-21  Bruno Haible  <bruno@clisp.org>
118850         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
118851         patch.
118853 2005-10-19  Simon Josefsson  <jas@extundo.com>
118855         * tests/test-gc-rijndael.c: New file.
118857         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
118859 2005-10-19  Simon Josefsson  <jas@extundo.com>
118861         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
118862         interface too.
118864 2005-10-19  Simon Josefsson  <jas@extundo.com>
118866         * tests/test-gc-arcfour.c: New file.
118868         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
118870 2005-10-19  Simon Josefsson  <jas@extundo.com>
118872         * modules/gc-md4, modules/gc-md4-tests: New file.
118874         * tests/test-gc-md4.c: New file.
118876 2005-10-19  Simon Josefsson  <jas@extundo.com>
118878         * m4/gc-md4.m4: New file.
118880 2005-10-19  Simon Josefsson  <jas@extundo.com>
118882         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
118883         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
118884         <kasal@ucw.cz>.
118886 2005-10-19  Simon Josefsson  <jas@extundo.com>
118888         * m4/gc-arcfour.m4: New file.
118890         * m4/gc-rijndael.m4: New file.
118892 2005-10-19  Simon Josefsson  <jas@extundo.com>
118894         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
118896 2005-10-19  Simon Josefsson  <jas@extundo.com>
118898         * lib/gc-gnulib.c: Support ARCFOUR.
118900 2005-10-19  Simon Josefsson  <jas@extundo.com>
118902         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
118903         support.
118905         * lib/gc.h: Add ECB enum type.
118907         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
118909 2005-10-18  Simon Josefsson  <jas@extundo.com>
118911         * tests/test-md5.c: New file.
118913         * modules/md5-tests: New file.
118915 2005-10-18  Simon Josefsson  <jas@extundo.com>
118917         * tests/test-md4.c: New file.
118919         * modules/md4, modules/md4-tests: New files.
118921 2005-10-18  Simon Josefsson  <jas@extundo.com>
118923         * m4/md4.m4: New file.
118925 2005-10-18  Simon Josefsson  <jas@extundo.com>
118927         * lib/md4.h, lib/md4.c: New files, based on md5.?.
118929 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
118931         * gnulib-tool (func_create_testdir): Omit the second check whether
118932         BUILT_SOURCES in nonempty.
118934 2005-10-17  Simon Josefsson  <jas@extundo.com>
118936         * tests/test-rijndael.c: New file.
118938 2005-10-17  Simon Josefsson  <jas@extundo.com>
118940         * modules/sha1: Depend on stdint instead of md5.
118942         * modules/md5: Depend on stdint, remove uint32_t.
118944 2005-10-17  Simon Josefsson  <jas@extundo.com>
118946         * modules/gc-sha1-tests: New file.
118948         * tests/test-gc-sha1.c: New file.
118950 2005-10-17  Simon Josefsson  <jas@extundo.com>
118952         * m4/md5.m4: Remove call to uint32_t.m4.
118954 2005-10-17  Simon Josefsson  <jas@extundo.com>
118956         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
118958         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
118959         md5.h.
118961         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
118963         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
118965 2005-10-17  Simon Josefsson  <jas@extundo.com>
118967         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
118969 2005-10-17  Simon Josefsson  <jas@extundo.com>
118971         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
118973 2005-10-17  Simon Josefsson  <jas@extundo.com>
118975         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
118977         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
118979 2005-10-17  Bruno Haible  <bruno@clisp.org>
118981         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
118982         that it can also be used in a test.
118984 2005-10-16  Bruno Haible  <bruno@clisp.org>
118986         * gnulib-tool (func_emit_tests_Makefile_am): Also define
118987         TESTS_ENVIRONMENT, so that individual tests can augment it.
118989         * gnulib-tool (func_create_testdir): Use an intermediate target for
118990         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
118991         macros, like $(ALLOCA_H), which cannot be passed through the command
118992         line.
118994 2005-10-15  Simon Josefsson  <jas@extundo.com>
118996         * modules/rijndael-tests: New file.
118998         * modules/rijndael: New file.
119000 2005-10-15  Simon Josefsson  <jas@extundo.com>
119002         * m4/rijndael.m4: New file.
119004 2005-10-15  Simon Josefsson  <jas@extundo.com>
119006         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
119008         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
119010 2005-10-14  Simon Josefsson  <jas@extundo.com>
119012         * tests/test-arcfour.c: New file.
119014         * modules/arcfour, modules/arcfour-tests: New files.
119016 2005-10-14  Simon Josefsson  <jas@extundo.com>
119018         * m4/arcfour.m4: New file.
119020 2005-10-14  Simon Josefsson  <jas@extundo.com>
119022         * lib/arcfour.h, lib/arcfour.c: New files.
119024 2005-10-14  Roland McGrath  <roland@redhat.com>
119026         Import from libc.  [BZ #1331]
119027         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
119028         macro argument.
119029         Reported by Matej Vela <vela@debian.org>.
119031 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
119033         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
119034         include <wchar.h>; no longer needed.
119036 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
119038         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
119040 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
119041         and  Ulrich Drepper  <drepper@redhat.com>
119043         Import from libc.
119044         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
119045         instead of inline stream orientation test and two separate
119046         function calls.  Pay no attention to USE_IN_LIBIO.
119048 2005-10-13  Simon Josefsson  <jas@extundo.com>
119050         * modules/gc-hmac-md5-tests: New file.
119052         * tests/test-gc-hmac-sha1.c: New file.
119054         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
119056         * modules/gc-hmac-md5-tests: New file.
119058         * tests/test-gc-md5.c: New file.
119060         * modules/gc-md5-tests: New file.
119062 2005-10-13  Simon Josefsson  <jas@extundo.com>
119064         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
119065         Move memory allocation outside of loop.
119067 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
119069         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
119070         intermediate directory is in a read-only file system.  Problem
119071         reported by Eric Blake.
119073 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
119075         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
119077 2005-10-12  Simon Josefsson  <jas@extundo.com>
119079         * tests/test-hmac-sha1.c: New file.
119081         * modules/hmac-sha1-tests: New file.
119083         * modules/hmac-sha1: New file.
119085 2005-10-12  Simon Josefsson  <jas@extundo.com>
119087         * modules/gc-sha1: New file.
119089 2005-10-12  Simon Josefsson  <jas@extundo.com>
119091         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
119093         * tests/test-gc-pbkdf2-sha1.c: New file.
119095 2005-10-12  Simon Josefsson  <jas@extundo.com>
119097         * modules/gc-md5, modules/gc-hmac-md5: New files.
119099         * modules/gc (Files): Remove md5, memxor and hmac files.
119101 2005-10-12  Simon Josefsson  <jas@extundo.com>
119103         * m4/gc-pbkdf2-sha1.m4: New file.
119105         * m4/gc-hmac-sha1.m4: New file.
119107         * m4/gc-sha1: New file.
119109         * m4/hmac-sha1.m4: New file.
119111 2005-10-12  Simon Josefsson  <jas@extundo.com>
119113         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
119115         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
119117 2005-10-12  Simon Josefsson  <jas@extundo.com>
119119         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
119120         suggested by Bruno Haible <bruno@clisp.org>.
119122 2005-10-12  Simon Josefsson  <jas@extundo.com>
119124         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
119126 2005-10-12  Simon Josefsson  <jas@extundo.com>
119128         * lib/gc-pbkdf2-sha1.c: New file.
119130         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
119132 2005-10-12  Simon Josefsson  <jas@extundo.com>
119134         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
119136         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
119138 2005-10-12  Simon Josefsson  <jas@extundo.com>
119140         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
119141         GC_USE_HMAC_MD5, respectively.
119143         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
119144         (gc_md5): Fix typo.
119146         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
119148         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
119150         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
119152 2005-10-12  Bruno Haible  <bruno@clisp.org>
119154         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
119155         Reported by Stepan Kasal <kasal@ucw.cz>.
119157 2005-10-11  Simon Josefsson  <jas@extundo.com>
119159         * tests/test-crc.c: New file.
119161         * modules/crc, modules/crc-tests: New files.
119163 2005-10-11  Simon Josefsson  <jas@extundo.com>
119165         * m4/crc.m4: New file.
119167 2005-10-11  Simon Josefsson  <jas@extundo.com>
119169         * lib/gc.h: Add gc_hash and gc_hash_buffer.
119171         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
119173         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
119175 2005-10-11  Simon Josefsson  <jas@extundo.com>
119177         * lib/crc.h, lib/crc.c: New files.
119179         * lib/gc.h (gc_hash_buffer): Add doc.
119181 2005-10-11  Bruno Haible  <bruno@clisp.org>
119183         * modules/c-strcasestr: New file.
119184         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
119186 2005-10-11  Bruno Haible  <bruno@clisp.org>
119188         * modules/c-strcase: New file.
119189         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
119191 2005-10-11  Bruno Haible  <bruno@clisp.org>
119193         * lib/strcasecmp.c: Include limits.h.
119194         (strcasecmp): Avoid integer overflow on exotic platforms.
119195         * lib/strncasecmp.c: Include limits.h.
119196         (strncasecmp): Avoid integer overflow on exotic platforms.
119197         Reported by Paul Eggert.
119199 2005-10-11  Bruno Haible  <bruno@clisp.org>
119201         * lib/c-strcasestr.h: New file, from GNU gettext.
119202         * lib/c-strcasestr.c: New file, from GNU gettext.
119204 2005-10-11  Bruno Haible  <bruno@clisp.org>
119206         * lib/c-strcase.h: New file, from GNU gettext.
119207         * lib/c-strcasecmp.c: New file, from GNU gettext.
119208         * lib/c-strncasecmp.c: New file, from GNU gettext.
119210 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
119212         * modules/mempcpy (License): GPL -> LGPL.
119213         * modules/strchrnul (License): Likewise.
119214         * modules/sysexits (License): Likewise.
119216 2005-10-08  Simon Josefsson  <jas@extundo.com>
119218         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
119220 2005-10-07  Simon Josefsson  <jas@extundo.com>
119222         * m4/memxor.m4: Remove gl_C_RESTRICT call.
119224 2005-10-06  Simon Josefsson  <jas@extundo.com>
119226         * tests/test-hmac-md5.c: New file.
119228         * modules/hmac-md5-tests: New file.
119230         * modules/hmac-md5: New file.
119232 2005-10-06  Simon Josefsson  <jas@extundo.com>
119234         * m4/hmac-md5.m4: New file.
119236         * m4/memxor.m4: Require gl_C_RESTRICT.
119238 2005-10-06  Simon Josefsson  <jas@extundo.com>
119240         * lib/memxor.c (memxor): Avoid casts and warnings.
119242 2005-10-06  Simon Josefsson  <jas@extundo.com>
119244         * lib/hmac-md5.c: New file.
119246         * lib/hmac.h: New file.
119248 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
119250         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
119251         promotes to int, not unsigned int, to catch the AIX 5.3
119252         compiler bug.
119254 2005-10-05  Simon Josefsson  <jas@extundo.com>
119256         * modules/memxor: New file.
119258         * modules/iconv (Files): Move config.rpath to havelib, it is used
119259         there.
119261         * modules/havelib (Files): Add config.rpath.
119263 2005-10-05  Simon Josefsson  <jas@extundo.com>
119265         * m4/memxor.m4: New file.
119267 2005-10-05  Simon Josefsson  <jas@extundo.com>
119269         * lib/memxor.c (memxor): Fix compiler error.
119271         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
119272         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
119274         * lib/memxor.h, lib/memxor.c: New files.
119276         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
119277         we assume all systems have it, suggested by Jim Meyering
119278         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
119279         any systems lack sys/socket.h; mingw32 is known to lack it, but we
119280         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
119281         same reasons.
119283 2005-10-05  Simon Josefsson  <jas@extundo.com>
119285         * config/srclist.txt: Add glibc bug 1423 for md5.h.
119287 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
119289         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
119290         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
119291         needed, since the source code now assumes these .h files.
119293 2005-10-05  Derek Price  <derek@ximbiot.com>
119295         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
119297 2005-10-05  Bruno Haible  <bruno@clisp.org>
119299         * modules/stdint (License): Change to LGPL.
119301 2005-10-04  Simon Josefsson  <jas@extundo.com>
119303         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
119304         D. Baushke" <mdb@gnu.org>.
119306 2005-10-04  Bruno Haible  <bruno@clisp.org>
119308         * lib/verify.h (verify_true): Provide alternative definition for C++.
119310 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
119312         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
119313         (SSIZE_MAX): New macro, if not already defined.
119314         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
119315         than 2 GiB.
119317 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
119319         Sync from coreutils.
119320         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
119321         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
119322         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
119323         ULLONG_MAX doesn't work with 2.7.2.1.
119325 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
119327         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
119328         From Ben Pfaff.
119330         * modules/exclude (Depends-on): Depend on verify.
119331         * modules/strtoimax (Depends-on): Likewise.
119332         * modules/utimecmp (Depends-on): Likewise.
119334 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
119336         * lib/exclude.c: Include verify.h.
119337         (verify): Remove.  All callers changed to use verify.h's version.
119338         * lib/strtoimax.c: Likewise.
119339         * lib/utimecmp.c: Likewis.e
119341         Sync from coreutils.
119342         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
119343         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
119344         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
119345         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
119346         bother returning ENOSYS if settimeofday or stime fails; just let
119347         them return whatever errno they want to return.
119348         * lib/utimens.c: Include unistd.h, for dup2.
119349         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
119350         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
119352 2005-10-02  Jim Meyering  <jim@meyering.net>
119354         Sync from coreutils.
119355         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
119356         from glibc-2.2.5 that fails for read-only files.
119358 2005-10-02  Jim Meyering  <jim@meyering.net>
119360         Sync from coreutils.
119361         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
119362         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
119363         `#if HAVE_CONFIG_H'.
119364         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
119365         Remove AT_FDCWD test.
119366         Do not consume the fd unless successful.
119367         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
119368         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
119369         block, so that we don't even try to compile it if settimeofday is
119370         available.  This works around a compilation failure on OSF1 V5.1,
119371         due to stime requiring a `long int*' while tv_sec is `int'.
119373 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
119375         Sync from coreutils.
119376         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
119377         against `yes', rather than just testing for nonempty.
119379 2005-10-01  Simon Josefsson  <jas@extundo.com>
119381         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
119382         and Darwin.
119384         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
119385         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
119386         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
119387         freeaddrinfo and gai_strerror are declared by the POSIX headers.
119388         Check if struct addrinfo is declared.
119390 2005-10-01  Simon Josefsson  <jas@extundo.com>
119392         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
119393         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
119394         AI_* and EAI_* definitions.  Protect function declarations.
119396 2005-10-01  Jim Meyering  <jim@meyering.net>
119398         Sync from coreutils.
119400         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
119401         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
119402         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
119403         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
119404         in the inet and nsl libraries.  Required on Solaris 5.7.
119406 2005-10-01  Jim Meyering  <jim@meyering.net>
119408         Sync from coreutils.
119409         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
119410         in the inet and nsl libraries.  Required on Solaris 5.7.
119412 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
119414         * lib/getdelim.c (getdelim): Remove unused variables.
119416 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
119418         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
119419         so that the code works even with ancient cpp.  Portability problem
119420         with GCC 2.7.2.1 reported by Thomas M.Ott.
119422 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
119424         * modules/regex (Depends-on): Add strcase.
119426         * modules/gethostname (Licence): Change from GPL to LGPL, since
119427         gethostname.c is a trivial implementation of a standard library
119428         function.
119429         * modules/poll (License): Change from GPL to LGPL, since it's
119430         derived from LGPL code.
119432 2005-09-27  Jim Meyering  <jim@meyering.net>
119434         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
119435         HAVE_CONFIG_H.
119437         * lib/intprops.h (signed_type_or_expr__): Define.
119438         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
119439         for unsigned types.
119441 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
119443         * lib/verify.h (verify_expr): Remove, replacing with:
119444         (verify_true): New macro that returns true instead of void.
119445         (verify_type__): Remove.
119446         (verify): Use verify_true rather than verify_type__.
119448 2005-09-26  Bruno Haible  <bruno@clisp.org>
119450         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
119451         is necessary.
119452         (lib_SOURCES): Remove mbchar.c.
119453         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
119454         (Files): Add m4/mbrtowc.m4.
119455         * modules/mbiter: Likewise.
119456         * modules/mbuiter: Likewise.
119458 2005-09-26  Bruno Haible  <bruno@clisp.org>
119460         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
119461         compile mbchar.c if they are not both present.
119462         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
119463         * m4/mbiter.m4 (gl_MBITER): Likewise.
119464         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
119465         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
119466         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
119468 2005-09-25  Jim Meyering  <jim@meyering.net>
119470         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
119471         also uses socklen_t.
119473 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
119475         * lib/utimens.c (ENOSYS): Define if not already defined.
119476         (futimens): Support having a null PATH if the file descriptor
119477         is nonnegative.
119479         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
119480         Remove.
119481         (__attribute): Define to empty unless GCC 3.1 or later.
119482         This works around a core dump on OpenBSD 3.4, which has GCC
119483         2.95.3, which dumps core when given __attribute__(()).  It also
119484         simplifies other tests, since we really don't want to bother with
119485         worrying about which ancient version of GCC supported what.
119486         Original problem reported by Yoann Vandoorselaere, with part of
119487         the fix suggested by Derek Price.
119489 2005-09-24  Jim Meyering  <jim@meyering.net>
119491         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
119492         so we can once again use a positive bitfield width of 1 -- now we
119493         don't have to explain why we were using a bitfield width of 2.
119495 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
119497         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
119498         and similarly for the other external symbols.  Problem reported
119499         by James Gallager.
119501         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
119502         bug reported by Jim Meyering.
119504         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
119505         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
119506         not needed, since socklen is a prerequisite module.
119508 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
119510         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
119511         Problem reported by Eric Blake.
119512         (getaddrinfo): Initialize se so that it's not garbage.
119513         Redo internal storage allocation so that it doesn't make unportable
119514         assumptions about alignment.
119515         Fix a memory leak.
119517         * lib/utimens.c (futimens): Use futimesat if available.
119518         Prefer it to futimes since it doesn't have the futimes bug.
119520         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
119521         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
119522         Instead, declare a function that returns a pointer to an array,
119523         and use verify_type__ to declare the size of the array.
119524         Problem and germ of a solution reported by Bruno Haible.
119525         (verify_type__): Use 2, not 1, for bitfield size, to avoid
119526         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
119528 2005-09-23  Jim Meyering  <jim@meyering.net>
119530         Sync from coreutils.
119531         Correct build failure (socklen_t not defined) on at least
119532         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
119533         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
119535 2005-09-23  Jim Meyering  <jim@meyering.net>
119537         * modules/getaddrinfo (Depends-on): Add socklen.
119539 2005-09-23  Bruno Haible  <bruno@clisp.org>
119541         * tests/test-verify.c: New file.
119543 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119545         Sync from coreutils.
119547         * modules/argmatch (Depends-on): Add verify.
119548         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
119549         unistd-safer.
119550         * modules/save-cwd (Depends-on): Likewise.
119552         * modules/openat (Files): Add lib/openat-die.c.
119553         (Depends-on): Remove error, exitfail.
119554         Add dirname.
119556         * modules/verify: New file.
119557         * MODULES.html.sh (Diagnostics <assert.h>): New section,
119558         with "verify" module.
119560 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119562         Sync from coreutils.
119564         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
119565         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
119566         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
119567         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
119568         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
119569         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
119570         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
119571         Don't bother checking for string.h, stdlib.h, unistd.h.
119572         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
119573         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
119574         module's job.
119575         * m4/jm-macros.m4 (gl_MACROS): Likewise.
119576         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
119578         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
119579         (gl_GETDATE): Use it.
119581         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
119583 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119585         Sync from coreutils.
119587         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
119588         stat-time.h.
119589         * lib/argmatch.h: Include verify.h
119590         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
119591         (ARGMATCH_ASSERT): Remove; unused.
119592         * lib/canonicalize.c: Assume STDC_HEADERS.
119593         * lib/exclude.c: Include "strcase.h".
119594         * lib/regex_internal.h [!defined _LIBC]: Likewise.
119595         * lib/getusershell.c: Include stdio--.h rather than stdio.h
119596         and stdio-safer.h.
119597         (getusershell): Call fopen, not fopen_safer.
119598         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
119599         Do not include unistd-safer.h.
119600         (save_cwd): Don't call fd_safer; no longer needed
119601         now that we include fcntl--.h.
119603         * lib/getdate.y (relative_time): New type.
119604         (RELATIVE_TIME_0): New constant.
119605         (parser_control): Use relative_time instead of doing it ourselves.
119606         (%union): Add new relative_time rel member.
119607         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
119608         Now typeless.
119609         (relunit, relunit_snumber): Now of type rel.
119610         (zone, rel, relunit, get_date): Adjust to above changes.
119612         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
119613         Do not include unistd-safer.h.
119614         (getloadavg): Don't call fd_safer; no longer needed
119615         now that we include fcntl--.h.
119617         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
119618         (make_dir_parents): Treat ENOSYS like EEXIST.
119620         Improve quality of diagnostics on restore_cwd failure.
119621         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
119622         (make_dir_parents): Last arg is now int * (for errno), not bool *.
119623         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
119624         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
119625         each time through the loop.  Do not diagnose restore_cwd failure;
119626         that is the caller's job (and perhaps the caller does not care).
119628         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
119629         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
119630         If the file already exists but is not a directory, don't bother
119631         to try to make its parents.
119632         Close potential file descriptor leak if we can't chdir("/") (!).
119633         Don't always return true if chdir($PWD) fails; return true only
119634         if the requested action was done successfully (except for the
119635         chdir($PWD)).
119636         Don't log final directory unless we actually made it.
119637         Refactor to avoid duplicate code to fix up permissions.
119638         Don't attempt to fix up parent permissions if chdir($PWD) fails.
119640         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
119641         to make it a bit faster and (I hope) clearer.
119642         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
119643         Fix bug in formats like %2N.
119645         * lib/verify.h: New file.
119647 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119649         Sync from coreutils.
119650         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
119652 2005-09-22  Jim Meyering  <jim@meyering.net>
119654         Sync from coreutils.
119656         * m4/lstat.m4 (gl_FUNC_LSTAT):
119657         Use AC_LIBSOURCES to require lstat.c and lstat.h.
119658         Remove obsolete comment.
119659         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
119660         * m4/xstrtod.m4: Likewise.
119662         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
119664 2005-09-22  Jim Meyering  <jim@meyering.net>
119666         Sync from coreutils.
119668         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
119670         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
119671         the .tm_year member, since otherwise gcc-4.0 would now warn about
119672         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
119674         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
119675         order to avoid an unsuppressible warning from gcc on 64-bit systems.
119677         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
119678         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
119679         when run in a time zone for which daylight savings time is in effect
119680         for the starting date.
119682         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
119683         stop us from restricting permissions of just-created absolute-named
119684         directories.
119685         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
119686         to restore initial working directory.
119687         * lib/mkdir-p.c (make_dir_parents): New parameter:
119688         different_working_dir, to tell caller if/when we change the working
119689         directory and are unable to return to the initial one.
119690         * lib/mkdir-p.h (make_dir_parents): Update prototype.
119691         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
119692         `return false'.  This fixes a bug introduced on 2004-07-30.
119694         * lib/openat.c (fdopendir): Be sure to close the supplied
119695         file descriptor before returning.  This makes our replacement
119696         implementation a little closer to Solaris's, where fdopendir
119697         ties the file descriptor to the returned DIR* pointer.
119698         * lib/openat.c (unlinkat): New function.
119699         * lib/openat.h (unlinkat): Add prototype.
119700         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
119701         (openat_restore_fail): Rename from openat_restore_die.
119702         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
119704         Provide an alternative to exiting immediately upon save_cwd or
119705         restore_cwd failure.  Now, an application can arrange e.g.,
119706         to perform a longjump in that case.
119707         * lib/openat.c: Include dirname.h.
119708         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
119709         (rpl_openat, fdopendir, fstatat): Call openat_save_die
119710         and openat_restore_die rather than calling error directly.
119711         Don't include "error.h" or "exitfail.h"; they're no longer needed.
119713         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
119714         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
119715         define.
119717         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
119718         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
119719                             int utc, int nanoseconds);
119720         Background:
119721         date should not have to allocate a megabyte of virtual memory to
119722         handle a format argument like +%1048575T.  When implemented with
119723         strftime, it must allocate such a buffer, use strftime to fill it
119724         in, print it, then free it.
119725         With fprintftime, it simply prints everything and exits.
119726         With no need for memory allocation, that's one fewer way to fail.
119727         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
119728         optional field width, not before, so we accept %9:z, not %:9z.
119729         (my_strftime): Be sure to use L_('x') for literals.
119731         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
119732         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
119733         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
119734         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
119735         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
119736         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
119737         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
119738         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
119739         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
119740         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
119741         * lib/xgethostname.c, lib/xreadlink.c:
119742         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
119744         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
119745         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
119746         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
119747         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
119748         and don't include <sys/file.h>).
119750 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
119752         Sync from coreutils.
119754         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
119755         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
119756         [!LDAV_DONE]: Avoid unused variable warning.
119758 2005-09-21  Bruno Haible  <bruno@clisp.org>
119760         * lib/unicodeio.h (unicode_to_mb): New declaration.
119762 2005-09-20  Derek Price  <derek@ximbiot.com>
119764         * lib/getaddrinfo.c: Don't include <netdb.h> included from
119765         getaddrinfo.h.
119767 2005-09-20  Bruno Haible  <bruno@clisp.org>
119769         * gnulib-tool: Remove trailing slashes from the values specified for
119770         --source-base, --m4-base, --tests-base, --aux-dir.
119771         Suggested by Simon Josefsson <jas@extundo.com>.
119773 2005-09-20  Bruno Haible  <bruno@clisp.org>
119775         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
119776         func_modules_to_filelist, func_import, func_create_testdir): Make all
119777         sorting results locale-independent, so that gnulib-cache.m4 doesn't
119778         change when gnulib-tool is invoked in a different locale.
119780 2005-09-19  Simon Josefsson  <jas@extundo.com>
119782         * m4/socklen.m4: Fix typo.
119784 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
119786         Use a consistent style for including <config.h>.
119787         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
119788         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
119789         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
119790         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
119791         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
119792         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
119793         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
119794         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
119795         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
119796         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
119797         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
119798         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
119799         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
119800         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
119801         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
119802         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
119803         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
119804         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
119805         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
119806         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
119807         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
119808         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
119809         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
119810         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
119811         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
119812         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
119813         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
119814         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
119815         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
119816         lib/xstrtoumax.c, lib/yesno.c:
119817         Standardize inclusion of config.h.
119818         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
119819         lib/inttostr.h:  Removed inclusion of config.h from header files.
119820         * lib/inttostr.c:  Adjusted in-tree users.
119821         * lib/timespec.h: Remove superfluous warning to include config.h.
119822         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
119823         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
119824         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
119825         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
119826         config.h with HAVE_CONFIG_H.
119828 2005-09-19  Jim Meyering  <jim@meyering.net>
119830         * modules/pathmax (License): Change to LGPL.
119832 2005-09-19  Derek Price  <derek@ximbiot.com>
119834         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
119836 2005-09-19  Bruno Haible  <bruno@clisp.org>
119838         * gnulib-tool (import): Provide default for --tests-base.
119840 2005-09-19  Bruno Haible  <bruno@clisp.org>
119842         * doc/quote.texi: New file, extracted from gnulib.texi.
119843         * doc/ctime.texi: New file, extracted from gnulib.texi.
119844         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
119845         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
119846         * doc/gnulib.texi: Include them.
119848 2005-09-18  Bruno Haible  <bruno@clisp.org>
119850         Portability fix.
119851         * gnulib-tool (func_readlink): New function.
119852         (func_ln_if_changed): Use it.
119854 2005-09-18  Bruno Haible  <bruno@clisp.org>
119856         * gnulib-tool: Support --with-tests also with --import.
119857         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
119858         (func_import): Use variables $testsbase and $inctests. Emit a
119859         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
119860         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
119861         SUBDIRS += $testsdir.
119862         (func_create_testdir): Update.
119864 2005-09-18  Bruno Haible  <bruno@clisp.org>
119866         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
119867         instead of $dry_run.
119868         (func_cp_if_changed, func_mv_if_changed): Remove functions.
119869         (func_ln_if_changed): Don't handle dry-run here.
119870         (func_import): In dry-run mode, detect more precisely which actions
119871         would be performed, and don't use "...ing" verbs.
119873 2005-09-18  Bruno Haible  <bruno@clisp.org>
119875         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
119876         (func_import): Use join on two temporary files instead of three nested
119877         loops, in order to determine which files are new or old.
119879 2005-09-18  Bruno Haible  <bruno@clisp.org>
119881         * gnulib-tool (func_import): Comment out code that spits out the
119882         new files with --dry-run.
119884 2005-09-18  Bruno Haible  <bruno@clisp.org>
119886         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
119888 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
119890         * lib/stat-time.h: New file.
119891         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
119892         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
119893         in a different way.
119894         (timespec_cmp): New function.
119895         * lib/utimecmp.c: Include stat-time.h.
119896         (SYSCALL_RESOLUTION): Depend on whether various struct stat
119897         members exist, not on the obsolescent ST_MTIM_NSEC.
119898         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
119900 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
119902         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
119904 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
119906         * MODULES.html.sh (File system functions): Add stat-time.
119907         * modules/stat-time: New file.
119908         * modules/timespec (Files): Remove m4/st_mtim.m4; this
119909         is now done in a different way, by the stat-time module.
119910         * modules/utimecmp (Depends-on): Add stat-time.
119912 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
119914         * m4/st_mtim.m4: Remove.  Superseded by...
119915         * m4/stat-time.m4: New file.
119916         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
119917         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
119919 2005-09-15  Derek Price  <derek@ximbiot.com>
119921         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
119923 2005-09-15  Derek Price  <derek@ximbiot.com>
119925         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
119926         * lib/regex_internal.c: Ditto, using this...
119927         (__GNUC_PREREQ): ...new macro.
119928         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
119929         using...
119930         (__GNUC_PREREQ): ...this new macro.
119932         * lib/strstr.h: Include string.h. Define strstr as a macro here.
119934 2005-09-15  Derek Price  <derek@ximbiot.com>
119935             Paul Eggert  <eggert@cs.ucla.edu>
119937         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
119938         changes, consolidating in...
119939         * lib/regex_internal.h: ...this file.
119941 2005-09-13  Jim Meyering  <jim@meyering.net>
119943         * lib/canon-host.c: Filter through gnu indent and reword comments
119944         slightly.
119945         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
119947 2005-09-13  Derek Price  <derek@ximbiot.com>
119949         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
119950         failure.
119951         Reported by Jim Meyering  <jim@meyering.net>.
119953 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
119955         * lib/base64.c: Typo.
119956         (base64_encode): Put b64str in initialized data section.
119958 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
119960         Merge glibc and coreutils changes into gnulib, plus a few
119961         extra fixes.
119962         * lib/md5.c: Use #error rather than a string.
119963         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
119964         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
119965         (__attribute__): Define to empty for non recent-GCC.
119966         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
119967         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
119968         Renamed from their non-__ counterparts, with new macros replacing
119969         them if not _LIBC.  Add __THROW attribute.
119970         (rol): Remove.
119971         (struct md5_ctx): Align buffer if using GCC.
119972         * lib/sha1.h (struct sha1_ctx): Likewise.
119973         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
119974         The old name was backwards.
119975         (NOTSWAP): Remove; not used.
119976         (rol): New macro, moved here from md5.h.
119977         (sha1_process_block): Remove a FIXME that doesn't make sense.
119979 2005-09-12  Derek Price  <derek@ximbiot.com>
119981         Return usable errors from canon-host.
119982         * lib/canon-host.h: New file.
119983         * lib/canon-host.c (canon_host): Wrap...
119984         (canon_host_r): ...this new function, which now relies exclusively on
119985         getaddrinfo.
119986         (ch_strerror): New function.
119987         (last_cherror): New global.
119988         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
119989         interface.
119990         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
119991         void *.
119992         (freeaddrinfo): Free ai->ai_canonname when set.
119994 2005-09-12  Derek Price  <derek@ximbiot.com>
119996         Make canon-host require getaddrinfo.
119997         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
119998         AC_LIBSOURCE canon-host.h.  Call...
119999         (gl_PREREQ_CANON_HOST): ...this new function, which requires
120000         gl_GETADDRINFO.
120001         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
120003 2005-09-12  Derek Price  <derek@ximbiot.com>
120005         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
120006         LGPL.
120007         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
120009 2005-09-12  Derek Price  <derek@ximbiot.com>
120011         * lib/gai_strerror.c: Include config.h when available.  Include
120012         getaddrinfo.h before other headers to test interface.
120013         Reported by Larry Jones <lawrence.jones@ugs.com>.
120015 2005-09-12  Derek Price  <derek@ximbiot.com>
120016             Paul Eggert  <eggert@cs.ucla.edu>
120018         * modules/glob (Files): Add glob-libc.h.
120020 2005-09-12  Derek Price  <derek@ximbiot.com>
120021             Paul Eggert  <eggert@cs.ucla.edu>
120023         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
120024         glob_.h, glob-libc.h.
120025         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
120027 2005-09-12  Derek Price  <derek@ximbiot.com>
120028             Paul Eggert  <eggert@cs.ucla.edu>
120030         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
120031         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
120032         protecting things that should be done only in gnulib contexts.
120033         * lib/glob_.h: New file, containing only the glob things needed for
120034         gnulib.
120035         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
120036         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
120037         (glob, globfree, glob_pattern_p): Now defined simply in terms of
120038         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
120039         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
120040         and to respect the namespace rules better.
120042 2005-09-08  Simon Josefsson  <jas@extundo.com>
120044         * modules/socklen: New file.
120046 2005-09-08  Simon Josefsson  <jas@extundo.com>
120048         * m4/socklen.m4: New file.
120050 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120052         * modules/utimens (Files): Add m4/utimbuf.m4, since
120053         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
120054         Reported by Sergey Poznyakoff.
120056 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120058         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
120059         definitions, since that's the preferred style in glibc.
120060         Fix a minor spacing issue, and update copyright notice to match
120061         glibc's.
120063 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120065         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
120067 2005-09-06  Simon Josefsson  <jas@extundo.com>
120069         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
120070         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
120072 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
120074         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
120075         warning.
120077 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
120079         * config/srclist.txt: Add glibc bug 1302.
120081 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
120083         Change bitset word type from unsigned int to unsigned long int,
120084         as this has better performance on typical 64-bit hosts.
120085         Port bitset code to hosts with unusual word sizes.
120086         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
120087         (build_collating_symbol):
120088         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
120089         argument is a bitset.  This is merely a style issue, but it makes
120090         it clearer that an entire array is expected.
120091         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
120092         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
120093         Port to the case where bitset_word is not the same as unsigned int.
120094         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
120095         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
120096         Likewise.
120097         * lib/regexec.c (check_dst_limits_calc_pos_1,
120098         check_subexp_matching_top):
120099         (build_trtable, group_nodes_into_DFAstates):
120100         Likewise.
120101         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
120102         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
120103         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
120104         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
120105         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
120106         * lib/regcomp.c (optimize_subexps, lower_subexp):
120107         Work even if bitset_word has holes in its bitwise representation.
120108         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
120109         * lib/regexec.c (check_dst_limits_calc_pos_1,
120110         check_subexp_matching_top):
120111         Likewise.
120112         * lib/regex_internal.c (re_string_reconstruct):
120113         Don't assume UCHAR_MAX == 255.
120114         * lib/regex_internal.h (bitset_set_all): Likewise.
120115         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
120116         All uses changed.
120117         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
120118         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
120119         All uses changed.
120120         (BITSET_WORD_MAX): New macro.
120121         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
120122         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
120123         (bitset_empty, bitset_copy):
120124         Prefer sizeof (bitset) to multiplying it out ourselves.
120125         (bitset_not_merge): Remove; unused.
120126         (bitset_contain): Return bool, not unsigned int with one bit on.
120127         All callers changed.
120128         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
120129         alignment than re_node_set; do this by defining a new internal
120130         type struct dests_alloc and using it to allocate memory.
120132 2005-09-05  Bruno Haible  <bruno@clisp.org>
120134         * gnulib-tool (func_import): Fix comparison in handling of symbolic
120135         links.
120137 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
120139         * modules/size_max (Makefile.am): Add size_max.h
120141 2005-09-04  Derek Price  <derek@ximbiot.com>
120143         * gnulib-tool (func_import): Fix reversed $symbolic logic.
120145 2005-09-03  Simon Josefsson  <jas@extundo.com>
120147         * gnulib-tool: Fix typo.
120149 2005-09-03  Simon Josefsson  <jas@extundo.com>
120151         * config/srclist.txt: Add glibc bug 1293.
120153 2005-09-03  Derek Price  <derek@ximbiot.com>
120155         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
120156         From Larry Jones <lawrence.jones@ugs.com>.
120158 2005-09-02  Simon Josefsson  <jas@extundo.com>
120160         * modules/socklen: New file.
120162 2005-09-02  Simon Josefsson  <jas@extundo.com>
120164         * modules/havelib: New module.
120166         * modules/gettext, modules/iconv, modules/lock, modules/readline:
120167         Use havelib.
120169 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
120171         Check for arithmetic overflow when calculating sizes, to prevent
120172         some buffer-overflow issues.  These patches are conservative, in the
120173         sense that when I couldn't determine whether an overflow was possible,
120174         I inserted a run-time check.
120175         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
120176         macros.
120177         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
120178         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
120179         (re_xnrealloc, re_x2nrealloc): New inline functions.
120180         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
120181         parse_bracket_exp):
120182         (build_equiv_class, build_charclass): Check for arithmetic overflow
120183         in size expression calculations.
120184         * lib/regex_internal.c (re_string_realloc_buffers):
120185         (build_wcs_upper_buffer, re_node_set_add_intersect):
120186         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
120187         (re_dfa_add_node, register_state): Likewise.
120188         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
120189         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
120190         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
120191         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
120193 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
120195         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
120196         m4/ulonglong.m4.  Problem reported by Martin Lambers.
120198 2005-09-02  Bruno Haible  <bruno@clisp.org>
120200         Support for lib vs. lib64 distinction on biarch platforms.
120201         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
120202         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
120203         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
120205 2005-09-02  Bruno Haible  <bruno@clisp.org>
120207         * gnulib-tool (import): In the other first-use case, provide defaults
120208         as well.
120210 2005-09-02  Bruno Haible  <bruno@clisp.org>
120212         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
120213         patches not yet found in the latest gettext release.
120215 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
120217         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
120218         to avoid a collision with bits/local_lim.h in glibc.
120219         All uses changed.  Problem reported by Dmitry V. Levin in
120220         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
120222         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
120223         bugs in int versus size_t comparisons.
120224         (re_string_context_at): Fix bug where the code assumed that
120225         Idx is signed.
120227         Use bool where appropriate.
120228         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
120229         All callers changed.
120230         (calc_eclosure_iter): Likewise, for ROOT arg.
120231         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
120232         (build_charclass_op): Likewise, for NON_MATCH arg.
120233         * lib/regex_internal.c (re_string_allocate, re_string_construct):
120234         (re_string_construct_common): Likewise, for ICASE arg.
120235         * lib/regexec.c (re_search_2_stub, re_search_stub):
120236         Likewise, for RET_LEN arg.
120237         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
120238         (set_regs): Likewise, for FL_BACKTRACK arg.
120239         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
120240         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
120241         (calc_eclosure_iter, parse_bracket_exp):
120242         Use bool for internal variables that are booleans.
120243         * lib/regexec.c (re_search_internal, check_matching,
120244         proceed_next_node):
120245         (set_regs, build_sifted_states, sift_states_bkref):
120246         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
120247         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
120248         (find_collation_sequence_value):
120249         Likewise.
120250         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
120251         (re_node_set_compare):
120252         Return bool, not int. All callers changed.
120253         * lib/regexec.c (check_halt_node_context, check_dst_limits):
120254         (build_trtable, check_node_accept): Likewise.
120255         * lib/regex_internal.h: Include stdbool.h.
120257         Fix bugs uncovered when converting to bool.
120258         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
120259         failure instead of charging ahead blindly.
120260         * lib/regex_internal.c (register_state): Likewise.
120261         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
120262         for freeing internal storage.
120263         (group_nodes_into_DFA_states): Use unsigned int, not int, for
120264         bitset pieces used as boolean, to avoid undefined behavior
120265         on hosts that do int overflow checking.
120267 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
120269         * config/srclist.txt: Add glibc bugs 1285-1287.
120271 2005-09-01  Jim Meyering  <jim@meyering.net>
120273         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
120274         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
120275         Require gl_STAT_MACROS, too.
120277 2005-09-01  Bruno Haible  <bruno@clisp.org>
120279         * gnulib-tool (import): In the first-use case, provide defaults.
120281 2005-09-01  Bruno Haible  <bruno@clisp.org>
120283         * gnulib-tool (func_import): Remove the .tmp files.
120285 2005-09-01  Bruno Haible  <bruno@clisp.org>
120287         * gnulib-tool (func_import): Fix handling of symbolic links.
120289 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120291         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
120292         old glibc regex code mishandles strings longer than 2**31 bytes.
120293         This patch fixes this when the regex code is used in gnulib
120294         (i.e., outside glibc).
120296         This patch should not affect the use of the regex code inside
120297         glibc.  No doubt this problem also needs to be handled for glibc
120298         as well, but the result will be an incompatible change to the
120299         glibc ABI, and the old ABI will have to be supported too.  That
120300         can be the subject for another patch.
120302         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
120303         governing whether the rest of this patch is active.  By default,
120304         the macro is disabled and the patch has no effect.
120305         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
120306         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
120307         (struct re_pattern_buffer, re_search, re_search_2, re_match):
120308         (re_match_2, re_set_registers): Use the new types.
120309         * lib/regex_internal.h (Idx, re_hashval_t): New types.
120310         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
120311         New macros.
120312         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
120313         (re_string_context_at, bin_tree_t, re_dfastate_t):
120314         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
120315         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
120316         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
120317         (re_string_char_size_at, re_string_wchar_at):
120318         (re_string_elem_size_at):
120319         Use the new types and macros to port to 64-bit hosts.
120320         Use unsigned types for internal values, so that the code
120321         mostly works even for arrays larger than SSIZE_MAX.
120322         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
120323         (search_duplicated_node, calc_eclosure_iter, fetch_number):
120324         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
120325         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
120326         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
120327         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
120328         (calc_inveclosure, parse_dup_op, build_range_exp):
120329         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
120330         (fetch_number, create_token_tree, mark_opt_subexp):
120331         Likewise.
120332         * lib/regex_internal.c (re_string_construct_common,
120333         create_ci_newstate):
120334         (create_cd_newstate, re_string_allocate, re_string_construct):
120335         (re_string_realloc_buffers, build_wcs_upper_buffer):
120336         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
120337         (re_string_reconstruct, re_string_peek_byte_case):
120338         (re_string_fetch_byte_case, re_string_context_at):
120339         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
120340         (re_node_set_init_copy, re_node_set_add_intersect):
120341         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
120342         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
120343         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
120344         (re_acquire_state, re_acquire_state_context, register_state):
120345         Likewise.
120346         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
120347         search_cur_bkref_entry):
120348         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
120349         (re_search_internal, re_search_2_stub, re_search_stub)
120350         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
120351         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
120352         (update_cur_sifted_state, check_dst_limits):
120353         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
120354         (check_subexp_limits, sift_states_bkref, merge_state_array):
120355         (check_subexp_matching_top, get_subexp, get_subexp_sub):
120356         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
120357         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
120358         (expand_bkref_cache, check_node_accept_bytes):
120359         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
120360         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
120361         (acquire_init_state_context, check_halt_node_context):
120362         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
120363         (sift_states_backward, clean_state_log_if_needed):
120364         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
120365         (find_recover_state, transit_state_sb, transit_state_mb):
120366         (transit_state_bkref, build_trtable, match_ctx_clean):
120367         Likewise.
120368         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
120369         to work around an assumption that REG_MISSING is negative.
120371         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
120372         (seek_collating_symbol_entry) [defined _LIBC]:
120373         (lookup_collation_sequence_value) [defined _LIBC]:
120374         (build_range_exp, build_collating_symbol) [defined _LIBC]:
120375         Use prototypes rather than old-style function definitions.
120376         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
120377         (transit_state_sb) [0]:
120378         (find_collation_sequence_value) [defined _LIBC]: Likewise.
120380         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
120381         rm_eo.
120383         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
120384         (optimize_subexps, lower_subexp):
120385         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
120386         since the signed shift might overflow.  Use 1u<<31 instead.
120387         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
120388         Likewise.
120389         * lib/regexec.c (check_dst_limits_calc_pos_1,
120390         check_subexp_matching_top): Likewise.
120392         * lib/regcomp.c (optimize_subexps, lower_subexp):
120393         Use CHAR_BIT rather than 8, for clarity.
120394         * lib/regexec.c (check_dst_limits_calc_pos_1):
120395         (check_subexp_matching_top): Likewise.
120396         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
120397         have to worry about portability issues when shifting it left.
120398         Remove no-longer-needed test for table_size > 0.
120399         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
120400         in a word, as the resulting behavior is undefined.
120401         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
120402         in one case, a <= should have been an <, and in another case the
120403         whole test was missing.
120404         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
120405         the standard name CHAR_BIT.
120406         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
120407         this is not true on one's complement and signed-magnitude hosts.
120409         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
120410         next_last_offset.
120411         (struct re_dfa_t): Remove unused member states_alloc.
120412         * lib/regcomp.c (init_dfa): Don't initialize unused members.
120414 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120416         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
120417         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
120418         and large-file glibc and in 32-bit large-file Solaris.
120420 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120422         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
120423         lengths fit in regoff_t; this isn't true if regoff_t is the same
120424         width as size_t.
120425         * lib/regex.c (re_search_internal): 5th arg is LAST_START
120426         (= START + RANGE) instead of RANGE.  This avoids overflow
120427         problems when regoff_t is the same width as size_t.
120428         All callers changed.
120429         (re_search_2_stub): Check for overflow when adding the
120430         sizes of the two strings.
120431         (re_search_stub): Check for overflow when adding START
120432         to RANGE; if it occurs, substitute the extreme value.
120434 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120436         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
120438 2005-08-31  Jim Meyering  <jim@meyering.net>
120440         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
120441         a pointer-to-const.
120442         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
120443         (register_state): Likewise.
120444         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
120445         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
120446         (group_nodes_into_DFAstates): Likewise.
120448 2005-08-31  Jim Meyering  <jim@meyering.net>
120450         * check-module: Add a FIXME comment.
120452 2005-08-31  Eric Blake  <ebb9@byu.net>
120454         * modules/unistd-safer (Files): Add unistd--.h.
120455         * modules/stdio-safer (Files): Add stdio--.h.
120457 2005-08-31  Derek Price  <derek@ximbiot.com>
120459         * lib/getdelim.c (getdelim): Return EOF on EOF.
120460         Reported by Larry Jones <lawrence.jones@ugs.com>.
120462 2005-08-31  Bruno Haible  <bruno@clisp.org>
120464         Avoid unnecessary diffs in the generated lib/Makefile.am.
120465         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
120466         the generated files.
120467         (func_import): Don't set cmd.
120469 2005-08-31  Bruno Haible  <bruno@clisp.org>
120471         * lib/strstr.c: Include <stddef.h>, for NULL.
120472         * lib/strcasestr.c: Likewise.
120473         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
120475 2005-08-31  Bruno Haible  <bruno@clisp.org>
120477         * gnulib-tool: New option --macro-prefix.
120478         (func_import): Use macro_prefix.
120479         (import): Handle option --macro-prefix.
120481 2005-08-31  Bruno Haible  <bruno@clisp.org>
120483         * gnulib-tool (import): Rename most ac_* variables to cached_*.
120484         Also use new variables cached_lgpl, cached_libtool.
120486 2005-08-31  Bruno Haible  <bruno@clisp.org>
120488         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
120489         always instantiating them.
120491 2005-08-31  Bruno Haible  <bruno@clisp.org>
120493         * gnulib-tool (func_import): Read the previous cached settings
120494         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
120495         earlier added by gnulib but are now dropped. Warn when a gnulib file
120496         overwrites a non-gnulib file.
120498 2005-08-31  Bruno Haible  <bruno@clisp.org>
120500         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
120501         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
120502         projects that don't keep autogenerated files in CVS. Put into
120503         actioncmd only the specified modules, not the transitive closure.
120505 2005-08-31  Bruno Haible  <bruno@clisp.org>
120507         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
120508         Create directories that shall be filled.
120509         (import): Don't look for gl_* macros in configure.ac. Recurse across
120510         all directories containing a gnulib-cache.m4 files, if meaningful.
120512 2005-08-31  Bruno Haible  <bruno@clisp.org>
120514         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
120515         (import): Set seen_libtool when we see gl_LIBTOOL.
120517 2005-08-31  Bruno Haible  <bruno@clisp.org>
120519         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
120520         declaration macro definitions from generated gnulib.m4.
120522 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
120524         * lib/iconvme.h: Add prototype for iconv_alloc.
120526 2005-08-29  Simon Josefsson  <jas@extundo.com>
120528         * lib/iconvme.c: Fix errno.
120530 2005-08-29  Bruno Haible  <bruno@clisp.org>
120532         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
120533         that it works when the directory contains spaces.
120535 2005-08-29  Bruno Haible  <bruno@clisp.org>
120537         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
120539 2005-08-29  Bruno Haible  <bruno@clisp.org>
120541         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
120542         Emit more advice.
120544 2005-08-29  Bruno Haible  <bruno@clisp.org>
120545         and Stepan Kasal  <kasal@ucw.cz>
120547         * check-module: If more parameters are given, check each of them
120548         separately; add more exceptions, as noted by Jim Meyering.
120549         (check_module): New procedure.
120550         (%exempt_header): Now contains all exceptions.
120552 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
120554         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
120556 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
120558         * lib/iconvme.c: Split iconv_string into iconv_alloc.
120560 2005-08-28  Bruno Haible  <bruno@clisp.org>
120562         * m4/gnulib-tool.m4: New file.
120564 2005-08-27  Jim Meyering  <jim@meyering.net>
120566         * modules/unistd-safer (Files): Add pipe-safer.c.
120567         * modules/fcntl-safer (Files): Add creat-safer.c.
120569 2005-08-27  Jim Meyering  <jim@meyering.net>
120571         * m4/stdlib-safer.m4: New file.  From coreutils.
120572         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
120573         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
120574         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
120575         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
120576         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
120578 2005-08-27  Jim Meyering  <jim@meyering.net>
120580         * lib/fopen-safer.c: Merge minor changes from coreutils.
120581         * lib/dup-safer.c: Likewise.
120582         * lib/fd-safer.c: Likewise.
120584         Merge from coreutils.
120585         * lib/stdio--.h: New file.
120586         * lib/stdlib--.h: New file.
120587         * lib/mkstemp-safer.c: New file.
120589         GNU tar needs these.
120590         * lib/pipe-safer.c: New file.
120591         * lib/creat-safer.c: New file.
120592         * lib/fcntl--.h (creat): Define to creat_safer.
120593         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
120594         * lib/unistd--.h (pipe): Define to pipe_safer.
120595         * lib/unistd-safer.h: Declare pipe_safer.
120597 2005-08-26  Simon Josefsson  <jas@extundo.com>
120599         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
120600         Haible <bruno@clisp.org>.
120602 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
120604         * lib/regex_internal.h: Remove all references to
120605         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
120606         or better.
120607         (bitset_not, bitset_merge, bitset_not_merge):
120608         (bitset_mask, re_string_allocate, re_string_construct):
120609         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
120610         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
120611         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
120612         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
120613         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
120614         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
120615         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
120616         (re_acquire_state_context):
120617         Remove unnecessary forward decls.
120618         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
120619         Put __attribute at function definition,
120620         now that the function decl has been removed.
120621         * lib/regex_internal.c (re_string_peek_byte_case):
120622         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
120623         Likewise.
120625 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
120627         * m4/regex.m4: Add AC_PREREQ(2.50).
120628         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
120630 2005-08-25  Simon Josefsson  <jas@extundo.com>
120632         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
120633         __fsetlocking.
120635 2005-08-25  Simon Josefsson  <jas@extundo.com>
120637         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
120638         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
120639         GLIBC specific code.
120641 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
120643         Make regex safe for g++.  This fixes one real bug (an "err"
120644         that should have been "*err").  g++ problem reported by
120645         Sam Steingold.
120646         * lib/regex_internal.h (re_calloc): New macro, consistent with
120647         re_malloc etc.  All callers of calloc changed to use re_calloc.
120648         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
120649         not int.  All callers changed.
120650         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
120651         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
120652         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
120653         (find_recover_state): Change "err" to "*err"; this fixes what
120654         appears to be a real bug.
120655         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
120656         versus int.
120658 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
120660         * modules/regex (Depends-on): Add malloc, since the code
120661         assumes that !malloc(0) means failure.
120663 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
120665         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
120667         alloca modernization/simplification for regex.
120668         * lib/regex.c: Remove portability cruft for alloca.  This no longer
120669         needs to be at the start of the file, and can be moved into
120670         regex_internal.h and simplified.
120671         * lib/regex_internal.h: Include <alloca.h>.
120672         (__libc_use_alloca) [!defined _LIBC]: New macro.
120673         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
120674         now works outside glibc.
120676 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
120678         * config/srclist.txt: Add glibc bugs 1241, 1245.
120680 2005-08-25  Jim Meyering  <jim@meyering.net>
120682         * lib/open-safer.c: Include <config.h>.
120683         Otherwise, we'd lose LARGEFILE support in any file using
120684         e.g. "fcntl--.h"
120686 2005-08-25  Bruno Haible  <bruno@clisp.org>
120688         * m4/minmax.m4: Require autoconf 2.52.
120689         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
120690         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
120691         alternatives of translit over the alphabet.
120692         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
120694 2005-08-24  Simon Josefsson  <jas@extundo.com>
120696         * tests/test-getpass.c: New file.
120698 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
120700         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
120701         for GNU regex features.
120703 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
120705         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
120706         * lib/regex.h (regerror): Likewise.
120708         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
120709         requires this.  (The code never needed it.)
120711         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
120712         All uses of recently-renamed identifiers changed to use the new,
120713         POSIX-compliant names.  The code will build and run just fine
120714         without these changes, but it's better to eat our own dog food
120715         and use the standard-conforming names.
120717         * lib/regex.h: Fix a multitude of POSIX name space violations.
120718         These changes have an effect only for programs that define
120719         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
120720         do not change anything for programs compiled in the normal way.
120721         Also, there is no effect on the ABI.
120723         (_REGEX_SOURCE): New macro.
120724         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
120725         defined and _GNU_SOURCE is not; this fixes a name space violation.
120727         Rename the following macros to obey POSIX requirements.
120728         The old names are still visible as macros if _REGEX_SOURCE is defined.
120729         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
120730         RE_BACKSLASH_ESCAPE_IN_LISTS.
120731         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
120732         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
120733         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
120734         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
120735         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
120736         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
120737         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
120738         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
120739         (REG_INTERVALS): renamed from RE_INTERVALS.
120740         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
120741         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
120742         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
120743         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
120744         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
120745         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
120746         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
120747         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
120748         RE_UNMATCHED_RIGHT_PAREN_ORD.
120749         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
120750         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
120751         (REG_DEBUG): renamed from RE_DEBUG.
120752         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
120753         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
120754         unusual, since we can't clash with the POSIX REG_ICASE.
120755         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
120756         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
120757         (REG_NO_SUB): renamed from RE_NO_SUB.
120758         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
120759         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
120760         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
120761         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
120762         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
120763         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
120764         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
120765         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
120766         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
120767         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
120768         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
120769         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
120770         RE_SYNTAX_POSIX_MINIMAL_BASIC.
120771         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
120772         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
120773         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
120774         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
120775         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
120776         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
120777         (REG_FIXED): Renamed from REGS_FIXED.
120778         (REG_NREGS): Renamed from RE_NREGS.
120780         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
120781         of other REG_* macros, since POSIX says the user is allowed to
120782         #undef these macros selectively.
120784         (reg_errcode_t): Update comment stating what other tables need
120785         to be consistent.
120787         Rename the following enum values to obey POSIX requirements.
120788         The old names are still visible as macros.
120789         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
120790         is not defined, since GNU is supposed to be a superset of POSIX as
120791         much as possible, and since we want reg_errcode_t to be a signed
120792         type for implementation consistency.
120793         (_REG_NOERROR): Renamed from REG_NOERROR.
120794         (_REG_NOMATCH): Renamed from REG_NOMATCH.
120795         (_REG_BADPAT): Renamed from REG_BADPAT.
120796         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
120797         (_REG_ECTYPE): Renamed from REG_ECTYPE.
120798         (_REG_EESCAPE): Renamed from REG_EESCAPE.
120799         (_REG_ESUBREG): Renamed from REG_ESUBREG.
120800         (_REG_EBRACK): Renamed from REG_EBRACK.
120801         (_REG_EPAREN): Renamed from REG_EPAREN.
120802         (_REG_EBRACE): Renamed from REG_EBRACE.
120803         (_REG_BADBR): Renamed from REG_BADBR.
120804         (_REG_ERANGE): Renamed from REG_ERANGE.
120805         (_REG_ESPACE): Renamed from REG_ESPACE.
120806         (_REG_BADRPT): Renamed from REG_BADRPT.
120807         (_REG_EEND): Renamed from REG_EEND.
120808         (_REG_ESIZE): Renamed from REG_ESIZE.
120809         (_REG_ERPAREN): Renamed from REG_ERPAREN.
120810         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
120811         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
120812         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
120813         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
120815         (_REG_RE_NAME, _REG_RM_NAME): New macros.
120816         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
120817         changed.  But support the old name if the new one is not defined
120818         and if _REGEX_SOURCE.
120820         Change the following member names in struct re_pattern_buffer.
120821         The old names are still supported if !_REGEX_SOURCE.
120822         The new names are always supported, regardless of _REGEX_SOURCE.
120823         (re_buffer): Renamed from buffer.
120824         (re_allocated): Renamed from allocated.
120825         (re_used): Renamed from used.
120826         (re_syntax): Renamed from syntax.
120827         (re_fastmap): Renamed from fastmap.
120828         (re_translate): Renamed from translate.
120829         (re_can_be_null): Renamed from can_be_null.
120830         (re_regs_allocated): Renamed from regs_allocated.
120831         (re_fastmap_accurate): Renamed from fastmap_accurate.
120832         (re_no_sub): Renamed from no_sub.
120833         (re_not_bol): Renamed from not_bol.
120834         (re_not_eol): Renamed from not_eol.
120835         (re_newline_anchor): Renamed from newline_anchor.
120837         Change the following member names in struct re_registers.
120838         The old names are still supported if !_REGEX_SOURCE.
120839         The new names are always supported, regardless of _REGEX_SOURCE.
120840         (rm_num_regs): Renamed from num_regs.
120841         (rm_start): Renamed from start.
120842         (rm_end): Renamed from end.
120844         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
120845         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
120846         Prepend __ to parameter names.
120848         Undo yesterday's changes.
120850 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
120852         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
120853         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
120854         lib/regex.c.
120856 2005-08-24  Jim Meyering  <jim@meyering.net>
120858         Sync from coreutils.
120859         * m4/fcntl-safer.m4: New file.
120861         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
120862         and object files for this module.
120864 2005-08-24  Jim Meyering  <jim@meyering.net>
120866         Sync from coreutils.
120867         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
120869 2005-08-24  Jim Meyering  <jim@meyering.net>
120871         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
120872         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
120874 2005-08-24  Jim Meyering  <jim@meyering.net>
120876         * modules/fcntl-safer: New module.
120877         * modules/fts (Depends-on): Add fcntl-safer.
120878         * MODULES.html.sh (File descriptor based Input/Output):
120879         Add fcntl-safer.
120881 2005-08-24  Bruno Haible  <bruno@clisp.org>
120883         Support for unit test modules.
120884         * modules/README: Mention tests modules.
120885         * modules/TEMPLATE-TESTS: New file.
120886         * gnulib-tool: New options --extract-tests-module, --with-tests and
120887         --tests-base (unused for the moment).
120888         (testsbase, inctests): New variables.
120889         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
120890         (func_verify_module): Exclude TEMPLATE-TESTS.
120891         (func_verify_nontests_module, func_verify_tests_module): New functions.
120892         (func_get_dependencies): Add implicit dependency for tests modules.
120893         (func_get_tests_module): New function.
120894         (func_modules_transitive_closure): When --with-tests was specified,
120895         include the unit tests as well, unless explicitly avoided.
120896         (func_emit_lib_Makefile_am): Ignore the tests modules here.
120897         (func_emit_tests_Makefile_am): New function.
120898         (func_create_testdir): When --with-tests was specified, emit a
120899         tests/ directory.
120900         * MODULES.html.sh (Future developments): Update.
120902 2005-08-24  Bruno Haible  <bruno@clisp.org>
120904         * modules/tls-tests: New file.
120905         * tests/test-tls.c: New file, from GNU gettext.
120907 2005-08-24  Bruno Haible  <bruno@clisp.org>
120909         * modules/lock-tests: New file.
120910         * tests/test-lock.c: New file, from GNU gettext.
120912 2005-08-24  Bruno Haible  <bruno@clisp.org>
120914         * lib/lock.h: Add multiple inclusion guard.
120915         * lib/tls.h: Add multiple inclusion guard.
120917 2005-08-24  Bruno Haible  <bruno@clisp.org>
120919         * gnulib-tool: Add support for the --aux-dir option to
120920         --create-testdir, --create-megatestdir, --test, --megatest.
120921         (func_create_testdir, func_create_megatestdir): Optionally emit a
120922         AC_CONFIG_AUX_DIR directive.
120923         (create-testdir, create-megatestdir, test, megatest): Provide a
120924         default value for $auxdir.
120926 2005-08-24  Bruno Haible  <bruno@clisp.org>
120928         * gnulib-tool (import): Use compound statement instead of subshell
120929         where possible.
120931 2005-08-24  Bruno Haible  <bruno@clisp.org>
120933         * gnulib-tool (import): Change --aux-dir default to "build-aux".
120935 2005-08-24  Bruno Haible  <bruno@clisp.org>
120937         * gnulib-tool (func_version): Update.
120939 2005-08-24  Bruno Haible  <bruno@clisp.org>
120941         * gnulib-tool (func_import, func_create_testdir,
120942         func_create_megatestdir): Quote all autoconf macro arguments.
120944 2005-08-24  Bruno Haible  <bruno@clisp.org>
120946         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
120947         option --force, because --force causes the aclocal.m4 of each
120948         subdirectory to be newer than the corresponding config.h.in.
120950 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
120952         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
120953         All contents moved to gl_REGEX.
120954         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
120955         assume that it does.
120957 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
120959         * lib/regex.h (REG_NOSYS)
120960         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
120961         Define, since POSIX requires it as of 2001.
120962         (_REG_ENOSYS)
120963         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
120964         New private symbol, used to keep the enum signed in all cases.
120965         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
120966         Youngman in
120967         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
120969         * lib/regex_internal.c (re_string_skip_chars, register_state):
120970         (calc_state_hash):
120971         Remove forward decls; no longer needed now that we use prototypes.
120972         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
120973         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
120974         (clean_state_log_if_needed): Likewise.
120976 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
120978         * config/srclist.txt: Add glibc bugs 1231-1233.
120980 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
120982         Fix problems reported by Sam Steingold in
120983         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
120984         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
120985         assumed that reg_errcode_t is a signed type, which is not
120986         necessarily true if _XOPEN_SOURCE is not defined.
120987         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
120988         since some compilers warn about it otherwise.
120990 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
120992         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
120993         (init_word_char, create_initial_state, duplicate_node_closure):
120994         (fetch_token, peek_token_bracket, build_range_exp):
120995         (build_collating_symbol): Remove forward decls; no longer needed
120996         now that we use prototypes.
120998         * lib/regcomp.c:
120999         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
121000         (re_compile_fastmap_iter, regcomp, regerror, regfree):
121001         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
121002         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
121003         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
121004         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
121005         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
121006         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
121007         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
121008         (build_range_exp, build_collating_symbol, parse_bracket_exp):
121009         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
121010         (build_charclass, build_charclass_op, fetch_number, create_tree):
121011         (create_token_tree, mark_opt_subexp, duplicate_tree):
121012         Use prototypes rather than old-style definitions.
121014         * lib/regex_internal.c:
121015         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
121016         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
121017         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
121018         (re_string_reconstruct, re_string_peek_byte_case):
121019         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
121020         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
121021         (re_node_set_init_copy, re_node_set_add_intersect):
121022         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
121023         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
121024         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
121025         (re_acquire_state, re_acquire_state_context, register_state):
121026         (create_ci_newstate, create_cd_newstate, free_state):
121027         Likewise.
121028         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
121029         re_search_2):
121030         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
121031         (re_search_internal, prune_impossible_nodes):
121032         (acquire_init_state_context, check_matching, static):
121033         (check_halt_node_context, check_halt_state_context, proceed_next_node):
121034         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
121035         (update_regs, sift_states_backward, build_sifted_states):
121036         (clean_state_log_if_needed, merge_state_array):
121037         (update_cur_sifted_state, add_epsilon_src_nodes):
121038         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
121039         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
121040         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
121041         (find_recover_state, check_subexp_matching_top, transit_state_mb):
121042         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
121043         (check_arrival, check_arrival_add_next_nodes):
121044         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
121045         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
121046         (check_node_accept_bytes, check_node_accept, extend_buffers):
121047         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
121048         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
121049         (sift_ctx_init):
121050         Likewise.
121052         * lib/regex_internal.h:
121053         (re_string_allocate, re_string_construct, re_string_reconstruct):
121054         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
121055         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
121056         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
121057         (re_string_context_at, re_string_peek_byte_case):
121058         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
121059         is defined, since we now use prototypes always.
121061         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
121062         C89 or better.  All uses removed.
121064 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121066         * config/srclist.txt: Add glibc bugs 1220-1227.
121068 2005-08-20  Jim Meyering  <jim@meyering.net>
121070         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
121071         of unused local, dfa.
121073 2005-08-20  Bruno Haible  <bruno@clisp.org>
121075         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
121077 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121079         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
121080         (re_node_set_insert_last, re_dfa_add_node):
121081         Rename local variables to avoid GCC shadowing warnings.
121083 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121085         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
121086         [defined lint]: Suppress bogus uninitialized-variable warnings.
121088         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
121089         and let the caller return REG_ESPACE if out of space.  This
121090         removes an uninitialied-variable warning with GCC 4.0.1, and also
121091         avoids taking the address of a local variable.  All callers
121092         changed.
121094 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121096         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
121097         $LIBCSRC/posix/regexec.c.
121098         Add glibc bug 1217 for regcomp.c.
121100 2005-08-19  Jim Meyering  <jim@meyering.net>
121102         * lib/regexec.c (proceed_next_node): Redo local variables to
121103         avoid GCC shadowing warnings.
121105 2005-08-18  Bruno Haible  <bruno@clisp.org>
121107         * lib/strstr.c (strstr): Fix return value in multibyte case.
121108         * lib/strcasestr.c (strcasestr): Likewise.
121110 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
121112         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
121114 2005-08-17  Jim Meyering  <jim@meyering.net>
121116         Make the %s format (seconds since the epoch) work for a negative
121117         number and when used with a zero-padded field width, e.g. %015s.
121119         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
121120         label so that it precedes the code to set `digits'.  Otherwise,
121121         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
121122         print `00-22'.  Now, it prints `-0022', as it should.
121124 2005-08-17  Bruno Haible  <bruno@clisp.org>
121126         * modules/strstr (Files): Add m4/mbrtowc.m4.
121127         (Depends-on): Add mbuiter.
121129 2005-08-17  Bruno Haible  <bruno@clisp.org>
121131         * modules/strcasestr: New file.
121132         * MODULES.html.sh (String handling, based on ANSI C 89): Add
121133         strcasestr.
121135 2005-08-17  Bruno Haible  <bruno@clisp.org>
121137         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
121139 2005-08-17  Bruno Haible  <bruno@clisp.org>
121141         * modules/mbuiter: New file.
121142         * MODULES.html.sh (Extended multibyte and wide character utilities):
121143         Add mbuiter.
121145 2005-08-17  Bruno Haible  <bruno@clisp.org>
121147         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
121148         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
121150 2005-08-17  Bruno Haible  <bruno@clisp.org>
121152         * m4/strcasestr.m4: New file.
121154 2005-08-17  Bruno Haible  <bruno@clisp.org>
121156         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
121157         * lib/strstr.c: Completely rewritten, with multibyte locale support.
121159 2005-08-17  Bruno Haible  <bruno@clisp.org>
121161         * lib/strcasestr.h: New file.
121162         * lib/strcasestr.c: New file.
121164 2005-08-17  Bruno Haible  <bruno@clisp.org>
121166         * lib/strcasecmp.c: Use mbuiter.h.
121168 2005-08-17  Bruno Haible  <bruno@clisp.org>
121170         * lib/mbuiter.h: New file.
121172 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
121174         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
121175         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
121176         and gl_GETOPT are both invoked via different paths (as happens
121177         with GNU tar CVS because it uses both argp and getopt), the former
121178         wins.
121180 2005-08-16  Bruno Haible  <bruno@clisp.org>
121182         * modules/tls: New file.
121183         * MODULES.html.sh (Multithreading): Add tls.
121185 2005-08-16  Bruno Haible  <bruno@clisp.org>
121187         * modules/strnlen1: New file.
121188         * MODULES.html.sh (String handling): Add strnlen1.
121190 2005-08-16  Bruno Haible  <bruno@clisp.org>
121192         * modules/strcase (Files): Add m4/mbrtowc.m4.
121193         (Depends-on): Add strnlen1, mbchar.
121195 2005-08-16  Bruno Haible  <bruno@clisp.org>
121197         * modules/mbiter: New file.
121198         * MODULES.html.sh (Extended multibyte and wide character utilities):
121199         Add mbiter.
121201 2005-08-16  Bruno Haible  <bruno@clisp.org>
121203         * modules/mbfile: New file.
121204         * MODULES.html.sh (Extended multibyte and wide character utilities):
121205         Add mbfile.
121207 2005-08-16  Bruno Haible  <bruno@clisp.org>
121209         * modules/mbchar: New file.
121210         * MODULES.html.sh (Extended multibyte and wide character utilities):
121211         New section.
121213 2005-08-16  Bruno Haible  <bruno@clisp.org>
121215         * m4/tls.m4: New file, from GNU gettext.
121217 2005-08-16  Bruno Haible  <bruno@clisp.org>
121219         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
121220         always.
121221         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
121223 2005-08-16  Bruno Haible  <bruno@clisp.org>
121225         * m4/mbiter.m4: New file.
121227 2005-08-16  Bruno Haible  <bruno@clisp.org>
121229         * m4/mbfile.m4: New file.
121231 2005-08-16  Bruno Haible  <bruno@clisp.org>
121233         * m4/mbchar.m4: New file.
121235 2005-08-16  Bruno Haible  <bruno@clisp.org>
121237         * lib/tls.h: New file, from GNU gettext.
121238         * lib/tls.c: New file, from GNU gettext.
121240 2005-08-16  Bruno Haible  <bruno@clisp.org>
121242         * lib/strnlen1.h: New file.
121243         * lib/strnlen1.c: New file.
121245 2005-08-16  Bruno Haible  <bruno@clisp.org>
121247         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
121248         (mbi_init): Update.
121249         (mbi_avail, mbi_advance): Let the iteration end before the terminating
121250         NUL byte, not after it.
121252 2005-08-16  Bruno Haible  <bruno@clisp.org>
121254         * lib/strcase.h (strcasecmp): Add note in comments.
121255         * lib/strncasecmp.c: Use code from strcasecmp.c.
121256         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
121257         (strcasecmp): Work correctly in multibyte locales.
121259 2005-08-16  Bruno Haible  <bruno@clisp.org>
121261         * lib/mbiter.h: New file.
121263 2005-08-16  Bruno Haible  <bruno@clisp.org>
121265         * lib/mbfile.h: New file.
121267 2005-08-16  Bruno Haible  <bruno@clisp.org>
121269         * lib/mbchar.h: New file.
121270         * lib/mbchar.c: New file.
121272 2005-08-16  Bruno Haible  <bruno@clisp.org>
121274         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
121275         the valid ones. Makes the comparison operations transitive:
121276         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
121277         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
121279 2005-08-15  Simon Josefsson  <jas@extundo.com>
121281         * modules/ssize_t (License): Change to 'unlimited'.
121283         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
121285 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
121287         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
121288         Add comments for each pending glibc patch.
121290 2005-08-15  Bruno Haible  <bruno@clisp.org>
121292         * lib/regex.h (__restrict_arr): Don't define to __restrict if
121293         __cplusplus is defined.
121295 2005-08-14  Jim Meyering  <jim@meyering.net>
121297         Sync from coreutils.
121299         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
121300         Use the hash-table-based cycle-detection code not just when
121301         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
121302         Reported by James Youngman in
121303         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
121304         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
121305         FTS_TIGHT_CYCLE_CHECK.
121306         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
121307         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
121308         once again.
121309         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
121310         * lib/fts.c (fd_safer): Remove decl.
121311         Include fcntl--.h rather than unistd-safer.h
121312         (fts_safe_changedir): Don't call fd_safer; no longer needed
121313         now that we include fcntl--.h.
121315 2005-08-12  Simon Josefsson  <jas@extundo.com>
121317         * modules/getndelim2: Use ssize_t module.
121318         * modules/getnline: Likewise.
121319         * modules/safe-read: Likewise.
121320         * modules/xreadlink: Likewise.
121322         * modules/ssize_t: New file.
121324 2005-08-12  Simon Josefsson  <jas@extundo.com>
121326         * m4/readline.m4: Look for termcap, curses or ncurses if required.
121328 2005-08-12  Simon Josefsson  <jas@extundo.com>
121330         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
121331         ssize_t.
121333 2005-08-12  Simon Josefsson  <jas@extundo.com>
121335         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
121336         readline, getdelim and check_version.
121337         (Support for systems lacking ISO C 99: Sizes of integer types):
121338         Add size_max.
121340 2005-08-12  Bruno Haible  <bruno@clisp.org>
121342         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
121344 2005-08-11  Simon Josefsson  <jas@extundo.com>
121346         * modules/readline: New file.
121348         * modules/strnlen (Files): Add strnlen.h.
121350 2005-08-11  Simon Josefsson  <jas@extundo.com>
121352         * m4/readline.m4: New file.
121354 2005-08-11  Simon Josefsson  <jas@extundo.com>
121356         * lib/readline.h, readline.c: New file.
121358 2005-08-11  Simon Josefsson  <jas@extundo.com>
121360         * doc/gnulib.texi (Initial import, Finishing touches): Mention
121361         gl_AVOID.
121363 2005-08-11  Bruno Haible  <bruno@clisp.org>
121365         * lib/strnlen.h (strnlen): Change parameter name to match comment.
121367 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
121369         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
121371 2005-08-10  Simon Josefsson  <jas@extundo.com>
121373         * tests/test-iconvme.c: New file.
121375 2005-08-10  Simon Josefsson  <jas@extundo.com>
121377         * m4/strnlen.m4: New file.
121379         * m4/strndup.m4: Don't check for strnlen declaration, done in
121380         strnlen.m4.
121382 2005-08-10  Simon Josefsson  <jas@extundo.com>
121384         * lib/strndup.c: Use strnlen.h.
121386         * lib/strnlen.h: New file.
121388 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
121390         * README: Typos.
121392 2005-08-02  Simon Josefsson  <jas@extundo.com>
121394         * modules/readline: New file.
121396 2005-08-02  Simon Josefsson  <jas@extundo.com>
121398         * modules/getdelim: New file.
121400         * modules/getline: Rewrite, don't use getndelim2.
121402 2005-08-02  Simon Josefsson  <jas@extundo.com>
121404         * m4/getline.m4: Separate out getdelim stuff into separate module.
121406         * m4/getdelim.m4: New file.
121408 2005-08-02  Simon Josefsson  <jas@extundo.com>
121410         * lib/getline.h, getline.c: Rewrite.
121412         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
121414 2005-07-31  Bruno Haible  <bruno@clisp.org>
121416         * lib/lock.h (gl_lock_initializer): New macro.
121417         (gl_lock_define_initialized): Use it.
121418         (gl_rwlock_initializer): New macro.
121419         (gl_rwlock_define_initialized): Use it.
121420         (gl_recursive_lock_initializer): New macro.
121421         (gl_recursive_lock_define_initialized): Use it.
121423 2005-07-30  Karl Berry  <karl@gnu.org>
121425         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
121426         Report from Ben Pfaff, regarding getopt.
121428 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
121430         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
121431         normal way.
121432         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
121433         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
121434         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
121435         (gl_GETOPT): Use the new macros.  Most of the implementation
121436         is moved to the new macros.  This is for programs like Emacs
121437         that don't want all the functionality of gl_GETOPT.
121439 2005-07-26  Bruno Haible  <bruno@clisp.org>
121441         * m4/lock.m4: Update from GNU gettext.
121443 2005-07-26  Bruno Haible  <bruno@clisp.org>
121445         * lib/lock.h: Update from GNU gettext.
121446         * lib/lock.c: Update from GNU gettext.
121448 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
121450         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
121451         obsolescent AC_TRY_RUN.  Include the default includes files, for
121452         'exit'.
121454 2005-07-24  Bruno Haible  <bruno@clisp.org>
121456         * modules/visibility: New file.
121457         * MODULES.html.sh (Misc): Add visibility.
121459 2005-07-24  Bruno Haible  <bruno@clisp.org>
121461         * m4/visibility.m4: New file.
121463 2005-07-24  Bruno Haible  <bruno@clisp.org>
121465         * doc/visibility.texi: New file.
121467 2005-07-22  Bruno Haible  <bruno@clisp.org>
121469         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
121470         $(ALLOCA_H), redundant through BUILT_SOURCES.
121471         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
121472         redundant through BUILT_SOURCES.
121473         * modules/byteswap (Makefile.am): Remove explicit dependency on
121474         $(BYTESWAP_H), redundant through BUILT_SOURCES.
121475         * modules/fnmatch (Makefile.am): Remove explicit dependency on
121476         $(FNMATCH_H), redundant through BUILT_SOURCES.
121477         * modules/getopt (Makefile.am): Remove explicit dependency on
121478         $(GETOPT_H), redundant through BUILT_SOURCES.
121479         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
121480         redundant through BUILT_SOURCES.
121481         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
121482         redundant through BUILT_SOURCES.
121483         * modules/stdbool (Makefile.am): Remove explicit dependency on
121484         $(STDBOOL_H), redundant through BUILT_SOURCES.
121485         * modules/stdint (Makefile.am): Remove explicit dependency on
121486         $(STDINT_H), redundant through BUILT_SOURCES.
121487         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
121488         Remove explicit dependency on $(SYSEXITS_H).
121489         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
121491 2005-07-18  Simon Josefsson  <jas@extundo.com>
121493         * lib/check-version.c (check_version): Accept identical versions too.
121495 2005-07-18  Bruno Haible  <bruno@clisp.org>
121497         * modules/lock: New file.
121498         * MODULES.html.sh (Multithreading): New section.
121500 2005-07-18  Bruno Haible  <bruno@clisp.org>
121502         * m4/lock.m4: New file, from GNU gettext.
121504 2005-07-18  Bruno Haible  <bruno@clisp.org>
121506         * lib/lock.h: New file, from GNU gettext.
121507         * lib/lock.c: New file, from GNU gettext.
121509 2005-07-18  Bruno Haible  <bruno@clisp.org>
121511         * lib/lock.h (gl_once_t): New type.
121512         (gl_once_define, gl_once): New macros.
121513         * lib/lock.c (fresh_once): New variable.
121514         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
121515         functions.
121517 2005-07-16  Simon Josefsson  <jas@extundo.com>
121519         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
121520         workaround, suggested by Bruno.
121522 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
121524         * modules/xalloc (Depends-on): Add xalloc-die.
121525         * modules/xvasprintf (Depends-on): Add xalloc-die.
121527 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
121529         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
121530         with a minor change.
121532 2005-07-15  Bruno Haible  <bruno@clisp.org>
121534         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
121535         When using lib/poll.c, define poll as rpl_poll.
121537 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
121539         * modules/argp (Depends-on): Remove unlocked-io.
121541 2005-07-14  Derek Price  <derek@ximbiot.com>
121543         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
121544         for glob symlink bug.
121546 2005-07-14  Bruno Haible  <bruno@clisp.org>
121548         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
121549         Instead, test for *_unlocked function declarations directly.
121551 2005-07-11  Simon Josefsson  <jas@extundo.com>
121553         * modules/size_max: New file.
121555         * modules/xsize: Depend on size_max module for size_max.m4.
121557 2005-07-11  Simon Josefsson  <jas@extundo.com>
121559         * lib/size_max.h: New file.
121561 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
121563         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
121564         copyright symbol and the year.
121565         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
121566         (version_etc_va): Use parameterized copyright notice.
121567         Reword to conform to the current GNU coding standards.
121569 2005-07-11  Karl Berry  <karl@gnu.org>
121571         * doc/gnulib.texi (Quoting): new node.
121572         (Initial import): more info, from Patrice.
121574 2005-07-11  Bruno Haible  <bruno@clisp.org>
121576         * gnulib-tool (func_usage): Document option --avoid.
121577         (Command line options): Handle --avoid.
121578         (func_acceptable): New function.
121579         (func_modules_transitive_closure): Use it.
121581 2005-07-11  Bruno Haible  <bruno@clisp.org>
121583         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
121584         Reported by Jim Meyering.
121586 2005-07-10  Bruno Haible  <bruno@clisp.org>
121588         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
121589         Needed when size_t is smaller than 'unsigned int'.
121590         Reported by Paul Eggert.
121592 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
121594         * modules/argp (Depends-on): Add unlocked-io
121596 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
121598         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
121599         block of defines.
121601 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
121603         * config/srclist.txt: Comment out regcomp.c, since we have a porting
121604         fix now.
121606 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
121607         and Paul Eggert  <eggert@cs.ucla.edu>
121609         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
121610         in wint_t, not wchar_t.  Remove now-unnecessary cast.
121612 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
121614         * modules/regex (Files): Add lib/regex_internal.c,
121615         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
121616         (Depends-on): Add extensions.
121617         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
121619 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
121621         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
121622         pathconf.
121623         * m4/same.m4 (gl_SAME): Likewise.
121624         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
121626         * m4/regex.m4: Adjust to new libc regex implementation.
121627         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
121628         all the .c and .h parts of (the new) regex.
121629         Quote the m4 stuff better.
121630         Check for RE_ICASE bug of old gnulib.
121631         Check for REG_STARTEND of recent libc.
121632         Rename local variables from jm_* to gl_*.
121633         Quote operand of "test -f".
121634         Say "recent enough" version of libc, not "version 2".
121635         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
121636         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
121637         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
121638         Remove check for btowc, isascii.
121639         Require AM_LANGINFO_CODESET.
121641 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
121643         * lib/regex.c, regex.h: Sync from libc.
121644         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
121645         * lib/regexec.c:
121646         New files, synced from libc, except that regex_internal.h
121647         currently has a small porting fix.
121649 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
121651         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
121652         regex_internal.c, regexec.c.
121653         Add regex_internal.h too, but as a comment, since the libc version
121654         is currently broken in gnulib mode.
121656 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
121658         Support programs like Emacs that use gnulib but not gettext.
121659         * MODULES.html.sh (Internationalization functions): Add gettext-h.
121660         * modules/gettext-h: New file.
121661         * modules/gettext (Files): Remove lib/gettext.h.
121662         (Depends-on): Add gettext-h.
121663         (Makefile.am): Remove lib_SOURCES.
121664         * modules/argmatch, modules/c-stack, modules/closeout:
121665         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
121666         * modules/execute, modules/file-type, modules/getaddrinfo:
121667         * modules/getopt, modules/human, modules/javacomp:
121668         * modules/javaexec, modules/mkdir-p, modules/obstack:
121669         * modules/openat, modules/pagealign_alloc, modules/pipe:
121670         * modules/quotearg, modules/regex, modules/rpmatch:
121671         * modules/unicodeio, modules/userspec, modules/version-etc:
121672         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
121673         * modules/xsetenv:
121674         Depend on gettext-h, not gettext.
121676 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
121678         * gnulib-tool (func_import): Add support for 'public domain' license.
121679         * modules/alloca, modules/atexit, modules/memmove:
121680         Now public domain, not GPL.
121681         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
121682         * modules/realloc, modules/strerror, modules/strtod:
121683         Now LGPL, not GPL.
121685 2005-07-05  Bruno Haible  <bruno@clisp.org>
121687         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
121688         autoconf CVS. Needed for mingw.
121690 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
121692         Remove the dependency of the strftime module on the tzset module.
121693         * modules/strftime (Depends-on): Remove dependency on tzset.
121695 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
121697         Remove the dependency of the strftime module on the tzset module.
121698         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
121699         gl_FUNC_TZSET_CLOBBER.
121701 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
121703         Remove the dependency of the strftime module on the tzset module.
121704         * lib/strftime.c (my_strftime)
121705         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
121706         Copy the input structure, to work around some of the bug with
121707         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
121708         Solaris releases, you should also use the tzset module, but we won't
121709         require it as a dependency any more since we don't want LGPLed code
121710         to depend on GPLed code.
121712 2005-07-02  Jim Meyering  <jim@meyering.net>
121714         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
121715         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
121716         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
121717         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
121719 2005-07-02  Jim Meyering  <jim@meyering.net>
121721         * lib/backupfile.c (backup_args): Change a `0' to NULL.
121723 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
121725         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
121726         declares only 'struct timespec;' (!).
121728 2005-07-01  Jim Meyering  <jim@meyering.net>
121730         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
121731         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
121732         * lib/save-cwd.c, tempname.c:
121733         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
121734         and don't include <sys/file.h>).
121736 2005-06-29  Jim Meyering  <jim@meyering.net>
121738         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
121739         type name.  Use the variable name instead.
121740         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
121741         Likewise.
121743 2005-06-28  Simon Josefsson  <jas@extundo.com>
121745         * modules/check-version (Files): Add check-version.m4.
121747 2005-06-28  Simon Josefsson  <jas@extundo.com>
121749         * m4/check-version.m4: New file, suggested by Jim Meyering
121750         <jim@meyering.net>.
121752 2005-06-28  Simon Josefsson  <jas@extundo.com>
121754         * lib/check-version.h, lib/check-version.c: New files.
121756 2005-06-28  Simon Josefsson  <jas@extundo.com>
121758         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
121759         collision with global variable.  Better indentation.  Don't
121760         increment buffer pointer beyond buffer end.  Based on comments
121761         from Paul Eggert <eggert@cs.ucla.edu>.
121763         * lib/base64.h: Indent.
121765 2005-06-28  Simon Josefsson  <jas@extundo.com>
121767         * doc/gnulib.texi (Library version handling): New section.
121769 2005-06-28  Jim Meyering  <jim@meyering.net>
121771         * check-module (find_included_lib_files): Hard-code another
121772         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
121773         but modules/fts-lgpl (correctly) does not list those files.
121775         * modules/canonicalize (Files): Add lib/pathmax.h.
121777 2005-06-25  Simon Josefsson  <jas@extundo.com>
121779         * modules/check-version: New file.
121781 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
121783         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
121784         initializer of struct addrinfo, as an indication that we don't
121785         care how many members the structure has.
121787 2005-06-24  Derek Price  <derek@ximbiot.com>
121788         and Bruno Haible  <bruno@clisp.org>
121790         Remove stat module & update lstat.
121791         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
121792         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
121793         * m4/stat.m4: Remove this file.
121795 2005-06-24  Derek Price  <derek@ximbiot.com>
121796         and Bruno Haible  <bruno@clisp.org>
121798         Remove stat module & update lstat.
121799         * lib/stat.c: Remove this file...
121800         (slash_aware_lstat): ...moving this content and its support...
121801         * lib/lstat.c (rpl_lstat): ...into here.
121802         * lib/lstat.h: New file.
121804 2005-06-24  Derek Price  <derek@ximbiot.com>
121805         and Bruno Haible  <bruno@clisp.org>
121807         Remove stat module & update lstat.
121808         * config/srclist.txt (libc sources): Remove stat.
121810 2005-06-24  Derek Price  <derek@ximbiot.com>
121811         and Bruno Haible  <bruno@clisp.org>
121813         Remove stat module & update lstat.
121814         * MODULES.html.sh (stat): Remove.
121815         * MODULES.html: Regenerated.
121816         * modules/lstat (Description): Correct function name.
121817         (Files): Add "lstat.h".
121818         (Depends-on): Remove stat, add xalloc, stat-macros.
121819         * modules/stat: Remove this file.
121820         (Include): Add "lstat.h", remove <sys/stat.h>.
121822 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
121824         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
121825         (ranged_convert): Don't save conversion in a temporary struct.
121826         This causes a warning with GCC 4.0.0, and anyway in the typical
121827         case it's not worth the extra 100 bytes or so of code.
121828         (ranged_convert, __mktime_internal): When calling a function via a
121829         pointer P, use P () rather than (*P) (), as we now assume C89 or
121830         better.
121832 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
121834         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
121835         "who -r" failed to give output.  Problem reported by Tim Waugh.
121837         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
121838         (xcalloc): Use it to avoid needless tests.
121839         Problem reported by Jim Meyering.
121841 2005-06-20  Derek Price  <derek@ximbiot.com>
121843         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
121844         unnecessary for Autoconfs > 2.59c.
121846 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
121848         * lib/argp.h (__option_is_short): Check upper limit of
121849         __key. Isprint() requires its argument to have the value
121850         of an unsigned char or EOF.
121852 2005-06-16  Jim Meyering  <jim@meyering.net>
121854         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
121855         when either N or S is zero.
121857 2005-06-16  Derek Price  <derek@ximbiot.com>
121859         * m4/bison.m4: Declare YACC & YFLAGS precious.
121861 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
121863         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
121864         multibyte string or pattern, fall back on unibyte matching.
121865         Problem reported by James Youngman.
121867 2005-06-08  Bruno Haible  <bruno@clisp.org>
121869         * modules/csharpcomp: New file.
121870         * MODULES.html.sh (C#): Add csharpcomp.
121872 2005-06-08  Bruno Haible  <bruno@clisp.org>
121874         * m4/csharpcomp.m4: New file, from GNU gettext.
121876 2005-06-08  Bruno Haible  <bruno@clisp.org>
121878         * lib/csharpcomp.h: New file, from GNU gettext.
121879         * lib/csharpcomp.c: New file, from GNU gettext.
121880         * lib/csharpcomp.sh.in: New file, from GNU gettext.
121882 2005-06-08  Bruno Haible  <bruno@clisp.org>
121884         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
121885         warning on mingw.
121887 2005-06-07  Derek Price  <derek@ximbiot.com>
121889         Sync from CVS.
121890         * lib/glob_.h: Indent nested #ifdef.
121892 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
121894         Sync from coreutils.
121895         Use "file name" when talking about file names, instead of "filename"
121896         or "path", as per the GNU coding standards.
121897         * lib/mkdir-p.c: Renamed from makepath.c.
121898         (make_dir_parents): Renamed from make_path.  All callers changed.
121899         * lib/mkdir-p.h: Likewise.  All includers changed.
121900         * lib/filenamecat.c: Renamed from path-concat.c.
121901         (file_name_concat): Renamed from path_concat.  All callers changed.
121902         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
121903         * lib/filenamecat.h: Likewise.  All includers changed.
121904         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
121905         in comments or local variable names.
121906         * lib/basename.c: Likewise.
121907         * lib/canonicalize.c, canonicalize.h: Likewise.
121908         * lib/dirname.c, dirname.h: Likewise.
121909         * lib/euidaccess.c: Likewise.
121910         * lib/exclude.c: Likewise
121911         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
121912         * lib/fsusage.c, fsuage.h: Likewise.
121913         * lib/fts.c, fts_.h: Likewise.
121914         * lib/getcwd.c: Likewise.
121915         * lib/getloadavg.c: Likewise.
121916         * lib/mkstemp.c: Likewise.
121917         * lib/mountlist.c, mountlist.h: Likewise.
121918         * lib/openat.c, openat.h: Likewise.
121919         * lib/readlink-stub.c: Likewise.
121920         * lib/readutmp.c, readutmp.h: Likewise.
121921         * lib/rename.c: Likewise.
121922         * lib/rmdir.c: Likewise.
121923         * lib/same.c: Likewise.
121924         * lib/savedir.c: Likewise.
121925         * lib/stripslash.c: Likewise.
121926         * lib/tempname.c: Likewise.
121927         * lib/xreadlink.c: Likewise.
121928         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
121929         All uses changed.
121930         * lib/exclude.h: Likewise.
121932         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
121933         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
121934         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
121935         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
121936         * lib/pathmax.h: Include <limits.h> unconditionally, since other
121937         files have been getting away with it for years (MORE/BSD 4.3
121938         is extinct now).
121939         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
121940         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
121942         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
121943         Define to 256, not 255, as per modern POSIX.
121945 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
121947         Sync from coreutils.
121948         Use "file name" when talking about file names, instead of "filename"
121949         or "path", as per the GNU coding standards.
121950         * MODULES.html.sh: mkdir-p renamed from makepath.
121951         filenamecat renamed from path-concat.
121952         * modules/filenamecat: Renamed from modules/path-concat.
121953         (Files): filenamecat.h and filenamecat.c renamed from
121954         path-concat.h and path-concat.c.
121955         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
121956         (Include): filenamecat.h, not path-concat.h.
121957         * modules/mkdir-p: Renamed from modules/makepath.
121958         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
121959         makepath.c.
121960         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
121961         (Include): mkdir-p.h, not makepath.h.
121963 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
121965         Sync from coreutils.
121966         * m4/mkdir-p.m4: Renamed from makepath.m4.
121967         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
121968         Rename files from makepath.c to mkdir-p.c, and from
121969         makepath.h to mkdir-p.h.
121970         * m4/filenamecat.m4: Renamed from path-concat.m4.
121971         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
121972         Rename files from path-concat.c to filenamecat.c,
121973         and from path-concat.h to filenamecat.h.
121974         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
121975         "file name" in local variables or comments.
121976         * m4/rename.m4: Likewise.
121978 2005-06-01  Bruno Haible  <bruno@clisp.org>
121980         * modules/csharpexec: New file.
121981         * MODULES.html.sh (C#): New section.
121983 2005-06-01  Bruno Haible  <bruno@clisp.org>
121985         * m4/csharp.m4: New file, from GNU gettext.
121986         * m4/csharpexec.m4: New file, from GNU gettext.
121988 2005-06-01  Bruno Haible  <bruno@clisp.org>
121990         * lib/csharpexec.h: New file, from GNU gettext.
121991         * lib/csharpexec.c: New file, from GNU gettext.
121992         * lib/csharpexec.sh.in: New file, from GNU gettext.
121994 2005-05-31  Derek Price  <derek@ximbiot.com>
121995             Paul Eggert  <eggert@cs.ucla.edu>
121997         Sync from cvs.
121998         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
122000 2005-05-31  Derek Price  <derek@ximbiot.com>
122001             Paul Eggert  <eggert@cs.ucla.edu>
122003         Sync from cvs.
122004         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
122006 2005-05-29  Derek Price  <derek@ximbiot.com>
122008         * config/srclist.txt (glob_.h, glob.c): Add these files.
122010 2005-05-29  Derek Price  <derek@ximbiot.com>
122012         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
122013         * modules/glob: New file.
122014         * modules/getlogin_r: Add link to POSIX spec in description.
122016 2005-05-29  Derek Price  <derek@ximbiot.com>
122017             Paul Eggert  <eggert@cs.ucla.edu>
122019         * m4/glob.m4: New file.
122021 2005-05-29  Derek Price  <derek@ximbiot.com>
122022             Paul Eggert  <eggert@cs.ucla.edu>
122024         * lib/glob_.h, lib/glob.c: New files.
122026 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122028         * modules/fts (Files): Remove m4/inttypes-pri.m4.
122029         * modules/fts-lgpl (Depends-on): Remove gettext.
122031 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122033         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
122034         and don't require gt_INTTYPES_PRI.
122036 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122038         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
122040         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
122041         the configuration hassle isn't worth it.
122042         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
122043         (LONGEST_MODIFIER, PRIuMAX): Remove.
122045 2005-05-27  Bruno Haible  <bruno@clisp.org>
122047         * lib/getlogin_r.h: Remove second include of <stddef.h>.
122049 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
122051         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
122052         _POSIX_PTHREAD_SEMANTICS for Solaris.
122054 2005-05-25  Derek Price  <derek@ximbiot.com>
122056         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
122058 2005-05-25  Derek Price  <derek@ximbiot.com>
122059             Paul Eggert  <eggert@cs.ucla.edu>
122061         * modules/getlogin_r, m4/getlogin_r.m4: New files.
122062         * lib/getlogin_r.c, getlogin_r.h: New files.
122064 2005-05-25  Bruno Haible  <bruno@clisp.org>
122065             Derek Price  <derek@ximbiot.com>
122067         * lib/getlogin_r.h: Simplify API documentation.
122069 2005-05-23  Derek Price  <derek@ximbiot.com>
122071         * modules/minmax (Files): Add m4/minmax.m4.
122072         (configure.ac): Add gl_MINMAX.
122074 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
122076         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
122077         so that unistd-safer.h (GPL'ed code) need not be included.
122079 2005-05-22  Bruno Haible  <bruno@clisp.org>
122081         * m4/minmax.m4: New file.
122082         Based on a patch by Derek Price <derek@ximbiot.com>.
122084 2005-05-22  Bruno Haible  <bruno@clisp.org>
122086         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
122087         (INT64_MIN): Fix definition.
122088         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
122090         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
122091         NEED_SIGNED_INT_TYPES.
122093         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
122094         HAVE_SYSTEM_INTTYPES.
122096 2005-05-22  Bruno Haible  <bruno@clisp.org>
122098         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
122099         Also include <sys/param.h> if it defines MIN, MAX.
122100         Based on a patch by Derek Price <derek@ximbiot.com>.
122102 2005-05-21  Jim Meyering  <jim@meyering.net>
122104         * modules/fts (Files): Add m4/inttypes-pri.m4.
122105         (Depends-on): Add lstat and remove gettext.  Alphabetize.
122107 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122109         New fts module.
122110         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
122111         (setup_dir, free_dir): New functions.
122112         (enter_dir, leave_dir): Define trivial
122113         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
122114         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
122115         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
122116         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
122117         Move to fts-cycle.c.
122118         (fts_open): Use setup_dir.
122119         (fts_close): Use free_dir.
122120         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
122121         This adds a label and some gotos, but the alternatives were messier.
122122         Check for memory allocation failure when entering a dir.
122123         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
122124         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
122125         (FTS): New member fts_cycle, that is a union that contains the
122126         old active_dir_ht and cycle_state.  All uses changed to mention
122127         fts_cycle.ht and fts_cycle.state.
122128         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
122129         fts.c, with the following changes:
122130         (setup_dir, free_dir): New functions.
122131         (enter_dir): Now returns bool.  Return true if successful, false
122132         if memory exhausted.  All callers changed.
122133         Do not bother partly cleaning up on
122134         memory allocation failure; that is free_dir's job.
122135         However, free ad if hash_insert fails, to avoid memory leak.
122136         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
122137         fts->fts_options to see which union member to use.
122139 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122141         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
122142         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
122144 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122146         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
122148 2005-05-20  Jim Meyering  <jim@meyering.net>
122150         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
122151         Now a macro, to pacify GCC.
122153 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
122155         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
122156         of -1.
122158 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
122160         * lib/chown.c (rpl_chown): Return -1 on failure.
122162 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
122164         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
122165         Don't check for stddef.h.
122166         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
122167         don't use its results.
122168         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
122169         since we include them unconditionally.  Don't require
122170         AM_STDBOOL_H, since stdbool is a prerequisite.
122171         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
122172         since we assume C89 or better.
122173         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
122174         as we don't use their results.
122175         Don't check for fchdir, memmove, memset, strrchr, as we use
122176         them unconditionally.
122177         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
122178         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
122180 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
122182         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
122183         Include <stddef.h> unconditionally, since we assume C89 now.
122184         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
122185         * lib/fts.c: Include fts_.h first, to check interface.
122186         Do not include intprops.h; no longer needed.
122187         Include cycle-check.h and hash.h, since fts_.h no longer does.
122188         Remove unnecessary casts of closedir to void.
122189         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
122190         decide whether to decrement nlinks.
122191         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
122192         (FTS): Use struct hash_table * instead of Hash_table, so that
122193         we no longer need to include hash.h here.
122195 2005-05-18  Jim Meyering  <jim@meyering.net>
122197         * modules/dirfd (License): Change to LGPL.  Most of the code
122198         is already in the public domain.
122200 2005-05-18  Jim Meyering  <jim@meyering.net>
122202         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
122203         Reported by Yoann Vandoorselaere.
122205 2005-05-17  Jim Meyering  <jim@meyering.net>
122207         * m4/fts.m4: New file, from coreutils.
122209 2005-05-17  Jim Meyering  <jim@meyering.net>
122211         * lib/fts.c, lib/fts_.h: New files, from coreutils.
122213 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
122215         Sync from coreutils.
122216         * m4/unlinkdir.m4: New file.
122218 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
122220         Sync from coreutils.
122221         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
122222         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
122223         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
122224         White space changes only.
122225         * lib/makepath.c (make_path): Port to hosts where leading "//" is
122226         special.
122227         * lib/yesno.c: Include getline.h, not ctype.h.
122228         (yesno): Don't remove leading white space; POSIX doesn't allow it.
122229         Use getline to remove arbitrary restriction on response length.
122231 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
122233         * config/srclist-update: Spell out "Street" in FSF postal
122234         mail address; this is the style the FSF seems to prefer.
122236         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
122237         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
122238         this updates FSF postal mail address.
122240         Sync from coreutils.
122241         * modules/unlinkdir: New file.
122242         * modules/yesno (Depends-on): Add getline.
122243         * MODULES.html.sh (File system functions): Add unlinkdir.
122245 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
122247         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
122248         lib/strsep.h:
122249         Change the initial comment to refer to GPL, not LGPL.
122250         gnulib-tool will change it to LGPL as needed.
122252         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
122253         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
122254         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
122255         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
122256         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
122257         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
122258         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
122259         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
122260         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
122261         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
122262         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
122263         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
122264         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
122265         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
122266         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
122267         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
122268         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
122269         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
122270         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
122271         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
122272         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
122273         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
122274         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
122275         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
122276         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
122277         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
122278         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
122279         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
122280         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
122281         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
122282         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
122283         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
122284         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
122285         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
122286         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
122287         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
122288         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
122289         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
122290         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
122291         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
122292         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
122293         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
122294         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
122295         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
122296         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
122297         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
122298         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
122299         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
122300         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
122301         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
122302         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
122303         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
122304         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
122305         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
122306         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
122307         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
122308         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
122309         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
122310         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
122311         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
122312         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
122313         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
122314         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
122315         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
122316         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
122317         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
122318         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
122319         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
122320         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
122321         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
122322         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
122323         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
122324         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
122325         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
122326         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
122327         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
122328         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
122329         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
122330         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
122331         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
122332         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
122333         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
122334         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
122335         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
122336         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
122337         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
122338         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
122339         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
122340         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
122341         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
122342         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
122343         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
122344         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
122345         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
122346         lib/yesno.c, lib/yesno.h:
122347         Update FSF postal mail address.
122349 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
122351         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
122352         tests/test-memmem.c, tests/test-stpncpy.c:
122353         Update FSF postal mail address.
122355 2005-05-13  Bruno Haible  <bruno@clisp.org>
122357         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
122358         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
122359         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
122360         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
122361         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
122362         Add support for 64-bit integers in the MSVC compiler.
122364 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122366         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
122368 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
122370         * gnulib-tool (func_import): Sort and uniquify recommended includes.
122372 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
122374         * doc/getdate.texi (General date syntax): Don't say that date
122375         date --iso-8601=ns generates acceptable dates; it doesn't yet.
122376         Problem reported by Nic Ferrier.
122378 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122380         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
122381         specified in ai_socktype. Fix invalid ai_protocol
122382         check. ai_protocol is usually set to 0 or depending on
122383         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
122384         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
122385         ai_socktype / ai_protocol in the returned addrinfo structure.
122387 2005-05-10  Simon Josefsson  <jas@extundo.com>
122389         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
122390         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
122392 2005-05-10  Karl Berry  <karl@gnu.org>
122394         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
122395         (from http://www.gnu.org/licenses).
122396         * doc/COPYING.LIB: also rename to COPYING.LESSER.
122397         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
122398         fdl.texi suffices.
122400 2005-05-10  Karl Berry  <karl@gnu.org>
122402         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
122403         (COPYING.DOC): remove.
122405         * config/srclist-update: new FSF address.
122407 2005-05-10  Derek Price  <derek@ximbiot.com>
122409         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
122410         possible.
122412 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122413             Bruno Haible  <bruno@clisp.org>
122415         * modules/inet_ntop: New file.
122416         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
122417         inet_ntop.
122419 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122420             Bruno Haible  <bruno@clisp.org>
122422         * m4/inet_ntop.m4: New file.
122424 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122425             Bruno Haible  <bruno@clisp.org>
122427         * lib/inet_ntop.h: New file.
122428         * lib/inet_ntop.c: New file, from glibc with modifications.
122430 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
122432         * modules/time_r (License): Change to LGPL.
122433         * modules/extensions (License): Change to LGPL.  Actually,
122434         the license is more permissive than that, but currently gnulib-tool
122435         doesn't know how to handle more-permissive licenses.
122437         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
122438         Problem reported by Dave Love.
122440 2005-05-08  Jim Meyering  <jim@meyering.net>
122442         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
122443         blank.
122445 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
122447         * modules/argmatch (Depends-on): Add stdbool.
122448         * modules/backupfile (Depends-on): Likewise.
122449         * modules/chdir-long (Depends-on): Likewise.
122450         * modules/closeout (Depends-on): Likewise.
122451         * modules/cycle-check (Depends-on): Likewise.
122452         * modules/dirname (Depends-on): Likewise.
122453         * modules/fnmatch (Depends-on): Likewise.
122454         * modules/fsusage (Depends-on): Likewise.
122455         * modules/fwriteerror (Depends-on): Likewise.
122456         * modules/getcwd (Depends-on): Likewise.
122457         * modules/getloadavg (Depends-on): Likewise.
122458         * modules/hard-locale (Depends-on): Likewise.
122459         * modules/makepath (Depends-on): Likewise.
122460         * modules/mountlist (Depends-on): Likewise.
122461         * modules/nanosleep (Depends-on): Likewise.
122462         * modules/posixtm (Depends-on): Likewise.
122463         * modules/quotearg (Depends-on): Likewise.
122464         * modules/readtokens (Depends-on): Likewise.
122465         * modules/readtokens0 (Depends-on): Likewise.
122466         * modules/readutmp (Depends-on): Likewise.
122467         * modules/save-cwd (Depends-on): Likewise.
122468         * modules/strftime (Depends-on): Likewise.
122469         * modules/userspec (Depends-on): Likewise.
122470         * modules/utimecmp (Depends-on): Likewise.
122471         * modules/xgetcwd (Depends-on): Likewise.
122472         * modules/xnanosleep (Depends-on): Likewise.
122473         * modules/xstrtod (Depends-on): Likewise.
122474         * modules/yesno (Depends-on): Likewise.
122476 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
122478         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
122479         needless checks.
122481 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122483         Merge from coreutils.  Among other things,
122484         add bulletproofing for cases where stdin, stdout, or stderr are closed.
122485         * lib/fd-safer.c: New file.
122486         * lib/fcntl-safer.h, open-safer.c: Remove.
122487         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
122488         * lib/dup-safer.c: Include unistd-safer.h first.
122489         Don't include errno.h.
122490         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
122491         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
122492         * lib/file-type.c: Rely on file-type.h change.
122493         * lib/getloadavg.c: Include unistd-safer.h.
122494         (getloadavg): Use safer open.
122495         * lib/getusershell.c: Include "stdio-safer.h".
122496         (getusershell): Use safer fopen.
122497         * lib/long-options.c (long_options): Use NULL rather than 0.
122498         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
122499         'free'.
122500         * lib/modechange.c: Likewise.
122501         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
122502         (MODE_DONE): New constant.
122503         (struct mode_change): Remove 'next' member.
122504         (make_node_op_equals): New function; like the old one of the
122505         same name, except it allocates an array.
122506         (mode_compile, mode_create_from_ref): Use it.
122507         (mode_compile): Allocate result as an array, not a linked list.
122508         Parse octal string ourself, so that we catch mistakes like "+0".
122509         (mode_adjust): Arg is an array, not a linked list.
122510         * lib/modechange.c: Include stat-macros.h, xalloc.h.
122511         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
122512         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
122513         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
122514         Remove.  This is now stat-macros.h's job.
122515         (talloc): Remove.  All callers replaced by xalloc, so that
122516         our invokers don't have to worry about reporting memory failures.
122517         (make_node_op_equals): Remove.
122518         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
122519         New constants.
122520         (struct mode_change): Moved here from modechange.h.
122521         (mode_append_entry): Remove.
122522         (mode_compile): Remove MASKED_OPS arg, since it encouraged
122523         apps to have incorrect behavior.  Use simpler algorithm for head
122524         and tail.  Don't futz with umask; that's now the job of mode_adjust.
122525         Detect more invalid usages rather than having somewhat-random behavior.
122526         Don't insert an "a=" action, as that leads to incorrect behavior.
122527         (mode_compile, mode_create_from_ref): Return NULL on error instead
122528         of an enum, since now there's only one way to have an error.  All
122529         callers changed.
122530         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
122531         at the correct time.  Simplify calculation of "+u" and its ilk.
122532         Don't mishandle "+X".
122533         (mode_free): Remove "register" and localize decls.
122534         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
122535         (struct mode_change): Move to modechange.c; callers don't
122536         need to see this stuff.
122537         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
122538         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
122539         (mode_change, mode_adjust): Reflect the new signatures noted above.
122540         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
122541         that might redefine system include files.
122542         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
122543         (my_usleep): Use NULL rather than (void *) 0.
122544         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
122545         Use siginterrupt to specify that system calls should be interrupted.
122546         (rpl_nanosleep): Move initialization of suspended closer to call of
122547         my_usleep.
122548         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
122549         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
122550         (desirable_utmp_entry): New function.
122551         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
122552         using x2nrealloc, to simplify logic.
122553         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
122554         size calculation.  Do not assume utmp file is a regular file.
122555         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
122556         (READ_UTMP_CHECK_PIDS): New constant.
122557         * lib/save-cwd.c: Include unistd-safer.h.
122558         (save_cwd): Use fd_safer.
122559         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
122560         [!_LIBC] Include "stat-macros.h" instead.
122561         * lib/unistd-safer.h (fd_safer): New decl.
122563 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122565         * modules/getloadavg (Depends-on): Add unistd-safer.
122566         * modules/getusershell (Depends-on): Add stdio-safer.
122567         * modules/lstat (Depends-on): Remove xalloc.
122568         * modules/mkstemp (Depends-on): Add stat-macros.
122569         * modules/modechange (Depends-on): Remove xstrtol.
122570         Add stat-macros, xalloc.
122571         * modules/save-cwd (Depends-on): Add unistd-safer.
122572         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
122573         * modules/unistd-safer (Files): Add lib/fd-safer.c
122574         (Makefile.am): Remove lib_SOURCES.
122576         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
122577         Remove fcntl-safer; unistd-safer supersedes it.
122579 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122581         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
122582         AC_HEADER_STAT.
122583         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
122584         (gl_PREREQ_CHOWN): Remove.
122585         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
122586         it.  Don't require AC_HEADER_STAT.
122587         (gl_PREREQ_LSTAT): Remove.
122588         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
122589         Don't require AC_HEADER_STAT.
122590         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
122591         (gl_PREREQ_RMDIR): Remove.
122592         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
122593         mention stat-macros.h or AC_HEADER_STAT, since we'll make
122594         the stat-macros module a prerequisite.
122595         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
122596         * m4/filemode.m4 (gl_FILEMODE): Likewise.
122597         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
122598         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
122599         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
122600         variable names.
122601         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
122602         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
122603         variable prefixes.
122604         * m4/fcntl-safer.m4: Remove.
122605         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
122606         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
122607         Invoke gl_PREREQ_FD_SAFER.
122608         (gl_PREREQ_FD_SAFER): New macro.
122609         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
122610         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
122611         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
122612         Remove duplicate call to AC_LIBOBJ(readutmp).
122613         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
122615         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
122616         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
122618 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122620         * MODULES.html.sh (Misc): Add byteswap.
122622 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
122624         * modules/getcwd (Depends-on): Add extensions.
122625         * modules/openat (Depends-on): Likewise.
122627 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
122629         * modules/byteswap: New file.
122631 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
122633         * m4/byteswap.m4: New file.
122635 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
122637         * lib/byteswap_.h: New file.
122639 2005-04-25  Karl Berry  <karl@gnu.org>
122641         * m4/gettext.m4: Update from GNU gettext 0.14.4.
122643 2005-04-25  Albert Chin  <china@thewrittenword.com>
122645         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
122646         Toolkit C bug.
122648 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
122650         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
122651         (func_ln_if_changed): Remove forcibly for no error message
122652         in case file does not exist.
122654 2005-04-19  Simon Josefsson  <jas@extundo.com>
122656         * gnulib-tool (Options): Make --symlink mean --symbolic.
122658 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
122660         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
122662 2005-04-16  Simon Josefsson  <jas@extundo.com>
122664         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
122666 2005-04-15  Simon Josefsson  <jas@extundo.com>
122668         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
122670 2005-04-15  Simon Josefsson  <jas@extundo.com>
122672         * gnulib-tool: Rename --symlink to --symbolic.
122674 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
122676         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
122677         symbolic links to files instead of copying/moving.  Add --aux-dir,
122678         specifying directory relative --dir where auxiliary build tools
122679         are placed.
122681 2005-04-14  Bruno Haible  <bruno@clisp.org>
122683         * modules/allocsa (License): Change to LGPL.
122684         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
122686 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
122688         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
122689         that "UTC +1 second" continues to work.  Problem reported
122690         by Dmitry V. Levin.
122691         (relunit_snumber): New rule.
122692         (relunit): Use it.
122694 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
122696         * lib/getdate.y (universal_time_zone_table): New constant.
122697         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
122698         universal_time_zone_table.
122699         (lookup_zone): Prefer universal_time_zone_table to
122700         local_time_zone_table, so that "GMT" time stamps are allowed in
122701         London during the summer.  Problem reported by Ian Abbott.
122703 2005-04-12  Jim Meyering  <jim@meyering.net>
122705         * lib/human.c (humblock): Set *options even when returning due to
122706         xstrtoumax conversion failure.  Thanks to a used-uninitialized
122707         warning from gcc-4.
122709 2005-04-09  Jim Meyering  <jim@meyering.net>
122711         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
122712         -Wuninitialized: initialize tm0.tm_year.
122714 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
122716         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
122717         count, since there's no maximum.  All uses changed.
122718         Add member dsts_seen.
122719         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
122720         not being INT_MAX.
122721         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
122722         Use pc_rels_seen to decide whether a date is absolute.
122724         * lib/getdate.y (number): Don't overwrite year.
122725         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
122726         check.
122728 2005-04-02  Simon Josefsson  <jas@extundo.com>
122730         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
122731         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
122733 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
122735         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
122736         where no absolute path name can be longer than PATH_MAX.
122738 2005-03-27  Jim Meyering  <jim@meyering.net>
122740         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
122742 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
122744         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
122745         "one's complement" -> "ones' complement" in comment, as per Knuth.
122746         "value of type" -> "type or expression" in comment.
122747         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
122749 2005-03-26  Jim Meyering  <jim@meyering.net>
122751         Comment nits.
122752         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
122753         Correct typos: s/or/of/.
122755 2005-03-26  Jim Meyering  <jim@meyering.net>
122757         * modules/check-include-files: Move to ../ and rename to...
122758         * check-module: ...this.
122760 2005-03-25  Jim Meyering  <jim@meyering.net>
122762         * modules/xvasprintf (Files): Add xalloc.h.
122764 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
122766         * modules/gettext (Files): config/config.rpath ->
122767         build-aux/config.rpath
122768         * modules/iconv (Files): Likewise.
122769         Problem reported by Oskar Liljeblad.
122771 2005-03-23  Jim Meyering  <jim@meyering.net>
122773         * modules/check-include-files: New script to check for
122774         missing dependencies, multiple includes, etc.
122776         * modules/c-strtold (Depends-on): Add xalloc.
122777         * modules/c-strtod (Depends-on): Add xalloc.
122778         * modules/hash (Depends-on): Add xalloc.
122779         (Files): Remove lib/xalloc.h.
122781         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
122782         * modules/userspec (Files): Add lib/inttostr.h.
122784 2005-03-23  Jim Meyering  <jim@meyering.net>
122786         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
122788 2005-03-22  Jim Meyering  <jim@meyering.net>
122790         * modules/stat-macros: New module.
122791         * modules/canonicalize, modules/euidaccess, modules/file-type,
122792         * modules/filemode, modules/lchown, modules/makepath,
122793         * modules/rmdir, modules/stat: Depend on new stat-macros module
122794         rather than listing lib/stat-macros.h manually.
122795         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
122797 2005-03-22  Jim Meyering  <jim@meyering.net>
122799         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
122801 2005-03-22  Bruno Haible  <bruno@clisp.org>
122803         * config/srclist.txt: Replace target directory 'config' with
122804         'build-aux'.
122805         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
122806         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
122807         ../build-aux/.
122809 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
122811         * modules/chdir-long (Depends-on): Add mempcpy.
122813         * modules/acl, modules/backupfile, modules/c-strtod,
122814         modules/c-strtold, modules/canon-host, modules/canonicalize,
122815         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
122816         modules/exclude, modules/exitfail, modules/file-type,
122817         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
122818         modules/getdate, modules/getline, modules/getpagesize,
122819         modules/getpass, modules/getugroups, modules/group-member,
122820         modules/hard-locale, modules/hash, modules/human, modules/idcache,
122821         modules/inttostr, modules/long-options, modules/makepath,
122822         modules/md5, modules/memcasecmp, modules/memcoll,
122823         modules/modechange, modules/mountlist, modules/path-concat,
122824         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
122825         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
122826         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
122827         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
122828         modules/strftime, modules/strndup, modules/strverscmp,
122829         modules/timespec, modules/unlocked-io, modules/userspec,
122830         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
122831         modules/yesno:
122832         Remove lib_SOURCES line from Makefile.am section, as this is now
122833         done automatically by the corresponding Autoconf macro.
122835 2005-03-21  Jim Meyering  <jim@meyering.net>
122837         Changes imported from coreutils.
122839         * lib/cycle-check.c: Don't include xalloc.h.
122841         * lib/path-concat.c: Don't include assert.h.
122842         (path_concat): Remove assertion that would have triggered
122843         for ABASE starting with more than one slash.
122844         Reported by Andreas Schwab.
122846         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
122847         properly when ABASE is an absolute file name.
122848         Correct the description of this function.
122849         Include <assert.h>.
122850         Add an assertion and a test driver.
122851         This fixes a bug introduced on 2004-07-02.
122852         Andreas Schwab reported the resulting failure of cp --parents:
122853         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
122855 2005-03-21  Jim Meyering  <jim@meyering.net>
122857         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
122858         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
122860 2005-03-21  Jim Meyering  <jim@meyering.net>
122861         and  Paul Eggert  <eggert@cs.ucla.edu>
122863         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
122864         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
122865         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
122866         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
122867         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
122868         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
122869         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
122870         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
122871         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
122872         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
122873         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
122874         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
122875         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
122876         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
122877         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
122878         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
122879         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
122880         for these modules.
122882 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
122884         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
122885         (which shouldn't happen), generate nothing instead of returning 0
122886         immediately, so that nstrftime (NULL, ...) doesn't return 0.
122888 2005-03-16  Bruno Haible  <bruno@clisp.org>
122890         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
122891         HAVE_LONGLONG_64BIT.
122893 2005-03-16  Bruno Haible  <bruno@clisp.org>
122895         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
122896         HAVE_LONGLONG_64BIT.
122898 2005-03-16  Bruno Haible  <bruno@clisp.org>
122900         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
122901         HAVE_LONGLONG_64BIT.
122903 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
122905         * lib/strftime.c (my_strftime): Prepend space to format so that we can
122906         reliably distinguish strftime failure from empty output on POSIX
122907         hosts.
122909 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
122911         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
122912         (iconv_string): Don't guess a size-zero buffer, as that might cause
122913         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
122914         result would be 'too large', where 'too large' is (heuristically)
122915         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
122916         overflow concerns.  This will prevent some unwanted malloc failures
122917         when the inputs are very large.
122919 2005-03-15  Karl Berry  <karl@gnu.org>
122921         * config/srclist.txt (config.rpath): from gettext.
122922         * config/config.rpath: update.
122924 2005-03-15  Bruno Haible  <bruno@clisp.org>
122926         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
122927         to 'negate'.
122929         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
122930         variable.
122932         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
122933         results.
122935 2005-03-14  Simon Josefsson  <jas@extundo.com>
122937         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
122938         <fx@gnu.org>.
122940 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
122942         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
122943         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
122944         intprops.h.
122945         * lib/strtol.c: Likewise.
122947 2005-03-14  Jim Meyering  <jim@meyering.net>
122949         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
122950         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
122951         to be nonzero so that we (and caller) can detect the difference
122952         between a valid zero-length expansion and an error return, even
122953         when the underlying strftime fails before writing anything into
122954         that location.
122956 2005-03-14  Bruno Haible  <bruno@clisp.org>
122958         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
122959         Update from GNU gettext 0.14.3.
122961 2005-03-10  Jim Meyering  <jim@meyering.net>
122963         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
122965 2005-03-10  Jim Meyering  <jim@meyering.net>
122967         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
122968         so that this module works on systems without fchdir.
122970 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
122972         Factor int-properties macros into a single file, except for
122973         glibc-related files.
122974         * lib/intprops.h: New file.
122975         * lib/getloadavg.c: Include it instead of limits.h.
122976         (INT_STRLEN_BOUND): Remove.
122977         * lib/human.c: Include intprops.h.
122978         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
122979         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
122980         302/1000.
122981         * lib/inttostr.h: Include intprops.h instead of limits.h.
122982         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
122983         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
122984         for consistency with intprops.h.
122985         (time_t_is_integer, twos_complement_arithmetic): Use them.
122986         * lib/sig2str.h: Include <signal.h>, intprops.h.
122987         (INT_STRLEN_BOUND): Remove.
122988         * lib/strftime.c (TYPE_SIGNED): Remove.
122989         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
122990         * lib/strtol.c: Adjust comments to match intprops.h.
122991         * lib/userspec.c: Include intprops.h.
122992         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
122993         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
122994         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
122995         instead of rolling our own expressions.
122996         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
122998         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
122999         instead of int.
123000         (my_strftime): Do not mishandle years close to INT_MAX, by doing
123001         the right thing even if adding 1900 would overflow.  Similarly
123002         for tm_mon + 1 and tm_yday + 1.
123003         Make %Y always equivalent to %C%y, and similarly for %G and %g.
123004         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
123005         (DO_SIGNED_NUMBER): New macro.
123006         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
123008 2005-03-07  Bruno Haible  <bruno@clisp.org>
123010         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
123012 2005-03-07  Bruno Haible  <bruno@clisp.org>
123014         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
123016 2005-03-04  Derek R. Price  <derek@ximbiot.com>
123018         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
123019         (func_import): Only replace files via --import when they have actually
123020         changed.
123022 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123024         * m4/mmap-anon.m4: New file.
123025         * m4/pagealign_alloc.m4: New file.
123027 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123028             Bruno Haible  <bruno@clisp.org>
123030         * modules/pagealign_alloc: New file.
123031         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
123033 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123034             Bruno Haible  <bruno@clisp.org>
123036         * lib/pagealign_alloc.h: New file.
123037         * lib/pagealign_alloc.c: New file.
123039 2005-03-03  Bruno Haible  <bruno@clisp.org>
123041         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
123042         Use an all-permissive copyright notice, recommended by RMS.
123044 2005-03-02  Bruno Haible  <bruno@clisp.org>
123046         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
123047         of AIX, the replacement has to be done only after <string.h> is
123048         included, therefore not in config.h. stpncpy.h does the replacement,
123049         and stpncpy.c uses it.
123051 2005-03-02  Bruno Haible  <bruno@clisp.org>
123053         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
123054         stpncpy.c uses it.
123056 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123058         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
123059         The workaround isn't strictly needed for POSIX conformance, and
123060         it's too much of a pain to configure and maintain.  We'll ask
123061         people to fix their kernels instead.
123062         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
123063         (NANOSLEEP_BUG_WORKAROUND): Remove.
123064         (xnanosleep): Remove the workaround.
123066 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123068         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
123069         Reported by Derek Price.
123070         (Include): Add "timespec.h".
123072         * modules/xnanosleep (Depends-on): Remove gethrxtime.
123074 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123076         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
123077         to detect nanosleep bug.
123079 2005-03-01  Bruno Haible  <bruno@clisp.org>
123081         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
123083 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
123085         * modules/gethrxtime: New file.
123086         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
123087         (Depends-on): Add gethrxtime.
123088         (configure.ac): Add gl_XNANOSLEEP.
123089         (Makefile.am): Remove lib_SOURCES line.
123091 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
123093         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
123094         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
123096 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
123098         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
123099         * lib/timespec.h (gettime): Return void, since it always
123100         succeeds now.  All uses changed.
123101         * lib/gettime.c (gettime): Likewise.
123102         [HAVE_NANOTIME]: Prefer nanotime.
123103         Assume gettimeofday succeeds, as POSIX requires.
123104         Assime time () succeeds, since other code already does.
123105         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
123106         (timespec_subtract): Remove.
123107         (NANOSLEEP_BUG_WORKAROUND): New constant.
123108         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
123109         things considerably.  Use it only on GNU/Linux hosts, since the
123110         workaround shouldn't be needed elsewhere.
123112 2005-02-24  Bruno Haible  <bruno@clisp.org>
123114         * modules/gettext (Files): Add m4/glibc2.m4.
123116 2005-02-24  Bruno Haible  <bruno@clisp.org>
123118         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
123119         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
123120         * m4/progtest.m4:
123121         Update from GNU gettext 0.14.2.
123122         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
123124 2005-02-24  Bruno Haible  <bruno@clisp.org>
123126         * lib/localcharset.c: Update from GNU gettext 0.14.2.
123127         * lib/config.charset: Update from GNU gettext 0.14.2.
123129 2005-02-24  Bruno Haible  <bruno@clisp.org>
123131         * lib/gettext.h: Update from GNU gettext 0.14.2.
123133 2005-02-23  Simon Josefsson  <jas@extundo.com>
123135         * m4/iconvme.m4: New file.
123137 2005-02-23  Jim Meyering  <jim@meyering.net>
123139         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
123140         change.
123141         Thanks to Bruno Haible for catching it.
123143 2005-02-22  Simon Josefsson  <jas@extundo.com>
123145         * modules/iconvme: New file.
123147         * MODULES.html.sh: Add iconvme.
123149 2005-02-22  Simon Josefsson  <jas@extundo.com>
123151         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
123153 2005-02-22  Simon Josefsson  <jas@extundo.com>
123155         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
123157 2005-02-22  Jim Meyering  <jim@meyering.net>
123159         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
123160         s/ifndef/ifdef/.
123162 2005-02-20  Neil Conway  <neilc@samurai.com>
123164         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
123165         returned by OSX/Darwin if the specified buffer is not large
123166         enough for the hostname.
123168 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123170         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
123171         pass it to _help, otherwise the latter coredumps trying to
123172         dereference state.root_argp.
123174 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123176         * modules/chdir-long (Depends-on): Add memrchr.
123177         * modules/memrchr (Files): Add lib/memrchr.h.
123178         (Include): "memrchr.h".
123180 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123182         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
123184 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123186         * lib/memrchr.h: New file.
123187         * lib/chdir-long.c: Include it.
123188         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
123189         Don't bother including stddef.h.
123191 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
123193         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
123194         inclusion.
123195         Include <sys/types.h>, for dev_t.
123196         (ME_DUMMY, ME_REMOTE): Move from here....
123197         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
123198         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
123199         Dmitry V. Levin.
123200         Include mountlist.h first, to test the interface.
123202 2005-01-29  Bruno Haible  <bruno@clisp.org>
123204         * lib/progname.c (program_name): Initialize.
123205         Needed when linking statically on MacOS X.
123207 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
123209         Sync from coreutils.
123210         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
123211         (Depends-on): Add c-strtod.
123212         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
123214 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
123216         Sync from coreutils.
123217         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
123219         Remove files that are specific to coreutils.
123220         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
123222 2005-01-28  Bruno Haible  <bruno@clisp.org>
123224         * modules/javacomp: New file.
123225         * MODULES.html.sh (Java): Add javacomp.
123227 2005-01-28  Bruno Haible  <bruno@clisp.org>
123229         * m4/javacomp.m4: New file, from GNU gettext.
123231 2005-01-28  Bruno Haible  <bruno@clisp.org>
123233         * lib/javacomp.sh.in: New file, from GNU gettext.
123234         * lib/javacomp.h: New file, from GNU gettext.
123235         * lib/javacomp.c: New file, from GNU gettext.
123237 2005-01-26  Simon Josefsson  <jas@extundo.com>
123239         * lib/gai_strerror.c: Use GPL in header.
123241 2005-01-26  Bruno Haible  <bruno@clisp.org>
123243         * modules/javaexec: New file.
123244         * MODULES.html.sh (Java): Add javaexec.
123246 2005-01-26  Bruno Haible  <bruno@clisp.org>
123248         * m4/javaexec.m4: New file, from GNU gettext.
123250 2005-01-26  Bruno Haible  <bruno@clisp.org>
123252         * lib/javaexec.sh.in: New file, from GNU gettext.
123253         * lib/javaexec.h: New file, from GNU gettext.
123254         * lib/javaexec.c: New file, from GNU gettext.
123256 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123258         * modules/lchown (Depends-on): Remove lchown.h
123260 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123262         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
123263         must be defined if the header file was not found, in order
123264         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
123266 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123268         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
123269         initializers for struct pentry_state.
123270         (__argp_error): Check return value of __asprintf
123271         (__argp_failure): Translate error message
123273         * lib/argp-parse.c: Removed braces around the expansion of N_()
123275 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
123277         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
123278         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
123279         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
123280         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
123281         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
123282         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
123283         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
123284         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
123285         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
123286         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
123287         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
123288         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
123289         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
123290         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
123291         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
123292         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
123293         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
123294         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
123295         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
123296         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
123297         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
123298         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
123299         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
123300         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
123301         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
123302         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
123303         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
123304         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
123305         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
123306         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
123307         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
123308         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
123309         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
123310         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
123311         xstrtol.m4, xstrtoumax.m4, yesno.m4:
123312         Use an all-permissive copyright notice, recommended by RMS.
123314 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
123316         * modules/chdir-long (Depends-on): Remove mempcpy.
123318 2005-01-21  Jim Meyering  <jim@meyering.net>
123320         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
123321         same value as for Solaris 9.
123323         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
123324         component length.  This included changing the parameter to be
123325         of type `char *' rather than `char const *'.
123326         * lib/chdir-long.h (chdir_long): Update prototype.
123328         * lib/openat.c (fdopendir, fstatat): New functions.
123329         * lib/openat.h: Include headers required for use of DIR and struct
123330         stat.
123331         [AT_SYMLINK_NOFOLLOW]: Define.
123332         (fdopendir, fstatat): Add prototypes.
123334 2005-01-21  Bruno Haible  <bruno@clisp.org>
123336         * modules/classpath: New file.
123337         * MODULES.html.sh (Java): Add classpath.
123339 2005-01-21  Bruno Haible  <bruno@clisp.org>
123341         * lib/classpath.h: New file, from GNU gettext.
123342         * lib/classpath.c: New file, from GNU gettext.
123344 2005-01-20  Simon Josefsson  <jas@extundo.com>
123346         * modules/version-etc-fsf: New file.
123348 2005-01-20  Simon Josefsson  <jas@extundo.com>
123350         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
123351         * lib/version-etc.c: Remove version_etc_copyright.
123352         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
123353         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
123355 2005-01-20  Simon Josefsson  <jas@extundo.com>
123357         * lib/base64.h (isbase64): Add.
123359         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
123360         using a unsigned prototype, don't inline.
123361         (base64_decode): Use it.
123363 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
123365         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
123366         it.
123368 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
123370         * lib/save-cwd.c (save_cwd): Remove code to support the case
123371         where fchdir is missing or flaky.
123373 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
123375         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
123377 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
123379         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
123380         AC_LIBSOURCES now does this.
123381         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
123382         with new ullong_max module.
123384 2005-01-19  Bruno Haible  <bruno@clisp.org>
123386         * modules/sh-quote: New file.
123387         * MODULES.html.sh (Executing programs): Add sh-quote.
123389 2005-01-19  Bruno Haible  <bruno@clisp.org>
123391         * lib/sh-quote.h: New file, from GNU gettext.
123392         * lib/sh-quote.c: New file, from GNU gettext.
123394 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
123396         Merge from coreutils.
123397         * m4/ullong_max.m4: New file.
123398         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
123399         (gl_MACROS): Assume localeconv exists.
123401 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
123403         Merge changes from coreutils, as described below in several
123404         changelogs dated today.
123406         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
123407         (O_DIRECTORY): Remove; not needed here, since "." must be
123408         a directory.  All uses removed.
123409         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
123410         universal on Suns, and we also need to test for IRIX.
123411         Revamp code to use 'if' rather than '#if'.
123412         Avoid unnecessary comparison of cwd->desc to 0.
123414         * lib/utimens.c (futimens): Robustify the previous patch, by checking
123415         for known valid error numbers rather than observed invalid ones.
123417 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
123419         * modules/ullong_max: New file.
123421         * modules/chdir-long, modules/openat: New files.
123422         * modules/save-cwd (Depends-on): Depend on chdir-long.
123423         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
123425 2005-01-18  Jim Meyering  <jim@meyering.net>
123427         Merge from coreutils.
123428         * m4/chdir-long.m4, m4/openat.m4: New files.
123429         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
123430         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
123431         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
123432         is sane and DOES follow symlinks.  Besides, testing 20 different
123433         systems found no broken chown implementations.
123434         Prompted by a change in rsync's copy of this macro.
123435         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
123437         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
123439         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
123440         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
123441         NULL-means-set-to-current-time semantics.
123442         Remove temporary file immediately, rather than waiting
123443         for configure's at-exit trap code to do it.
123445 2005-01-18  Jim Meyering  <jim@meyering.net>
123447         * lib/version-etc.c (version_etc_copyright): Update copyright date.
123449         * lib/utimens.c (futimens): Account for the fact that futimes
123450         can also fail with errno == ENOSYS or errno == ENOENT.
123451         Patch from Dmitry V. Levin.
123453         Change the name of the robust chdir function from chdir to chdir_long.
123454         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
123455         (restore_cwd): Use chdir_long, not chdir.
123456         * lib/chdir-long.c: Renamed from chdir.c.
123457         * lib/chdir-long.h: Renamed from chdir.h.
123458         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
123459         Hurd.
123461 2005-01-18  Bruno Haible  <bruno@clisp.org>
123463         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
123464         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
123465         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
123466         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
123467         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
123468         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
123469         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
123470         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
123471         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
123472         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
123473         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
123474         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
123475         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
123476         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
123477         Use an all-permissive copyright notice, recommended by RMS.
123479 2005-01-18  Bob Proulx  <bob@proulx.com>
123481         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
123482         simplify offsetof() macro construct to avoid compile failure with
123483         native HP-UX 11.0 ANSI C compiler.
123485 2005-01-17  Bruno Haible  <bruno@clisp.org>
123487         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
123488         redundant because stpncpy.m4 takes care of it.
123490 2005-01-17  Bruno Haible  <bruno@clisp.org>
123492         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
123494 2005-01-17  Bruno Haible  <bruno@clisp.org>
123496         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
123497         used.
123499 2005-01-17  Bruno Haible  <bruno@clisp.org>
123501         * lib/fwriteerror.h (fwriteerror): Change specification to include
123502         fclose.
123503         * lib/fwriteerror.c: Include <stdbool.h>.
123504         (fwriteerror): At the end, close the file stream. Record whether
123505         stdout was already closed.
123507 2005-01-17  Bruno Haible  <bruno@clisp.org>
123509         * lib/execute.c (environ): Declare if needed.
123510         * lib/pipe.c (environ): Likewise.
123511         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
123513 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123515         * modules/argp: Depend on vsnprintf
123517 2005-01-10  Jim Meyering  <jim@meyering.net>
123519         * modules/closeout (Depends-on): Add atexit.
123521 2005-01-06  Bruno Haible  <bruno@clisp.org>
123523         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
123525 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
123527         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
123528         definitions to be after all include files, to avoid collisions.
123529         Problem reported by Bob Proulx.
123531 2005-01-04  Jim Meyering  <jim@meyering.net>
123533         Changes imported from coreutils.
123534         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
123535         as the mkstemp template, use a temporary directory and an
123536         8.3-friendly template to avoid trouble on systems like DJGPP.
123537         Reported by Juan M. Guerrero via Stepan Kasal.
123538         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
123539         close. Remove the temporary directory right away, rather than waiting
123540         for configure's at-exit trap code to do it.
123541         Suggestion from Stepan Kasal.
123543 2005-01-01  Simon Josefsson  <jas@extundo.com>
123545         * gnulib-tool: Print #include directives when --import'ing.
123547 2004-12-28  Simon Josefsson  <jas@extundo.com>
123549         * tests/test-base64.c: Include required header files.  Remove
123550         unused variables.
123552 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
123554         * modules/error (Depends-on): Remove gettext.
123556 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
123558         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
123559         not needed.  This removes a dependency on the gettext module.
123560         [defined _LIBC]: Do not include <libintl.h>; not needed.
123562 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
123564         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
123565         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
123567 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
123569         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
123570         HAVE_DECL_STRTOLD.
123572 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
123574         * modules/getdate (Depends-on): Remove alloca-opt.
123576 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
123578         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
123580 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
123582         * lib/argp-parse.c: Include <stddef.h>.
123583         (alignof, alignto): New macros.
123584         (parser_init): Don't assume that void * is aligned sufficiently
123585         for struct option.
123587         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
123588         need to extend the stack.
123589         (YYINITDEPTH): New macro, so that the initial stack isn't overly
123590         large.
123592 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123594         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
123596 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
123598         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
123599         (2004-10-24) change.  Apparently this was a false alarm.
123601         * modules/getdate: Depend on alloca-opt, not alloca.
123603 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
123605         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
123606         Remove now-obsolete comment about AIX.
123607         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
123608         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
123609         (YYMAXDEPTH): New macro.
123611 2004-12-18  Simon Josefsson  <jas@extundo.com>
123613         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
123615 2004-12-18  Bruno Haible  <bruno@clisp.org>
123617         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
123619 2004-12-18  Bruno Haible  <bruno@clisp.org>
123621         * lib/fatal-signal.c (fatal_signals): Make non-const.
123622         (init_fatal_signals): New function.
123623         (uninstall_handlers, install_handlers): Ignore signals that were set to
123624         SIG_IGN.
123625         (at_fatal_signal): Call init_fatal_signals.
123626         (init_fatal_signal_set): Likewise. Ignore signals that were set to
123627         SIG_IGN.
123628         Reported by Paul Eggert.
123630 2004-12-18  Bruno Haible  <bruno@clisp.org>
123632         * doc/alloca.texi: New file.
123633         * doc/alloca-opt.texi: New file.
123635 2004-12-17  Jim Meyering  <jim@meyering.net>
123637         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
123638         Otherwise, install-sh could exit with improper exit status when
123639         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
123641 2004-12-16  Simon Josefsson  <jas@extundo.com>
123643         * tests/test-base64.c: Add license.
123645 2004-12-15  Stepan Kasal  <address@hidden>
123647         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
123649 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
123651         * modules/getcwd (Files): Add m4/d-ino.m4.
123652         Suggested by Mark D. Baushke.
123654 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
123656         * lib/getdate.y (textint): New member "negative".
123657         (time_zone_hhmm): New function.
123658         Expect 14 shift-reduce conflicts, not 13.
123659         (o_colon_minutes): New rule.
123660         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
123661         (yylex): Set the "negative" member of signed numbers.
123663 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
123665         * doc/getdate.texi (Time of day items, Time zone items):
123666         Describe new formats +00:00, UTC+00:00.
123668 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
123670         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
123671         spurious "-l"s.  Problem reported by Stepan Kasal.
123673 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
123675         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
123676         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
123678 2004-12-04  Simon Josefsson  <jas@extundo.com>
123680         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
123681         Vandoorselaere <yoann@prelude-ids.org>.
123683 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
123685         Changes imported from coreutils.
123686         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
123687         exist.
123688         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
123690 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
123692         Changes imported from coreutils.
123693         * lib/hard-locale.c: Assume <locale.h> exists.
123694         Include "strdup.h".
123695         (GLIBC_VERSION): New macro.
123696         (hard_locale): Assume setlocale exists.
123697         Rewrite to avoid #ifdef.
123698         Use strdup rather than malloc + strcpy.
123699         * lib/human.c: Assume <locale.h> exists.
123700         (human_readable): Assume localeconv exists.
123702 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
123704         * modules/hard-locale (Depends-on): Add strdup.
123706 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
123708         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
123709         convert T2, not T.  (Imported from libc.)
123711 2004-11-30  Simon Josefsson  <jas@extundo.com>
123713         * modules/restrict (License): Change to LGPL.
123715 2004-11-30  Simon Josefsson  <jas@extundo.com>
123717         * m4/restrict.m4: Add copyright and copying conditions.
123719 2004-11-30  Simon Josefsson  <jas@extundo.com>
123721         * m4/base64.m4: New file.
123723 2004-11-30  Simon Josefsson  <jas@extundo.com>
123725         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
123726         base64.
123728         * tests/test-base64.c: New file.
123730         * modules/base64: New file.
123732 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
123734         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
123735         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
123737         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
123739 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
123741         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
123742         (__getcwd.c): Don't restore errno; glibc doesn't.
123743         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
123744         first, falling back to our code only if its results look suspicious.
123745         Ensure that the resulting buffer is only as large as necessary.
123747         * lib/readutmp.c: Include readutmp.h first.
123748         Include <errno.h>, since readutmp.h no longer does that.
123749         * lib/readutmp.h: Don't include <errno.h>,
123750         <sys/param.h>, <time.h>; not needed to establish interface.
123751         (errno): Remove decl.
123752         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
123753         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
123754         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
123756 2004-11-28  Simon Josefsson  <jas@extundo.com>
123758         * lib/base64.h, base64.c: New file.
123760 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
123762         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
123764 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
123766         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
123767         (Depends-on): Remove pathmax, same.  Add mempcpy.
123768         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
123769         (Makefile.am): Append getcwd.h to lib_SOURCES.
123770         (Include): Add getcwd.h.
123771         (Maintainer): Change from Jim Meyering to "all, glibc",
123772         since getdate now uses intended-for-glibc code.
123773         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
123774         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
123776 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
123778         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
123779         HP's ANSI C compiler.
123780         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
123781         Declaring int functions causes warnings on some modern systems and
123782         shouldn't be needed to compile on ancient ones.
123783         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
123784         defined.
123786         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
123787         with the following changes.
123788         (__set_errno): Parenthesize properly.
123789         Include <stdbool.h>.
123790         (MIN, MAX, MATCHING_INO): New macros.
123791         (__getcwd): Define with prototype, not K&R form.
123792         Use heuristics to allocate default buffer on stack if possible.
123793         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
123794         behavior, and to avoid the PATH_MAX limit when computing
123795         ../../../../...
123796         Use MATCHING_INO to compare inode number to file.
123797         Check for arithmetic overflow in size calculations.
123798         Fix bug in reallocation of dot array that caused getcwd to fail
123799         on directories nested deeper than 75.
123800         Be more careful about saving errno on error.
123801         Do not use realloc; use only free+malloc, as this is a bit
123802         more flexible and avoids a needless copy operation.
123803         Do not inspect st_dev and st_ino for symbolic links; POSIX
123804         doesn't specify the latter.
123805         Check for closedir errors.
123806         Avoid needless casts.
123807         Use "#ifdef weak_alias" around weak_alias, to be like other
123808         glibc code.
123809         The following changes to getcwd.c have effect only when used in
123810         gnulib; they have no effect inside glibc proper.
123811         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
123812         as alloca isn't used.
123813         (alloca, __alloca): Likewise.
123814         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
123815         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
123816         unconditionally, as gnulib assumes C89 or better.
123817         Do not include <sys/param.h>.
123818         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
123819         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
123820         better.
123821         (NULL) [!defined NULL]: Remove; we assume C89 or better.
123822         Include <dirent.h> in a way that is compatible with modern Autoconf.
123823         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
123824         New macros, if not already defined.
123825         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
123826         Use "_LIBC", not "defined _LIBC", for consistency.
123827         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
123828         a mempcpy module.
123829         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
123830         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
123831         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
123832         credit only to Jim Meyering and adjust the copyright dates.
123833         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
123834         <stdlib.h>, <unistd.h>, "pathmax.h".
123835         Instead, include "xgetcwd.h" (first) and "getcwd.h".
123836         (INITIAL_BUFFER_SIZE): Remove.
123837         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
123839 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
123841         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
123842         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
123843         Use the _ONCE methods, for efficiency.
123844         Check for fcntl.h.  In test program, include <errno.h>
123845         and <fcntl.h> if available.  Remove old K&R cruft from
123846         test program.  Check for common errors in GNU/Linux,
123847         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
123848         don't do AC_LIBOBJ, as that's getcwd.m4's job.
123849         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
123850         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
123851         name accordingly.
123852         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
123853         accommodate new getcwd.c.
123854         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
123855         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
123856         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
123857         that's all we need now.
123859 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123861         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
123862         argp-parse.c depends on getopt internals, that means we should
123863         always use our getopt, to be on the safe side.
123864         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
123865         order not to spoil the result of an eventual previous invocation
123866         of gl_GETOPT_SUBSTITUTE.
123868 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123870         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
123871         redefinition warnings. To avoid them, include the defines
123872         in `#if !defined __need_getopt ... #endif'. The only place
123873         where __getopt_argv_const is used is in definitions
123874         of getopt_long and getopt_long_only below, which are as well
123875         protected by `#ifndef __need_getopt'.
123876         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
123877         __need_getopt after including <stdio.h> and <unistd.h> These
123878         headers might have defined it.
123880 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
123882         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
123884 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
123886         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
123887         (futimens): New function, which uses futimes if available.
123888         (futimens, utimens): Support timespec==NULL, with same semantics
123889         as utime and utimens.
123890         * lib/utimens.h (futimens): New decl.
123892 2004-11-23  Jim Meyering  <jim@meyering.net>
123894         * lib/getopt_.h: Remove trailing blanks.
123896 2004-11-23  Jim Meyering  <jim@meyering.net>
123898         * lib/__fpending.c: Add comment.
123900 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
123902         * modules/canonicalize (Depends-on): Add xreadlink.
123903         Problem reported by James Youngman.
123905 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
123907         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
123908         New macros.
123909         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
123910         optopt): Use them instead of invoking ## directly; otherwise, the
123911         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
123913 2004-11-19  Bruno Haible  <bruno@clisp.org>
123915         * lib/strtok_r.c: Move comments from here...
123916         * lib/strtok_r.h: ... to here.
123918 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
123920         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
123921         implementations that mishandle size_t overflow.
123923 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
123925         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
123926         might fail.  Problem reported by Yoann Vandoorselaere.
123927         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
123928         implementations that mishandle size_t overflow.
123930 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123932         * modules/canon-host (Depends-on): Add strdup.
123934 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123936         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
123938 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123940         * lib/canon-host.c: Include "strdup.h".
123941         (canon_host): Use getaddrinfo if available, so that IPv6 works.
123942         Use strdup instead of malloc/strcpy to duplicate strings.
123944         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
123945         (human_space_before_unit): New constant.
123946         * lib/human.c (human_readable): Support it.
123948         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
123949         (xgetcwd): Set errno correctly when failing.
123950         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
123951         the failure is actually due to a PATH_MAX problem.
123953         Further getopt changes to make it more likely that glibc will
123954         buy the changes back.
123955         * lib/getopt.c (POSIXLY_CORRECT): New constant.
123956         (getopt): Use it, so to preserve glibc semantic
123957         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
123958         when compiling for libc.
123959         * lib/getopt_.h (__getopt_argv_const): Bring it back.
123960         (getopt_long, getopt_long_only): Use it.
123962         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
123963         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
123964         (getopt): Argv is now char * const *, as per standard.
123965         (_getopt_internal_r, _getopt_internal): Argv is now char **,
123966         not char *__getopt_argv_const *.
123967         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
123968         _getopt_long_only_r): Likewise.
123969         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
123970         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
123971         _getopt_long_r, _getopt_long_only_r): Likewise.
123972         * lib/getopt_.h (__getopt_argv_const): Remove.
123973         (getopt): Argv is now char * const *, as per standard.
123975         * lib/getdate.y (tORDINAL): New token.
123976         (day, relunit): Allow it for relative times.
123977         (relative_time_table): Use tORDINAL for ordinals.
123979 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123981         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
123982         Document that "second" isn't allowed as an ordinal number.
123984 2004-11-16  Jim Meyering  <jim@meyering.net>
123986         * modules/closeout (Depends-on): Add fpending.
123988 2004-11-15  Jim Meyering  <jim@meyering.net>
123990         * lib/closeout.c: Include "__fpending.h" once again.
123991         Include <stdbool.h>.
123992         (close_stdout): Don't fail just because stdout was closed initially,
123993         since some programs don't write to stdout in the normal course of
123994         operation (other than --version and --help), and we don't want this
123995         function to make e.g. `touch file >&-' fail.
123996         But do fail if it was closed and someone has tried to write to it.
123997         E.g., `printf foo >&-' must fail.
123999 2004-11-13  Jim Meyering  <jim@meyering.net>
124001         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
124003 2004-11-12  Simon Josefsson  <jas@extundo.com>
124005         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
124006         small doc fix is still pending.
124008 2004-11-11  Simon Josefsson  <jas@extundo.com>
124010         * modules/strtok_r: New file.
124012         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124013         strtok_r.
124015 2004-11-11  Simon Josefsson  <jas@extundo.com>
124017         * m4/strtok_r.m4: New file.
124019         * m4/getopt.m4: Replace opterr.
124021 2004-11-11  Simon Josefsson  <jas@extundo.com>
124023         * lib/strtok_r.h, strtok_r.c: New file.
124025 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
124027         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
124028         of replacing opterr, getopt, etc.  This should handle the
124029         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
124031 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
124033         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
124034         we can stop lying to compilers about the constness of argv when we
124035         are compiled outside glibc.
124036         (getopt, getopt_long, getopt_long_only): Use it.
124037         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
124038         _getopt_internal, getopt): Likewise.
124039         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
124040         _getopt_long_only_r): Likewise.
124041         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
124042         _getopt_long_r, _getopt_long_only_r): Likewise.
124044         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
124045         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
124046         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
124047         the other external symbols.
124048         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
124049         declaration, since the above renaming now works around collisions.
124051 2004-11-11  Jim Meyering  <jim@meyering.net>
124053         * lib/linebreak.c: Remove trailing blanks.
124054         * lib/alloca_.h: Likewise.
124055         * lib/acosl.c: Likewise.
124056         * lib/euidaccess.c: Likewise.
124057         * lib/allocsa.h: Likewise.
124059 2004-11-10  Simon Josefsson  <jas@extundo.com>
124061         * m4/getaddrinfo.m4: New file.
124063 2004-11-10  Simon Josefsson  <jas@extundo.com>
124065         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
124067 2004-11-10  Simon Josefsson  <jas@extundo.com>
124069         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124070         getaddrinfo.
124072         * modules/getaddrinfo: New file.
124074 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
124076         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
124078 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
124080         * lib/mktime.c (SHR): New macro, which is a portable
124081         substitute for >> that should work even on Crays.
124082         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
124083         Problem reported by Mark D. Baushke in
124084         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
124085         * lib/getdate.y (SHR): Likewise.
124086         (tm_diff): Use it.
124087         * lib/strftime.c (SHR): Likewise.
124088         (tm_diff): Use it.
124089         * lib/quotearg.c (struct quoting_options): Use unsigned int for
124090         quote_these_too, so that right shifts are well defined.  All uses
124091         changed.
124093 2004-11-10  Jim Meyering  <jim@meyering.net>
124095         Ensure that no close failure goes unreported.
124096         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
124097         return early when it seems there's nothing to flush.
124098         Don't include __fpending.h.
124100 2004-11-10  Jim Meyering  <jim@meyering.net>
124102         * modules/closeout (Depends-on): Remove fpending.
124104 2004-11-10  Jim Meyering  <jim@meyering.net>
124106         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
124108 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
124110         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
124111         gl_FUNC_STRFTIME.
124112         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
124113         and AC_REQUIRE when possible, to avoid duplicate checks.
124114         Check for <wchar.h>.
124116 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
124118         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
124120 2004-11-09  Bruno Haible  <bruno@clisp.org>
124122         * m4/sockpfaf.m4: New file.
124124 2004-11-05  Bruno Haible  <bruno@clisp.org>
124126         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
124127         Reported by Mark D. Baushke <mdb@cvshome.org>.
124129 2004-11-04  Bruno Haible  <bruno@clisp.org>
124131         2004-09-11  Bruno Haible  <bruno@clisp.org>
124132                 * allocsa.valgrind: New file.
124133         2004-02-06  Bruno Haible  <bruno@clisp.org>
124134                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
124135                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
124136                 Reported by Christopher Seip <chris.seip@hp.com>.
124138 2004-11-04  Bruno Haible  <bruno@clisp.org>
124140         * modules/allocsa (Files): Add lib/allocsa.valgrind.
124141         (Makefile.am): Distribute it.
124143 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
124145         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
124146         with errno == ERANGE if the buffer is too small.
124147         Problem reported by Mark D. Baushke.
124149 2004-11-03  Albert Chin  <china@thewrittenword.com>
124150             Paul Eggert  <eggert@cs.ucla.edu>
124152         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
124153         equivalent, substitute $ac_type for equivalent type rather than
124154         blindly using uint32_t *always* which won't work if uint32_t is not
124155         available.  Define _UINT32_T to work around typedef of uint32_t if
124156         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
124157         2.5.1.
124159 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124161         * m4/jm-macros.m4: Sync from coreutils.
124162         (gl_MACROS): Check for mbrlen, for pathchk.
124163         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
124165 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124167         * lib/xreadlink.c (MAXSIZE): New macro.
124168         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
124169         size does not exceed MAXSIZE.  Avoid cast.
124170         As suggested by Mark D. Baushke in
124171         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
124172         if readlink fails with buffer size just under MAXSIZE, try again
124173         with MAXSIZE.
124175 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124177         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
124179 2004-11-02  Derek R. Price  <derek@ximbiot.com>
124180         and  Paul Eggert  <eggert@cs.ucla.edu>
124182         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
124183         (get_date): Overparenthesize to avoid GCC warning.
124185 2004-11-02  Bruno Haible  <bruno@clisp.org>
124187         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
124188         returns void.
124190 2004-11-02  Bruno Haible  <bruno@clisp.org>
124192         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
124193         function returns void.
124195 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
124197         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
124198         fflush_unlocked, flockfile, funlockfile, funlockfile,
124199         fputs_unlocked, putc_unlocked.
124201 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
124203         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
124204         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
124205         already declared.
124207 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
124209         * modules/getdate (Files): Add doc/getdate.texi.
124210         (Depends-on): Add setenv, xalloc.
124212 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
124214         * lib/getdate.y: Add support for TZ="foo" within a date string.
124215         Fix some bugs near time_t boundaries.  Reject dates with
124216         out-of-range components, e.g., "Sept 31".
124217         Include <stdlib.h>, "setenv.h", "xalloc.h".
124218         (ISDIGIT_LOCALE): Remove; unused.
124219         Note that the TZ and time functions used here are not reentrant.
124220         (mktime_ok, get_tz): New functions.
124221         (TZBUFSIZE): New constant.
124222         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
124223         This requires that we sometimes generate our own TZ="XXX..." setting.
124225 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
124227         * doc/getdate.texi: New file, from coreutils with modifications for
124228         the new TZ parsing.
124230 2004-10-27  Derek R. Price  <derek@ximbiot.com>
124232         * lib/mktime.c (not_equal_tm): Remove redundant check.
124234 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
124236         * modules/regex (lib_SOURCES): Add regex.c.
124237         Reported by James Youngman in
124238         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
124240 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
124242         * lib/getdate.y: Use Bison 1.875 features, and some minor
124243         code cleanups.  This change does not affect semantics.
124244         Don't include <stdlib.h>; no longer needed.
124245         Don't include unlocked-io.h; only the "#if TEST" code uses
124246         stdio, and performance isn't crucial there.
124247         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
124248         Bison 1.875 features as described below.
124249         All uses of "PC." replaced by "pc->".
124250         (YYSTYPE): Add a forward declaration.
124251         (yylex, yyerror): Use full prototypes in forward decls.
124252         Use "%pure-parser" rather than obsolescent "%pure_parser".
124253         Use %parse-param and %lex-param instead of obsolescent
124254         YYPARSE_PARAM and YYLEX_PARAM.
124255         (meridian_table, month_and_day_table, time_units_table,
124256         relative_time_table, time_zone_table, military_table,
124257         lookup_zone, lookup_word, get_date):
124258         Use NULL instead of 0 where appropriate.
124259         (to_hour): Avoid abort (), to avoid a dependency on
124260         stdlib.h.
124261         (yyerror, yylex): Now accepts parser_control * arg.
124262         (main) [TEST]: Use '\0' rather than 0 for char.
124264 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
124266         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
124268 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
124270         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
124271         It's now the caller's responsibility to handle the case where
124272         !HAVE_GETPAGESIZE && !defined getpagesize.
124274         * lib/mktime.c (leapyear): Arg is long int, not int.
124276 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
124278         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
124280 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
124282         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
124283         missing.  Problem reported by James Youngman.
124285 2004-10-16  Simon Josefsson  <jas@extundo.com>
124287         * gnulib-tool: Fix comments.  Fix parse problem.
124288         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
124290 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
124292         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
124293         implementation of getopt_long.  Problem reported by Alexander Taler in:
124294         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
124296 2004-10-15  Bruno Haible  <bruno@clisp.org>
124298         * gnulib-tool: Untabify. Initialize supplied_libname.
124299         (func_usage): More homogenous output.
124300         (func_modules_transitive_closure, func_modules_to_filelist,
124301         func_emit_lib_Makefile_am): New functions.
124302         (func_import): New function, extracted from big case statement. Use
124303         func_get_license, func_modules_transitive_closure,
124304         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
124305         opt_lgpl. Don't use test -a, as it's not portable.
124306         (func_create_testdir): Use func_modules_transitive_closure,
124307         func_modules_to_filelist, func_emit_lib_Makefile_am.
124309 2004-10-15  Bruno Haible  <bruno@clisp.org>
124311         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
124313 2004-10-15  Bruno Haible  <bruno@clisp.org>
124315         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
124316         the portions belonging to each module.
124317         Suggested by Derek Robert Price <derek@ximbiot.com>.
124319 2004-10-12  Simon Josefsson  <jas@extundo.com>
124321         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
124322         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
124323         to real functions.
124325 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124327         * modules/vsnprintf: New file.
124329 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124331         * m4/vsnprintf.m4: New file.
124333 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124335         * lib/vsnprintf.h: New file.
124336         * lib/vsnprintf.c: New file.
124338 2004-10-11  Bruno Haible  <bruno@clisp.org>
124340         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
124341         vsnprintf.
124343 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
124345         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
124347 2004-10-07  Bruno Haible  <bruno@clisp.org>
124349         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
124350         fits into the provided buffer.
124352 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
124354         * lib/diacrit.c, diacrit.h: Add GPL notice.
124356         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
124357         notice.
124358         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
124359         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
124360         This avoids a potential constant-folding bug.
124362 2004-10-05  Bruno Haible  <bruno@clisp.org>
124364         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
124365         for the declaration of strsep.
124367 2004-10-05  Bruno Haible  <bruno@clisp.org>
124369         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
124371 2004-10-04  Simon Josefsson  <jas@extundo.com>
124373         * modules/memmem: New file.
124374         * tests/test-memmem.c: New file.
124375         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
124377 2004-10-04  Simon Josefsson  <jas@extundo.com>
124379         * m4/memmem.m4: New file.
124381 2004-10-04  Simon Josefsson  <jas@extundo.com>
124383         * lib/memmem.h: New file.
124384         * lib/memmem.c: New file, taken from glibc.
124386 2004-10-04  Simon Josefsson  <jas@extundo.com>
124388         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
124389         '#ifdef USE_UNLOCKED_IO'.
124391 2004-10-04  Simon Josefsson  <jas@extundo.com>
124393         * config/srclist.txt: Add memmem from glibc.
124395 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124397         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
124399         * modules/argmatch, modules/argp, modules/closeout, modules/error,
124400         modules/exclude, modules/getdate, modules/getline,
124401         modules/getndelim2, modules/getpass, modules/getpass-gnu,
124402         modules/getusershell, modules/linebuffer, modules/md5,
124403         modules/mountlist, modules/posixtm, modules/readtokens,
124404         modules/readutmp, modules/regex, modules/sha1,
124405         modules/version-etc, modules/yesno:
124406         Remove dependency on unlocked-io.
124408 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124410         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
124412         * m4/unlocked-io.m4: Add copyright notice.
124413         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
124415 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124417         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
124418         * lib/xmalloc.c (xmemdup): Likewise.
124419         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
124420         XFREE): Remove these long-obsolescent macros.
124421         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
124422         * lib/xstrdup.c: Remove.
124424         * lib/regex.c (re_comp): Cast gettext return value to char *,
124425         Problem reported by Martin Neitzel via Mark D. Baushke.
124427 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124429         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
124430         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
124431         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
124432         regex.c, sha1.c, version-etc.c, yesno.c:
124433         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
124434         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
124435         the includer's responsibility.
124437         Sync from coreutils.
124439         * lib/modechange.c (mode_compile): Don't decrement a pointer that
124440         points to the start of a string, as the C Standard says the
124441         resulting behavior is undefined.
124443         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
124444         simple -> simple_backups, numbered_existing ->
124445         numbered_existing_backups, numbered -> numbered_backups
124446         to avoid shadowing problems.  All uses changed.
124447         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
124448         * lib/backupfile.c (check_extension, numbered_backup):
124449         Rename locals to avoid shadowing 'basename'.
124450         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
124451         once.
124453         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
124454         * lib/.cvsignore: Add getopt.h.
124456 2004-10-04  Bruno Haible  <bruno@clisp.org>
124458         * modules/README: New file.
124459         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
124460         not a module.
124462 2004-10-02  Jim Meyering  <jim@meyering.net>
124464         * lib/dirfd.h, getpagesize.h: Add copyright notice.
124466 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124468         * modules/strsep: New file.
124470 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124472         * m4/strsep.m4: New file.
124474 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124476         * lib/strsep.h: New file.
124477         * lib/strsep.c: New file.
124479 2004-10-01  Simon Josefsson  <jas@extundo.com>
124481         * lib/snprintf.c (snprintf): Handle size==0.
124483 2004-10-01  Simon Josefsson  <jas@extundo.com>
124484             Bruno Haible  <bruno@clisp.org>
124486         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
124487         (snprintf): Declare 'args'.
124489 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
124491         * lib/snprintf.c: Remove comments as to why each header is needed.
124493 2004-10-01  Bruno Haible  <bruno@clisp.org>
124495         * MODULES.html.sh: Add strsep.
124497 2004-09-30  Simon Josefsson  <jas@extundo.com>
124499         * modules/snprintf: New file.
124501 2004-09-30  Simon Josefsson  <jas@extundo.com>
124503         * m4/snprintf.m4: New file.
124505 2004-09-30  Simon Josefsson  <jas@extundo.com>
124507         * lib/snprintf.h, lib/snprintf.c: New files.
124509 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124511         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
124512         (hol_entry_help): Never translate an empty string.
124513         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
124514         * lib/argp.h (OPTION_NO_TRANS): New option.
124516 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
124518         * modules/argp (Maintainer): Replace Simon Josefsson
124519         by Sergey Poznyakoff.
124521 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
124523         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
124524         changes merged back into glibc.
124526 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
124528         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
124530 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
124532         * lib/xvasprintf.c: Include xalloc.h.
124533         (xvasprintf): Use xalloc_die, not xmalloc_die.
124535 2004-09-29  Bruno Haible  <bruno@clisp.org>
124537         * modules/alloca-opt: New file, derived from modules/alloca.
124538         * modules/allocsa: Depend on alloca-opt instead of alloca.
124539         * modules/setenv: Likewise.
124540         * modules/vasnprintf: Likewise.
124541         * MODULES.html.sh: Add alloca-opt.
124543 2004-09-28  Simon Josefsson  <jas@extundo.com>
124545         * gnulib-tool: New parameter --lgpl, to asseert that modules are
124546         LGPL, and to replace license template from GPL to LGPL.
124548 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
124550         * modules/dummy: Change license to LGPL.
124552 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
124554         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
124556 2004-09-24  Simon Josefsson  <jas@extundo.com>
124558         * modules/minmax (License): Change from GPL to LGPL.
124560 2004-09-23  Simon Josefsson  <jas@extundo.com>
124562         * gnulib-tool (--import): Typo.
124564 2004-09-23  Simon Josefsson  <jas@extundo.com>
124566         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
124568 2004-09-22  Bruno Haible  <bruno@clisp.org>
124570         * modules/*: Add 'License' field.
124571         * gnulib-tool: Accept --extract-license option.
124572         (func_get_license): New function.
124574 2004-09-21  Bruno Haible  <bruno@clisp.org>
124576         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
124577         Reported by Simon Josefsson.
124579 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
124581         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
124582         gl_AC_TYPE_LONG_LONG.
124584 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
124586         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
124588 2004-09-18  Simon Josefsson  <jas@extundo.com>
124589         and  Paul Eggert  <eggert@cs.ucla.edu>
124591         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
124592         calls with autoreconf.  Define GL_LIB.
124594 2004-09-14  Karl Berry  <karl@gnu.org>
124596         * config/srclist.txt: unsync setenv.c, sigh.
124598 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
124600         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
124601         Problem reported by Bruno Haible in:
124602         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
124604 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
124606         * config/srclist.txt: Comment out argp-pvh.c.
124608 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
124610         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
124611         in case some system header has #define'd it.  Problem reported by
124612         Soeren D. Schulze in
124613         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
124615 2004-09-09  Karl Berry  <karl@gnu.org>
124617         * regex.[ch]: delete from the root.  These were supposed to be
124618                 synced with emacs cvs, but this has not happened for about
124619                 a year, and anyway nothing else uses emacs regex.[ch].
124620                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
124621                 lib/regex[.ch] is untouched.
124623 2004-09-09  Bruno Haible  <bruno@clisp.org>
124625         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
124627 2004-09-09  Bruno Haible  <bruno@clisp.org>
124629         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
124630         modifications.
124631         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
124633 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
124635         * modules/xvasprintf: New file.
124636         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
124638 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
124640         * lib/xvasprintf.h: New file.
124641         * lib/xvasprintf.c: New file.
124642         * lib/xasprintf.c: New file.
124644 2004-09-08  Bruno Haible  <bruno@clisp.org>
124646         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
124648 2004-09-08  Bruno Haible  <bruno@clisp.org>
124650         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
124651         length is > INT_MAX.
124652         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
124653         more.
124655 2004-09-08  Bruno Haible  <bruno@clisp.org>
124657         * lib/stdint_.h: New file, taken from GNU clisp.
124659 2004-09-08  Bruno Haible  <bruno@clisp.org>
124660             Oskar Liljeblad  <oskar@osk.mine.nu>
124662         * modules/stdint: New file.
124663         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
124665 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
124667         Import from coreutils.
124668         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
124669         strings on unbounded length.  alloca's performance benefits aren't
124670         that important here.
124671         (V_STRDUP): Remove.
124672         (parse_with_separator): New function, with most of the internals
124673         of the old parse_user_spec.  Allow user to omit both user and group,
124674         for compatibility with FreeBSD.
124675         Clone only the user name, not the entire spec.
124676         Do not set *uid, *gid unless entirely successful.
124677         Avoid memory leak in some failing cases.
124678         Fix regression for USER.GROUP reported by Dmitry V. Levin in
124679         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
124680         (parse_user_spec): Rewrite to use parse_with_separator.
124682 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
124684         * modules/userspec: Don't depend on alloca.
124686 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
124688         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
124690 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
124692         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
124693         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
124694         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
124696 2004-08-16  Simon Josefsson  <jas@extundo.com>
124698         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
124699         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
124700         Add --dry-run for --import.
124701         Let user provided command line parameters override configure.ac
124702         settings.
124704 2004-08-12  Simon Josefsson  <jas@extundo.com>
124706         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
124707         as discussed with Paul Eggert in threads rooted at
124708         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
124709         and
124710         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
124711         Before, the test was empty, and relied on ELIDE_CODE in source
124712         code.)
124713         (gl_PREREQ_GETOPT): New macro.
124714         (gl_GETOPT): Use them.
124716 2004-08-12  Simon Josefsson  <jas@extundo.com>
124718         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
124719         * lib/getopt_.h: Renamed from getopt.h.
124721 2004-08-12  Simon Josefsson  <jas@extundo.com>
124723         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
124724         Change default library name from libfoo to libgnu.
124725         Now, if you have a configure.ac that says:
124726                 gl_SOURCE_BASE(gl)
124727                 gl_M4_BASE(gl/m4)
124728                 gl_MODULES(error getopt etcetera)
124729                 gl_INIT
124730         you can import all you need by running:
124731                 ../gnulib/gnulib-tool --import
124733         * modules/getopt (Files): Rename getopt.h to getopt_.h.
124734         (Makefile.am): Rewrite, use logic from argz.
124735         (Include): Use <getopt.h> instead of "getopt.h".
124737 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124739         * modules/argp (Files): Add m4/unlocked-io.m4.
124740         (Depends-on): Add extensions.
124742 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124744         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
124745         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
124746         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
124747         Check for program_invocation_name, program_invocation_short_name,
124748         flockfile, funlockfile, features.h, _getopt_long_only_r.
124750 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124752         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
124753         its complicated substitute.
124754         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
124755         and program_invocation_name.
124756         (__argp_basename) [!_LIBC]: Remove; the only use was
124757         replaced by its body.
124758         (__argp_short_program_name): Change condition from
124759         !defined __argp_short_program_name to
124760         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
124761         to match argp-namefrob.h.
124762         (__argp_failure): Don't assume strerror_r returns char *.
124763         * lib/argp-parse.c (N_): Define unconditionally.
124764         (argp_default_options): Fill out initializers with 0 to avoid
124765         gcc warnings.
124767 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124769         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
124770         getopt1.c.
124772 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
124774         Merge from coreutils.
124776         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
124778         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
124779         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
124781 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
124783         Merge from coreutils.
124785         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
124786         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
124787         for Reliant Unix 5.43.
124789         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
124790         (union fooround): Use uintmax_t, not long int.
124791         The rest is a merge from libc:
124792         [defined _LIBC]: Include <shlib-compat.h>.
124793         (_obstack) [defined _LIBC]: Remove after 2.3.4.
124795         * lib/settime.c (settime): Recode to avoid warning with
124796         Sun Forte C 6U2.
124798         * lib/strverscmp.c: Convert to UTF-8.
124800 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
124802         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
124803         m4/uintmax_t.m4.
124805 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
124807         * modules/xalloc-die: New file.
124808         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
124810         * modules/md5 (Files): Add m4/uint32_t.m4.
124811         * modules/sha1: Renamed from modules/sha.
124812         (Files):
124813         Rename lib/sha.h to lib/sha1.h.
124814         Rename lib/sha.c to lib/sha1.c.
124815         Rename m4/sha.m4 to m4/sha1.m4.
124816         (lib_SOURCES): Likewise.
124817         (configure.ac): Rename gl_SHA to gl_SHA1.
124818         (Include): sha.h -> sha1.h.
124820 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
124822         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
124823         * m4/sha1.m4: Renamed from sha.m4.
124824         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
124826 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
124828         * lib/obstack.h (obstack_empty_p):
124829         Don't assume that chunk->contents is suitably aligned.
124830         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
124831         Likewise. Problem reported by Benno in
124832         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
124834         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
124835         readable.  This could be improved further but it'd take some work.
124837 2004-08-08  Simon Josefsson  <jas@extundo.com>
124839         * modules/xgethostname (Depends-on): Remove exit and error (not
124840         used).
124842         * modules/getpass-gnu: Add getpass.h.
124843         (Depends-on): Add stdbool.
124844         * modules/getpass: Add getpass.h.
124846 2004-08-08  Simon Josefsson  <jas@extundo.com>
124848         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
124849         Check getpass declaration.
124851 2004-08-08  Simon Josefsson  <jas@extundo.com>
124853         * lib/xgethostname.c: Don't include error.h (not used).
124855         * lib/getpass.h: Add.
124856         * lib/getpass.c: Include getpass.h first.
124858 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
124860         * lib/xalloc-die.c: New file.
124861         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
124862         All uses removed.
124863         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
124864         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
124865         xalloc-die.c.
124866         (_, N_, xalloc_die): Move to xalloc-die.c.
124867         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
124868         so that we needn't mess with xalloc_msg_memory_exhausted.
124870         * lib/sha1.h: Renamed from sha.h.
124871         (SHA1_H): Renamed from _SHA_H.
124872         (sha1_ctx): Renamed from sha_ctx.
124873         (sha1_init_ctx): Renamed from sha_init_ctx.
124874         (sha1_process_block): Renamed from sha_process_block.
124875         (sha1_process_bytes): Renamed from sha_process_bytes.
124876         (sha1_finish_ctx): Renamed from sha_finish_ctx.
124877         (sha1_read_ctx): Renamed from sha_read_ctx.
124878         (sha1_stream): Renamed from sha_stream.
124879         (sha1_buffer): Renamed from sha_buffer.
124880         * lib/sha1.c: Likewise; renamed from sha.c.
124881         Do not include <sys/types.h>.
124882         Include <stddef.h> rather than <stdlib.h>.
124884 2004-08-08  Bruno Haible  <bruno@clisp.org>
124886         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
124887         FILESYSTEM_PREFIX_LEN.
124888         * lib/progreloc.c: Likewise.
124889         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
124891 2004-08-06  Simon Josefsson  <jas@extundo.com>
124893         * modules/progname (Depends-on): Don't depend on stdbool.
124895 2004-08-06  Simon Josefsson  <jas@extundo.com>
124897         * modules/getsubopt: New file.
124898         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124899         getsubopt.
124901 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
124903         More merge from coreutils.
124905         * m4/utimens.m4, m4/utimecmp.m4: New files.
124906         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
124907         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
124908         prereq.m4, sha.m4: Import changes from coreutils.
124910 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
124912         More merge from coreutils.
124913         * modules/raise, modules/readtokens0, modules/utimens:
124914         * modules/utimecmp, module/xnanosleep: New files.
124915         * modules/strftime: Add lib/strftime.h.
124916         Change include from <time.h> to "strftime.h".
124917         * modules/yesno: Add lib/yesno.h.
124918         * modules/backupfile: Remove lib/addext.c.
124919         * modules/euidaccess: Add stat-macros.h.
124920         * modules/canonicalize, modules/euidaccess,
124921         modules/filemode, modules/lchown, modules/makepath,
124922         modules/rmdir, modules/stat: Likewise.
124924 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
124926         Merge from tar.
124927         * lib/argp-help.c (make_hol, hol_append): Don't assume that
124928         SIZE_MAX is a valid preprocessor constant.
124929         (__argp_basename): Change from "#ifndef _LIBC"
124930         to "#ifndef __argp_short_program_name", so that
124931         we don't compile these functions for tar.
124933         More merges from coreutils.
124934         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
124935         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
124936         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
124937         * lib/addext.c: Remove; no longer needed.
124938         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
124939         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
124940         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
124941         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
124942         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
124943         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
124944         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
124945         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
124946         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
124947         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
124948         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
124949         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
124950         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
124951         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
124952         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
124953         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
124954         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
124955         Import changes from coreutils.
124957 2004-08-05  Simon Josefsson  <jas@extundo.com>
124959         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
124961 2004-08-05  Simon Josefsson  <jas@extundo.com>
124963         * m4/getsubopt.m4: New file.
124965 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
124967         Merge from coreutils.
124969         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
124970         * m4/getcwd-path-max.m4: New files.
124972         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
124973         FILESYSTEM_PREFIX_LEN ->
124974         FILE_SYSTEM_PREFIX_LEN.
124975         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
124976         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
124977         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
124978         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
124980         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
124981         prerequisite modules now handle the DOS stuff.
124982         Don't check for unistd.h.
124984 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
124986         Merge from coreutils.
124988         * lib/.gdb-history: Remove; this doesn't belong here.
124990         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
124991         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
124992         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
124993         * lib/getcwd.c: New files.
124995         * lib/dirname.h: Include <stdbool.h>.
124996         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
124997         for consistency with POSIX terminology.  All uses changed.
124998         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
124999         (strip_trailing_slashes): Use bool for booleans.
125000         * lib/stripslash.c (strip_trailing_slashes): Likewise.
125002         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
125003         sometimes returns a positive errno value even when it succeeds.
125004         (print_errno_message) [!LIBC]: Fall back on strerror if
125005         __strerror_r fails.
125007         * lib/path-concat.c (mempcpy): Don't define if a system header defines
125008         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
125009         (longest_relative_suffix): New function.
125010         (path_concat): Use it.  Assume first argument is not NULL.
125011         Port to DOS.  Omit redundant separators.
125012         Report an error instead of returning NULL.
125013         Use mempcpy instead of memcpy.
125014         (xpath_concat): Remove: not declared or used.
125016         * lib/same.h: Include <stdbool.h>
125017         (same_name): Return bool, not int.
125018         * lib/same.c (same_name): Likewise.
125019         (errno): Don't declare; we assume C89 or better now.
125021         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
125022         if not already defined.
125024         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
125025         * lib/dup-safer.c (errno): Likewise.
125027 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125029         Merge from coreutils.
125030         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
125031         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
125032         * modules/path-concat: Don't depend on strdup.
125034 2004-08-03  Simon Josefsson  <jas@extundo.com>
125036         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
125037         * lib/progname.h: Don't include stdbool.h.
125039 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125041         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
125042         * MODULES.html.sh (func_all_modules): Remove fatal.
125044 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125046         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
125048 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125050         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
125051         working.
125053 2004-08-02  Simon Josefsson  <jas@extundo.com>
125055         * lib/getsubopt.h: New file, with comments from Bruno Haible.
125056         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
125057         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
125059 2004-08-01  Simon Josefsson  <jas@extundo.com>
125061         * lib/xgetdomainname.c: Include stdlib.h, for free().
125063 2004-07-19  Bruno Haible  <bruno@clisp.org>
125065         * MODULES.html.sh (func_all_modules): Add dummy.
125067 2004-07-16  Simon Josefsson  <jas@extundo.com>
125069         * modules/dummy: New file.
125071 2004-07-16  Simon Josefsson  <jas@extundo.com>
125073         * lib/dummy.c: New file.
125075 2004-07-16  Bruno Haible  <bruno@clisp.org>
125077         * lib/backupfile.h: Add extern "C" for C++.
125078         * lib/closeout.h: Likewise.
125079         * lib/copy-file.h: Likewise.
125080         * lib/findprog.h: Likewise.
125081         * lib/full-write.h: Likewise.
125082         * lib/pathname.h: Likewise.
125083         * lib/progname.h: Likewise.
125084         * lib/stpcpy.h: Likewise.
125085         * lib/stpncpy.h: Likewise.
125086         * lib/strcase.h: Likewise.
125087         * lib/strstr.h: Likewise.
125088         * lib/xalloc.h: Likewise.
125090         * lib/mbswidth.h: Add extern "C" for C++.
125091         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
125093 2004-07-13  Robert Millan  <robertmh@gnu.org>
125095         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
125097 2004-07-09  Simon Josefsson  <jas@extundo.com>
125099         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
125100         failed without this.)
125102 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
125104         * modules/chown (Files): Add lib/fchown-stub.c, since
125105         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
125107 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
125109         * lib/fchown-stub.c: New file.
125111 2004-06-24  Jim Meyering  <jim@meyering.net>
125113         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
125115 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125117         * modules/argz: Omit "#include".
125119         * MODULES.html.sh (func_all_modules): Add calloc, to match
125120         2004-06-01 addition of calloc module.
125122 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125124         * m4/argz.m4: New file, which is autoupdated from libtool.
125126 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125128         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
125129         libtool.
125131 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125133         * config/srclist-update: Don't insist on "USA." before the
125134         close-comment, as libtool omits the period and puts the */ on a
125135         separate line.
125136         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
125137         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
125139 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
125141         * modules/argz: New file.
125142         * MODULES.html.sh (func_all_modules): Add argz.
125144 2004-06-12  Jim Meyering  <jim@meyering.net>
125145         and  Paul Eggert  <eggert@cs.ucla.edu>
125147         * modules/hash (Files): Add lib/xalloc.h.
125148         * modules/pipe (Depends-on): Add wait-process.
125149         * modules/stat (Depends-on): Add xalloc.
125150         * modules/userspec (Files): Add lib/userspec.h.
125151         * modules/xstrto
125153         Upgrade from gettext-0.13.
125154         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
125155         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
125156         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
125158 2004-06-10  Jim Meyering  <jim@meyering.net>
125160         * lib/calloc.c: New file.
125162 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
125164         * lib/getdate.y (yylex): Allow space between sign and number.
125165         Problem reported by Dan Jacobson.
125167 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
125169         Merge from coreutils CVS.
125171         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
125172         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
125173         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
125174         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
125175         xstrtol.m4: Fix copyright date and/or serial number.
125177         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
125178         See if we need an fchown replacement.
125179         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
125180         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
125181         and use the replacement function if we detect either defect.
125183         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
125184         gl_UTIMECMP.
125186 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
125187         and  Jim Meyering  <jim@meyering.net>
125189         Merge from coreutils CVS.
125191         * lib/stat-macros.h: New file, with contents from file-type.h
125192         and coreutils' system.h.
125193         * lib/file-type.c: Include "stat-macros.h".
125194         * lib/file-type.h (file_type): Move all macro definitions to new file,
125195         stat-macros.h.
125197         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
125198         Wrap old code with this conditional.
125199         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
125200         function that does not dereference symlinks.
125201         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
125203         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
125204         dependency problems.
125205         (xreadlink): Accept new arg SIZE, for efficiency.
125206         All decls and uses changed.
125207         * lib/xreadlink.h: Include <stddef.h>, for size_t.
125209         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
125210         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
125212         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
125213         sysexits.h.
125215 2004-06-01  Jim Meyering  <jim@meyering.net>
125217         * m4/calloc.m4: New file.
125219 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
125221         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
125222         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
125223         Also, fix a typo in a diagnostic.
125225 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
125227         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
125228         or AC_FUNC_REALLOC.
125230 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
125232         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
125233         macros to be defined.
125234         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
125235         the allocator returns NULL because the requested size is zero.
125237 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
125239         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
125240         var.  Add comment explaining why libc still defines it.  This
125241         merges the following patch from glibc:
125242         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
125244 2004-05-20  Andreas Schwab  <schwab@suse.de>
125246         * m4/free.m4: Replace free if it not known to work, not the other
125247         way round.
125249 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
125251         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
125252         present in glibc since revision 1.1 of this file.
125253         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
125254         obstack_alignment_mask, obstack_alloc, obstack_base,
125255         obstack_blank, obstack_blank_fast, obstack_chunk_size,
125256         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
125257         obstack_grow0, obstack_init, obstack_int_grow,
125258         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
125259         obstack_next_free, obstack_object_size, obstack_ptr_grow,
125260         obstack_ptr_grow_fast, obstack_room): Remove declarations of
125261         nonexistent functions.
125263 2004-05-18  Karl Berry  <karl@gnu.org>
125265         * config/srclist.txt: break link for vasnprintf.c.
125267 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
125269         Port obstack to the AS/400, where pointers are 16 bytes wide and
125270         you cannot cast an integer to a valid pointer.  This patch is
125271         currently waiting to be integrated into glibc; see
125272         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
125274         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
125275         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
125276         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
125277         (struct obstack): temp member is now a union of a pointer and
125278         an integer, instead of an integer.  All integer uses changed.
125279         This does not affect the physical layout of struct obstack,
125280         except on hosts (like the AS/400) where the size or alignment of
125281         void * is greater than that of ptrdiff_t.
125282         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
125283         __STDC__)]: Store temporary in pointer member of union, not
125284         integer member.
125285         * lib/obstack.c: Include <stddef.h>, for offsetof.
125286         (struct fooalign): Remove; it doesn't need a name.
125287         (union fooround): Change double to long double, and add void *.
125288         (DEFAULT_ALIGNMENT): Use offsetof to compute.
125289         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
125290         not a macro.  Hence the values are always int; so remove all
125291         casts-to-int in uses.
125293 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
125295         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
125296         we can get this patch merged into glibc.
125298 2004-05-17  Derek R. Price  <derek@ximbiot.com>
125299             Paul Eggert  <eggert@cs.ucla.edu>
125301         * m4/argp: Depend on alloca.
125303 2004-05-17  Derek R. Price  <derek@ximbiot.com>
125304             Paul Eggert  <eggert@cs.ucla.edu>
125306         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
125307         freecoding.
125309 2004-05-17  Bruno Haible  <bruno@clisp.org>
125311         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
125312         precision that consists of a '.' followed by an empty digit string.
125313         Patch by Tor Lillqvist <tml@iki.fi>.
125315 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
125317         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
125318         for backward compatibility with older code.  We need our own
125319         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
125320         it under some other name, and our alloca.h will define it.
125322 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
125323             Derek Price  <derek@ximbiot.com>
125325         * lib/alloca.c: Include <alloca.h>, to get our interface.
125326         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
125327         include <alloca.h> first.  Use C89 prototype for alloca; this
125328         requires including <stddef.h> for size_t.  Use extern "C" if C++.
125329         Use #elif for simplicity, since we can assume C89 now.
125330         Don't try to source the system alloca.h since it will not be found
125331         and to prevent recursively including its replacement.
125332         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
125333         * lib/regex.c: Likewise.
125335 2004-05-16  Derek Price  <derek@ximbiot.com>
125336             Paul Eggert  <eggert@cs.ucla.edu>
125338         getline cleanup.  This changes the getndelim2 API: both order of
125339         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
125340         no delimiter).
125342         * lib/getline.c: Don't include stddef.h or stdio.h, since our
125343         interface does that.
125344         (getline): Always use getdelim, so that we don't have two
125345         copies of this code.
125346         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
125347         if available.
125348         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
125349         (GETNDELIM2_MAXIMUM): New macro.
125350         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
125351         instead of the old practice of delim2==0.  All callers changed.
125352         Return -1 on overflow, instead of returning junk.
125353         Do not set *linesize unless allocation succeeds.
125354         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
125355         that we include sys/types.h.
125356         * lib/getnline.h: Likewise.
125357         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
125358         (getndelim2): Reorder arguments.
125359         * lib/getnline.c (getnline, getndelim):
125360         Don't discard the NMAX argument.
125361         (getnline): Invoke getndelim, to avoid code duplication.
125362         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
125363         of (size_t) -1 by callers of the getnline family.
125365 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
125367         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
125368         Check for gettimeofday.
125369         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
125370         Check for settimeofday, stime.
125372 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
125374         * lib/nanosleep.c (suspended): Change its type from int to
125375         sig_atomic_t volatile.
125376         (first_call): Make it private to rpl_nanosleep, and have it
125377         be zero initially as that's a bit faster.
125378         (my_usleep): Round up fractional times instead of truncating them,
125379         as this is the usual meaning for 'sleep'.
125381         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
125382         doesn't work.
125383         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
125384         (ENOSYS): Define if not defined.
125385         (settime): Fall back on stime if it exists and settimeofday fails.
125386         But don't bother with fallbacks if a method fails with errno == EPERM.
125388 2004-05-11  Jim Meyering  <jim@meyering.net>
125390         Prior to this change, the save_cwd caller required read access to the
125391         current directory on most systems (ones with the fchdir function).
125393         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
125394         fails, try write-only, and finally, resort to using xgetcwd.
125396 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
125398         * lib/obstack.c, obstack.h: Import changes from libc.
125400 2004-04-28  Bruno Haible  <bruno@clisp.org>
125402         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
125403         also implicitly appends .exe to executables.
125404         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
125405         accepts Windows pathnames.
125406         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
125407         Treat Cygwin like Windows, since it now accepts Windows pathnames.
125408         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
125409         Treat Cygwin like Windows, since it now accepts Windows pathnames.
125410         Reported by Derek Robert Price <derek@ximbiot.com>.
125412 2004-04-21  Karl Berry  <karl@gnu.org>
125414         * config/srclist.txt (localcharset.c): break sync.
125416 2004-04-20  Paul Eggert  <eggert@twinsun.com>
125418         * m4/host-os.m4: Add a copyright notice.
125420 2004-04-20  Jim Meyering  <jim@meyering.net>
125422         Change UTILS_ to gl_ in AC_DEFINE'd names.
125423         Change utils_- and jm_-prefixed variables, too.
125424         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
125425         UTILS_FUNC_MKDIR_TRAILING_SLASH.
125426         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
125428         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
125429         Don't emit trailing blanks.
125430         Also rename jm_-prefixed variables to have gl_ prefix.
125432         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
125433         Also rename jm_-prefixed variables to have gl_ prefix.
125435         * m4/jm-macros.m4: Reflect the renamings.
125436         * m4/prereq.m4: Likewise.
125438 2004-04-20  Jim Meyering  <jim@meyering.net>
125440         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
125441         memory.
125443 2004-04-20  Jim Meyering  <jim@meyering.net>
125444             Bruno Haible  <bruno@clisp.org>
125446         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
125447         memory when realloc fails.
125449 2004-04-19  Jim Meyering  <jim@meyering.net>
125451         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
125452         now that readutmp.c may call `free (0)'.
125454 2004-04-19  Bruno Haible  <bruno@clisp.org>
125456         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
125457         * m4/inttypes_h.m4: Likewise.
125458         * m4/stdint_h.m4: Likewise.
125459         * m4/intmax_t.m4: Likewise.
125460         * m4/uintmax_t.m4: Likewise.
125462 2004-04-18  Jim Meyering  <jim@meyering.net>
125464         * m4/prereq.m4: Don't forbid jm_ prefix.
125466         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
125467         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
125468         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
125469         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
125470         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
125471         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
125472         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
125473         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
125474         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
125475         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
125476         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
125477         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
125478         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
125479         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
125480         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
125481         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
125482         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
125483         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
125484         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
125486 2004-04-18  Jim Meyering  <jim@meyering.net>
125488         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
125489         failure, don't leak memory and do call END_UTMP_ENT.
125491 2004-04-16  Jim Meyering  <jim@meyering.net>
125493         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
125494         coreutils' stat program.
125495         (gl_PREREQ): Don't require jm_PREREQ_STAT.
125497 2004-04-11  Paul Eggert  <eggert@twinsun.com>
125499         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
125500         C89.
125501         (CHAR_BIT): Remove, since we assume C89.
125502         Include <stdint.h> if available, as per current Autoconf CVS advice.
125504 2004-03-31  Jim Meyering  <jim@meyering.net>
125506         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
125507         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
125508         * m4/xalloc.m4: Likewise.
125510 2004-03-30  Paul Eggert  <eggert@twinsun.com>
125512         Merge from coreutils.
125514         * m4/inttostr.m4: New file.
125515         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
125516         Require AM_STDBOOL_H and gl_TIMESPEC instead.
125517         Require gl_CLOCK_TIME.
125518         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
125520 2004-03-30  Paul Eggert  <eggert@twinsun.com>
125522         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
125523         not bool, to be more consistent with Unix conventions.
125524         Suggested by Bruno Haible.
125526         Merge from coreutils.
125528         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
125529         * lib/umaxtostr.c: New files.
125531         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
125532         the usual <time.h> dance.
125533         (get_date): Change signature to support fractional time stamps.
125534         All callers changed.
125535         * lib/getdate.y: Include "getdate.h" first, as we can now
125536         assume C89 and don't need to worry about 'const'.
125537         Similarly, include "unlocked-io.h" near start, not in middle.
125538         Include <limits.h>.
125539         (textint.value): Use long int rather than int.
125540         (textint.digits): Use size_t rather than int.
125541         (BILLION, LOG10_BILLION): New constants.
125542         (parser_control): New member rel_ns.  Members day_ordinal,
125543         time_zone, month, day, hour, minutes, rel_year, rel_month,
125544         rel_day, rel_hour, rel_minutes, rel_seconds
125545         are now long int, not int.  Member seconds is now struct timespec,
125546         not int.  New member timespec_seen.  Members dates_seen, days_seen,
125547         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
125548         not int.
125549         (%union.intval): Now long int, not int.
125550         New member timespec.
125551         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
125552         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
125553         (spec): Now is a timespec or an item list.
125554         (timespec, items): New nonterminals.
125555         (time, rel, relunit, number, get_date):
125556         Add support for fractional seconds.
125557         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
125558         (gmtime, localtime, mktime): Remove decls; not needed with C89.
125559         (to_hour): First arg is now long int, not int.
125560         (to_year): Returns long int, not int.
125561         Don't treat year -70 like 70.
125562         (tm_diff): Returns long int, not int.
125563         (lookup_word): Use bool instead of int when appropriate.
125564         (yylex): Use size_t for count, not int.
125565         Detect overflow when parsing large integer constants.
125566         Add support for fractions.
125567         (get_date): Make pointers 'const' if possible.
125568         Use more-portable code to detect integer overflow.
125569         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
125570         Don't use ctime; it's not reliable if the year has >4 digits.
125572         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
125573         This is for compatibility with BSD.
125575         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
125576         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
125577         From coreutils' system.h.
125579         * lib/userspec.c: Don't include "posixver.h".
125580         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
125581         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
125582         compatible extension.  Simplify code by removing a boolean int
125583         that was always nonzero if a string was nonnull.
125585 2004-03-30  Jim Meyering  <jim@meyering.net>
125587         Merge from coreutils.
125589         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
125590         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
125591         on some systems one must include <grp.h> before it.
125592         Reported by Christian Krackowizer.
125594 2004-03-30  Jim Meyering  <jim@meyering.net>
125596         Merge from coreutils.
125598         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
125600         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
125601         an empty input stream.
125603         * lib/readtokens.c: Include <stdbool.h>.
125604         (readtoken): Use `size_t' rather than int/long.
125605         All callers adjusted.
125606         Use `bool' rather than `int' where appropriate.
125607         Use memset rather than an explicit loop.
125608         Use x2nrealloc rather than xrealloc.
125609         Allow the use of `\0' as a delimiter.
125610         (readtokens): Likewise.
125611         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
125613 2004-03-30  Jim Meyering  <jim@meyering.net>
125615         * m4/realloc.m4: Remove file, since now it does no more than
125616         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
125617         the `configure.ac' section of module/realloc.
125618         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
125620 2004-03-30  Bruno Haible  <bruno@clisp.org>
125622         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
125623         nonnull.
125625 2004-03-29  Paul Eggert  <eggert@twinsun.com>
125627         Merge changes to getloadavg.c from coreutils and Emacs.
125629         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
125630         Define to an expression, not to the empty string.
125631         Include cloexec.h and xalloc.h.
125632         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
125633         Use set_cloexec_flag rather than rolling our own.
125634         * lib/cloexec.c, lib/cloexec.h: New files.
125636 2004-03-29  Paul Eggert  <eggert@twinsun.com>
125638         * m4/cloexec.m4: New file.
125640 2004-03-18  Paul Eggert  <eggert@twinsun.com>
125642         * lib/getopt.h: Sync with libc CVS.
125644 2004-03-18  Paul Eggert  <eggert@twinsun.com>
125645             Bruno Haible  <bruno@clisp.org>
125647         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
125648         mbswidth.
125650 2004-03-18  Paul Eggert  <eggert@twinsun.com>
125651             Bruno Haible  <bruno@clisp.org>
125653         * lib/mbswidth.h: Include <wchar.h> only if
125654         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
125655         <wchar.h>.
125656         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
125658 2004-03-09  Paul Eggert  <eggert@twinsun.com>
125660         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
125661         Sync with libc CVS.
125662         * lib/getopt_int.h: New file, also synced from libc.
125664 2004-03-09  Paul Eggert  <eggert@twinsun.com>
125666         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
125667         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
125668         Bring back getopt.c, getopt.h, getopt1.c.
125670 2004-03-07  Paul Eggert  <eggert@twinsun.com>
125672         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
125673         All uses changed.  Check for sa_sigaction member; this fixes
125674         a bug first reported by Jason Andrade in
125675         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
125677 2004-03-07  Paul Eggert  <eggert@twinsun.com>
125679         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
125680         '#if' expressions.  Unlike the code it replaces, it does not
125681         depend on (defined _SC_PAGESIZE).  However, it does depend on
125682         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
125683         first reported by Jason Andrade in
125684         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
125686 2004-02-25  Simon Josefsson  <jas@extundo.com>
125688         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
125690 2004-02-25  Simon Josefsson  <jas@extundo.com>
125692         * lib/strdup.h: New file.
125693         * lib/strdup.c: Include it.
125694         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
125695         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
125697 2004-02-23  Karl Berry  <karl@gnu.org>
125699         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
125700         (from fencepost.gnu.org:/gd/gnuorg).
125702 2004-02-23  Karl Berry  <karl@gnu.org>
125704         * config/srclistvars.sh (GNUORG) [karl]: redefine.
125705         * config/srclist.txt: add maintain/standards documents.
125707 2004-02-18  Bruno Haible  <bruno@clisp.org>
125709         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
125710         Reported by Derek Robert Price <derek@ximbiot.com>.
125712 2004-02-16  Karl Berry  <karl@gnu.org>
125714         * config/mkinstalldirs, install-sh: update from automake.
125716 2004-02-06  Karl Berry  <karl@gnu.org>
125718         * m4/po.m4: update from gettext 0.14.1.
125720 2004-02-06  Karl Berry  <karl@gnu.org>
125722         * lib/config.charset: update from gettext 0.14.1.
125724 2004-02-05  Paul Eggert  <eggert@twinsun.com>
125726         Add comments and code, prompted by suggestions from Bruno Haible
125727         for sh-quote.
125728         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
125729         describing the enum quoting_style values.
125730         * lib/quotearg.c (quotearg_alloc): New function.
125731         (quotearg_buffer_restyled): Treat lone { and } as special.
125732         Treat = as special.  Work around bug with older shells
125733         that "see" a '\' that is really the 2nd byte of a multibyte char.
125734         Quote empty string with shell_quoting_style.
125736 2004-02-03  Bruno Haible  <bruno@clisp.org>
125738         * m4/pipe.m4: New file, from GNU gettext.
125740 2004-02-03  Bruno Haible  <bruno@clisp.org>
125742         * lib/pipe.h: New file, from GNU gettext.
125743         * lib/pipe.c: New file, from GNU gettext.
125745 2004-01-27  Bruno Haible  <bruno@clisp.org>
125747         * m4/execute.m4: New file, from GNU gettext.
125749 2004-01-27  Bruno Haible  <bruno@clisp.org>
125751         * lib/execute.h: New file, from GNU gettext.
125752         * lib/execute.c: New file, from GNU gettext.
125753         * lib/w32spawn.h: New file, from GNU gettext.
125755 2004-01-24  Paul Eggert  <eggert@twinsun.com>
125757         Merge from diffutils.
125759         * lib/file-type.c (file_type): Add typed memory objects.
125760         * lib/file-type.h (S_TYPEISTMO): New macro.
125762         * lib/c-stack.h (c_stack_action): Remove argv argument.
125763         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
125764         (die): Don't calculate message unless segv_action returns.
125765         (get_stack_location, min_address_from_argv, max_address_from_argv,
125766         volatile stack_base, volatile_stack_size): Remove.
125767         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
125768         that every segmentation violation is a stack overflow.  (Ouch!)
125769         See Debian bug 136249 (still outstanding) for more info about why
125770         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
125772 2004-01-24  Paul Eggert  <eggert@twinsun.com>
125774         Exit-status fix from coreutils.
125776         Use exit_failure consistently in place of EXIT_FAILURE,
125777         so that program exit statuses are consistent on failure.
125779         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
125780         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
125781         * lib/argmatch.h: Comment fix to match the above.
125782         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
125783         Now a macro referring to exit_failure, instead of a separate
125784         variable.  Include "exitfail.h" to get it.
125785         * lib/xstrtol.h: Include "exitfail.h".
125786         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
125788         * lib/long-options.c (parse_long_options): Use prototype
125789         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
125790         for clarity.
125792 2004-01-21  Jim Meyering  <jim@meyering.net>
125794         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
125795         so as not to conflict with a different-sized __mktime_internal
125796         function in GNU libc.
125797         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
125798         Problem building statically-linked `ls' reported by Michael Brunnbauer.
125800 2004-01-20  Karl Berry  <karl@gnu.org>
125802         * config/config.guess: update from config.
125804         * config/srclistvars.sh: GNUWWWLICENSES for karl.
125806 2004-01-20  Bruno Haible  <bruno@clisp.org>
125808         Safer stack allocation.
125809         * lib/setenv.c: Include allocsa.h.
125810         (alloca): Remove fallback definition.
125811         (freea): Remove macro.
125812         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
125813         instead of freea.
125815 2004-01-20  Bruno Haible  <bruno@clisp.org>
125817         * m4/eealloc.m4: New file, from GNU gettext.
125819 2004-01-20  Bruno Haible  <bruno@clisp.org>
125821         * m4/allocsa.m4: New file, from GNU gettext.
125823 2004-01-20  Bruno Haible  <bruno@clisp.org>
125825         * lib/xallocsa.h: New file, from GNU gettext.
125826         * lib/xallocsa.c: New file, from GNU gettext.
125828 2004-01-20  Bruno Haible  <bruno@clisp.org>
125830         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
125832 2004-01-20  Bruno Haible  <bruno@clisp.org>
125834         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
125835         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
125836         specially.
125838 2004-01-20  Bruno Haible  <bruno@clisp.org>
125840         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
125841         patch.
125843 2004-01-20  Bruno Haible  <bruno@clisp.org>
125845         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
125847 2004-01-20  Bruno Haible  <bruno@clisp.org>
125849         * lib/eealloc.h: New file.
125851 2004-01-20  Bruno Haible  <bruno@clisp.org>
125853         * lib/binary-io.h: Avoid warnings on Cygwin.
125855 2004-01-20  Bruno Haible  <bruno@clisp.org>
125857         * lib/allocsa.h: New file, from GNU gettext.
125858         * lib/allocsa.c: New file, from GNU gettext.
125860 2004-01-18  Karl Berry  <karl@gnu.org>
125862         * doc/gpl.texi, doc/lgpl.texi: new files.
125864 2004-01-18  Karl Berry  <karl@gnu.org>
125866         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
125867         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
125869 2004-01-15  Paul Eggert  <eggert@twinsun.com>
125871         Merge from coreutils.
125873         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
125874         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
125875         (gl_DEFAULT_POSIX2_VERSION): Move
125876         the documentation from 'configure' into 'config.hin',
125877         so that 'configure --help' isn't burdened by it and
125878         we don't have to worry about its formatting there.
125879         Reword the documentation so that it's more succinct
125880         and can be run together into a single paragraph.
125881         * m4/same.m4 (gl_SAME): Check for pathconf.
125883 2004-01-15  Paul Eggert  <eggert@twinsun.com>
125885         Merge from coreutils.
125887         * lib/posixver.c: Include posixver.h.
125889         * lib/same.c: Include <stdbool.h>, <limits.h>.
125890         (_POSIX_NAME_MAX): Define if not defined.
125891         (MIN): New macro.
125892         (same_name): If file names are silently truncated, report
125893         that the file names are the same if they are the same after
125894         the silent truncation.
125896         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
125897         conversion function.
125898         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
125899         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
125900         longer needed.
125902 2004-01-15  Jim Meyering  <jim@meyering.net>
125904         Merge from coreutils.
125906         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
125907         if no library is required.
125908         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
125909         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
125910         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
125911         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
125912         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
125913         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
125914         value, $ac_cv_search_crypt, if it's "none required".
125915         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
125916         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
125917         not gl_FUNC_GETLOADAVG.
125918         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
125919         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
125921 2004-01-15  Jim Meyering  <jim@meyering.net>
125923         Merge from coreutils.
125925         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
125926         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
125927         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
125929         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
125930         optional configure-time default.
125932         * lib/version-etc.c (version_etc_copyright): Update copyright date.
125934         * lib/xreadlink.c (xreadlink): Correct outdated comment.
125936 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
125938         Merge from coreutils.
125940         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
125941         value, $ac_cv_search_nanosleep, if it's "none required".
125943 2004-01-14  Paul Eggert  <eggert@twinsun.com>
125945         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
125946         with like-named macro in fnmatch.c.
125947         (EXT): Use an internal constant instead.
125949         Merge fnmatch patches from glibc.
125950         * lib/fnmatch.c (mbsinit): Remove define.
125951         Add libc_hidden_ver (__fnmatch, fnmatch).
125952         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
125953         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
125955 2004-01-14  Karl Berry  <karl@gnu.org>
125957         * config/install-sh: update from automake.
125959 2004-01-13  Karl Berry  <karl@gnu.org>
125961         * config/install-sh: update from automake.
125963 2004-01-09  Karl Berry  <karl@gnu.org>
125965         * config/install-sh: update from automake.
125967 2004-01-05  Karl Berry  <karl@gnu.org>
125969         * config/config.{sub,guess}: update from config.
125971 2003-12-31  Karl Berry  <karl@gnu.org>
125973         * config/depcomp: update from automake.
125975 2003-12-14  Karl Berry  <karl@gnu.org>
125977         * lib/config.charset: update from gettext-runtime.
125979 2003-12-03  Paul Eggert  <eggert@twinsun.com>
125981         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
125982         Bug reported by Alfred M. Szmidt.
125984 2003-12-03  Bruno Haible  <bruno@clisp.org>
125986         * m4/gettext.m4: Upgrade from gettext-0.13.
125987         * m4/po.m4: Upgrade from gettext-0.13.
125988         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
125989         * m4/intmax.m4: New file, from gettext-0.13.
125990         * m4/printf-posix.m4: New file, from gettext-0.13.
125992 2003-11-29  Karl Berry  <karl@gnu.org>
125994         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
125996 2003-11-25  Paul Eggert  <eggert@twinsun.com>
125997             Bruno Haible  <bruno@clisp.org>
125999         * lib/printf-parse.h: Don't include sys/types.h.
126000         (ARG_NONE): New macro.
126001         (char_directive): Change type of *arg_index fields to size_t.
126002         * lib/printf-parse.c: Don't include sys/types.h.
126003         (SSIZE_MAX): Remove macro.
126004         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
126005         Remove unnecessary overflow check.
126006         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
126007         fields.
126009 2003-11-25  Bruno Haible  <bruno@clisp.org>
126011         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
126013 2003-11-25  Bruno Haible  <bruno@clisp.org>
126015         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
126016         gt_TYPE_SSIZE_T.
126018 2003-11-24  Paul Eggert  <eggert@twinsun.com>
126020         * modules/alloca: Remove dependency on xalloc.
126022 2003-11-24  Paul Eggert  <eggert@twinsun.com>
126024         * lib/alloca.c: Remove dependency on xalloc module.
126025         (xalloc_die): Remove.
126026         (memory_full) [!defined emacs]: New macro.
126027         [!defined emacs]: Don't include xalloc.h.
126028         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
126029         address arithmetic overflows.  Change datatypes a bit to avoid
126030         unnecessary casts.
126032 2003-11-22  Jim Meyering  <jim@meyering.net>
126034         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
126035         s/size/size_t/.
126037 2003-11-21  Karl Berry  <karl@gnu.org>
126039         * config/config.{sub,guess}: update from config.
126041 2003-11-18  Karl Berry  <karl@gnu.org>
126043         * config/config.{sub,guess}: update from config.
126045         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
126047 2003-11-17  Paul Eggert  <eggert@twinsun.com>
126049         * README: Mention that S+T cannot overflow if S is the size of
126050         an existing object and T is sufficiently small.
126052 2003-11-17  Jim Meyering  <jim@meyering.net>
126054         On systems without utime and without a utimes function capable of
126055         dealing with a NULL struct utimbuf* argument, this utime replacement
126056         could -- in unusual circumstances -- leak a file descriptor.
126057         * lib/utime.c: Include <unistd.h> and <errno.h>.
126058         (utime_null): Be sure to close `fd' and to preserve errno.
126059         Reported by Geoff Collyer via Arnold Robbins.
126061 2003-11-17  Bruno Haible  <bruno@clisp.org>
126063         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
126064         (Depends-on): Add xsize.
126066 2003-11-17  Bruno Haible  <bruno@clisp.org>
126068         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
126070 2003-11-17  Bruno Haible  <bruno@clisp.org>
126072         * lib/vasnprintf.c (alloca): Remove fallback definition.
126073         (freea): Remove definition.
126074         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
126075         Reported by Paul Eggert.
126077 2003-11-16  Paul Eggert  <eggert@twinsun.com>
126078             Bruno Haible  <bruno@clisp.org>
126080         Protect against address arithmetic overflow.
126081         * lib/printf-args.h: Include stddef.h.
126082         (arguments): Change type of field 'count' to size_t.
126083         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
126084         'unsigned int' where appropriate.
126085         * lib/printf-parse.h: Include sys/types.h.
126086         (char_directive): Change type of *arg_index fields to ssize_t.
126087         (char_directives): Change type of fields 'count', max_*_length to
126088         size_t.
126089         * lib/printf-parse.c: Include sys/types.h and xsize.h.
126090         (SSIZE_MAX): Define fallback value.
126091         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
126092         instead of 'int' where appropriate. Check a_allocated, d_allocated
126093         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
126094         * lib/vasnprintf.c: Include xsize.h.
126095         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
126096         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
126097         overflow. Avoid wraparound when converting a width or precision from
126098         decimal to binary.
126100 2003-11-16  Bruno Haible  <bruno@clisp.org>
126102         Update from GNU gettext.
126103         * lib/printf-parse.c: Generalize to it can be compiled for wide
126104         strings.
126105         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
126106         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
126107         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
126108         SNPRINTF): New macros.
126109         Don't include <alloca.h> if the file is used inside libintl.
126110         (local_wcslen): New function, for Solaris 2.5.1.
126111         (VASNPRINTF): Use it instead of wcslen.
126113 2003-11-16  Bruno Haible  <bruno@clisp.org>
126115         * lib/xsize.h (xmax): New function.
126116         (xsum, xsum3, xsum4): Declare as "pure" functions.
126118 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126120         * modules/xalloc (Files): Undo latest change, since xalloc.h
126121         no longer needs SIZE_MAX or PTRDIFF_MAX.
126123 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126125         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
126126         gl_PTRDIFF_MAX.
126128 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126130         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
126131         "return", to pacify some unknown compiler.  Problem reported
126132         by Joerg Schilling.
126134 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126136         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
126137         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
126138         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
126139         heuristic is just as accurate as far as we know, and it removes a
126140         dependency on size_max.m4 and ptrdiff_max.m4.
126142 2003-11-11  Bruno Haible  <bruno@clisp.org>
126144         * modules/xsize (Files): Add m4/size_max.m4.
126145         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
126147 2003-11-11  Bruno Haible  <bruno@clisp.org>
126149         * m4/size_max.m4: New file.
126150         * m4/ptrdiff_max.m4: New file.
126151         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
126152         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
126153         (gl_XALLOC): Invoke it.
126155 2003-11-11  Bruno Haible  <bruno@clisp.org>
126157         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
126158         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
126159         defined.
126161 2003-11-10  Paul Eggert  <eggert@twinsun.com>
126163         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
126164         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
126165         rejected some allocations of exactly SIZE_MAX - 2 bytes.
126166         From Bruno Haible.
126167         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
126168         not (size_t) -1, since it's defined here.
126170 2003-11-09  Karl Berry  <karl@gnu.org>
126172         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
126174 2003-11-06  Paul Eggert  <eggert@twinsun.com>
126176         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
126177         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
126178         Reject sizes of exactly SIZE_MAX bytes.
126179         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
126180         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
126182 2003-11-05  Bruno Haible  <bruno@clisp.org>
126184         * lib/xsize.h: Include limits.h, to avoid a possible collision with
126185         SIZE_MAX defined in <limits.h> on Solaris.
126187 2003-11-04  Jim Meyering  <jim@meyering.net>
126189         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
126190         variable names, rather than @VAR@.
126191         * modules/poll: Likewise.
126193 2003-11-04  Bruno Haible  <bruno@clisp.org>
126195         * modules/xsize: New file.
126196         * modules/linebreak: Depend on xsize.
126197         * MODULES.html.sh (func_all_modules): Add xsize.
126199 2003-11-04  Bruno Haible  <bruno@clisp.org>
126201         * m4/xsize.m4: New file.
126203 2003-11-04  Bruno Haible  <bruno@clisp.org>
126205         * lib/xsize.h: New file.
126206         * lib/linebreak.c: Include xsize.h.
126207         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
126208         argument for overflow.
126209         Suggested by Paul Eggert.
126211 2003-11-03  Karl Berry  <karl@gnu.org>
126213         * config/config.{guess,sub}: update from config.
126215 2003-11-03  Jim Meyering  <jim@meyering.net>
126217         * modules/userspec (lib_SOURCES): Add userspec.h.
126218         (Include): Add "userspec.h".
126219         Improve description.
126221 2003-11-03  Jim Meyering  <jim@meyering.net>
126223         * lib/userspec.c: Include "userspec.h".
126224         * lib/userspec.h: New file.
126226 2003-11-03  Bruno Haible  <bruno@clisp.org>
126228         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
126230 2003-11-03  Bruno Haible  <bruno@clisp.org>
126232         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
126233         available, to avoid (extremely rare) race condition.
126234         Suggested by Paul Eggert.
126236 2003-11-02  Karl Berry  <karl@gnu.org>
126238         * config/srclist.txt (vasprintf.c): sync broken, sigh.
126240 2003-10-31  Paul Eggert  <eggert@twinsun.com>
126242         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
126243         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
126244         (read_filesystem_list): Set and use me_type_malloced.
126245         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
126246         whatever the type happens to be), for brevity and consistency.
126247         Check for size calculation overflow on Alphas running OSF/1.
126249 2003-10-31  Jim Meyering  <jim@meyering.net>
126251         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
126253         * lib/linebuffer.c: Include <string.h> for declaration of memset.
126255 2003-10-30  Paul Eggert  <eggert@twinsun.com>
126256             Bruno Haible  <bruno@clisp.org>
126258         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
126259         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
126261 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
126263         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
126264         netbsd*-gnu*.  Suggested by Robert Millan.
126266 2003-10-29  Paul Eggert  <eggert@twinsun.com>
126268         * modules/group-member: Depend on stdbool.
126270 2003-10-29  Paul Eggert  <eggert@twinsun.com>
126272         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
126274 2003-10-29  Paul Eggert  <eggert@twinsun.com>
126276         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
126277         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
126278         after the 'gnu' in these cases.  This fixes some bugs in the
126279         previous change, and is based on suggestions by Robert Millan.
126281 2003-10-29  Paul Eggert  <eggert@twinsun.com>
126283         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
126284         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
126285         no longer needed.
126286         * lib/quotearg.c (quotearg_n_options): Use it.
126287         * lib/group-member.c: Include <stdbool.h>.
126288         (free_group_info): Arg is now const *; don't free arg.
126289         (get_group_info): Now returns bool and accepts struct group_info *,
126290         rather than returning a malloc'ed struct group_info *.
126291         All uses changed.  Check for overflow in internal size calculation.
126293         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
126294         rather than xmalloc/xrealloc.
126295         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
126296         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
126297         conformance bug: the old code used a pointer after freeing the
126298         storage that it addressed.
126299         * lib/hash.c (hash_initialize): Simplify the code by using
126300         xalloc_oversized rather than doing it by hand.
126301         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
126302         the buffer preserved.  Use free and xmalloc instead.
126303         * lib/quotearg.c (quotearg_n_options): Likewise.
126304         Use a simpler test for size overflow.  Don't use xalloc_oversized
126305         because unsigned int might be wider than size_t (!); this suggests
126306         that we should switch from unsigned int to size_t for slot numbers.
126308 2003-10-28  Paul Eggert  <eggert@twinsun.com>
126310         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
126311         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
126312         NetBSD kernels.  Requested by Richard Stallman.
126314 2003-10-27  Paul Eggert  <eggert@twinsun.com>
126316         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
126317         to allocate the returned structure.  Do not allocate a subarray,
126318         as x2nrealloc will do that.
126319         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
126320         instead of xnrealloc.
126321         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
126323 2003-10-27  Bruno Haible  <bruno@clisp.org>
126325         * lib/stdbool_.h: Better support for BeOS.
126327 2003-10-26  Paul Eggert  <eggert@twinsun.com>
126329         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
126330         now uses inline.
126332 2003-10-26  Paul Eggert  <eggert@twinsun.com>
126334         * lib/xalloc.h (xalloc_oversized): New static inline function, for
126335         callers that want to do their own size-overflow checking.  Include
126336         <stdbool.h>, since xalloc_oversized returns bool.
126337         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
126338         to use xalloc_oversized.
126340         Add two functions x2realloc, x2nrealloc, for programs that grow
126341         arrays dynamically by doubling their sizes.
126342         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
126343         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
126344         New functions.
126346         Port to C99 semantics for 'inline' of external functions.
126347         Bug reported by Bruno Haible.
126348         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
126349         with the old contents of xnmalloc.
126350         (xnmalloc, xmalloc): Use it.
126351         (xnrealloc_inline): New static inline function,
126352         with the old contents of xnrealloc.
126353         (xnrealloc, xrealloc): Use it.
126355         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
126356         that.
126358 2003-10-26  Karl Berry  <karl@gnu.org>
126360         * config/srclist.txt (COPYING.DOC): no longer available from
126361         /gd/gnuorg; don't know where the ultimate source is.
126363 2003-10-25  Paul Eggert  <eggert@twinsun.com>
126365         Fix several address-calculation bugs in the hash modules,
126366         plus some minor code cleanup.
126368         * lib/hash.h: Include <stdbool.h>, for bool.
126369         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
126370         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
126371         hash_get_n_entries, hash_get_max_bucket_length,
126372         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
126373         hash_rehash): Use size_t rather than unsigned.
126374         * lib/hash.c (struct hash_table, hash_get_n_buckets,
126375         hash_get_n_buckets_used, hash_get_n_entries,
126376         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
126377         hash_get_entries, hash_do_for_each, hash_string, is_prime,
126378         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
126379         Likewise.
126380         (SIZE_MAX): Define if not defined.
126381         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
126382         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
126383         hash_print):
126384         Use const * when possible.
126385         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
126386         (check_tuning): Fix bug: if tuning parameters were very close to
126387         0 or 1, rounding errors could have caused subscript violations.
126388         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
126389         (hash_initialize): Add 'fail:' label
126390         to free table and return NULL, and use it to simplify code.
126391         Use calloc rather than clearing the storage ourself.
126392         (hash_initialize, hash_rehash): Check for arithmetic overflow in
126393         buffer size calculations.
126394         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
126395         Include <stddef.h>, for size_t.
126396         * lib/hash-pjw.c (hash_pjw): Likewise.
126397         Switch to method described by Bruno Haible.
126398         Include <limits.h>, for CHAR_BIT.
126399         (SIZE_BITS): New macro.
126401 2003-10-23  Paul Eggert  <eggert@twinsun.com>
126403         * m4/getline.m4 (AM_FUNC_GETLINE):
126404         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
126405         hosts.  Problem reported by Derek Robert Price in
126406         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
126407         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
126408         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
126410 2003-10-21  Paul Eggert  <eggert@twinsun.com>
126412         * lib/getndelim2.c (getndelim2): When size calculation overflows,
126413         ceiling the allocation at NMAX bytes rather than silently
126414         discarding input bytes before NMAX is reached.  This makes
126415         a difference only if NMAX exceeds SIZE_MAX / 2.
126417         * lib/obstack.c: Merge from glibc.
126418         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
126419         Add libc_hidden_def (_obstack_newchunk).
126420         (_obstack_free) [! defined _LIBC]: Remove.
126421         [defined _LIBC]: Make a strong alias from obstack_free, rather than
126422         a clone of the function body.
126423         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
126424         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
126426         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
126427         glibc.
126428         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
126429         arg to memcpy.
126431         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
126432         (obstack_ptr_grow_fast, obstack_int_grow_fast):
126433         Don't use lvalue casts, as GCC plans to remove support for them
126434         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
126435         was also present in the non-GCC version, indicating that this
126436         code had always been buggy and had never been widely used.
126437         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
126438         Use the fast variant of each macro, rather than copying the
126439         definiens of the fast variant; that way, we'll be more likely to
126440         catch future bugs in the fast variants.
126442 2003-10-20  Bruno Haible  <bruno@clisp.org>
126444         * modules/wait-process: New file.
126445         * MODULES.html.sh (func_all_modules): Add wait-process.
126447 2003-10-20  Bruno Haible  <bruno@clisp.org>
126449         * m4/wait-process.m4: New file.
126451 2003-10-20  Bruno Haible  <bruno@clisp.org>
126453         * lib/wait-process.h: New file, from GNU gettext.
126454         * lib/wait-process.c: New file, from GNU gettext.
126456 2003-10-19  Jim Meyering  <jim@meyering.net>
126458         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
126459         HPUX 10.20.
126461 2003-10-18  Karl Berry  <karl@gnu.org>
126463         * config/config.guess: update from config.
126465 2003-10-16  Paul Eggert  <eggert@twinsun.com>
126467         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
126468         (getgroups): First arg is int, not size_t.
126469         Don't let 'free' mangle errno.
126471 2003-10-16  Paul Eggert  <eggert@twinsun.com>
126473         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
126475 2003-10-16  Karl Berry  <karl@gnu.org>
126477         * config/config.{guess,sub}: update from config.
126479 2003-10-16  Jim Meyering  <jim@meyering.net>
126481         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
126482         memcpy.
126484 2003-10-15  Paul Eggert  <eggert@twinsun.com>
126486         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
126487         (SIZE_MAX): Remove.
126488         (new_exclude, add_exclude_file): Initial size no longer needs to
126489         be a power of 2.
126490         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
126491         our own address arithmetic overflow checking.
126493         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
126494         (fnmatch): Do not alloca more than 2000 wide characters;
126495         instead, use malloc for large buffers.
126496         Check for address arithmetic overflow, and return -1
126497         with errno set to ENOMEM in that case.
126498         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
126499         (NEW_PATTERN): Do not alloca more than 8000 bytes;
126500         instead, return -1.  Check for address arithmetic overflow.
126502 2003-10-14  Paul Eggert  <eggert@twinsun.com>
126504         Handle invalid suffixes and overflow independently, so that
126505         callers can treat them independently as needed.  Fix some bugs in
126506         suffix handling, e.g., "100k@" was not diagnosed as an invalid
126507         suffix for a human-readable blocksize.  The major caller-visible
126508         change is the addition of a new
126509         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
126510         that both overflow and suffix chars were found.
126512         * lib/human.c (humblock): Don't check separately for invalid suffix
126513         char; that is xstrtoumax's job (now that its bug is fixed).
126514         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
126515         INTMAX_MAX]: New macros.
126516         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
126517         TYPE_MAXIMUM): New macros.
126518         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
126519         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
126520         if overflow occurs, as it's what __strtol does and it's more useful
126521         in practice.
126522         (__xstrtol): If __strtol reports some error other than ERANGE,
126523         reflect it to the caller as LONGINT_INVALID.  If it reports
126524         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
126525         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
126526         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
126527         value.
126528         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
126529         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
126530         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
126531         [defined UINTMAX_MAX]: New macros.
126533 2003-10-14  Bruno Haible  <bruno@clisp.org>
126535         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
126537 2003-10-14  Bruno Haible  <bruno@clisp.org>
126539         * m4/sig_atomic_t: New file, from GNU gettext.
126540         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
126542 2003-10-14  Bruno Haible  <bruno@clisp.org>
126544         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
126545         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
126546         Also use volatile where needed.
126548 2003-10-12  Paul Eggert  <eggert@twinsun.com>
126550         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
126551         Change maintainer from Bruno Haible to 'all'.
126553 2003-10-12  Paul Eggert  <eggert@twinsun.com>
126555         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
126557 2003-10-12  Paul Eggert  <eggert@twinsun.com>
126559         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
126560         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
126561         and define in terms of the other primitives.
126562         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
126563         (SIZE_MAX): Define if not already defined.
126564         (array_size_overflow): New function.
126565         (xalloc_die): Abort instead of exiting if 'error' returns.
126566         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
126567         (xmalloc, xrealloc): Use them.
126568         (xcalloc): Check for address arithmetic overflow.
126569         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
126570         a bit faster than strcpy.
126572 2003-10-10  Simon Josefsson  <jas@extundo.com>
126574         * modules/argp (Depends-on): Add restrict and strcase.
126576 2003-10-10  Simon Josefsson  <jas@extundo.com>
126578         * m4/argp.m4: Add AC_C_INLINE.
126580 2003-10-08  Paul Eggert  <eggert@twinsun.com>
126582         Merge getpass from libc, plus a few fixes.
126584         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
126585         Include <stdbool.h>.
126586         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
126587         __fsetlocking to empty.
126588         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
126589         do include <bits/libc-lock.h>.
126590         Do not include <fcntl.h>; not needed.
126591         [_LIBC]: Include <wchar.h>.
126592         (NOTCANCEL_MODE): New macro.
126593         (flockfile, funlockfile) [_LIBC]: New macros.
126594         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
126595         [!_LIBC]: New macros.
126596         (call_fclose): New function.
126597         (getpass): Use it.  Save tty stream separately; this simplifies the
126598         code and makes it more reliable if stdin happens to equal stdout.
126599         Invoke __fsetlocking on tty.
126600         Handle thread cancellation if needed.
126601         Namespace cleanup (use __tcgetattr, __getline).
126602         Use bool for Booleans.
126603         [USE_IN_LIBIO]: Handle wide streams.
126604         [!_LIBC]: Unconditionally do the fseek, since we don't know what
126605         stream might go where.
126607         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
126608         doesn't have to include <stdio.h> before us.
126609         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
126610         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
126611         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
126612         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
126613         if not declared, so that we can use getpass.c code from libc without
126614         rewriting it.
126615         (flockfile, ftrylockfile, funlockfile): New macros.
126617 2003-10-08  Paul Eggert  <eggert@twinsun.com>
126619         * modules/getpass: Depend on stdbool.
126621 2003-10-08  Paul Eggert  <eggert@twinsun.com>
126623         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
126625 2003-10-07  Karl Berry  <karl@gnu.org>
126627         * config/config.{guess,sub}: update from config.
126629 2003-10-06  Jim Meyering  <jim@meyering.net>
126630             Bruno Haible  <bruno@clisp.org>
126632         This lets translators provide better translations for the
126633         "Written by ..." part of --version output.
126634         * lib/version-etc.h: Include stdarg.h.
126635         (version_etc_copyright): Declare as readonly.
126636         (version_etc): Make this function variadic with a NULL-terminated list
126637         of author name strings.
126638         (version_etc_va): New declaration.
126639         * lib/version-etc.c: Include stdarg.h, stdlib.h.
126640         (version_etc_copyright): Declare as readonly.
126641         (version_etc_va): New function. Provide a different translatable string
126642         for each possible number of authors < 10. Abbreviate when there are 10
126643         authors or more.
126644         (version_etc): Make this function variadic. Call version_etc_va.
126645         Suggestion from Gary V. Vaughan.
126647         * lib/long-options.h (parse_long_options): Change prototype: the
126648         authors string is moved to the end and becomes variadic.
126649         * lib/long-options.c: Include stdarg.h.
126650         (parse_long_options): Make this function variadic, too.
126651         Call version_etc_va, not version_etc.
126653 2003-10-06  Bruno Haible  <bruno@clisp.org>
126655         * modules/version-etc-2: Remove file.
126656         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
126658 2003-10-06  Bruno Haible  <bruno@clisp.org>
126660         * modules/fatal-signal: New file.
126661         * MODULES.html.sh (func_all_modules): Add fatal-signal.
126663 2003-10-06  Bruno Haible  <bruno@clisp.org>
126665         * m4/fatal-signal.m4: New file.
126666         * m4/signalblocking.m4: New file, from GNU gettext.
126668 2003-10-06  Bruno Haible  <bruno@clisp.org>
126670         * lib/version-etc-2.h: Remove file.
126671         * lib/version-etc-2.c: Remove file.
126673 2003-10-06  Bruno Haible  <bruno@clisp.org>
126675         * lib/fatal-signal.h: New file, from GNU gettext.
126676         * lib/fatal-signal.c: New file, from GNU gettext.
126678 2003-10-05  Paul Eggert  <eggert@twinsun.com>
126680         * README: Rework advice for preventing empty .o files.
126681         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
126682         not <sys/types.h>.
126684 2003-10-04  Karl Berry  <karl@gnu.org>
126686         * lib/argp*: update from libc.
126688 2003-10-04  Karl Berry  <karl@gnu.org>
126690         * config/config.{guess,sub}: update from config.
126692 2003-10-02  Bruno Haible  <bruno@clisp.org>
126694         * modules/lchown (Include): Add lchown.h.
126695         * modules/time_r (Include): Use "..." syntax.
126696         * modules/xgetdomainname (Include): Add xgetdomainname.h.
126698 2003-10-01  Simon Josefsson  <jas@extundo.com>
126700         * MODULES.html.sh (func_all_modules): Move gethostname from section
126701         'based on' to section 'lacking' POSIX:2001.
126703 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
126705         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
126706         to output mode on the same stream.
126708 2003-09-29  Paul Eggert  <eggert@twinsun.com>
126710         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
126711         Fix arg typo in previous patch.
126713 2003-09-28  Jim Meyering  <jim@meyering.net>
126715         * lib/error.c: Correct cpp indentation.
126717 2003-09-27  Paul Eggert  <eggert@twinsun.com>
126719         * modules/free: New file.
126721 2003-09-27  Paul Eggert  <eggert@twinsun.com>
126723         * m4/free.m4: New file.
126725 2003-09-27  Paul Eggert  <eggert@twinsun.com>
126727         * lib/minmax.h (MIN, MAX)
126728         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
126729         Omit the special code that used __typeof__, since we worry that
126730         it could be more trouble than it's worth.  See:
126731         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
126732         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
126734         * lib/free.c: New file.
126736 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
126738         Trivial fixes to Makefile.am parts of module listings.
126739         * modules/strstr: Append strstr.h to lib_SOURCES.
126740         * modules/strcase: Likewise, for strcase.h.
126742 2003-09-27  Karl Berry  <karl@gnu.org>
126744         * config/mkinstalldirs: update from automake.
126746 2003-09-26  Paul Eggert  <eggert@twinsun.com>
126748         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
126749         (error_tail): Do not loop, reallocating temporary buffer, since
126750         the output cannot contain more wide characters than the input
126751         contains bytes, the size must be big enough already.  This avoids
126752         one potential size overflow calculation.  Check for size overflow
126753         when calculating temporary buffer size.  Free temporary buffer
126754         when done, if it was allocated with malloc; this plugs a memory
126755         leak.  Remove casts from void * to pointers, that are no longer
126756         needed now that we're assuming C89 or better.
126758         Merge error changes from glibc.
126760         * lib/error.c, error.h: Update copyright notice header to match glibc.
126761         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
126762         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
126763         Disable cancellation while printing error.
126764         * lib/error.h: Prepend __ to parameter names.
126766 2003-09-26  Jim Meyering  <jim@meyering.net>
126768         * lib/error.c (error_tail): Move some declarations
126769         into inner scope where the local variables are used.
126771 2003-09-26  Bruno Haible  <bruno@clisp.org>
126773         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
126774         stpncpy().
126775         Don't define stpncpy through config.h; it's now done through stpncpy.h.
126777 2003-09-26  Bruno Haible  <bruno@clisp.org>
126779         * lib/stpncpy.h (gnu_stpncpy): New declaration.
126780         (stpncpy): Define as alias for gnu_stpncpy.
126781         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
126783 2003-09-25  Simon Josefsson  <jas@extundo.com>
126785         * lib/xgetdomainname.h: New file.
126786         * lib/xgetdomainname.c: New file.
126788 2003-09-25  Simon Josefsson  <jas@extundo.com>
126789             Bruno Haible  <bruno@clisp.org>
126791         * modules/getdomainname: New file.
126792         * modules/xgetdomainname: New file.
126793         * MODULES.html.sh (func_all_modules): Add getdomainname,
126794         xgetdomainname.
126796 2003-09-25  Simon Josefsson  <jas@extundo.com>
126797             Bruno Haible  <bruno@clisp.org>
126799         * m4/getdomainname.m4: New file.
126801 2003-09-25  Simon Josefsson  <jas@extundo.com>
126802             Bruno Haible  <bruno@clisp.org>
126804         * lib/getdomainname.h: New file.
126805         * lib/getdomainname.c: New file.
126807 2003-09-25  Karl Berry  <karl@gnu.org>
126809         * lib/argp-fmtstream.c, argp-help.c: update from libc.
126811 2003-09-25  Karl Berry  <karl@gnu.org>
126813         * config/install-sh: update from automake.
126815 2003-09-25  Bruno Haible  <bruno@clisp.org>
126817         * modules/version-etc-2: New file, from modules/version-etc with
126818         modifications.
126819         * MODULES.html.sh (func_all_modules): Add version-etc-2.
126821 2003-09-25  Bruno Haible  <bruno@clisp.org>
126823         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
126824         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
126826 2003-09-24  Simon Josefsson  <jas@extundo.com>
126828         * modules/xgethostname: Add xgethostname.h.
126830 2003-09-24  Paul Eggert  <eggert@twinsun.com>
126832         * lib/linebuffer.c (freebuffer): Don't free the argument, just
126833         the buffer associated with the argument.  Bug reported by
126834         Simon Josefsson.
126836 2003-09-24  Paul Eggert  <eggert@twinsun.com>
126838         * README: Document assumptions that 'int' is at least 32 bits
126839         wide, that integer arithmetic is 2's complement without overflow,
126840         that there are no holes in integer values, that adding sizes of
126841         two nonoverlapping objects can't overflow, and that all-bits-zero
126842         yields scalar zero.  Fix spelling and capitalization typos.
126844 2003-09-19  Karl Berry  <karl@gnu.org>
126846         * lib/argp.h: update from libc.
126848 2003-09-17  Paul Eggert  <eggert@twinsun.com>
126850         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
126851         to avoid spurious warnings like "AC_RUN_IFELSE was called before
126852         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
126854 2003-09-17  Paul Eggert  <eggert@twinsun.com>
126856         * gnulib-tool: Use "test -h", not "test -L", for portability
126857         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
126858         (tags_regexp): Remove, since \| doesn't conform to POSIX.
126859         (sed_extract_prog): Issue s commands one-by-one, rather than
126860         using \| in one s command.
126862 2003-09-16  Paul Eggert  <eggert@twinsun.com>
126864         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
126865         input error, instead of returning NULL the next time we are called
126866         (and therefore losing track of errno).
126868 2003-09-16  Bruno Haible  <bruno@clisp.org>
126870         * gnulib-tool (func_create_testdir): Warn about duplicated
126871         dependencies.
126873 2003-09-15  Paul Eggert  <eggert@twinsun.com>
126875         * modules/argmatch, modules/fatal, modules/obstack,
126876         modules/xalloc, modules/xgethostname: Sort dependencies by
126877         importance, not alphabetically.
126879 2003-09-15  Paul Eggert  <eggert@twinsun.com>
126881         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
126882         fails, so that the caller gets the proper errno.
126884         * lib/readutmp.c (read_utmp): Likewise.
126885         Check for fstat error.  Close stream and free storage
126886         when failing.
126888 2003-09-14  Karl Berry  <karl@gnu.org>
126890         * config/srclist.txt (strdup.c): disable for c89 changes.
126892 2003-09-14  Jim Meyering  <jim@meyering.net>
126894         * lib/getloadavg.c: Correct cpp indentation.
126895         * lib/strdup.c: Likewise.
126896         * lib/vasnprintf.c: Likewise.
126898 2003-09-14  Bruno Haible  <bruno@clisp.org>
126900         * modules/fwriteerror: New file.
126901         * MODULES.html.sh (func_all_modules): Add fwriteerror.
126903 2003-09-14  Bruno Haible  <bruno@clisp.org>
126905         * lib/fwriteerror.h: New file.
126906         * lib/fwriteerror.c: New file.
126908 2003-09-12  Paul Eggert  <eggert@twinsun.com>
126910         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
126911         modules/xgethostname, modules/xalloc: Depend on exit.
126913 2003-09-12  Paul Eggert  <eggert@twinsun.com>
126915         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
126917         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
126918         and AC_MINIX, too, so that their extensions are available.
126920         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
126921         This macro has been superseded by gl_BACKUPFILE.
126923         More patches to assume C89 or better.
126925         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
126927         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
126928         unconditionally.
126929         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
126930         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
126931         Include <string.h>, <stdlib.h> unconditionally.
126932         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
126933         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
126934         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
126935         headers or for string.h.
126936         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
126937         or strtoul.
126939         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
126940         headers.
126941         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
126942         * m4/userspec.m4 (gl_USERSPEC): Likewise.
126943         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
126944         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
126945         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
126946         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
126947         memcpy, memset.
126948         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
126949         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
126950         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
126951         strtol.
126952         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
126953         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
126954         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
126955         strtoul.
126957 2003-09-12  Paul Eggert  <eggert@twinsun.com>
126959         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
126960         * lib/obstack.c [!defined _LIBC]: Likewise.
126961         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
126962         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
126963         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
126965         More changes to assume C89 or better.
126967         * lib/error.c (error_tail): Assume vprintf.
126969         * lib/argmatch.c (getenv): Remove decl.
126970         * lib/progreloc.c (get_full_program_name): Define via prototype.
126971         * lib/setenv.c (clearenv): Likewise.
126972         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
126973         needed.
126974         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
126975         (malloc, memcpy): Remove decls.
126976         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
126977         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
126978         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
126979         (memcpy): Remove macro.
126980         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
126981         (__P): Remove.  All uses removed.
126982         (PTR): Remove.  All uses changed to void *.
126983         (CHAR_BIT, NULL): Remove.
126984         (spaces, zeros, memset_space, memset_zero)
126985         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
126986         Remove.
126987         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
126988         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
126989         Define with prototype.
126990         Remove now-unnecessary prototype decl.
126991         (extra_args_spec): Assume ANSI C.  All uses changed.
126992         (extra_args_spec_iso): Remove.
126993         (my_strftime, emacs_strftimeu): Define via prototype.
126994         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
126995         unconditionally.
126996         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
126997         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
126998         (strtoul, strtol): Remove decls.
126999         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
127000         LONG_MAX): Remove.
127001         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
127002         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
127003         (LOCALE_PARAM_PROTO): New macro.
127004         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
127005         (INTERNAL (strtol), strtol): Define with a prototype.
127006         (PARAMS): Remove.  All uses removed.
127007         * lib/tempname.c: Include <string.h> unconditionally.
127008         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
127009         * lib/xgethostname.c (main): Define with a prototype.
127010         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
127011         Include <stdlib.h> unconditionally.
127012         (calloc, malloc, realloc, free): Remove decls.
127013         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
127014         Include <stdlib.h> unconditionally.  Sort include file names.
127015         (strtod): Remove.
127016         (xstrtod): Define with a prototype.
127017         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
127018         (strtol, strtoul): Remove decls.
127020 2003-09-11  Paul Eggert  <eggert@twinsun.com>
127022         More patches to assume C89 or better.
127023         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
127024         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
127025         string.h, memchr, STDC_HEADERS.
127027 2003-09-11  Paul Eggert  <eggert@twinsun.com>
127029         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
127030         Include <stdlib.h>, <string.h> unconditionally.
127031         Remove now-unnecessary cast to char *.
127032         * lib/strnlen.c: Include <string.h> unconditionally.
127033         * lib/yesno.c (yesno): Define with a prototype.
127035 2003-09-11  Bruno Haible  <bruno@clisp.org>
127037         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
127039 2003-09-10  Jim Meyering  <jim@meyering.net>
127041         * lib/error.c: Correct indentation of cpp directives.
127043 2003-09-10  Bruno Haible  <bruno@clisp.org>
127045         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
127046         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
127047         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
127048         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
127049         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
127050         <stdlib.h> and <string.h> checks.
127051         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
127052         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
127054 2003-09-10  Bruno Haible  <bruno@clisp.org>
127056         * lib/strcspn.c: Include <string.h> unconditionally.
127057         * lib/strpbrk.c: Include <string.h> unconditionally.
127058         * lib/strstr.c: Include <string.h> unconditionally.
127059         * lib/unicodeio.c: Include <string.h> unconditionally.
127060         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
127061         * lib/unsetenv.c: Likewise.
127062         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
127063         * lib/yesno.c: Include <stdlib.h> unconditionally.
127064         (rpmatch): Add prototype.
127066 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127068         More patches to assume C89 or better.
127069         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
127070         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
127071         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
127072         or for string.h.
127073         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
127074         stdlib.h.
127075         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
127076         C headers.
127077         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
127078         string.h.
127079         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
127080         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
127081         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
127082         or for string.h.
127083         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
127084         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
127085         C headers.
127086         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
127087         memcpy.
127088         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
127089         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
127090         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
127091         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
127092         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
127093         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
127094         string.h, free.
127095         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
127096         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
127097         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
127098         C headers, or for string.h.
127099         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
127100         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
127101         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
127102         headers, memory.h, stdlib.h, string.h, strings.h.
127103         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
127104         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
127105         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
127106         strchr.
127107         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
127108         headers, memory.h, string.h.
127109         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
127110         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
127111         free.
127112         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
127113         headers.
127114         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
127115         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
127116         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
127117         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
127118         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
127120 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127122         More K&R removal.
127124         * lib/acosl.c (main): Use a prototype.
127125         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
127126         tanl.c: Likewise.
127128         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
127130         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
127131         (getopt, etopt_long, getopt_long_only, _getopt_internal)
127132         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
127133         with a prototype.
127134         * lib/getopt.c (const): Remove macro.
127135         Include <string.h> unconditionally.
127136         (my_index): Remove; all uses changed to strchr.
127137         (strlen): Remove decl.
127138         (exchange): Remove forward decl; no longer needed.
127139         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
127140         Define with prototype.
127141         * lib/getopt1.c (const): Remove macro.
127142         (getopt_long, getopt_long_only, main): Define with prototype.
127144         * lib/getugroups.c: Include <string.h> unconditionally.
127146         * lib/getusershell.c: Include <stdlib.h> unconditionally.
127147         (getusershell, setusershell, endusershell, readname, main):
127148         Define with prototypes.
127150         * lib/group-member.c: Include group-member.h first.
127151         Include <stdlib.h> unconditionally.
127153         * lib/hard-locale.c: Include hard-locale.h first.
127154         Include <stdlib.h>, <string.h> unconditionally.
127156         * lib/hash.c (free, malloc): Remove decls.
127157         Include <stdlib.h> unconditionally.
127159         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
127160         (getenv): Do not declare.
127162         * lib/idcache.c: Include <string.h> unconditionally.
127164         * lib/long-options.c: Include long-options.h first, to test interface.
127165         Include <stdlib.h> unconditionally.
127167         * lib/makepath.c: Include makepath.h first, to test interface.
127168         Include <stdlib.h> and <string.h> unconditionally.
127170         * lib/linebuffer.c: Include <stdlib.h>.
127171         (free): Remove decl.
127173         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
127174         stddef.h. rpl_malloc returns void *, not char *.
127175         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
127176         prototype.
127178         * lib/md5.h: Include <limits.h> unconditionally.
127179         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
127180         (__P): Remove; all uses removed.
127181         * lib/md5.c: Include "md5.h" first.
127182         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
127183         md5_buffer, md5_process_bytes, md5_process_block):
127184         Define with prototypes.
127185         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
127186         * lib/sha.c: Include "sha.h" first.
127187         Include <stdlib.h>, <string.h> unconditionally.
127189         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
127190         * lib/memcmp.c (__ptr_t): Likewise.
127191         * lib/memrchr.c (__ptr_t): Likewise.
127192         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
127193         Include <string.h> unconditionally.
127194         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
127195         * lib/memchr.c: Include <stdlib.h> unconditionally.
127196         * lib/memchr.c (LONG_MAX): Remove.
127197         * lib/memrchr.c (LONG_MAX): Likewise.
127198         * lib/memchr.c (__memchr): Define via a prototype.
127199         * lib/memrchr.c (__memrchr): Likewise.
127200         * lib/memcmp.c (__P): Remove, and remove all uses.
127201         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
127202         Remove forward decls; no longer needed.
127203         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
127204         Use types required by C89 in prototype.
127206         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
127207         * lib/savedir.c: Likewise.
127208         * lib/mkdir.c (free): Remove decl.
127209         * lib/rmdir.c (rmdir): Define with a prototype.
127210         * lib/savedir.c: Include savedir.h first, to test interface.
127212         * lib/mktime.c (STDC_HEADERS): Remove.
127213         Include <stdlib.h>, <string.h> unconditionally.
127215         * lib/modechange.c: Include <stdlib.h> unconditionally.
127216         (malloc): Remove decl.
127218         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
127219         (free): Remove decl.
127221         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
127222         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
127223         (This type really should be intptr_t, but that's a C99ism.)
127224         (_obstack_memcpy): Remove: all uses changed to memcpy.
127225         Include <string.h> unconditionally.
127226         (struct obstack): Assume __STDC__ for types of members
127227         chunkfun, freefun, extra_arg.
127228         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
127229         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
127230         obstack_begin, obstack_specify_allocation,
127231         obstack_specify_allocation_with_arg, obstack_chunkfun,
127232         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
127233         Remove unprototyped decls and the macros that use them.
127234         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
127235         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
127236         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
127237         (defined __STDC__ && __STDC__)]:
127238         Remove nonprototyped code.
127239         Include <stdlib.h> unconditionally.
127240         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
127241         _obstack_allocated_p, _obstack_free, obstack_free,
127242         _obstack_memory_used, print_and_abort):
127243         Define using prototypes.
127244         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
127245         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
127246         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
127247         obstack_next_free, obstack_object_size, obstack_room) [0]:
127248         Remove unused, unprototyped code.
127250         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
127252         * lib/physmem.c (physmem_total, physmem_available, main): Define
127253         with prototypes.
127255         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
127256         (main): Define with a prototype.
127258         * lib/posixver.c (getenv): Remove decl.
127260         * lib/putenv.c (malloc): Returns void *, not char *.
127261         Include <string.h> unconditionally.
127262         (strchr, memcpy, NULL): Do not define.
127264         * lib/readtokens.c: Include readtokens.h first, to test interface.
127265         Include <stdlib.h>, <string.h> unconditionally.
127266         (init_tokenbuffer): Define with a prototype.
127268         * lib/regex.c (PARAMS): Remove.  All uses removed.
127269         All uses of _RE_ARGS removed, too.
127270         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
127271         unconditionally.
127272         (bzero): Assume memset exists.
127273         (memcmp, memcpy, NULL): Remove.
127274         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
127275         char, or assignments to local vars of type signed char.
127276         (init_syntax_once, PREFIX(extract_number_and_incr),
127277         PREFIX(print_partial_compiled_pattern),
127278         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
127279         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
127280         PREFIX(regex_grow_registers), PREFIX(regex_compile),
127281         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
127282         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
127283         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
127284         wcs_compile_range, byte_compile_range, truncate_wchar,
127285         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
127286         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
127287         count_mbs_length, wcs_re_match_2_internal,
127288         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
127289         PREFIX(alt_match_null_string_p),
127290         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
127291         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
127292         regfree, PREFIX(extract_number)): Define with prototype.  Remove
127293         now-unnecessary declaration, if any.
127294         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
127295         regcomp, regexec):
127296         Remove now-unnecessary casts among pointer types.
127297         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
127299         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
127300         (free): Remove decl.
127302         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
127304         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
127305         (free): Remove decl.
127307         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
127308         * lib/xgetcwd.c: Likewise.
127310         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
127311         (free): Remove decl.
127313         * lib/strchrnul.c (strchrnul): Define with a prototype.
127314         Fix bug: c_in was not converted to char before searching.
127316         The following changes are not K&R related:
127318         * lib/group-member.h: Include <sys/types.h>, so that this file is
127319         self-contained.
127320         * lib/makepath.h: Likewise.
127322         * lib/getusershell.c (readname, default_index, line_size, readname):
127323         Use size_t, not int, for sizes.
127324         (readname): If the size overflows, report an error instead of
127325         looping forever.
127327 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127329         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
127330         libc.
127332 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127334         * README: New section: portability guidelines.
127336 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
127338         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
127339         C89 spec.
127341 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
127343         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
127345 2003-09-08  Paul Eggert  <eggert@twinsun.com>
127347         Assume C89 or better; remove K&R cruft.
127348         A few of these changes were first proposed by Derek Robert Price
127349         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
127351         * lib/addext.c: Include <string.h> unconditionally.
127352         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
127353         Don't declare getenv or malloc.
127355         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
127356         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
127357         (NULL): Remove.
127358         (find_stack_direction, alloca): Use prototypes.
127360         * lib/atexit.c (atexit): Define using a prototype.
127362         * lib/basename.c, dirname.c, stripslash.c:
127363         Include <string.h> unconditionally.
127365         * lib/bcopy.c: Include <stddef.h>.
127366         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
127368         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
127370         * lib/error.h (error, error_at_line, error_print_progname)
127371         [! (defined (__STDC__) && __STDC__)]: Remove decls.
127372         * lib/error.c: Include error.h first, to check interface.
127373         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
127374         (VA_START): Remove; all uses changeed to va_start.
127375         (exit, strerror): Remove decls.
127376         (error_print_progname): Prototype uncondionally.
127377         Don't include <errno.h>; no longer needed.
127378         (private_strerror): Remove.
127379         (error_tail): Always define.
127380         (error, error_at_line): Assume C89 or better; always use prototypes.
127381         * lib/fatal.c: Include "fatal.h" first, to test interface.
127382         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
127383         (VA_START): Remove; all uses changed to va_start.
127384         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
127385         this case.
127386         (exit): Remove decl.
127387         (fatal): Prototype unconditionally.  Assume va_start works.
127388         Abort at end, to pacify gcc.
127390         * lib/euidaccess.c (main): Define with a prototype.
127392         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
127394         * lib/exitfail.c: Include <stdlib.h> unconditionally.
127396         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
127397         prototypes.
127398         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
127399         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
127400         (getenv): Remove decl.
127401         (fnmatch): Define using a prototype.
127402         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
127403         (FCT): Define using a prototype.
127405         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
127407         * lib/gethostname.c: Include <stddef.h>.
127408         (gethostname): Define with prototype.  Length is size_t, not int.
127410 2003-09-08  Paul Eggert  <eggert@twinsun.com>
127412         Assume C89 or better; remove K&R cruft.
127413         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
127414         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
127415         string.h, getenv, malloc.
127416         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
127417         headers.
127418         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
127419         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
127420         do not check for strerror.
127421         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
127422         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
127423         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
127424         do not check for doprnt or vprintf.
127425         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
127426         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
127428 2003-09-08  Paul Eggert  <eggert@twinsun.com>
127430         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
127431         getversion.c should have been removed then, but was accidentally
127432         preserved.
127434         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
127435         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
127437 2003-09-08  Karl Berry  <karl@gnu.org>
127439         * config/config.sub, config.guess, srclistvars.sh: update from savannah
127440                 config, forget about prep.
127442         * config/depcomp, missing: update from automake.
127444 2003-09-07  Paul Eggert  <eggert@twinsun.com>
127446         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
127447         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
127449 2003-09-07  Paul Eggert  <eggert@twinsun.com>
127451         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
127452         copy_tm_result.  Bug reported by Simon Josefsson in
127453         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
127455 2003-09-06  Paul Eggert  <eggert@twinsun.com>
127457         * m4/time_r.m4: New file.
127458         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
127459         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
127460         is. Check for timegm declaration.
127461         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
127462         Do not check for gmtime_r.
127463         Replace mktime if __mktime_internal does not exist and if mktime
127464         hasn't been replaced already.
127466 2003-09-06  Paul Eggert  <eggert@twinsun.com>
127468         * lib/time_r.c, lib/time_r.h: New files.
127470         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
127471         __localtime_r.
127472         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
127473         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
127475         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
127476         __gmtime_r.
127477         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
127478         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
127479         Include <time_r.h>.
127481         * lib/timegm.c: Switch to glibc implementation, with the following
127482         changes:
127483         [defined HAVE_CONFIG_H]: Include <config.h>.
127484         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
127485         (__mktime_internal) [!defined _LIBC]: New decl.
127486         (__gmtime_r) [!defined _LIBC]: New macro and function.
127487         (timegm): Use a prototype, since gnulib assumes C89.
127488         Do not bother declaring tmp to be const, as it's not really usefu.
127489         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
127490         (timegm): Declare only if HAVE_DECL_TIMEGM.
127492 2003-09-06  Paul Eggert  <eggert@twinsun.com>
127494         * MODULES.html.sh (func_all_modules): Add time_r.
127495         * modules/time_r: New file.
127496         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
127497         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
127499 2003-09-03  Paul Eggert  <eggert@twinsun.com>
127501         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
127502         Bug reported by Lute Kamstra in
127503         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
127505         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
127506         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
127507         course with correspondingly smaller numbers for tomorrow and
127508         yesterday.  From Tadayoshi Funaba.  Originally installed into
127509         sh-utils on 1999-08-07, but the patch got lost (I guess during the
127510         coreutils merge?).
127512 2003-08-31  Simon Josefsson  <jas@extundo.com>
127514         * modules/timegm: New file.
127515         * MODULES.html.sh (func_all_modules): Add timegm.
127517 2003-08-31  Simon Josefsson  <jas@extundo.com>
127519         * m4/timegm.m4: New file.
127521 2003-08-31  Simon Josefsson  <jas@extundo.com>
127523         * lib/timegm.h: New file.
127524         * lib/timegm.c: New file.  Based on
127525         wget-1.8.2/src/http.c:mktime_from_utc.
127527 2003-08-31  Karl Berry  <karl@gnu.org>
127529         * lib/argp.h: update from libc.
127531 2003-08-28  Bruno Haible  <bruno@clisp.org>
127533         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
127534         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
127535         followed by '#define fnmatch fnmatch_posix' gives an error.
127537 2003-08-28  Bruno Haible  <bruno@clisp.org>
127539         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
127540         warning on QNX, which defines O_BINARY to 000000.
127542 2003-08-27  Jim Meyering  <jim@meyering.net>
127544         * m4/mkstemp.m4: Require that the system mkstemp be able to create
127545         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
127546         would fail after 32.  Reported by Danny Levinson.  Details here:
127547         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
127549 2003-08-24  Bruno Haible  <bruno@clisp.org>
127551         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
127552         MSVC7 <stdio.h> is included later.
127554 2003-08-22  Simon Josefsson  <jas@extundo.com>
127556         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
127558 2003-08-20  Karl Berry  <karl@gnu.org>
127560         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
127562 2003-08-20  Bruno Haible  <bruno@clisp.org>
127564         * modules/progname: New file.
127565         * MODULES.html.sh (func_all_modules): Add progname.
127567 2003-08-20  Bruno Haible  <bruno@clisp.org>
127569         * lib/progname.h: New file, from GNU gettext.
127570         * lib/progname.c: New file, from GNU gettext.
127571         * lib/progreloc.c: New file, from GNU gettext.
127573 2003-08-19  Jim Meyering  <jim@meyering.net>
127575         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
127576         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
127578 2003-08-19  Bruno Haible  <bruno@clisp.org>
127580         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
127581         more.
127583 2003-08-19  Bruno Haible  <bruno@clisp.org>
127585         * lib/xstrdup.c: Assume <string.h> exists.
127587 2003-08-18  Paul Eggert  <eggert@twinsun.com>
127589         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
127590         in makefile rules.
127592 2003-08-18  Jim Meyering  <jim@meyering.net>
127594         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
127595         * m4/lib-ld.m4: Likewise.
127597 2003-08-18  Jim Meyering  <jim@meyering.net>
127599         * lib/setenv.h: Indent nested cpp directive.
127600         * lib/vasnprintf.c: Remove trailing blanks.
127602 2003-08-17  Simon Josefsson  <jas@extundo.com>
127604         * modules/xstrndup: New file.
127605         * MODULES.html.sh (func_all_modules): Add xstrndup.
127607 2003-08-17  Simon Josefsson  <jas@extundo.com>
127609         * modules/argp: Fix autoconf macro name. Add more dependencies.
127611 2003-08-17  Simon Josefsson  <jas@extundo.com>
127613         * m4/xstrndup.m4: New file.
127615 2003-08-17  Simon Josefsson  <jas@extundo.com>
127617         * m4/argp.m4: New file.
127619 2003-08-17  Simon Josefsson  <jas@extundo.com>
127620             Bruno Haible  <bruno@clisp.org>
127622         * lib/xstrndup.h: New file.
127623         * lib/xstrndup.c: New file.
127625 2003-08-17  Bruno Haible  <bruno@clisp.org>
127627         * modules/strndup (Files, Include): Add lib/strndup.h.
127629 2003-08-17  Bruno Haible  <bruno@clisp.org>
127631         * modules/euidaccess (Files): Add lib/euidaccess.h.
127633 2003-08-17  Bruno Haible  <bruno@clisp.org>
127635         * lib/strndup.h: New file.
127637 2003-08-17  Bruno Haible  <bruno@clisp.org>
127639         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
127640         like AC_GNU_SOURCE.
127641         * modules/extensions (configure.ac): Comment out the invocation of
127642         gl_USE_SYSTEM_EXTENSIONS.
127644 2003-08-16  Paul Eggert  <eggert@twinsun.com>
127646         Merges from coreutils, etc.
127647         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
127648         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
127649         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
127650         fixing a typo.
127651         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
127652         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
127654 2003-08-16  Paul Eggert  <eggert@twinsun.com>
127656         Document merge from coreutils.
127657         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
127658         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
127659         * modules/utime: Add m4/utimes-null.m4.
127661 2003-08-16  Paul Eggert  <eggert@twinsun.com>
127663         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
127664         space, undoing this 2003-08-12 change:
127665         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
127667 2003-08-16  Paul Eggert  <eggert@twinsun.com>
127669         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
127670         strtoul.c from libc, undoing this 2003-08-12 change:
127671         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
127673 2003-08-16  Jim Meyering  <jim@meyering.net>
127675         Merges from coreutils.
127676         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
127677         prefix.  Adjust cache variables similarly.  Create 500 rather than
127678         just 300 files, to exercise bug on Darwin6.5, too.
127679         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
127680         $missing_dir.
127681         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
127682         AM_SYS_POSIX_TERMIOS.
127683         Reported by mkc@mathdogs.com.
127684         Also change use of $am_cv_sys_posix_termios
127685         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
127686         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
127687         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
127688         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
127689         in /proc/mounts until it finds one with matching device number.  This
127690         is unnecessary when the FILE argument *is* a mount point.  No stat call
127691         is necessary in that case.  So, disable the statvfs-testing code on
127692         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
127693         as RedHat bug# 84846.
127694         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
127695         to 1MB, so as not to render systems with no stack size limit (e.g.,
127696         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
127697         Include <unistd.h>.  On some systems,
127698         it is required for the definition of _SC_PAGESIZE.
127700 2003-08-16  Jim Meyering  <jim@meyering.net>
127702         Merge from coreutils.
127703         * lib/xstrtoimax.c: #else #if -> #elif.
127704         * lib/xstrtoumax.c: Likewise.
127706 2003-08-16  Jim Meyering  <jim@meyering.net>
127708         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
127709         * m4/utimes.m4: Removed.
127710         * m4/utimes-null.m4: Renamed from utimes.m4.
127712         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
127713         to 1MB, so as not to render systems with no stack size limit (e.g.,
127714         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
127715         Include <unistd.h>.  On some systems,
127716         it is required for the definition of _SC_PAGESIZE.
127718 2003-08-16  Jim Meyering  <jim@meyering.net>
127719         and Paul Eggert  <eggert@cs.ucla.edu>
127721         Merges from coreutils, etc.
127723         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
127724         using the latest version from cvs.  This avoids problems with #line
127725         directives using a vendor (Sun) compiler.
127726         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
127727         Don't set GETGROUPS_LIB here; now it's
127728         done via getgroups.m4's wrapper function.
127729         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
127730         rather than just in sh-util/configure.in, so that the
127731         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
127732         same.
127733         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
127734         AC_FUNC_GETLOADAVG where to find getloadavg.c.
127735         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
127736         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
127737         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
127738         Remove code that is now done by the newly-required macros.
127739         Append $(EXEEXT) to DF_PROG.
127740         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
127741         Do not invoke or require the following here,
127742         since prereq.m4 or some gnulib .m4 now does this for us:
127743         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
127744         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
127745         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
127746         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
127747         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
127748         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
127749         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
127750         AC_FUNC_OBSTACK.
127751         Do not replace the following functions, as this is now the job
127752         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
127753         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
127754         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
127755         atexit getpass, strdup, getpagesize.
127756         Replace 'raise'.
127757         Do not check for the following functions, as this is now the job
127758         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
127759         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
127760         setregid.
127761         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
127762         Check for sys/sysctl.h.
127763         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
127764         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
127765         of checking for ssize_t ourselves.
127767         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
127768         Require every macro that gnulib/modules/* suggests for us.
127769         (jm_PREREQ_ADDEXT): New macro.
127770         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
127771         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
127773         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
127774         (gl_PHYSMEM): Use it.
127775         Also check for `table' function.
127776         Check for new headers and functions.
127777         Add check for sys/sysmp.h.
127778         With suggestions from Kaveh Ghazi.
127779         Ignore headers that are present but cannot be compiled.  This
127780         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
127781         C 5.4.
127783 2003-08-15  Paul Eggert  <eggert@twinsun.com>
127785         Document merge from coreutils.
127786         * modules/userspec: Depend on posixver.
127787         * modules/strftime: Depend on tzset.
127789 2003-08-15  Paul Eggert  <eggert@twinsun.com>
127791         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
127792         rather than tab, after '#' in shell-script copyright notices.
127793         Suggested by Bruno Haible.
127795 2003-08-15  Paul Eggert  <eggert@twinsun.com>
127797         * config/srclist-update: Use three spaces, rather than tab, after '#'
127798         in shell-script copyright notices.  Suggested by Bruno Haible.
127799         Remove unnecessary parenthesization in regular expression.
127801 2003-08-15  Jim Meyering  <jim@meyering.net>
127803         Merge from coreutils.
127804         * lib/xgethostname.c: Include <stdlib.h>.
127805         (xghostname): Don't exit for anything other than memory-related
127806         failure; just return NULL.
127807         * lib/userspec.c: Include "posixver.h".
127808         (parse_user_spec): Accept `.' as a separator only
127809         in pre-POSIX-200112 mode.
127810         * lib/strtoimax.c: Use #elif rather than #else #if.
127811         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
127812         Remove function, now that we can rely on a working tzset function.
127813         [!_LIBC]: Ensure that the required autoconf test has been run.
127814         [!defined _NL_CURRENT && HAVE_STRFTIME]:
127815         Use underlying_strftime for %r.
127816         * lib/sha.c: Merge in some clean-up and optimization changes from
127817         glibc.
127818         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
127819         Ensure that it is a multiple of 64.
127820         Rearrange loop exit tests so as to avoid performing an
127821         additional fread after encountering an error or EOF.
127822         * lib/realloc.c: Update copyright date.
127824 2003-08-15  Jim Meyering  <jim@meyering.net>
127825         and Paul Eggert  <eggert@twinsun.com>
127827         Merge from coreutils.
127828         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
127829         member but strut utmpx does not.  Needed for AIX 4.3.3.
127830         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
127832 2003-08-15  Jim Meyering  <jim@meyering.net>
127833         and Paul Eggert  <eggert@cs.ucla.edu>
127835         Merges from coreutils, etc.
127836         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
127837         Require gl_FUNC_TZSET_CLOBBER.
127838         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
127839         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
127840         members.
127842 2003-08-14  Paul Eggert  <eggert@twinsun.com>
127844         Help the merge from coreutils.
127845         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
127846         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
127847         * m4/tzset.m4: Use it too.
127849 2003-08-14  Paul Eggert  <eggert@twinsun.com>
127851         * modules/tzset: New file.
127853 2003-08-14  Jim Meyering  <jim@meyering.net>
127855         Merges from coreutils.
127856         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
127857         variable names, rather than @FNMATCH_H@.
127858         * modules/alloca: Likewise for $(ALLOCA_H).
127860         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
127861         the three copies of the literal target, `fnmatch.h'.
127862         * modules/alloca (alloca.h): Likewise.
127864 2003-08-14  Jim Meyering  <jim@meyering.net>
127866         Merge from coreutils.
127867         * m4/tzset.m4: New file.
127868         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
127869         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
127870         otherwise, AIX 5.1 systems would end up using the latter.
127871         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
127872         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
127873         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
127874         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
127876 2003-08-14  Jim Meyering  <jim@meyering.net>
127878         Merge from coreutils.
127879         * lib/obstack.h: Whitespace changes.
127880         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
127881         and xcalloc return values.
127882         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
127883         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
127884         hang on OSF/1 5.1 for DIR on both local and remote file systems.
127885         Reported by (and fix confirmed by) Nelson H. F. Beebe.
127886         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
127887         error from mntctl.
127888         Use mntctl's return value to drive the entry-processing loop, since
127889         we can't rely on the value of the vmt_length member in the last
127890         entry.  On some systems doing so could result in exhausting
127891         virtual memory.  Based in part on a patch from Mike Jetzer.
127893 2003-08-14  Jim Meyering  <jim@meyering.net>
127894         and Paul Eggert  <eggert@twinsun.com>
127896         Merges from coreutils, plus other fixes.
127897         * lib/physmem.c: Merge in portability changes from gcc/libiberty
127898         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
127899         for credits and details.  Thanks to Kaveh Ghazi for helping
127900         to keep these files in sync.
127901         (ARRAY_SIZE): Define it.
127902         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
127903         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
127904         (memcasecmp): Don't assume size_t fits in unsigned int.
127905         Remove casts and duplicate code.
127906         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
127907         (memcpy): Remove definition.
127908         Merge in some clean-up and optimization changes from glibc.
127909         [BLOCKSIZE]: Move definition to top of file.
127910         Ensure that it is a multiple of 64.
127911         Rearrange loop exit tests so as to avoid performing an
127912         additional fread after encountering an error or EOF.
127913         * lib/md5.h (md5_uintptr): Define.
127914         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
127915         return to the initial working directory.  Preserve errno
127916         for caller.
127917         * lib/idcache.c: Include "xalloc.h".
127918         (xmalloc, xrealloc): Remove decls.
127919         (getuser): Remove casts no longer required in C89.
127920         * lib/human.c: Include stdio.h, for sprintf.
127921         * lib/group-member.c: Include "xalloc.h".
127922         (xmalloc, xrealloc): Remove decls.
127923         (get_group_info): Remove casts no longer required in C89.
127924         * lib/getusershell.c (readname): Remove casts no longer required in
127925         C89.
127926         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
127927         * lib/getline.c: Whitespace fix, from coreutils.
127929 2003-08-13  Paul Eggert  <eggert@twinsun.com>
127931         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
127932         Check for isascii.
127934         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
127935         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
127936         Undo previous (whitespace-only) change.
127938 2003-08-13  Paul Eggert  <eggert@twinsun.com>
127940         * lib/exclude.c: Include <ctype.h>
127941         (IN_CTYPE_DOMAIN): New macro.
127942         (is_space): New fn.
127943         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
127944         and empty lines.
127946         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
127947         Undo previous (whitespace-only) change.
127949 2003-08-13  Paul Eggert  <eggert@twinsun.com>
127951         * config/srclist-update: Change update back to the old behavior,
127952         leaving whitespace alone.  Use one 'sed' command rather than a
127953         pipeline.
127954         (fixlicense): Now a variable, not a function.
127955         (remove_trailing_blanks): Remove.
127956         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
127957         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
127958         Undo previous (whitespace-only) change.
127960 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127962         Merge from coreutils.
127963         * modules/euidaccess: Add lib_SOURCES, include for new
127964         file euidaccess.h
127966 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127968         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
127969         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
127970         Normalize leading white space and remove trailing white space.
127972         Merge from coreutils
127973         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
127975         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
127976         0.12.1.  These files are now being upgraded automatically by
127977         ../config/srclist-update.
127979 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127981         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
127982         Normalize leading white space and remove trailing white space.
127983         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
127984         notice, as per ../config/srclist-update.
127986         Merge from coreutils.
127987         * lib/euidaccess.h: New file.
127988         * lib/euidaccess.c: Include it.
127989         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
127990         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
127991         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
127993 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127995         * config/srclist-update: Add copyright notice.
127996         (remove_id_lines, remove_trailing_blanks): New constants.
127997         (fixfile): Use them to normalize spacing a bit in copied files.
127998         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
127999         Normalize leading white space and remove trailing white space.
128001         * config/texinfo.tex: Sync with texinfo.
128003         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
128004         strtoul.c from libc, to merge coreutils whitespace changes.
128006         * config/srclist.txt: Get the following m4 files from gettext:
128007         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
128008         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
128009         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
128010         wint_t.m4.
128012 2003-08-12  Karl Berry  <karl@gnu.org>
128014         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
128015         been made.
128017 2003-08-11  Paul Eggert  <eggert@twinsun.com>
128019         * modules/gnu-source, m4/gnu-source.m4:
128020         Remove; we're assuming Autoconf 2.54 or later now.
128021         Suggested by Bruno Haible.
128022         * MODULES.html.sh (func_all_modules): Remove gnu-source.
128024 2003-08-11  Bruno Haible  <bruno@clisp.org>
128026         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
128028 2003-08-11  Bruno Haible  <bruno@clisp.org>
128030         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
128031         (vasnprintf): Use it instead of wcslen.
128033 2003-08-11  Bruno Haible  <bruno@clisp.org>
128035         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
128036         value to ensure that _Bool promotes to int. Use #define for _Bool when
128037         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
128039 2003-08-10  Karl Berry  <karl@gnu.org>
128041         * lib/regex.h: update from libc (whitespace fix).
128043 2003-08-09  Paul Eggert  <eggert@twinsun.com>
128045         Merge some files from coreutils.  These changes were
128046         originally made by Jim Meyering.
128047         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
128048         many older Unixes require this.
128049         * lib/alloca.c (alloca): Remove cast to argument of free;
128050         no longer needed in C89.
128051         * lib/alloca_.h, regex.h: Fix white space to match
128052         what GNU indent does.
128054 2003-08-09  Paul Eggert  <eggert@twinsun.com>
128056         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
128057         apparently Emacs's Unicode mode got confused before my 2003-08-05
128058         checkin.
128060 2003-08-08  Paul Eggert  <eggert@twinsun.com>
128062         * m4/extensions.m4: New file.
128063         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
128064         Require gl_USE_SYSTEM_EXTENSIONS.
128065         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
128066         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
128068 2003-08-08  Paul Eggert  <eggert@twinsun.com>
128070         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
128071         * modules/extensions, modules/gnu-source: New files.
128072         * modules/timespec, modules/unlocked-io: Depend on extensions.
128074 2003-08-07  Paul Eggert  <eggert@twinsun.com>
128076         * modules/restrict: New file.
128077         * MODULES.html.sh (func_all_modules): Add restrict.
128078         * modules/regex: Depend on restrict.
128080 2003-08-07  Paul Eggert  <eggert@twinsun.com>
128082         * m4/restrict.m4: New file.
128083         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
128085 2003-08-07  Bruno Haible  <bruno@clisp.org>
128087         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
128088         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
128090 2003-08-07  Bruno Haible  <bruno@clisp.org>
128092         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
128093         makes the module 'getndelim2' compatible with the module 'getline'.
128095 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128097         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
128098         byte with "\201" to avoid glitches when editing that source file
128099         with multi-gnome-terminal.
128101 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128103         * lib/bumpalloc.h: Remove.
128105 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128107         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
128108         * modules/bumpalloc: Remove.
128110 2003-08-04  Paul Eggert  <eggert@twinsun.com>
128112         * lib/getloadavg.c: Change copyright notice and spacing to conform to
128113         GNU coding style.
128115         Merge from coreutils.
128116         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
128117         1. From glibc.
128118         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
128119         from Karl Berry, implemented by Jim Meyering.
128120         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
128121         from Dmitry V. Levin.
128122         Remove anachronistic cast of xrealloc.
128123         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
128124         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
128125         type. Otherwise, it wouldn't compile with at least /bin/cc on
128126         ymp-cray-unicos9.0.2.X.
128127         Combine two mostly-identical uses of alloca into one.
128128         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
128130 2003-08-04  Dave Love  <d.love@dl.ac.uk>
128132         [From Emacs.]
128134         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
128135         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
128136         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
128137         obsolete NLIST_NAME_UNION.
128138         [__GNU__]: Undef BSD and FSCALE.
128139         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
128141 2003-08-03  Paul Eggert  <eggert@twinsun.com>
128143         * lib/stdbool_.h (_Bool): Make it signed char, instead of
128144         an enum type, so that it's guaranteed to promote to int.  See:
128145         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
128147 2003-08-03  Karl Berry  <karl@gnu.org>
128149         * config/depcomp: update from automake.
128151 2003-07-31  Paul Eggert  <eggert@twinsun.com>
128153         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
128154         (strerror): Don't assume that a printable int fits in 14 bytes.
128156 2003-07-31  Bruno Haible  <bruno@clisp.org>
128158         * modules/getpass-gnu: New file.
128159         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
128161 2003-07-31  Bruno Haible  <bruno@clisp.org>
128163         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
128165 2003-07-24  Karl Berry  <karl@gnu.org>
128167         * config/missing: update from automake.
128169 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
128170             Bruno Haible  <bruno@clisp.org>
128172         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
128173         * lib/getline.c (getline, getdelim): Likewise.
128174         Remove _GNU_SOURCE define; now it's defined in config.h through
128175         m4/getline.m4.
128177 2003-07-23  Karl Berry  <karl@gnu.org>
128179         * config/config.sub: update from prep.
128181 2003-07-22  Paul Eggert  <eggert@twinsun.com>
128183         * modules/xalloc (Depends-on): Add exitfail.
128184         * modules/xmemcoll: Likewise.
128186 2003-07-22  Paul Eggert  <eggert@twinsun.com>
128188         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
128189         over-parenthesization in macros.
128191         Sync with coreutils.
128193         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
128194         required by C99.
128196         Use `exit_failure' for xalloc and xmemcoll instead of their own
128197         private exit-failure variables.
128198         * lib/xalloc.h (xalloc_exit_failure): Remove.
128199         * lib/xmalloc.c: Likewise.  Include exitfail.h.
128200         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
128201         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
128202         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
128203         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
128205 2003-07-20  Jim Meyering  <jim@meyering.net>
128207         * modules/closeout (Depends-on): Add exitfail.
128208         Suggestion from Bruno Haible.
128210 2003-07-19  Karl Berry  <karl@gnu.org>
128212         * config/config.sub: update from prep.
128214 2003-07-18  Paul Eggert  <eggert@twinsun.com>
128216         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
128217         Remove.
128218         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
128219         to test that it can stand by itself.  Include "exitfail.h".
128220         Clients should set exit_failure instead.
128221         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
128223 2003-07-18  Bruno Haible  <bruno@clisp.org>
128225         * modules/getndelim2: New file.
128226         * modules/getline: Share files with module getndelim2.
128227         * modules/getnline: Depend on getndelim2 instead of sharing files with
128228         it. Add getnline.c to lib_SOURCES.
128229         * MODULES.html.sh (func_all_modules): Add getndelim2.
128231 2003-07-18  Bruno Haible  <bruno@clisp.org>
128233         * m4/getndelim2.m4: New file.
128234         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
128235         invoke gl_PREREQ_GETNDELIM2.
128236         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
128237         gl_PREREQ_GETNDELIM2.
128238         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
128239         gl_GETNDELIM2.
128241 2003-07-18  Bruno Haible  <bruno@clisp.org>
128243         * lib/getndelim2.h: New file.
128244         * lib/getndelim2.c: Make into a module of its own. Include config.h,
128245         getndelim2.h.
128246         (getndelim2): Make non-static. Change return type to ssize_t.
128247         * lib/getline.h: Change argument names.
128248         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
128249         * lib/getnline.c: Include getndelim2.h.
128251 2003-07-18  Andreas Schwab  <schwab@suse.de>
128253         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
128255 2003-07-17  Karl Berry  <karl@gnu.org>
128257         * config/config.sub: update from prep.
128259 2003-07-17  Bruno Haible  <bruno@clisp.org>
128261         * modules/getnline: New file.
128262         * modules/getline: Add lib/getndelim2.c to source file list.
128263         * MODULES.html.sh (func_all_modules): Add getnline.
128265 2003-07-17  Bruno Haible  <bruno@clisp.org>
128267         * m4/getnline.m4: New file.
128269 2003-07-17  Bruno Haible  <bruno@clisp.org>
128271         * m4/Makefile.am.in: Remove file.
128272         * m4/Makefile.am: Remove file.
128273         * m4/Makefile.in: Remove file.
128275 2003-07-17  Bruno Haible  <bruno@clisp.org>
128277         * lib/getnline.h: New file.
128278         * lib/getnline.c: New file.
128279         * lib/getndelim2.c: New file, extracted from getline.c.
128280         (getndelim2): Renamed from getdelim2, with added nmax argument.
128281         * lib/getline.c: Include getndelim2.c.
128282         (getdelim2): Moved out to getndelim2.c.
128283         (getline, getdelim): Update.
128285 2003-07-17  Bruno Haible  <bruno@clisp.org>
128287         * lib/Makefile.am: Remove file.
128288         * lib/Makefile.in: Remove file.
128290 2003-07-17  Bruno Haible  <bruno@clisp.org>
128292         * configure.in: Remove file.
128293         * Makefile.in: Remove file.
128295 2003-07-17  Bruno Haible  <bruno@clisp.org>
128297         * MODULES.html.sh: Put the </BODY> right before </HTML>.
128299 2003-07-16  Karl Berry  <karl@gnu.org>
128301         * config/srclist-update: was running fixlicense twice, which caused
128302                 texinfo.tex to be nullified for some reason.  Simplify,
128303                 $gplsrc is no longer needed as far as I can see?
128305 2003-07-16  Jim Meyering  <jim@meyering.net>
128307         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
128309 2003-07-15  Paul Eggert  <eggert@twinsun.com>
128311         * config/srclist.txt: Get the following files from gettext-runtime/intl
128312         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
128313         ref-del.sin.  From Bruno Haible.
128314         * config/srclist-update (fixfile): Change grep pattern again, since the
128315         previous fix didn't work (there was another trailing $).  Use
128316         '[$]' to escape the $s.
128318 2003-07-15  Karl Berry  <karl@gnu.org>
128320         * lib/vasnprintf.c: update from gettext.
128322 2003-07-15  Karl Berry  <karl@gnu.org>
128324         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
128325         gets expanded when surrounded by '$'.
128327 2003-07-15  Jim Meyering  <jim@meyering.net>
128329         * modules/save-cwd: Don't depend on error.  From Derek Price.
128331 2003-07-15  Jim Meyering  <jim@meyering.net>
128333         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
128335 2003-07-14  Simon Josefsson  <jas@extundo.com>
128337         * modules/mempcpy: New file.
128338         * MODULES.html.sh (func_all_modules): Add mempcpy.
128340 2003-07-14  Simon Josefsson  <jas@extundo.com>
128342         * m4/mempcpy.m4: New file.
128344 2003-07-14  Simon Josefsson  <jas@extundo.com>
128346         * lib/mempcpy.h: New file.
128347         * lib/mempcpy.c: New file.
128349 2003-07-14  Paul Eggert  <eggert@twinsun.com>
128351         * modules/getdate, modules/posixtm: Depend on mktime.
128353 2003-07-14  Paul Eggert  <eggert@twinsun.com>
128355         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
128356         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
128357         unicodeio.c, unicodeio.h, unlocked-io.h:
128358         Switch from LGPL to GPL.
128360 2003-07-14  Paul Eggert  <eggert@twinsun.com>
128362         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
128363         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
128364         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
128365         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
128366         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
128367         updated automatically by ../config/srclist-update.  This changes
128368         their license from LPGL to GPL.
128370 2003-07-14  Paul Eggert  <eggert@twinsun.com>
128372         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
128373         assumed to refer to the root of the most recent stable gettext version.
128374         * config/srclistvars.sh: Add defaults for eggert.
128375         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
128376         Match "This program" as well as "The program".  This is needed
128377         for gettext.
128379 2003-07-14  Jim Meyering  <jim@meyering.net>
128381         Don't emit diagnostics.  Let callers do that.
128382         * lib/save-cwd.c: Don't include "error.h".
128383         (save_cwd): Don't call error.  Ensure that errno is valid
128384         when returning nonzero.
128386         * lib/save-cwd.h (restore_cwd): Update prototype.
128387         * lib/save-cwd.c (restore_cwd): Remove two parameters.
128388         Simplify.  Don't call error upon failure.  Let callers do that.
128389         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
128390         when auditing is enabled.  But don't bother updating the #if.
128392 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
128394         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
128395         it breaks C++ compilation.
128396         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
128398 2003-07-10  Simon Josefsson  <jas@extundo.com>
128400         * modules/strchrnul (Makefile.am): Add strchrnul.h.
128402 2003-07-10  Jim Meyering  <jim@meyering.net>
128404         * m4/clock_time.m4: Remove trailing blank.
128405         * m4/intmax_t.m4: Likewise.
128407 2003-07-10  Jim Meyering  <jim@meyering.net>
128409         * lib/vasnprintf.c: Remove trailing blanks.
128410         Make cpp indentation consistent.
128412 2003-07-09  Paul Eggert  <eggert@twinsun.com>
128414         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
128415         posixver.c, strftime.c, strnlen.c, strverscmp.c:
128416         Switch from LGPL to GPL.
128418 2003-07-09  Paul Eggert  <eggert@twinsun.com>
128420         * config/srclist.txt: Sort sublists.  Add
128421         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
128422         that differ from gnulib for one reason or another; we'd like this list
128423         to be smaller but for now let's document what we have.
128425 2003-07-08  Paul Eggert  <eggert@twinsun.com>
128427         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
128428         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
128429         and sweeter "eval x=$x".
128430         * config/srclist.txt: Get lib/argp* from glibc.
128432 2003-07-07  Paul Eggert  <eggert@twinsun.com>
128434         * lib/mktime.c: Fix some boundary cases and remove need for floating
128435         point.
128437         Issue a compile-time diagnostic if time_t is floating point, or if
128438         two's complement arithmetic is not in effect, or if arithmetic
128439         right shift does not propagate the sign.  These assumptions were
128440         all in the original code but they weren't checked.
128442         (TIME_T_MIDPOINT, verify): New macros.
128443         (__isleap): Remove; it has integer overflow problems.
128444         (leapyear): New function, without those problems.
128445         (ydhms_tm_diff): Remove; splitting into two parts.
128446         (ydhms_diff): New function, containing the arithmetic part of
128447         the old ydhms_tm_diff function.  Issue a compile-time
128448         diagnostic if we are not using C99 integer division.
128449         Avoid casts when possible.
128450         (guess_time_tm): New function, containing the checking part of
128451         the old ydhms_tm_diff function.  Return the new value, rather than
128452         the difference between it and the old.  Accept a new argument T
128453         so that *T specifies the old value.  Check for overflow in the result.
128455         (__mktime_internal): Use a time_t offset, not a long int offset.
128456         This undoes the 2003-06-04 change, which is no longer needed now
128457         that we have better overflow checking.
128458         (localtime_offset): Likewise.
128460         (__mktime_internal): Avoid harmful overflow on hosts where time_t
128461         and long are 64-bit but int is only 32-bit.
128462         (ydhms_diff): Use long int to store year1 and yday1.
128463         Issue a compile-time diagnostic if long int is not wide enough.
128465         (__mktime_internal): Use long int to store adjusted year and yday.
128466         Use plain C rather than preprocessor commands, if that doesn't
128467         affect efficiency.
128468         Check for overflow (and try to repair) after each probe
128469         rather than checking only at the very end.  This avoids some bugs
128470         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
128471         does not equal GMT offset at maximum time).
128472         Use integer to check for overflow rather than floating point; this
128473         is more portable to non-IEEE hosts, and is a tad faster.
128474         When we detect that we are oscillating between two values,
128475         don't check whether tm_isdst has the requested value, since
128476         we already know the answer.  When tm_isdst has the wrong value,
128477         use a different heuristic to find the right one, based on the
128478         extreme values actually observed in practice in tz2003a,
128479         rather than the (overly optimistic) "previous 3 calendar quarters".
128481         (not_equal_tm, print_tm, check_result): Use "const T" rather than
128482         "T const" to accommodate glibc style.
128483         (check_result): Use less-confusing report format.  "long" -> "long int.
128484         (main): Likewise.
128485         Don't loop if the iteration overflows time_t.
128486         Allow a negative step in the iteration.
128488 2003-07-06  Karl Berry  <karl@gnu.org>
128490         * config/depcomp: update from automake.
128491         * config/config.sub: update from prep.
128493 2003-07-03  Karl Berry  <karl@gnu.org>
128495         * config/config.guess: update from prep.
128497 2003-07-01  Paul Eggert  <eggert@twinsun.com>
128499         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
128500         xreadlink.c now includes it unconditionally.
128502 2003-07-01  Paul Eggert  <eggert@twinsun.com>
128504         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
128505         having it depend on HAVE_SYS_TYPES_H.
128507 2003-07-01  Bruno Haible  <bruno@clisp.org>
128509         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
128510         <sys/types.h> should be sufficient.
128511         Reported by Paul Eggert.
128513 2003-06-26  Karl Berry  <karl@gnu.org>
128515         * config/depcomp: update from automake.
128517 2003-06-26  Bruno Haible  <bruno@clisp.org>
128519         * modules/human: Depend on module stdbool.
128521 2003-06-25  Bruno Haible  <bruno@clisp.org>
128523         * modules/readlink: New file.
128524         * modules/xreadlink: Depend on it.
128525         * MODULES.html.sh (func_all_modules): Add readlink.
128527 2003-06-25  Bruno Haible  <bruno@clisp.org>
128529         * m4/readlink.m4: New file.
128531 2003-06-25  Bruno Haible  <bruno@clisp.org>
128533         * lib/readlink.c: New file.
128535 2003-06-22  Karl Berry  <karl@gnu.org>
128537         * config/srclist.txt: update mkinstalldirs from automake.
128538         * config/mkinstalldirs: update.
128540 2003-06-22  Bruno Haible  <bruno@clisp.org>
128542         Portability to mingw32.
128543         * m4/ssize_t.m4: New file, from GNU gettext.
128544         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
128545         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
128547 2003-06-22  Bruno Haible  <bruno@clisp.org>
128549         * modules/safe-read: Add m4/ssize_t.m4.
128550         * modules/xreadlink: Add m4/ssize_t.m4.
128552 2003-06-20  Bruno Haible  <bruno@clisp.org>
128554         Assume C89, so PARAMS isn't needed.
128555         * lib/unicodeio.h (PARAMS): Remove.
128556         * lib/unicodeio.c: Don't use PARAMS.
128558 2003-06-18  Karl Berry  <karl@gnu.org>
128560         * config/config.{guess,sub}: update from prep.
128562 2003-06-18  Jim Meyering  <jim@meyering.net>
128564         Merge changes from coreutils.
128565         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
128566         Remove explicit declarations of xmalloc and realloc.
128567         Include xalloc.h.
128568         (read_utmp): Remove anachronistic cast of xmalloc.
128570 2003-06-17  Paul Eggert  <eggert@twinsun.com>
128572         Assume C89, so PARAMS isn't needed.
128573         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
128574         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
128575         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
128576         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
128577         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
128578         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
128579         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
128580         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
128581         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
128582         lib/xstrtod.h, lib/xstrtol.h: Likewise.
128583         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
128584         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
128585         no longer needed. Anyway, config.h should always be included before any
128586         other file.
128588 2003-06-11  Simon Josefsson  <jas@extundo.com>
128590         * modules/sysexits: New file.
128591         * MODULES.html.sh (func_all_modules): Add sysexits.
128593 2003-06-11  Simon Josefsson  <jas@extundo.com>
128595         * lib/sysexit_.h: New file.
128597 2003-06-11  Derek Price  <derek@ximbiot.com>
128599         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
128600         necessary.
128602 2003-06-11  Bruno Haible  <bruno@clisp.org>
128604         * m4/sysexits.m4: New file.
128606 2003-06-10  Simon Josefsson  <jas@extundo.com>
128608         * lib/argp.h: New file, from glibc.
128609         * lib/argp-ba.c: New file, from glibc.
128610         * lib/argp-eexst.c: New file, from glibc.
128611         * lib/argp-fmtstream.c: New file, from glibc.
128612         * lib/argp-fmtstream.h: New file, from glibc.
128613         * lib/argp-fs-xinl.c: New file, from glibc.
128614         * lib/argp-help.c: New file, from glibc.
128615         * lib/argp-namefrob.h: New file, from glibc.
128616         * lib/argp-parse.c: New file, from glibc.
128617         * lib/argp-pv.c: New file, from glibc.
128618         * lib/argp-pvh.c: New file, from glibc.
128619         * lib/argp-xinl.c: New file, from glibc.
128621 2003-06-10  Simon Josefsson  <jas@extundo.com>
128623         * modules/strchrnul: New file.
128625 2003-06-10  Simon Josefsson  <jas@extundo.com>
128627         * modules/argp: New file.
128629 2003-06-10  Simon Josefsson  <jas@extundo.com>
128631         * m4/strchrnul.m4: New file.
128633 2003-06-10  Simon Josefsson  <jas@extundo.com>
128635         * lib/strchrnul.h: New file.
128636         * lib/strchrnul.c: New file.
128638 2003-06-10  Bruno Haible  <bruno@clisp.org>
128640         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
128642 2003-06-07  Karl Berry  <karl@gnu.org>
128644         * config/config.{guess,sub}: update from prep.
128646 2003-06-07  Jim Meyering  <jim@meyering.net>
128648         * modules/strtod: Use $(...) notation, not @...@ for
128649         AC_REPLACE'd variables.
128650         * modules/localcharset: Likewise.
128652 2003-06-07  Jim Meyering  <jim@meyering.net>
128654         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
128655         in place of my name in the copyright comment.
128656         Remove definition and uses of __P.
128658         From coreutils.
128659         * lib/stat.c: Don't declare xmalloc explicitly.
128660         Instead, include "xalloc.h".
128661         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
128662         xrealloc, and xcalloc return values.
128663         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
128664         Improve comment.
128665         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
128667 2003-06-07  Bruno Haible  <bruno@clisp.org>
128669         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
128670         avoid AC_CONFIG_LINKS.
128671         * modules/fnmatch (Makefile.am): Use explicit creation rule for
128672         fnmatch.h, to avoid AC_CONFIG_LINKS.
128673         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
128675 2003-06-07  Bruno Haible  <bruno@clisp.org>
128677         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
128678         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
128679         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
128680         directory.
128681         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
128682         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
128683         directory.
128685 2003-06-06  Jim Meyering  <jim@meyering.net>
128687         Merge from coreutils.
128688         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
128689         Consolidate declarations and initializations of *_base* locals.
128691         Merge from coreutils.
128692         This avoids a core dump on systems without GNU putenv,
128693         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
128694         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
128695         (unsetenv): New static function, from GNU libc.
128696         (rpl_putenv): Use it.
128698         * lib/modechange.c: Remove trailing blanks.
128700         Merge from coreutils.
128701         * lib/fsusage.c: Remove declaration of statfs.
128702         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
128704         * lib/posixtm.c: Include <stdbool.h> unconditionally.
128706 2003-06-06  Jim Meyering  <jim@meyering.net>
128708         * lib/stdbool_.h: Renamed from stdbool.h.in.
128710 2003-06-06  Jim Meyering  <jim@meyering.net>
128711             Bruno Haible  <bruno@clisp.org>
128713         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
128714         Adjust Makefile.am snippet not to redirect directly to target.
128715         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
128717 2003-06-05  Paul Eggert  <eggert@twinsun.com>
128719         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
128720         mismatch, look in future quarters as well as past.  This fixes a
128721         bug when processing fall-backwards gaps immediately after a long
128722         period of daylight-saving time.
128724         * lib/mktime.c: Assume freestanding C89 or better.
128725         (HAVE_LIMITS_H): Remove.  Assume it's 1.
128726         (__P): Remove; not used.
128727         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
128728         (mktime, not_equal_tm, print_tm, check_result,
128729         main): Use prototypes.  Use const * where appropriate.
128730         (main): Fix typo in testing code that uncovered by above changes.
128731         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
128733 2003-06-04  Paul Eggert  <eggert@twinsun.com>
128735         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
128736         locale.h, localeconv.  This merges changes from coreutils.
128738         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
128739         It can be removed after the next Autoconf is released.
128740         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
128741         needed.
128743 2003-06-04  Paul Eggert  <eggert@twinsun.com>
128745         * lib/mktime.c: Fix Debian bug 177940
128746         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
128747         (localtime_offset): Now long int, not time_t, because we want it
128748         to be guaranteed to be signed.  All uses changed.
128749         (__mktime_internal): If overflow would occur when adding offset,
128750         don't add it.
128752         Merge 'human' changes from coreutils.  Rewrite to support
128753         locale-specific notations like thousands separators.
128754         * lib/human.c: Simplify authorship notice.
128755         Include human.h immediately after config.h.
128756         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
128757         <limits.h>: Do not include, since human.h does.
128758         (SIZE_MAX, UINTMAX_MAX): New macros.
128759         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
128760         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
128761         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
128762         (power_letter): Renamed from suffixes.
128763         (generate_suffix_backwards): Remove.
128764         (adjust_value): Now takes int style (because of human.h changes)
128765         and long double value (for greater precision on some platforms).
128766         (group_number): New function.
128767         (human_readable): Use it.  Use integer options, not enum.
128768         Put the options before the sizes in the arg list.
128769         Support all the new options.
128770         The old human_readable function has been removed;
128771         use inttostr.h instead.
128772         (human_readable, default_block_size, humblock):
128773         Use uintmax_t, not int, for block sizes.
128774         (human_readable_inexact, block_size_types): Remove.
128775         (block_size_opts): New constant.
128776         (human_options): Renamed from human_block_size, with new signature
128777         that allows block sizes up to UINTMAX_MAX.  All callers changed.
128778         * lib/human.h: Add copyright and authorship notice.
128779         Include <limits.h> and <stdbool.h> unconditionally.
128780         (PARAMS): Remove.  All uses removed.
128781         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
128782         (enum human_inexact_style): Remove tag; now a nameless enum.
128783         (human_floor, human_ceiling, human_round_to_even): Now have
128784         values 2, 0, 1 rather than -1, 1, 0.
128785         (human_group_digits, human_suppress_point_zero, human_autoscale,
128786         human_base_1024, human_SI, human_B): New constants.
128787         (human_readable_inexact, human_block_size): Remove.
128788         (human_readable): Size args are now uintmax_t, not int.
128789         (human_options): New decl.
128791         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
128792         unnecessary now that we assume C89 or better.  This change
128793         imported from coreutils.
128795         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
128796         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
128797         in the 2003-05-30 sync from glibc.
128799         .h files should stand alone, but we shouldn't include <sys/types.h>
128800         if we can get away with just <stddef.h>.
128802         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
128803         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
128804         rather than <sys/types.h>, as we merely need size_t.
128805         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
128806         to get size_t.
128807         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
128808         Include <stdio.h>, to get FILE.
128809         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
128810         memcasecmp.h has included <stddef.h> and all we need is size_t.
128811         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
128812         our interface, instead of including <sys/types.h>
128814 2003-06-04  Paul Eggert  <eggert@twinsun.com>
128816         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
128817         now, as glibc mktime is buggy on non-glibc systems.
128819 2003-06-03  Karl Berry  <karl@gnu.org>
128821         * config/config.sub: update from prep.
128823 2003-06-02  Paul Eggert  <eggert@twinsun.com>
128825         [from coreutils]
128826         Fix some minor time-related bugs with POSIX time arguments.
128827         Some valid time stamps were being rejected (notably -1, and
128828         time stamps before 1900 on 64-bit hosts).  And some invalid
128829         time stamps were being accepted, e.g. September 31.
128831         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
128832         that we can return (time_t) -1 successfully.
128833         * lib/posixtm.c: Likewise.
128834         [HAVE_STDBOOL_H]: Include <stdbool.h>.
128835         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
128836         (t): Remove static var.
128837         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
128838         of static var.  All uses changed.
128839         (year): Do not reject years before 1900; they can occur with
128840         64-bit time_t.
128841         (posix_time_parse): Do not check for out-of-range components;
128842         that is now the caller's responsibility, since our checks were
128843         only approximations.
128844         (posixtime): Use mktime to check for out-of-range components,
128845         since it knows them exactly.
128846         If mktime returns (time_t) -1, check whether an error actually occurred
128847         by invoking localtime on -1.
128848         (main) [TEST_POSIXTIME]: Check for input data errors, and report
128849         posixtime failures better.
128850         Improve the test data (in comments only).
128852 2003-06-02  Karl Berry  <karl@gnu.org>
128854         * config/mkinstalldirs (version): new variable.
128855         (--version): new option.
128856         (usage): improve message.
128858 2003-05-30  Karl Berry  <karl@gnu.org>
128860         * lib/mktime.c: update from libc.
128862 2003-05-30  Bruno Haible  <bruno@clisp.org>
128864         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
128865         * config/config.rpath: Upgrade to gettext-0.12.1.
128867 2003-05-30  Bruno Haible  <bruno@clisp.org>
128869         * m4/gettext.m4: Upgrade to gettext-0.12.1.
128870         * m4/nls.m4: New file, from gettext-0.12.1.
128871         * m4/po.m4: New file, from gettext-0.12.1.
128872         * m4/progtest.m4: Upgrade to gettext-0.12.1.
128874 2003-05-30  Bruno Haible  <bruno@clisp.org>
128876         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
128877         * lib/localcharset.h: Likewise.
128878         * lib/localcharset.c: Likewise.
128880 2003-05-29  Karl Berry  <karl@gnu.org>
128882         * config/config.rpath: update from gettext.
128884 2003-05-28  Paul Eggert  <eggert@twinsun.com>
128886         Assume the headers required for C89 freestanding compilers.
128887         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
128888         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
128889         * m4/human.m4 (gl_HUMAN): Likewise.
128890         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
128891         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
128892         * m4/userspec.m4 (gl_USERSPEC): Likewise.
128893         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
128894         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
128895         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
128897 2003-05-28  Paul Eggert  <eggert@twinsun.com>
128899         Assume the headers required for C89 freestanding compilers.
128900         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
128901         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
128902         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
128903         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
128904         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
128905         define, since <limits.h> is guaranteed to do that.
128906         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
128907         * lib/exclude.c: Include <stdbool.h> unconditionally.
128908         * lib/tempname.c: Include <stddef.h> unconditionally.
128909         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
128910         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
128911         <stddef.h> does that.
128912         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
128913         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
128914         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
128915         needed.
128916         * lib/xstrtol.c: Likewise.
128917         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
128918         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
128920         * lib/addext.c (addext): Use assignment rather than cast, to avoid
128921         warnings on some platforms.
128923         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
128924         arbitrarily.
128926 2003-05-26  Jim Meyering  <jim@meyering.net>
128928         Merge in a change from coreutils:
128929         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
128930         that is guaranteed to be `no'.  Use `no_such_member' to indicate
128931         that condition, rather than `-1' which is slightly misleading.
128932         Change the name of the cache variable to have the gl_ prefix.
128933         Prompted by a patch from Richard Dawe for DJGPP.
128935 2003-05-24  Karl Berry  <karl@gnu.org>
128937         * config/config.guess: update from prep.
128939 2003-05-22  Karl Berry  <karl@gnu.org>
128941         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
128943 2003-05-20  Karl Berry  <karl@gnu.org>
128945         * config/config.guess: update from prep.
128947 2003-05-18  Karl Berry  <karl@gnu.org>
128949         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
128950         might actually be set by the user.
128952         * config/depcomp, install-sh, mdate-sh: update from automake.
128954 2003-05-17  Bruno Haible  <bruno@clisp.org>
128956         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
128957         invalid expansion for AC_EGREP_CPP.
128958         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
128959         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
128960         Suggested by Akim Demaille <akim@epita.fr> in
128961         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
128963 2003-05-12  Jim Meyering  <jim@meyering.net>
128965         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
128966         the space-padded-by-default conversion specifiers, %e, %k, %l.
128968 2003-05-12  Bruno Haible  <bruno@clisp.org>
128970         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
128971         the string is longer than 4 KB.
128973 2003-05-11  Karl Berry  <karl@gnu.org>
128975         * config/config.{guess,sub}: update from prep.
128977 2003-05-09  Bruno Haible  <bruno@clisp.org>
128979         * modules/error: Add m4/strerror_r.m4 to file list.
128981 2003-05-03  Bruno Haible  <bruno@clisp.org>
128983         Upgrade to Unicode-4.0.
128984         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
128985         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
128986         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
128987         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
128988         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
128989         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
128990         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
128991         Change width of U+E0100..U+E01EF from 1 to 0.
128993 2003-04-25  Jim Meyering  <jim@meyering.net>
128995         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
128996         of type size_t, not int.
128998 2003-04-25  Bruno Haible  <bruno@clisp.org>
129000         * lib/copy-file.c: Include <stddef.h>, for size_t.
129002 2003-04-21  Paul Eggert  <eggert@twinsun.com>
129004         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
129005         code which expansion is under static control.  Patch imported from
129006         Akim Demaille's patch to Bison; see
129007         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
129009 2003-04-14  Bruno Haible  <bruno@clisp.org>
129011         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
129013 2003-04-11  Jim Meyering  <jim@meyering.net>
129015         Merge changes from Coreutils.
129017         2003-03-22  Jim Meyering  <jim@meyering.net>
129019         * lib/strftime.c (widen): Cast alloca return value to proper type.
129021         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
129023         From GNU libc.
129024         * lib/strftime.c (my_strftime): Handle very large width
129025         specifications for numeric values correctly.  Improve checks for
129026         overflow.
129028         2003-01-19  Jim Meyering  <jim@meyering.net>
129030         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
129031         definitions.
129032         (nl_get_alt_digit) [! defined my_strftime]: Define.
129033         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
129034         _nl_get_alt_digit and _nl_get_walt_digit.
129036         * lib/strftime.c (my_strftime): Merge in locale-related changes from
129037         libc. These changes have no effect outside of _LIBC.
129039 2003-04-10  Bruno Haible  <bruno@clisp.org>
129041         * modules/findprog: New file.
129042         * MODULES.html.sh (func_all_modules): Add it.
129044 2003-04-10  Bruno Haible  <bruno@clisp.org>
129046         * m4/findprog.m4: New file.
129047         * m4/eaccess.m4: New file.
129049 2003-04-10  Bruno Haible  <bruno@clisp.org>
129051         * lib/findprog.h: New file, from GNU gettext.
129052         * lib/findprog.c: New file, from GNU gettext.
129054 2003-04-05  Jim Meyering  <jim@meyering.net>
129056         Merge changes from Coreutils.
129058         * lib/exclude.h (PARAMS): Remove definition and uses.
129059         * lib/exclude.c: Remove uses of `PARAMS'.
129061         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
129062         Add test-cases for DOS filenames. Declare program_name.
129063         (main): Set up program_name.  Patch by Rich Dawe.
129065         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
129066         error from mntctl.
129067         Use mntctl's return value to drive the entry-processing loop, since
129068         we can't rely on the value of the vmt_length member in the last
129069         entry.  On some systems doing so could result in exhausting
129070         virtual memory.  Based in part on a patch from Mike Jetzer.
129072 2003-04-04  Bruno Haible  <bruno@clisp.org>
129074         * modules/linebreak: New file.
129075         * MODULES.html.sh (func_all_modules): Add it.
129077 2003-04-04  Bruno Haible  <bruno@clisp.org>
129079         * m4/linebreak.m4: New file.
129081 2003-04-04  Bruno Haible  <bruno@clisp.org>
129083         * lib/linebreak.h: New file, from GNU gettext.
129084         * lib/linebreak.c: New file, from GNU gettext with slight
129085         modifications.
129086         * lib/lbrkprop.h: New file, from GNU gettext.
129088 2003-04-03  Bruno Haible  <bruno@clisp.org>
129090         * modules/utf8-ucs4: New file.
129091         * modules/utf16-ucs4: New file.
129092         * modules/ucs4-utf8: New file.
129093         * modules/ucs4-utf16: New file.
129094         * MODULES.html.sh (func_all_modules): Add them.
129096 2003-04-03  Bruno Haible  <bruno@clisp.org>
129098         * m4/utf-ucs4.m4: New file.
129099         * m4/ucs4-utf.m4: New file.
129101 2003-04-03  Bruno Haible  <bruno@clisp.org>
129103         * lib/utf8-ucs4.h: New file, from GNU gettext.
129104         * lib/utf16-ucs4.h: New file, from GNU gettext.
129105         * lib/ucs4-utf8.h: New file, from GNU gettext.
129106         * lib/ucs4-utf16.h: New file, from GNU gettext.
129108 2003-04-02  Bruno Haible  <bruno@clisp.org>
129110         * modules/binary-io: New file.
129111         * MODULES.html.sh (func_all_modules): Add it.
129113 2003-04-02  Bruno Haible  <bruno@clisp.org>
129115         * lib/binary-io.h: New file, from GNU gettext.
129117 2003-04-01  Bruno Haible  <bruno@clisp.org>
129119         * modules/pathname: New file.
129120         * MODULES.html.sh (func_all_modules): Add it.
129122 2003-04-01  Bruno Haible  <bruno@clisp.org>
129124         * lib/pathname.h: New file, from GNU gettext.
129125         * lib/concatpath.c: New file, from GNU gettext.
129127 2003-03-30  Bruno Haible  <bruno@clisp.org>
129129         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
129131 2003-03-30  Bruno Haible  <bruno@clisp.org>
129133         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
129134         function chown() doesn't exist.
129136 2003-03-28  Bruno Haible  <bruno@clisp.org>
129138         * modules/copy-file: New file.
129139         * MODULES.html.sh (func_all_modules): Add it.
129141 2003-03-28  Bruno Haible  <bruno@clisp.org>
129143         * m4/copy-file.m4: New file.
129145 2003-03-28  Bruno Haible  <bruno@clisp.org>
129147         * lib/copy-file.h: New file, from GNU gettext.
129148         * lib/copy-file.c: New file, from GNU gettext.
129150 2003-03-18  Jim Meyering  <jim@meyering.net>
129152         * lib/quote.c (quote_n): Fix typo in comment.
129154 2003-03-18  Bruno Haible  <bruno@clisp.org>
129156         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
129157         checking.
129158         * m4/onceonly_2_57.m4: Likewise.
129160 2003-03-17  Bruno Haible  <bruno@clisp.org>
129162         * m4/onceonly.m4: Require autoconf 2.54 or newer.
129163         (m4_quote): Remove macro.
129164         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
129166 2003-03-14  Jim Meyering  <jim@meyering.net>
129168         Merge changes from Coreutils.
129169         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
129170         to be const, in order to avoid warnings.
129171         (obstack_room): Likewise.
129172         (obstack_empty_p): Likewise.
129174 2003-03-14  Bruno Haible  <bruno@clisp.org>
129176         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
129177         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
129179 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129181         Merge changes from Bison.
129182         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
129183         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
129184         when compiling Bison 1.875's `bitset bset = obstack_alloc
129185         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
129186         * lib/hash.c: Include <stdbool.h> unconditionally.
129188 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129190         * m4/onceonly.m4 (m4_quote): New macro.
129191         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
129192         Quote AC_FOREACH variable-expansions properly.
129194 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129196         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
129198 2003-03-09  Paul Eggert  <eggert@twinsun.com>
129200         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
129201         Reported by Bruce Becker; see:
129202         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
129204 2003-03-03  Paul Eggert  <eggert@twinsun.com>
129205             Bruno Haible  <bruno@clisp.org>
129207         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
129208         Reported by John Hughes, see
129209         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
129211 2003-02-20  Bruno Haible  <bruno@clisp.org>
129213         * MODULES.html.sh (func_all_modules): Add poll.
129215 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
129217         * modules/poll: New file.
129219 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
129221         * lib/poll_.h: New file.
129222         * lib/poll.c: New file.
129224 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
129226         * m4/poll.m4: New file.
129228 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
129230         * modules/mathl: New file.
129232 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
129234         * lib/mathl.h: New file.
129235         * lib/acosl.c: New file.
129236         * lib/asinl.c: New file.
129237         * lib/atanl.c: New file.
129238         * lib/ceill.c: New file.
129239         * lib/cosl.c: New file.
129240         * lib/expl.c: New file.
129241         * lib/floorl.c: New file.
129242         * lib/frexpl.c: New file.
129243         * lib/ldexpl.c: New file.
129244         * lib/logl.c: New file.
129245         * lib/sincosl.c: New file.
129246         * lib/sinl.c: New file.
129247         * lib/sqrtl.c: New file.
129248         * lib/tanl.c: New file.
129249         * lib/trigl.c: New file.
129250         * lib/trigl.h: New file.
129252 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
129254         * m4/mathl.m4: New file.
129256 2003-02-18  Bruno Haible  <bruno@clisp.org>
129258         * MODULES.html.sh (func_all_modules): Add mathl.
129260 2003-02-17  Bruno Haible  <bruno@clisp.org>
129262         * modules/mkdtemp: New module.
129263         * MODULES.html.sh (func_all_modules): Add it.
129265 2003-02-17  Bruno Haible  <bruno@clisp.org>
129267         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
129269 2003-02-17  Bruno Haible  <bruno@clisp.org>
129271         * lib/mkdtemp.h: New file, from GNU gettext.
129272         * lib/mkdtemp.c: New file, from GNU gettext.
129274 2003-02-02  Jim Meyering  <jim@meyering.net>
129276         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
129277         e.g. glibc-2.2.93.
129279 2003-01-31  Bruno Haible  <bruno@clisp.org>
129281         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
129282         'rpl_rename'.
129283         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
129284         'rpl_strnlen'.
129285         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
129286         'rpl_strtod'.
129287         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
129288         'rpl_utime'.
129290 2003-01-31  Bruno Haible  <bruno@clisp.org>
129292         * lib/rename.c: #undef rename before defining rpl_rename.
129293         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
129295 2003-01-30  Bruno Haible  <bruno@clisp.org>
129297         * modules/vasnprintf, modules/vasprintf: New modules.
129298         * MODULES.html.sh (func_all_modules): Add them.
129300 2003-01-30  Bruno Haible  <bruno@clisp.org>
129302         * m4/signed.m4: New file, from GNU gettext.
129303         * m4/longdouble.m4: New file, from GNU gettext.
129304         * m4/wchar_t.m4: New file, from GNU gettext.
129305         * m4/wint_t.m4: New file, from GNU gettext.
129306         * m4/vasnprintf.m4: New file.
129307         * m4/vasprintf.m4: New file.
129309 2003-01-30  Bruno Haible  <bruno@clisp.org>
129311         * lib/printf-args.h: New file, from GNU gettext.
129312         * lib/printf-args.c: New file, from GNU gettext.
129313         * lib/printf-parse.h: New file, from GNU gettext.
129314         * lib/printf-parse.c: New file, from GNU gettext.
129315         * lib/vasnprintf.h: New file, from GNU gettext.
129316         * lib/vasnprintf.c: New file, from GNU gettext.
129317         * lib/asnprintf.c: New file, from GNU gettext.
129318         * lib/vasprintf.h: New file, from GNU gettext with modifications.
129319         * lib/vasprintf.c: New file, from GNU gettext.
129320         * lib/asprintf.c: New file, from GNU gettext.
129322 2003-01-29  Bruno Haible  <bruno@clisp.org>
129324         * modules/stpncpy: New module.
129325         * MODULES.html.sh (func_all_modules): Add it.
129327 2003-01-29  Bruno Haible  <bruno@clisp.org>
129329         * m4/stpncpy.m4: New file.
129331 2003-01-29  Bruno Haible  <bruno@clisp.org>
129333         * lib/stpncpy.h: New file, from GNU gettext with modifications.
129334         * lib/stpncpy.c: New file, from GNU gettext with modifications.
129336 2003-01-28  Bruno Haible  <bruno@clisp.org>
129338         * modules/c-ctype: New module.
129339         * MODULES.html.sh (func_all_modules): Add it.
129341 2003-01-28  Bruno Haible  <bruno@clisp.org>
129343         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
129344         Paul Eggert.
129345         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
129346         Paul Eggert.
129348 2003-01-27  Bruno Haible  <bruno@clisp.org>
129350         * modules/xsetenv: New module.
129351         * MODULES.html.sh (func_all_modules): Add it.
129353 2003-01-27  Bruno Haible  <bruno@clisp.org>
129355         * lib/xsetenv.h: New file, from GNU gettext.
129356         * lib/xsetenv.c: New file, from GNU gettext.
129358 2003-01-23  Jim Meyering  <jim@meyering.net>
129360         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
129361         from working on systems without dirfd (at least Irix and OSF1/Tru64).
129363 2003-01-23  Bruno Haible  <bruno@clisp.org>
129365         * modules/minmax: New module.
129366         * MODULES.html.sh (func_all_modules): Add it.
129368 2003-01-23  Bruno Haible  <bruno@clisp.org>
129370         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
129371         Eggert.
129373 2003-01-22  Bruno Haible  <bruno@clisp.org>
129375         * modules/exit: New module.
129376         * MODULES.html.sh (func_all_modules): Add it.
129378 2003-01-22  Bruno Haible  <bruno@clisp.org>
129380         * lib/exit.h: New file, from GNU gettext.
129382 2003-01-19  Bruno Haible  <bruno@clisp.org>
129384         * gnulib-tool: Recognize option --extract-maintainer.
129385         (func_get_maintainer): New function.
129386         * modules/*: Add Maintainer entry.
129388 2003-01-16  Jim Meyering  <jim@meyering.net>
129390         * m4/regex.m4: The `regex' struct is both input and output.
129391         Initialize it before each use.  Patch by Tim Waugh.
129393 2003-01-16  Bruno Haible  <bruno@clisp.org>
129395         * MODULES.html.sh: Add a table of contents. Add the module name as
129396         leftmost column. Add hyperlinks.
129398 2003-01-15  Bruno Haible  <bruno@clisp.org>
129400         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
129402 2003-01-15  Bruno Haible  <bruno@clisp.org>
129404         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
129405         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
129406         suffix.
129408 2003-01-15  Bruno Haible  <bruno@clisp.org>
129410         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
129412 2003-01-15  Bruno Haible  <bruno@clisp.org>
129414         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
129415         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
129417 2003-01-14  Jim Meyering  <jim@meyering.net>
129419         * lib/same.c (same_name): Tweak a comment.
129421 2003-01-14  Bruno Haible  <bruno@clisp.org>
129423         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
129424         when a string comparison is sufficient.
129426 2003-01-14  Bruno Haible  <bruno@clisp.org>
129428         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
129429         'unsigned int'.
129431 2003-01-14  Bruno Haible  <bruno@clisp.org>
129433         * lib/hash-pjw.c: Add comment about low quality of this function.
129435 2003-01-13  Bruno Haible  <bruno@clisp.org>
129437         * modules/stpcpy: Distribute lib/stpcpy.h.
129438         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
129440 2003-01-13  Bruno Haible  <bruno@clisp.org>
129442         * modules/*: Add a description.
129443         * modules/strpbrk: Fix Makefile.am snippet.
129444         * modules/strtoimax: Fix dependencies.
129445         * modules/strtoumax: Likewise.
129447 2003-01-13  Bruno Haible  <bruno@clisp.org>
129449         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
129450         * modules/alloca (Makefile.am): All object files depend on alloca.h.
129451         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
129453 2003-01-13  Bruno Haible  <bruno@clisp.org>
129455         * gnulib-tool (func_create_testdir): Store config/* files in the main
129456         directory.
129457         * config.rpath: Move to ...
129458         * config/config.rpath: ... here.
129459         * modules/gettext: Contains config/config.rpath, not config.rpath.
129460         * modules/iconv: Likewise.
129462 2003-01-12  Paul Eggert  <eggert@twinsun.com>
129464         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
129465         to avoid collisions with libcurses and libreadline.
129467         * m4/getstr.m4: Remove.
129468         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
129470 2003-01-12  Paul Eggert  <eggert@twinsun.com>
129472         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
129473         to avoid collisions with libcurses and libreadline.
129475         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
129476         * lib/getstr.h, getstr.c: Remove.
129477         * lib/getline.c: Include "getline.h", to check interface.
129478         Move body of old getstr.c here: this defines MIN_CHUNK and
129479         declares getdelim2, which is renamed from getstr.
129480         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
129482         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
129483         All uses changed.
129484         * lib/linebuffer.h: Likewise.
129485         (readline): Remove backward-compatibility macro.
129487 2003-01-12  Paul Eggert  <eggert@twinsun.com>
129489         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
129490         to avoid collisions with libcurses and libreadline.
129491         * getstr: Remove.
129492         * MODULES.html.sh: Remove getstr.
129493         * modules/getline: Depend on unlocked-io, not getstr.
129495 2003-01-12  Jim Meyering  <jim@meyering.net>
129497         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
129499 2003-01-10  Bruno Haible  <bruno@clisp.org>
129501         * modules/alloca: Change Makefile.am requirements. Simplify Include
129502         requirements. Add lib/alloca_.h to file list.
129504 2003-01-10  Bruno Haible  <bruno@clisp.org>
129506         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
129508 2003-01-10  Bruno Haible  <bruno@clisp.org>
129510         * lib/alloca_.h: New file.
129511         * lib/getdate.y: Unconditionally include alloca.h.
129512         * lib/makepath.c: Likewise.
129513         * lib/setenv.c: Likewise.
129514         * lib/userspec.c: Likewise.
129516 2003-01-09  Karl Berry  <karl@gnu.org>
129518         * MODULES.html.sh: include `dirname $0` in PATH, to find
129519         gnulib-tool.
129521 2003-01-09  Bruno Haible  <bruno@clisp.org>
129523         * modules/stdbool: Change configure.ac, Makefile.am requirements.
129524         Simplify Include requirements. Add lib/stdbool.h.in to file list.
129526 2003-01-09  Bruno Haible  <bruno@clisp.org>
129528         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
129530 2003-01-09  Bruno Haible  <bruno@clisp.org>
129532         * lib/stdbool.h.in: New file.
129534 2003-01-09  Bruno Haible  <bruno@clisp.org>
129536         * gnulib-tool (func_all_modules): Ignore files ending in ~.
129537         * MODULES.html.sh: Likewise.
129539 2003-01-08  Jim Meyering  <jim@meyering.net>
129541         * lib/full-write.c: Undefine and define-away `const' after inclusion
129542         of errno.h, not before.  Suggestion from Bruno Haible.
129544 2003-01-08  Bruno Haible  <bruno@clisp.org>
129546         * modules/full-read: Depend on full-write.
129548 2003-01-08  Bruno Haible  <bruno@clisp.org>
129550         * lib/safe-read.c: Include specification header first, to ensure its
129551         selfcontainedness.
129552         * lib/full-write.c: Likewise.
129554 2003-01-07  Jim Meyering  <jim@meyering.net>
129556         * lib/full-write.c: Rework so that it may serve to define full_read,
129557         too.
129558         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
129560 2003-01-07  Bruno Haible  <bruno@clisp.org>
129562         * lib/strtoimax.c: Include <stdint.h> as an alternative to
129563         <inttypes.h>.
129564         * lib/xstrtol.h: Likewise.
129565         * lib/xstrtoimax.c: Likewise.
129566         * lib/xstrtoumax.c: Likewise.
129567         * lib/human.h: Likewise.
129569         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
129570         on systems that have <inttypes.h> but not <stdint.h>.
129572 2003-01-07  Bruno Haible  <bruno@clisp.org>
129574         * MODULES.html.sh: Add copyright notice.
129575         (missed_files): Omit CVS directory entries.
129576         (func_module): Make it work with sed-3.02.
129577         * MODULES.txt: Remove file.
129579 2003-01-06  Jim Meyering  <jim@meyering.net>
129581         * lib/version-etc.c: Update year in translatable copyright string.
129583 2003-01-03  Karl Berry  <karl@gnu.org>
129585         * config/config.{guess,sub}: update from prep.
129587 2003-01-02  Karl Berry  <karl@gnu.org>
129589         * doc/COPYING.DOC: belatedly updated to 1.2.
129591 2003-01-01  Karl Berry  <karl@gnu.org>
129593         * gnulib-tool (func_verify_module): report module name $module in
129594         error message, not $1.
129595         * gnulib-tool (create-testdir): don't complain if destdir couldn't
129596         be created, only if it doesn't exist.
129597         * gnulib-tool (last_checkin_date): don't expand the $Date here.
129599 2002-12-31  Paul Eggert  <eggert@twinsun.com>
129601         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
129603 2002-12-31  Paul Eggert  <eggert@twinsun.com>
129605         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
129606         memcmp if strcoll doesn't work.
129608 2002-12-31  Bruno Haible  <bruno@clisp.org>
129610         * lib/utime.c (utime_null): No need to call ftruncate if the file was
129611         nonempty.
129613 2002-12-31  Bruno Haible  <bruno@clisp.org>
129615         * lib/memcoll.c (STRCOLL): New macro.
129616         (memcoll): Use it.
129618 2002-12-31  Bruno Haible  <bruno@clisp.org>
129620         * lib/localcharset.h: New file.
129621         * lib/localcharset.c: Include it.
129622         * lib/unicodeio.c: Likewise.
129624 2002-12-31  Bruno Haible  <bruno@clisp.org>
129626         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
129627         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
129629 2002-12-31  Bruno Haible  <bruno@clisp.org>
129631         * lib/getline.h: Include <stddef.h>, for size_t.
129633         * lib/unicodeio.h: Include <stddef.h>, for size_t.
129634         * lib/unicodeio.c: Don't include <stddef.h>.
129636 2002-12-31  Bruno Haible  <bruno@clisp.org>
129638         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
129639         HAVE_TM_ZONE.
129641 2002-12-24  Karl Berry  <karl@gnu.org>
129643         * config/config.guess: update from prep.
129645 2002-12-24  Bruno Haible  <bruno@clisp.org>
129647         General infrasructure.
129648         * m4/README: Rewritten.
129649         * m4/onceonly.m4: New file.
129650         * m4/onceonly_2_57.m4: New file.
129652         Module atexit.
129653         * m4/atexit.m4: New file.
129655         Module strtod.
129656         * m4/strtod.m4: New file.
129658         Module strtol.
129659         * m4/strtol.m4: New file.
129661         Module strtoul.
129662         * m4/strtoul.m4: New file.
129664         Module memchr.
129665         * m4/memchr.m4: New file.
129667         Module memcmp.
129668         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
129669         (jm_FUNC_MEMCMP): Invoke it.
129671         Module memcpy.
129672         * m4/memcpy.m4: New file.
129674         Module memmove.
129675         * m4/memmove.m4: New file.
129677         Module memset.
129678         * m4/memset.m4: New file.
129680         Module strcspn.
129681         * m4/strcspn.m4: New file.
129683         Module strpbrk.
129684         * m4/strpbrk.m4: New file.
129686         Module strstr.
129687         * m4/strstr.m4: New file.
129689         Module strerror.
129690         * m4/strerror.m4: New file.
129692         Module mktime.
129693         * m4/mktime.m4: Renamed from jm-mktime.m4.
129694         (gl_PREREQ_MKTIME): New macro.
129695         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
129697         Module malloc.
129698         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
129699         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
129700         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
129702         Module realloc.
129703         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
129704         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
129705         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
129707         Module strftime.
129708         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
129709         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
129710         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
129711         gl_TM_GMTOFF.
129712         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
129714         Module xalloc.
129715         * m4/xalloc.m4: New file.
129717         Module alloca.
129718         * m4/alloca.m4: New file.
129720         Module putenv.
129721         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
129722         (jm_FUNC_PUTENV): Invoke it.
129724         Module setenv.
129725         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
129726         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
129727         when invoked twice.
129728         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
129729         gt_FUNC_SETENV.
129731         Module memrchr.
129732         * m4/memrchr.m4: New file.
129734         Module stpcpy.
129735         * m4/stpcpy.m4: New file.
129737         Module strcase.
129738         * m4/strcase.m4: New file.
129740         Module strdup.
129741         * m4/strdup.m4: New file.
129743         Module strnlen.
129744         * m4/strnlen.m4: New file.
129746         Module strndup.
129747         * m4/strndup.m4: New file.
129749         Module xstrtod.
129750         * m4/xstrtod.m4: New file.
129752         Module xstrtol.
129753         * m4/xstrtol.m4: New file.
129755         Module getdate.
129756         * m4/getdate.m4: New file.
129758         Module unlocked-io.
129759         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
129760         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
129761         * m4/jm-glibc-io.m4n: Remove file.
129763         Module long-options.
129764         * m4/long-options.m4: New file.
129766         Module md5.
129767         * m4/md5.m4: New file.
129769         Module sha.
129770         * m4/sha.m4: New file.
129772         Module getstr.
129773         * m4/getstr.m4: New file.
129775         Module getline.
129776         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
129777         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
129778         <sys/types.h>, for size_t. Use the function name gnu_getline, not
129779         simply getline. Infoke gl_PREREQ_GETLINE.
129781         Module obstack.
129782         * m4/obstack.m4: New file.
129784         Module hash.
129785         * m4/hash.m4: New file.
129787         Module readtokens.
129788         * m4/readtokens.m4: New file.
129790         Module strverscmp.
129791         * m4/strverscmp.m4: New file.
129793         Module stdbool.
129794         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
129795         OSF/1.
129797         Module strtoll.
129798         * m4/strtoll.m4: New file.
129800         Module strtoull.
129801         * m4/strtoull.m4: New file.
129803         Module strtoimax.
129804         * m4/strtoimax.m4: New file.
129806         Module strtoumax.
129807         * m4/strtoumax.m4: New file.
129809         Module xstrtoimax.
129810         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
129811         jm_AC_PREREQ_XSTRTOIMAX.
129812         Moved the strtol prerequisites to strtol.m4.
129813         Moved the strtoll prerequisites to strtoll.m4.
129814         Moved the strtoimax prerequisites to strtoimax.m4.
129816         Module xstrtoumax.
129817         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
129818         jm_AC_PREREQ_XSTRTOUMAX.
129819         Moved the strtoul prerequisites to strtoul.m4.
129820         Moved the strtoull prerequisites to strtoull.m4.
129821         Moved the strtoumax prerequisites to strtoumax.m4.
129823         Module chown.
129824         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
129825         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
129827         Module dup2.
129828         * m4/dup2.m4: New file.
129830         Module ftruncate.
129831         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
129832         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
129834         Module getgroups.
129835         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
129836         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
129838         Module gettimeofday.
129839         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
129840         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
129841         gl_PREREQ_GETTIMEOFDAY.
129843         Module mkdir.
129844         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
129845         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
129847         Module mkstemp.
129848         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
129849         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
129850         jm_AC_TYPE_UINTMAX_T.
129851         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
129853         Module stat.
129854         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
129855         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
129857         Module lstat.
129858         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
129859         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
129861         Module timespec.
129862         * m4/timespec.m4 (gl_TIMESPEC): New macro.
129863         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
129864         * m4/st_mtim.m4: Indentation.
129866         Module nanosleep.
129867         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
129868         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
129869         gl_PREREQ_NANOSLEEP.
129871         Module regex.
129872         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
129873         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
129874         (gl_REGEX): New macro.
129876         Module rename.
129877         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
129878         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
129880         Module rmdir.
129881         * m4/rmdir.m4: New file.
129883         Module utime.
129884         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
129885         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
129886         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
129888         Module dirname.
129889         * m4/dirname.m4: New file.
129891         Module getopt.
129892         * m4/getopt.m4: New file.
129894         Module unistd-safer.
129895         * m4/unistd-safer.m4: New file.
129897         Module fnmatch.
129898         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
129899         declaration.
129900         (gl_PREREQ_FNMATCH_EXTRA): New macro.
129901         (gl_FUNC_FNMATCH_POSIX): New macro.
129902         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
129903         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
129904         simply fnmatch.
129906         Module exclude.
129907         * m4/exclude.m4: New file.
129909         Module human.
129910         * m4/human.m4: New file.
129912         Module acl.
129913         * m4/acl.m4: Nop.
129915         Module backupfile.
129916         * m4/backupfile.m4: New file.
129917         * m4/d-ino.m4: Indentation.
129919         Module fsusage.
129920         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
129921         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
129922         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
129924         Module dirfd.
129925         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
129926         requirements.
129928         Module euidaccess.
129929         * m4/euidaccess.m4: New file.
129931         Module file-type.
129932         * m4/file-type.m4: New file.
129934         Module fileblocks.
129935         * m4/fileblocks.m4: New file.
129937         Module filemode.
129938         * m4/filemode.m4: New file.
129940         Module isdir.
129941         * m4/isdir.m4: New file.
129943         Module lchown.
129944         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
129945         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
129947         Module makepath.
129948         * m4/makepath.m4: New file.
129950         Module modechange.
129951         * m4/modechange.m4: New file.
129953         Module mountlist.
129954         * m4/mountlist.m4: New file.
129955         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
129956         Indentation.
129958         Module path-concat.
129959         * m4/path-concat.m4: New file.
129961         Module pathmax.
129962         * m4/pathmax.m4: New file.
129964         Module same.
129965         * m4/same.m4: New file.
129967         Module save-cwd.
129968         * m4/save-cwd.m4: New file.
129970         Module savedir.
129971         * m4/savedir.m4: New file.
129973         Module xgetcwd.
129974         * m4/xgetcwd.m4: New file.
129975         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
129977         Module xreadlink.
129978         * m4/xreadlink.m4: New file.
129980         Module safe-read.
129981         * m4/safe-read.m4: New file.
129983         Module safe-write.
129984         * m4/safe-write.m4: New file.
129986         Module closeout.
129987         * m4/closeout.m4: New file.
129989         Module stdio-safer.
129990         * m4/stdio-safer.m4: New file.
129992         Module getpass.
129993         * m4/getpass.m4: New file.
129995         Module getugroups.
129996         * m4/getugroups.m4: New file.
129998         Module group-member.
129999         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
130000         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
130002         Module idcache.
130003         * m4/idcache.m4: New file.
130005         Module userspec.
130006         * m4/userspec.m4: New file.
130008         Module gettime.
130009         * m4/clock_time.m4: New file.
130010         * m4/gettime.m4: New file.
130012         Module settime.
130013         * m4/settime.m4: New file.
130015         Module posixtm.
130016         * m4/posixtm.m4: New file.
130018         Module gethostname.
130019         * m4/gethostname.m4: New file.
130021         Module canon-host.
130022         * m4/canon-host.m4: New file.
130024         Module gettext.
130025         * m4/codeset.m4: New file, from gettext-0.11.5.
130026         * m4/gettext.m4: New file, from gettext-0.11.5.
130027         * m4/glibc21.m4: New file, from gettext-0.11.5.
130028         * m4/iconv.m4: New file, from gettext-0.11.5.
130029         * m4/intdiv0.m4: New file, from gettext-0.11.5.
130030         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
130031         * m4/inttypes.m4: New file, from gettext-0.11.5.
130032         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
130033         * m4/isc-posix.m4: New file, from gettext-0.11.5.
130034         * m4/lcmessage.m4: New file, from gettext-0.11.5.
130035         * m4/lib-ld.m4: New file, from gettext-0.11.5.
130036         * m4/lib-link.m4: New file, from gettext-0.11.5.
130037         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
130038         * m4/progtest.m4: New file, from gettext-0.11.5.
130039         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
130040         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
130041         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
130043         Module localcharset.
130044         * m4/localcharset.m4: New file.
130046         Module hard-locale.
130047         * m4/hard-locale.m4: New file.
130049         Module mbswidth.
130050         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
130051         onceonly macros.
130052         * m4/mbrtowc.m4: Add comment.
130054         Module memcasecmp.
130055         * m4/memcasecmp.m4: New file.
130057         Module memcoll.
130058         * m4/memcoll.m4: New file.
130060         Module unicodeio.
130061         * m4/unicodeio.m4: New file.
130063         Module rpmatch.
130064         * m4/rpmatch.m4: New file.
130066         Module yesno.
130067         * m4/yesno.m4: New file.
130069         Module exitfail.
130070         * m4/exitfail.m4: New file.
130072         Module c-stack.
130073         * m4/c-stack.m4 (gl_C_STACK): New macro.
130074         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
130076         Module error.
130077         * m4/error.m4 (gl_ERROR): New macro.
130078         (jm_PREREQ_ERROR): Use onceonly macros.
130080         Module fatal.
130081         * m4/fatal.m4: New file.
130083         Module getloadavg.
130084         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
130085         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
130087         Module getpagesize.
130088         * m4/getpagesize.m4: New file.
130090         Module getusershell.
130091         * m4/getusershell.m4: New file.
130093         Module physmem.
130094         * m4/physmem.m4: New file.
130096         Module posixver.
130097         * m4/posixver.m4: New file.
130099         Module quotearg.
130100         * m4/quotearg.m4: New file.
130102         Module quote.
130103         * m4/quote.m4: New file.
130105         Module readutmp.
130106         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
130108         Module sig2str.
130109         * m4/sig2str.m4: New file.
130111         Other.
130112         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
130113         ulonglong.m4.
130114         * m4/intmax_t.m4: New file.
130115         * m4/d-type.m4: Indentation.
130116         * m4/jm-macros.m4: Update.
130117         * m4/prereq.m4 (jm_PREREQ): Update.
130118         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
130119         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
130120         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
130121         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
130122         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
130123         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
130124         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
130125         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
130126         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
130127         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
130128         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
130129         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
130130         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
130131         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
130132         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
130133         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
130134         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
130135         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
130136         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
130138 2002-12-24  Bruno Haible  <bruno@clisp.org>
130140         * MODULES.txt: Update according to m4/ changes.
130142         Module gettext.
130143         * config.rpath: New file, from gettext-0.11.5.
130145         * modules/*: New module descriptions.
130146         * gnulib-tool: New file.
130147         * MODULES.html.sh: New file.
130149 2002-12-21  Karl Berry  <karl@gnu.org>
130151         * doc/fdl.texi: update to version 1.2.
130153 2002-12-19  Karl Berry  <karl@gnu.org>
130155         * config/config.guess: update from prep.
130157 2002-12-18  Bruno Haible  <bruno@clisp.org>
130159         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
130160         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
130162 2002-12-17  Bruno Haible  <bruno@clisp.org>
130164         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
130165         stdlib.h, string.h.
130167 2002-12-17  Bruno Haible  <bruno@clisp.org>
130169         * lib/canon-host.c (strdup): Remove unused declaration.
130171         * lib/fsusage.c: Include full_read.h.
130172         (get_fs_usage): Use full_read instead of safe_read.
130174         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
130176 2002-12-12  Karl Berry  <karl@gnu.org>
130178         * config/config.guess: update from prep.
130180 2002-12-11  Bruno Haible  <bruno@clisp.org>
130182         * m4/setenv.m4: New file, from gettext-0.11.5.
130184 2002-12-11  Bruno Haible  <bruno@clisp.org>
130186         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
130187         not unsetenv().
130188         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
130189         modifications:
130191         2002-12-11  Bruno Haible  <bruno@clisp.org>
130193                 * setenv.c (alloca): Fall back to malloc.
130194                 (freea): New macro.
130195                 (setenv): Use freea() to free memory allocated with alloca().
130197         2002-11-13  Bruno Haible  <bruno@clisp.org>
130199                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
130200                 function declarations.
130201                 * unsetenv.c (unsetenv): Likewise.
130203         2002-03-04  Bruno Haible  <bruno@clisp.org>
130205                 Portability to AIX 4.3.3.
130206                 * unsetenv.c: New file, extracted from setenv.c.
130207                 * setenv.c: Move the unsetenv() function to unsetenv.c.
130209         2001-12-20  Bruno Haible  <bruno@clisp.org>
130211                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
130212                 use malloc instead. For SunOS 4.
130214         2001-12-11  Bruno Haible  <bruno@clisp.org>
130216                 * setenv.c: Declare alloca.
130217                 (compar_fn_t): New typedef.
130218                 (KNOWN_VALUE, STORE_VALUE): Use it.
130220         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
130221         setenv.h.
130223 2002-12-10  Paul Eggert  <eggert@twinsun.com>
130225         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
130226         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
130227         Choose values that are less likely to collide with system fnmatch
130228         options.
130229         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
130230         defined (e.g., a pure POSIX system).
130231         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
130232         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
130234 2002-12-06  Paul Eggert  <eggert@twinsun.com>
130236         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
130237         a pain in practice to deal with generated m4 files.  This change
130238         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
130240         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
130241         and jm-glibc-io.m4, as they are no longer a special case.
130242         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
130243         kludge and the auto-generation stuff.  Check only whether the
130244         functions are declared, not whether they exist, since older hosts
130245         that don't declare the functions can't use the optimization anyway.
130247 2002-12-06  Jim Meyering  <jim@meyering.net>
130249         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
130251         Merge in changes from libc's misc/error.c, in preparation
130252         for the merge of gnulib's changes back into libc.
130254         * lib/error.c (_): Define only if not already defined.
130255         Move definition to follow all #include directives.
130256         Include unlocked-io.h only if !_LIBC.
130257         [_LIBC]: Include <libio/libioP.h>.
130258         [USE_IN_LIBIO]: Include <libio/iolibio.h>
130259         (fflush): Tweak definition to use INTUSE.
130260         (putc): Define.
130262 2002-12-05  Paul Eggert  <eggert@twinsun.com>
130264         * lib/alloca.c [defined emacs]: Include "lisp.h".
130265         (xalloc_die) [defined emacs]: New macro.
130266         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
130267         [! defined emacs]: Include <xalloc.h>.
130268         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
130269         (pointer): Typedef to POINTER_TYPE *.
130270         (malloc): Remove decl; we now always use xmalloc.
130271         (alloca): Use old-style definition, since Emacs needs this.
130272         Check for arithmetic overflow when computing combined size.
130274 2002-12-04  Paul Eggert  <eggert@twinsun.com>
130276         Do not generate unlocked-io.h automatically, since it's easier to
130277         maintain it by hand.
130279         * lib/unlocked-io.h: New file, from GNU diffutils,
130280         but with proper copyright notice and attribution.
130281         * lib/gen-uio: Remove.
130282         * lib/Makefile.am: Add copyright notice.
130283         (libfetish_a_SOURCES): Add unlocked-io.h.
130284         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
130285         (DISTCLEANFILES, io_functions): Remove macros.
130286         (EXTRA_DIST): Remove gen_uio.
130287         (unlocked-io.h): Remove rule.
130289 2002-12-04  Jim Meyering  <jim@meyering.net>
130291         Reflect the fact that stat.c and lstat.c are no longer generated.
130292         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
130293         (DISTCLEANFILES): Likewise.
130294         (EXTRA_DIST): Likewise.
130295         (all_local): Don't depend on stat.c or lstat.c.
130296         (stat.c, lstat.c): Remove rules.
130297         (EXTRA_DIST): Remove xstat.in.
130299         * lib/xstat.in: Remove file.  Contents moved into stat.c.
130300         * lib/stat.c: New file.  Contents mostly from xstat.in.
130301         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
130302         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
130304         * lib/safe-read.c: Rework so that it may serve to define safe_write,
130305         too.
130306         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
130308 2002-12-03  Jim Meyering  <jim@meyering.net>
130310         * lib/safe-read.c, safe-write.c: Change variable names and comments,
130311         but not semantics, to minimize the differences between these two files.
130312         (safe_read): Change comment to mention SAFE_READ_ERROR.
130314         * lib/safe-read.c (IS_EINTR): Define.
130315         (safe_read): Use IS_EINTR in place of in-function cpp directives.
130317 2002-12-02  Jim Meyering  <jim@meyering.net>
130319         * lib/safe-read.c (EINTR): Define.
130320         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
130321         (INT_MAX): Provide fallback.
130322         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
130324         * lib/safe-read.h (SAFE_READ_ERROR): Define.
130326 2002-12-02  Bruno Haible  <bruno@clisp.org>
130328         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
130329         Define, taken from safe-read.c.
130330         (INT_MAX): Provide fallback.
130331         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
130332         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
130334         * lib/safe-read.c (EINTR): Remove definition.
130335         (safe_read): Don't use EINTR if it is absent.
130337 2002-12-01  Jim Meyering  <jim@meyering.net>
130339         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
130340         zero.
130341         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
130343 2002-11-27  Paul Eggert  <eggert@twinsun.com>
130345         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
130346         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
130347         with `if (! (value < limit)) abort ();', for readability.
130349 2002-11-26  Karl Berry  <karl@gnu.org>
130351         * lib/strdup.c: copy from libc again, with jim's ok.
130352         * lib/.cppi-disable: re-add strdup.c
130354 2002-11-25  Karl Berry  <karl@gnu.org>
130356         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
130357         instead of "strtol.c".
130359 2002-11-25  Karl Berry  <karl@gnu.org>
130361         * config/install-sh: update from automake for variable quoting, $0 in
130362         error msgs, etc.
130364         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
130365         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
130366         entry.
130368 2002-11-25  Jim Meyering  <jim@meyering.net>
130370         * lib/mktime.c: Sync from libc, now that it has the latest fix.
130372 2002-11-24  Karl Berry  <karl@gnu.org>
130374         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
130375         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
130377 2002-11-24  Jim Meyering  <jim@meyering.net>
130379         Update from coreutils:
130381         * lib/mktime.c: Merge in changes from libc.
130383         Avoid a link-time failure on some Linux systems.
130384         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
130385         (otherwise).
130386         (__mon_yday): Declare with the STATIC attribute.
130387         (__mktime_internal): Likewise.
130388         Based on a report from Greg Schafer.
130390 2002-11-23  Jim Meyering  <jim@meyering.net>
130392         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
130393         Use `unsigned', not `int', as type of index.
130395         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
130397         * lib/fsusage.c: Remove unneeded parentheses around operands of
130398         `defined'.
130400 2002-11-22  Paul Eggert  <eggert@twinsun.com>
130402         * lib/quotearg.h: Allow multiple inclusion by surrounding with
130403         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
130404         so that we can be included first.
130405         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
130406         * lib/quotearg.c: Include quotearg.h immediately after config.h.
130407         No need to include stddef.h or sys/types.h any more.
130408         Surround local include files with "", not "<>".
130409         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
130410         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
130411         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
130412         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
130413         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
130414         (ISPRINT): Remove; no longer needed now that we assume C89.
130416         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
130417         Preserve errno.
130419         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
130420         quotearg_char): Use SIZE_MAX rather than
130421         (size_t) -1 when we are talking about "infinity".
130423         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
130425 2002-11-22  Paul Eggert  <eggert@twinsun.com>
130427         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
130428         hint that one should use `if (! x) abort ();' rather than `assert
130429         (x);', and anyway it's one less thing to worry about configuring.
130430         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
130431         hash_rehash, hash_insert): Use abort rather than assert.
130433 2002-11-22  Bruno Haible  <bruno@clisp.org>
130435         * lib/safe-read.h: Assume C89. Add comments.
130436         (safe_read): Change return type to size_t.
130437         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
130438         byte counts > SSIZE_MAX correctly.
130439         * lib/safe-write.h: New file.
130440         * lib/safe-write.c: New file.
130441         * lib/full-read.h: New file.
130442         * lib/full-read.c: New file.
130443         * lib/full-write.h: Assume C89. Add comments.
130444         * lib/full-write.c: Include safe-write.h.
130445         (full_write): Rewritten to use safe_write.
130446         Suggested by Jim Meyering and Paul Eggert.
130448 2002-11-21  Jim Meyering  <jim@meyering.net>
130450         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
130452         Merge in changes from the coreutils.
130454         2002-09-25  Paul Eggert  <eggert@twinsun.com>
130455         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
130456         <stdint.h>.
130457         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
130458         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
130459         int.  Work more efficiently if X is the same width as uintmax_t.
130460         Do not compare X to -1, to avoid bogus compiler warning.
130461         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
130462         Don't assume that f_frsize and f_bsize are the same type.
130464         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
130465         warning on FreeBSD.
130467         * lib/makepath.c (make_path): Restore umask *before* creating the final
130468         component.
130469         (make_path): Minor reformatting.
130471         * lib/xmalloc.c: Adjust to work with new autoconf macros,
130472         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
130473         HAVE_MALLOC/HAVE_REALLOC.
130475         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
130476         dummy ones.  At least on GNU/Linux systems, `auto' means something
130477         else.
130478         From Michael Stone.
130480 2002-11-21  Bruno Haible  <bruno@clisp.org>
130482         Remove case insensitive option matching.
130483         * lib/argmatch.h (argcasematch): Remove declaration.
130484         (ARGCASEMATCH): Remove macro.
130485         (__xargmatch_internal): Remove case_sensitive argument.
130486         (XARGMATCH): Update.
130487         (XARGCASEMATCH): Remove macro.
130488         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
130489         case_sensitive argument.
130490         (argcasematch): Remove function.
130491         (__xargmatch_internal): Remove case_sensitive argument.
130492         (main): Use XARGMATCH instead of XARGCASEMATCH.
130494         * lib/xmalloc.c: Change compile-time error message. Add comment about
130495         required autoconf version.
130497 2002-11-20  Paul Eggert  <eggert@twinsun.com>
130499         Merge argmatch cleanups from Bison.  Assume C89.
130501         * lib/argmatch.c: Include config.h here, not in argmatch.h.
130502         Include stdlib.h, for EXIT_FAILURE.
130503         Always include <string.h>, since we assume C89.
130504         (EXIT_FAILURE): Remove pre-C89 bug workaround.
130505         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
130506         Include <stddef.h> instead, since it's all we need for size_t.
130507         (PARAMS): Remove.  All uses removed.
130508         (ARRAY_CARDINALITY): Do not bother to #undef.
130509         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
130510         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
130511         Remove unnecessary parentheses.
130512         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
130513         Insert necessary parentheses.
130514         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
130515         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
130517 2002-11-19  Bruno Haible  <bruno@clisp.org>
130519         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
130520         * lib/mbswidth.h: Include <stddef.h>, for size_t.
130522         * lib/mbswidth.h (PARAMS): Remove macro.
130523         (mbswidth, mbsnwidth): Use ANSI C function declarations.
130524         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
130526         * lib/gcd.h (PARAMS): Remove macro.
130527         (gcd): Use ANSI C function declarations.
130528         * lib/gcd.c (gcd): Likewise.
130530 2002-11-15  Bruno Haible  <bruno@clisp.org>
130532         * lib/strcspn.c: Include <stddef.h>.
130533         (strcspn): Use ANSI C function declaration. Change return type to
130534         size_t. Use NULL.
130535         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
130536         (strpbrk): Use NULL.
130537         * lib/strpbrk.h (PARAMS): Remove macro.
130538         (strpbrk): Use ANSI C function declaration.
130539         * lib/strstr.c: Don't include <sys/types.h>.
130540         * lib/strstr.h (PARAMS): Remove macro.
130541         (strstr): Use ANSI C function declarations.
130543 2002-11-14  Karl Berry  <karl@gnu.org>
130545         * config/mkinstalldirs: `do' on separate line, instead of
130546         `for var; do'.
130548 2002-11-06  Bruno Haible  <bruno@clisp.org>
130550         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
130551         * lib/gcd.c (gcd): Likewise.
130553 2002-11-05  Bruno Haible  <bruno@clisp.org>
130555         * lib/gcd.h: New file, from gettext-0.11.5.
130556         * lib/gcd.c: New file, from gettext-0.11.5.
130558 2002-11-05  Bruno Haible  <bruno@clisp.org>
130560         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130561         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130562         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130563         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130565         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
130566         <libintl.h>.
130567         * lib/makepath.c: Include gettext.h instead of <locale.h> and
130568         <libintl.h>.
130570         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
130571         * lib/human.c: Include gettext.h instead of <libintl.h>.
130572         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
130573         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
130574         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
130575         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
130576         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
130577         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
130578         (textdomain): Remove definition.
130579         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
130581         * lib/long-options.c: Remove include of <libintl.h> and definition of
130582         _.
130583         * lib/same.c: Remove include of <libintl.h> and definition of _.
130585 2002-11-04  Owen Taylor  <otaylor@redhat.com>
130587         * lib/config.charset: A few additions for Solaris.
130589 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
130591         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
130592         * lib/localcharset.c (locale_charset): Declare as extern "C".
130594 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
130596         * lib/config.charset: msdos in uk_UA uses CP1125.
130598 2002-11-04  Bruno Haible  <bruno@clisp.org>
130600         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
130601         * lib/strcase.h: New file, from GNU gettext-0.11.5.
130602         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
130603         * lib/strstr.h: New file, from GNU gettext-0.11.5.
130604         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
130606 2002-11-04  Bruno Haible  <bruno@clisp.org>
130608         * lib/localcharset.c (locale_charset): Don't return an empty string.
130610 2002-11-04  Bruno Haible  <bruno@clisp.org>
130612         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
130613         aliases.
130615 2002-11-04  Bruno Haible  <bruno@clisp.org>
130617         * lib/config.charset: Update for newest glibc. Add canonical names
130618         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
130620 2002-11-04  Bruno Haible  <bruno@clisp.org>
130622         * lib/config.charset: Add support for NetBSD.
130624 2002-11-04  Bruno Haible  <bruno@clisp.org>
130626         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
130628 2002-11-01  Bruno Haible  <bruno@clisp.org>
130630         * configure.in: Add AC_CONFIG_AUX_DIR call.
130631         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
130632         test/Makefile.
130633         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
130635 2002-09-28  Karl Berry  <karl@gnu.org>
130637         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
130638         installed automake until the next release, since changes have been
130639         made.
130641 2002-09-25  Karl Berry  <karl@gnu.org>
130643         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
130644         * lib/getopt*: copy from libc/posix.
130645         * lib/gettext.h: copy from gettext.
130646         * lib/.cppi-disable: add strdup.c, gettext.h.
130648 2002-09-25  Karl Berry  <karl@gnu.org>
130650         * config/srclist.txt: enable gettext.h check.
130651         * config/config.{guess,sub}: update from prep.
130652         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
130653                 from automake 1.6.3.
130654         See srclist*.
130656 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
130658         * regex.c (PATFETCH): Remove the translating fetch.
130659         (PATFETCH_RAW): Rename to PATFETCH.
130660         (set_image_of_range): New fun.
130661         (SET_RANGE_TABLE_WORK_AREA): Use it.
130662         (regex_compile): Don't translate the pattern chars so eagerly.
130663         Only do it when inserting an `exactn' bytecode or when handling
130664         a char-range.
130665         (mutually_exclusive_p): Avoid empty statement.
130667 2002-07-06  Jim Meyering  <meyering@lucent.com>
130669         * m4/README: Don't mention Makefile.am.in.
130670         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
130672 2002-07-01  Jim Meyering  <meyering@lucent.com>
130674         * lib/c-stack.c: Include sys/time.h.
130675         From Volker Borchert.
130677 2002-06-26  Paul Eggert  <eggert@twinsun.com>
130679         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
130681 2002-06-26  Paul Eggert  <eggert@twinsun.com>
130683         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
130684         New macro.  Use it uniformly instead of
130685         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
130686         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
130687         reported by Vin Shelton.
130689 2002-06-22  Paul Eggert  <eggert@twinsun.com>
130691         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
130692         Do not assume SA_SIGINFO behavior.
130693         Bug reported by Jim Meyering on NetBSD 1.5.2.
130695 2002-06-22  Jim Meyering  <meyering@lucent.com>
130697         * m4/c-stack.m4: New file, from diffutils-2.8.2.
130698         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
130700         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
130701         now that configure.ac uses AC_GNU_SOURCE.
130702         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
130703         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
130705         Update to latest tools.  Suggestions from Paul Eggert.
130706         * m4/stdbool.m4: New file, from diffutils-2.8.2.
130707         * m4/gnu-source.m4: Update from diffutils-2.8.2.
130708         * m4/fnmatch.m4: Likewise.
130709         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
130710         to AC_HEADER_STDBOOL
130712 2002-06-22  Jim Meyering  <meyering@lucent.com>
130714         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
130715         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
130717 2002-06-22  Jim Meyering  <meyering@lucent.com>
130719         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
130721         * lib/exitfail.c, exitfail.h: Likewise.
130722         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
130724         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
130725         of fnmatch.h.
130726         (EXTRA_DIST): Add fnmatch_loop.c.
130727         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
130729         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
130730         * lib/fnmatch.c: Update from diffutils-2.8.2.
130731         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
130732         * lib/fnmatch.h: Remove file.
130734 2002-06-21  Jim Meyering  <meyering@lucent.com>
130736         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
130737         * m4/mbrtowc.m4: Likewise.
130739         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
130740         * m4/mbswidth.m4: Reflect name change:
130741         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
130742         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
130744         * m4/lib-link.m4: Update from gettext-0.11.2.
130745         * m4/gettext.m4: Likewise.
130747         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
130748         From Alfred M. Szmidt.
130750 2002-06-18  Paul Eggert  <eggert@twinsun.com>
130752         * lib/file-type.h: Report an error if neither S_ISREG nor
130753         S_IFREG is defined, instead of using a test specific to glibc
130754         2.2.  This should be safe, since POSIX requires S_ISREG and
130755         Unix Version 7 had S_IFREG.  We don't need to check for
130756         <sys/types.h> since we don't use any symbols that it defines.
130758 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
130760         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
130761         $@-t, so that each temporary file name is unique and valid in the first
130762         8 characters, for operation under DOS.
130764 2002-06-15  Paul Eggert  <eggert@twinsun.com>
130766         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
130768 2002-06-15  Jim Meyering  <meyering@lucent.com>
130770         Work even with DJGPP 2.03, which lacks support for symlinks.
130771         From Richard Dawe.
130772         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
130773         is defined.
130774         * lib/lchown.c (S_ISLNK): Likewise.
130776 2002-06-15  Jim Meyering  <meyering@lucent.com>
130778         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
130779         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
130780         have been included before this file.
130782 2002-06-14  Jim Meyering  <meyering@lucent.com>
130784         * lib/file-type.h: Use the version from diffutils-2.8.2.
130785         * lib/file-type.c: Likewise.
130787 2002-06-07  Jim Meyering  <meyering@lucent.com>
130789         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
130790         They're needed at least for NetBSD 1.5.2.
130791         ($statxfs_includes): Include those same headers.
130792         ($statxfs_includes): Include sys/vfs.h if available.
130793         ($statxfs_includes): Likewise for sys/statvfs.h.
130794         Check for the following members in both structs statfs and statvfs:
130795         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
130797 2002-06-01  Jim Meyering  <meyering@lucent.com>
130799         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
130800         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
130802 2002-05-28  Jim Meyering  <meyering@lucent.com>
130804         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
130805         Reported by Volker Borchert.
130807 2002-05-27  Jim Meyering  <meyering@lucent.com>
130809         Fix a problem seen only on nonconforming systems whereby ls.c's
130810         use of localtime, and then of gettimeofday would cause trouble:
130811         the localtime call used to initialize rpl_gettimeofday's save
130812         mechanism would clobber ls's current local time information so
130813         that in any long listing the first file would always be listed
130814         with date 1970-01-01.  Analysis by Volker Borchert.
130816         * lib/gettimeofday.c (localtime): Undefine.
130817         (rpl_localtime): New function.
130819 2002-05-27  Jim Meyering  <meyering@lucent.com>
130821         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
130822         localtime.
130824         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
130825         use the replacement function; it wouldn't resolve at link time.
130826         Reported by Volker Borchert.
130828 2002-05-22  Jim Meyering  <meyering@lucent.com>
130830         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
130831         file-type.h.
130832         * lib/file-type.h: New file.
130833         * lib/file-type.c (file_type): New file/function.  Extracted from
130834         diffutils.
130836 2002-04-30  Jim Meyering  <meyering@lucent.com>
130838         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
130840 2002-04-29  Paul Eggert  <eggert@twinsun.com>
130842         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
130844 2002-04-29  Paul Eggert  <eggert@twinsun.com>
130846         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
130847         Do not check for alloca.h (no longer used) or stdbool.h (was never
130848         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
130850 2002-04-29  Paul Eggert  <eggert@twinsun.com>
130852         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
130854 2002-04-29  Jim Meyering  <meyering@lucent.com>
130856         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
130857         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
130858         Use AC_FUNC_STRNLEN here instead.
130860         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
130861         With autoconf-2.53a, it's part of AC_PROG_CC.
130863 2002-04-28  Paul Eggert  <eggert@twinsun.com>
130865         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
130866         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
130868 2002-04-28  Paul Eggert  <eggert@twinsun.com>
130870         * lib/sig2str.h, lib/sig2str.c: New files.
130871         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
130873 2002-04-28  Paul Eggert  <eggert@twinsun.com>
130875         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
130876         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
130877         of 127, since 64 is the largest conceivable number for ancient
130878         nonstandard hosts.
130879         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
130881 2002-04-28  Jim Meyering  <meyering@lucent.com>
130883         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
130885 2002-04-24  Jim Meyering  <meyering@lucent.com>
130887         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
130888         (jm_PREREQ): Use it.
130890         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
130891         mach/mach.h fcntl.h.
130892         Check for this function: setlocale.
130894 2002-04-24  Jim Meyering  <meyering@lucent.com>
130896         * lib/gettext.h: New file, from Gettext.
130897         * lib/Makefile.am (INCLUDES): Remove -I../intl.
130898         (libfetish_a_SOURCES): Add gettext.h.
130900 2002-04-16  Jim Meyering  <meyering@lucent.com>
130902         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
130903         ut_pid, ut_id, ut_exit.
130905 2002-04-16  Jim Meyering  <meyering@lucent.com>
130907         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
130908         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
130909         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
130911 2002-04-12  Jim Meyering  <meyering@lucent.com>
130913         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
130914         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
130915         existence of the getmntinfo function.  Needed for Darwin 5.3.
130917         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
130918         This is necessary at least on Darwin 5.3.
130920         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
130921         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
130922         strnlen.o in the library, and that makes some versions of ranlib
130923         object.
130925 2002-04-12  Jim Meyering  <meyering@lucent.com>
130927         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
130929 2002-04-09  Jim Meyering  <meyering@lucent.com>
130931         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
130932         to be more precise.  Rather than saying we're checking whether the
130933         function `works', say what we're testing.
130934         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
130935         Reported by Bruno Haible.
130937 2002-03-10  Jim Meyering  <meyering@lucent.com>
130939         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
130940         Suggestion from Santiago Vila.
130942 2002-03-08  Jim Meyering  <meyering@lucent.com>
130944         * lib/rename.c: Mention that this wrapper is needed also on
130945         mips-dec-ultrix4.4 systems.
130947 2002-03-02  Jim Meyering  <meyering@lucent.com>
130949         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
130950         not HAVE_CLOCK_SETTIME.
130952 2002-02-27  Paul Eggert  <eggert@twinsun.com>
130954         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
130955         Check for clock_settime.
130957 2002-02-27  Paul Eggert  <eggert@twinsun.com>
130959         * lib/nanosleep.h: Rename to....
130960         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
130962         * lib/gettime.c: New file.
130963         * lib/settime.c: New file.
130964         * lib/stime.c: Remove.
130966         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
130967         timespec.h.  Remove nanosleep.h.
130969 2002-02-25  Paul Eggert  <eggert@twinsun.com>
130971         * m4/acl.m4: New file.
130972         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
130973         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
130975 2002-02-25  Paul Eggert  <eggert@twinsun.com>
130977         * lib/acl.c, lib/acl.h: New files.
130978         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
130980 2002-02-24  Jim Meyering  <meyering@lucent.com>
130982         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
130983         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
130984         cause trouble.  Reported by Nelson Beebe.
130986 2002-02-23  Paul Eggert  <eggert@twinsun.com>
130988         * lib/path-concat.c (xpath_concat): Reorder code to pacify
130989         compilers that don't know that xalloc_die never returns.
130991 2002-02-20  Jim Meyering  <meyering@lucent.com>
130993         * lib/getdate.c: Regenerate using bison-1.33.
130995 2002-02-17  Jim Meyering  <meyering@lucent.com>
130997         * config/config.guess (main): Don't use `head -1'; it's no longer
130998         portable. Use `sed 1q' instead.
131000 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
131002         * m4/codeset.m4: Upgrade to gettext-0.11.
131003         * m4/gettext.m4: Upgrade to gettext-0.11.
131004         * m4/glibc21.m4: Upgrade to gettext-0.11.
131005         * m4/iconv.m4: Upgrade to gettext-0.11.
131006         * m4/isc-posix.m4: Upgrade to gettext-0.11.
131007         * m4/lcmessage.m4: Upgrade to gettext-0.11.
131008         * m4/lib-ld.m4: New file, from gettext-0.11.
131009         * m4/lib-link.m4: New file, from gettext-0.11.
131010         * m4/lib-prefix.m4: New file, from gettext-0.11.
131011         * m4/progtest.m4: Upgrade to gettext-0.11.
131013 2002-02-15  Paul Eggert  <eggert@twinsun.com>
131015         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
131016         (jm_PREREQ): Use it.
131018 2002-02-15  Paul Eggert  <eggert@twinsun.com>
131020         * lib/posixver.c, lib/posixver.h: New files.
131021         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
131023 2002-02-02  Paul Eggert  <eggert@twinsun.com>
131024             Bruno Haible  <bruno@clisp.org>
131026         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
131027         (fwrite_success_callback): New declaration.
131028         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
131029         print_unicode_char. Call failure callback instead of error.
131030         (fwrite_success_callback): New function.
131031         (exit_failure_callback): New function.
131032         (fallback_failure_callback): New function.
131033         (print_unicode_char): Call unicode_to_mb.
131035 2002-01-26  Jim Meyering  <meyering@lucent.com>
131037         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
131038         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
131040 2002-01-26  Jim Meyering  <meyering@lucent.com>
131042         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
131044 2002-01-22  Paul Eggert  <eggert@twinsun.com>
131046         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
131048 2002-01-22  Jim Meyering  <meyering@lucent.com>
131050         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
131051         Otherwise, some versions of automake would omit the rule that makes
131052         Makefile from Makefile.in.
131054 2002-01-21  Paul Eggert  <eggert@twinsun.com>
131056         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
131057         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
131058         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
131059         (memcoll): Set errno to zero if there is no error.
131061         * lib/quotearg.c (quotearg_buffer_restyled):
131062         Fix bug with quoting buffers containing NUL when backslashing escapes.
131063         This bug was exposed by the other changes in this patch.
131064         (quotearg_n_options): New arg ARGSIZE.
131065         All callers changed.
131066         (quoting_options_from_style): New function.
131067         (quotearg_n_style): Use it.
131068         (quotearg_n_style_mem): New function.
131070         * lib/quotearg.h (quotearg_n_style_mem): New function.
131072 2002-01-19  Jim Meyering  <meyering@lucent.com>
131074         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
131075         Remove useless quotes: DF_PROG="df".
131076         * m4/strnlen.m4: New file.
131078 2002-01-16  Paul Eggert  <eggert@twinsun.com>
131080         * lib/backupfile.c (ISDIGIT): Comment fix.
131081         * lib/getdate.y (ISDIGIT): Likewise.
131082         * lib/posixtm.c (ISDIGIT, year): Likewise.
131083         * lib/strverscmp.c (ISDIGIT): Likewise.
131084         * lib/userspec.c (ISDIGIT): Likewise.
131086 2002-01-16  Jim Meyering  <meyering@lucent.com>
131088         * lib/getdate.y: Add three semicolons, each just before a closing
131089         brace. Bison (as of version 1.31) no longer papers over that mistake.
131091 2002-01-05  Jim Meyering  <meyering@lucent.com>
131093         * lib/version-etc.c (version_etc_copyright): Update copyright year.
131095 2001-12-19  Paul Eggert  <eggert@twinsun.com>
131097         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
131098         not silently exit merely because the output buffer happens to
131099         have nothing pending.
131101 2001-12-18  Paul Eggert  <eggert@twinsun.com>
131103         See the big note in ../ChangeLog.
131104         * lib/human.c (suffixes): Prefer K to k for 1024.
131105         (generate_suffix_backwards): New function.
131106         (human_readable_inexact): Use it.
131107         * lib/xstrtol.c (__xstrtol): If there is no number but there
131108         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
131109         Accept 'K' as well as 'k'.
131111 2001-12-15  Jim Meyering  <meyering@lucent.com>
131113         * lib/regex.h (__restrict_arr): Update from libc.
131115         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
131116         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
131117         (STREQ): Define.
131119 2001-12-14  Jim Meyering  <meyering@lucent.com>
131121         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
131122         Suggestion from Bruno Haible.
131124 2001-12-10  Jim Meyering  <meyering@lucent.com>
131126         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
131127         xrealloc, Instead, include "xalloc.h".
131128         (initbuffer): Don't cast xmalloc return value to char*.
131129         (readline): Reword comment.
131130         Don't cast xrealloc return value to char*
131131         Return NULL, not 0.
131133 2001-12-09  Jim Meyering  <meyering@lucent.com>
131135         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
131136         about `signed and unsigned type in conditional expression'.
131137         * lib/posixtm.c (posix_time_parse): Likewise.
131139         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
131141         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
131142         to avoid a pedantic warning.
131144         * lib/getstr.c: Don't include assert.h.
131145         (getstr): Remove warning-evoking assertions.
131146         Return -1 if offset parameter is out of bounds.
131147         Change the type of a local from int to size_t.
131149         * lib/strftime.c (my_strftime_localtime_r): Include this function
131150         definition in the `#if ! HAVE_TM_GMTOFF' block.
131152         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
131153         Include xalloc.h instead.
131155 2001-12-02  Jim Meyering  <meyering@lucent.com>
131157         * lib/tempname.c: Don't declare getenv, thus reverting the change of
131158         2001-11-18.  It's no longer necessary, now that stdlib.h is always
131159         included.
131161         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
131162         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
131164 2001-11-30  Akim Demaille  <akim@epita.fr>
131166         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
131167         before being defined.
131169 2001-11-27  Paul Eggert  <eggert@twinsun.com>
131171         * lib/quotearg.h (quotearg_n, quotearg_n_style):
131172         First arg is int, not unsigned.
131173         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
131174         (SIZE_MAX, UINT_MAX): New macros.
131175         (quotearg_n_options): Abort if N is negative.
131176         Avoid overflow check on hosts where size_t is 64 bits and int
131177         is 32 bits, as overflow is impossible there.
131178         Fix off-by-one typo that caused unnecessary reallocation.
131180 2001-11-27  Jim Meyering  <meyering@lucent.com>
131182         * lib/tempname.c: Merge with version from libc.
131183         * lib/regex.c: Likewise.
131185         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
131186         systems for which STDC_HEADERS is 0, it was not included, resulting in
131187         a warning about an integer-to-pointer conversion problem with getenv.
131188         Reported by Volker Borchert.
131190 2001-11-26  Jim Meyering  <meyering@lucent.com>
131192         * lib/gtod.h: Remove file.
131193         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
131194         * lib/gettimeofday.c: Don't include gtod.h.
131195         (GTOD_init): Remove function.
131196         (rpl_gettimeofday): Do its job here instead, rather than aborting.
131197         Suggestion from Volker Borchert.
131199 2001-11-23  Jim Meyering  <meyering@lucent.com>
131201         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
131202         it.
131203         * lib/hash.c (struct hash_table): Define it here instead.
131205 2001-11-22  Jim Meyering  <meyering@lucent.com>
131207         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
131209 2001-11-20  Jim Meyering  <meyering@lucent.com>
131211         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
131212         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
131214 2001-11-19  Jim Meyering  <meyering@lucent.com>
131216         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
131217         directory.  Use "conftestXXXXXX" as the template.
131218         Suggestion from Paul Eggert.
131220         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
131221         immediately, so the test doesn't mistakenly hit the max-open-files
131222         limit.
131224 2001-11-18  Paul Eggert  <eggert@twinsun.com>
131226         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
131227         (TEMPORARIES): New macro.
131228         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
131229         removes an artificial limitation (e.g. HP-UX 10.20, where
131230         TMP_MAX is 17576).
131232 2001-11-18  Jim Meyering  <meyering@lucent.com>
131234         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
131236 2001-11-18  Jim Meyering  <meyering@lucent.com>
131238         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
131239         on SunOS 4.
131241         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
131242         files will be created before anything else.
131244 2001-11-17  Paul Eggert  <eggert@twinsun.com>
131246         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
131247         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
131249 2001-11-17  Jim Meyering  <meyering@lucent.com>
131251         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
131252         Prompted by a report from Bob Proulx.
131254         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
131255         Instead, require UTILS_FUNC_MKSTEMP.
131257 2001-11-17  Jim Meyering  <meyering@lucent.com>
131259         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
131260         Now, that's done as part of AC_FUNC_STRTOD.
131262 2001-11-17  Jim Meyering  <meyering@lucent.com>
131264         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
131265         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
131266         rather than group writable.  Patch by Juan F. Codagnone.
131268         * lib/readtokens.c: Remove explicit declarations of xmalloc and
131269         xrealloc, Instead, include "xalloc.h".
131271         * lib/mountlist.c: Include unlocked-io.h after all system headers.
131272         Remove explicit declarations of xmalloc, xrealloc,
131273         and xstrdup.  Instead, include "xalloc.h".
131275         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
131276         unlocked-io.h.
131277         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
131278         Likewise.
131279         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
131281         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
131282         Reported by Padraig Brady.
131284         * lib/mkstemp.c: #undef mkstemp.
131285         Include config.h.
131286         (rpl_mkstemp): Rename from mkstemp.
131287         Protoize.
131289 2001-11-16  Jim Meyering  <meyering@lucent.com>
131291         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
131292         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
131293         determine the amount of total physical memory, use pstat_getstatic.
131294         HPUX-11 doesn't define _SC_PHYS_PAGES.
131295         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
131296         If sysconf couldn't be used to determine the amount of available
131297         physical memory, use both pstat_getstatic and pstat_getdynamic.
131298         Based on a patch from Bob Proulx.
131300 2001-11-10  Jim Meyering  <meyering@lucent.com>
131302         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
131303         (jm_PREREQ): Use it.
131305 2001-11-09  Jim Meyering  <meyering@lucent.com>
131307         * m4/jm-macros.m4: Require autoconf-2.52f.
131308         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
131309         Use these AC_-prefixed names, not the AM_-prefixed ones.
131311         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
131313 2001-11-05  Jim Meyering  <meyering@lucent.com>
131315         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
131317 2001-11-04  Jim Meyering  <meyering@lucent.com>
131319         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
131320         $DEFS.
131322 2001-11-03  Jim Meyering  <meyering@lucent.com>
131324         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
131325         of AC_DEFUN.
131327         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
131328         know the name of the variable in the macro definition.
131330 2001-11-03  Jim Meyering  <meyering@lucent.com>
131332         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
131333         in argmatch_to_argument call.
131335         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
131336         argument.
131338         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
131339         e.g., a fault due to an attempt to free a NULL pointer.
131341 2001-11-01  Jim Meyering  <meyering@lucent.com>
131343         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
131344         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
131346 2001-11-01  Jim Meyering  <meyering@lucent.com>
131348         * lib/dirfd.c, lib/dirfd.h: New files.
131349         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
131351         * lib/hash.c (hash_print) [TESTING]: Clean up.
131353 2001-10-22  Paul Eggert  <eggert@twinsun.com>
131355         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
131356         to avoid a warning if -Wall.
131358 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
131360         * README: New file
131361         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
131362         (per RMS's instructions, this is now the canonical source)
131363         * lgpl/, gpl/: New directories.
131365 2001-10-21  Paul Eggert  <eggert@twinsun.com>
131367         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
131369 2001-10-21  Jim Meyering  <meyering@lucent.com>
131371         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
131372         this code would end up calling gettext even in packages built
131373         with --disable-nls.
131374         * lib/getopt.c (_): Likewise.
131375         * lib/regex.c (_): Likewise.
131377 2001-10-20  Paul Eggert  <eggert@twinsun.com>
131379         * m4/error.m4 (jm_PREREQ_ERROR):
131380         Do not invoke AC_CHECK_FUNCS with strerror_r, as
131381         AC_FUNC_STRERROR_R does that.
131382         Check for strerror declaration.
131384         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
131385         are supposed to have them these days.
131386         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
131387         Merge changes from latest Autoconf CVS.
131388         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
131389         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
131390         POSIX decided to standardize on the int flavor of strerror_r.
131392 2001-10-20  Paul Eggert  <eggert@twinsun.com>
131394         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
131395         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
131396         Use strerror_r that is only a macro, even if it is not a function.
131397         (strerror): Check for HAVE_DECL_STRERROR before declaring.
131398         (private_strerror): Use prototypes, not old-style function definition.
131399         (print_errno_message): New function.
131400         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
131401         char*-flavored one.
131402         (error_tail, error, error_at_line): Use it.
131404 2001-10-11  Jim Meyering  <meyering@lucent.com>
131406         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
131407         and quote_n (1, ... to avoid clobbering a buffer.
131409 2001-10-05  Jim Meyering  <meyering@lucent.com>
131411         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
131412         hash-pjw.h.
131413         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
131414         * lib/hash-pjw.h: New file.
131416 2001-09-30  Jim Meyering  <meyering@lucent.com>
131418         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
131419         `struct fsstat' has the `f_fstypename' member.
131420         Use that to define FS_TYPE, which is now used to make
131421         the getfsstat link test tighter.
131423 2001-09-30  Jim Meyering  <meyering@lucent.com>
131425         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
131426         Include <sys/ucred.h>, for Apple Darwin.
131427         Include sys/mount.h and sys/fs_types.h only if available.
131428         (FS_TYPE): Define.
131429         (read_filesystem_list): Use FS_TYPE.
131431 2001-09-29  Paul Eggert  <eggert@twinsun.com>
131433         * lib/exclude.c (excluded_filename): 0 -> false, since it's
131434         a boolean context.
131436 2001-09-29  Jim Meyering  <meyering@lucent.com>
131438         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
131439         [one-argument getmntent function]): Include stdio.h before mntent.h.
131440         SunOS 4.1.x needs it for the declaration of `FILE'.
131441         Patch by Volker Borchert.
131443         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
131444         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
131445         sys/fs_types.h, and make the link-test for getfsstat guard #include
131446         directives with appropriate #if HAVE_*_H tests so that we can
131447         detect getfsstat on Apple Darwin1.3.7 systems.
131448         Reported by Nelson Beebe.
131449         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
131451 2001-09-28  Paul Eggert  <eggert@twinsun.com>
131453         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
131454         #defines strtoimax.  Also treat the other strto* functions
131455         like strtoimax.
131457         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
131458         Check for strtoul and strtoumax,
131459         as those declarations are made even in the signed case.
131460         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
131461         Likewise, for strtol and strtoimax.
131463 2001-09-28  Paul Eggert  <eggert@twinsun.com>
131465         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
131466         #defines strtoimax.  Also treat the other strto* functions
131467         like strtoimax.
131469         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
131470         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
131471         (strtoimax, strtoumax): Do not declare if already defined as a macro.
131473 2001-09-26  Jim Meyering  <meyering@lucent.com>
131475         Most macros in unlocked-io.h had the wrong number of arguments.
131476         * lib/gen-uio: New script.
131477         (USE_UNLOCKED_IO): Define to 1 if not already defined.
131478         * lib/unlocked-io.hin: Remove file.
131479         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
131480         rather than trying to embed it here.
131481         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
131482         Reported by Padraig Brady.
131484 2001-09-25  Volker Borchert  <bt@teknon.de>
131486         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
131487         `result'.
131489 2001-09-24  Jim Meyering  <meyering@lucent.com>
131491         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
131493 2001-09-23  Jim Meyering  <meyering@lucent.com>
131495         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
131496         instead of the mere test for existence of mntent.h.  The latter
131497         would get a false-positive on AIX 3.4 systems.
131498         In the outer getmntent if-block, don't die if neither of the getmntent
131499         tests succeeds.  Instead, just fall through and continue with the
131500         remaining tests.
131502 2001-09-23  Jim Meyering  <meyering@lucent.com>
131504         * lib/mountlist.c: Remove useless parentheses in #if directives.
131505         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
131506         the deprecated MOUNTED symbol is no longer defined in mntent.h.
131508 2001-09-22  Jim Meyering  <meyering@lucent.com>
131510         * m4/gettext.m4: New file.  From gettext.
131511         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
131512         * m4/progtest.m4: Likewise
131513         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
131514         * m4/glibc21.m4: Likewise.
131516         * m4/libintl.m4: Remove.  No longer used.
131518 2001-09-22  Jim Meyering  <meyering@lucent.com>
131520         * lib/localcharset.c: Update from latest gettext.
131521         * lib/config.charset: Likewise.
131523 2001-09-20  Jim Meyering  <meyering@lucent.com>
131525         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
131526         strtoimax.
131527         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
131528         strtoumax.
131530 2001-09-20  Jim Meyering  <meyering@lucent.com>
131532         * lib/xstrtol.c (strtoimax): Guard declaration with
131533         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
131534         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
131535         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
131536         (strtoumax): Likewise, for completeness (it wasn't necessary).
131538 2001-09-17  Paul Eggert  <eggert@twinsun.com>
131540         * lib/strtoimax.c (HAVE_LONG_LONG):
131541         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
131542         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
131543         to work around bug in IBM C compiler.
131545 2001-09-17  Jim Meyering  <meyering@lucent.com>
131547         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
131548         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
131549         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
131550         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
131551         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
131552         whenever the right hand side need not be expanded by the shell.
131554 2001-09-16  Paul Eggert  <eggert@twinsun.com>
131556         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
131557         library.  It's not correct, as some older glibcs are buggy.
131558         fnmatch wasn't fixed until glibc 2.2.
131560         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
131561         special shell magic here.
131563 2001-09-16  Jim Meyering  <meyering@lucent.com>
131565         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
131566         * m4/jm-macros.m4: Require it.
131568 2001-09-16  Jim Meyering  <meyering@lucent.com>
131570         * lib/mkdir.c: New file.
131572 2001-09-15  Jim Meyering  <meyering@lucent.com>
131574         * m4/jm-macros.m4: Check for help2man.
131576 2001-09-11  Jim Meyering  <meyering@lucent.com>
131578         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
131579         The body, by Paul Eggert, was moved here from configure.in.
131580         * m4/jm-macros.m4: Require UTILS_HOST_OS.
131582 2001-09-04  Paul Eggert  <eggert@twinsun.com>
131584         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
131585         (jm_PREREQ): Use it.
131587 2001-09-04  Paul Eggert  <eggert@twinsun.com>
131589         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
131590         Use ssize_t, not int, to store result of readlink.
131591         Check for ssize_t overflow as well as size_t overflow,
131592         as POSIX says the result of readlink is implementation-defined
131593         when ssize_t overflows.
131594         Remove unnecessary cast to char*.
131595         Use free+malloc instead of realloc, as the storage doesn't need
131596         to be preserved and it's clearer and can be more efficient that way.
131597         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
131598         * lib/xreadlink.h (xreadlink): Update prototype.
131600 2001-09-04  Paul Eggert  <eggert@twinsun.com>
131602         * lib/xgetcwd.c: Revert some of the previous change; intead,
131603         fix the HAVE_GETCWD_NULL code to behave more like the
131604         !HAVE_GETCWD_NULL code used to.
131606         Include "xalloc.h".
131607         (xgetcwd): Do not return NULL when memory is exhausted; instead,
131608         invoke xalloc_die.
131610 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131612         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
131613         sys/param.h, as pathmax.h includes them.
131615 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131617         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
131618         (jm_PREREQ_XGETCWD): New macro.
131620         * m4/getcwd.m4: New file.
131622 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131624         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
131625         like the HAVE_GETCWD_NULL code.
131626         Include pathmax.h if not HAVE_GETCWD.
131627         Do not include xalloc.h.
131628         (INITIAL_BUFFER_SIZE): New symbol.
131629         Do not use xmalloc / xrealloc, since the caller is responsible for
131630         handling errors.  Preserve errno around `free' during failure.
131631         Do not overrun buffer when using getwd.
131633 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131635         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
131636         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
131637         getcwd (NULL, 0).
131639 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131641         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
131642         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
131643         spotted by Jim Meyering.
131645 2001-09-03  Jim Meyering  <meyering@lucent.com>
131647         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
131648         failure.
131650 2001-09-02  Jim Meyering  <meyering@lucent.com>
131652         * lib/error.c: Update from GNU libc.
131654 2001-09-01  Jim Meyering  <meyering@lucent.com>
131656         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
131657         Used by df.
131659 2001-09-01  Jim Meyering  <meyering@lucent.com>
131661         * lib/xreadlink.c: New file.
131662         * lib/xreadlink.h: New file.
131663         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
131664         xreadlink.h.
131666         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
131667         doesn't conflict with sparc Solaris 7's definition in
131668         /usr/include/sys/int_types.h.
131670         * lib/exclude.c: Use `""', not `<>' to #include non-system header
131671         files.
131672         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
131673         and strncasecmp as r-values.  Unixware didn't have declarations.
131675 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131677         * lib/xstrtol.h: Add copyright notice.
131678         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
131679         LONGINT_INVALID_SUFFIX_CHAR.
131681 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131683         * lib/xstrtol.c (strtoimax): New decl.
131685 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131687         * lib/xgetcwd.c: Don't include pathmax.h.
131688         Include stdlib.h and unistd.h if available.
131689         Include xalloc.h.
131690         (xmalloc, xstrdup, free): Remove decls.
131691         (xgetcwd): Don't assume sizes fit in unsigned.
131692         Check for overflow when computing sizes.
131693         Simplify reallocation code.
131695 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131697         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
131698         a directory's st_size can have an arbitrary value, so the old
131699         usage could waste an arbitrary amount of memory.  All uses
131700         changed.
131701         * lib/savedir.h: Update prototype.
131703 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131705         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
131707         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
131708         old strtoimax.c.
131710         Also, make the following further changes to make this file's
131711         configuration more similar to that of strtol.c:
131712         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
131713         (strtoumax, uintmax_t, strtoull, strtol): Remove.
131714         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
131715         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
131716         changed to signed values.
131718         And make the following changes as well:
131719         Fix copyright notice, as 1999 was missing.
131720         (verify): New macro.
131721         (strtoimax): Check sizes at compile-time, not run-time.
131722         Prefer strtol to strtoll if both work.
131723         (main): Remove; it was not that useful and was a pain to maintain.
131725         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
131727 2001-08-31  Jim Meyering  <meyering@lucent.com>
131729         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
131730         Use an initial, malloc'd, buffer of length 128 rather than
131731         a statically allocated one of length 1024.
131733 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131735         Simplify code, partly by assuming autoconf 2.52 semantics.
131737         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
131739         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
131740         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
131741         All uses removed.
131742         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
131743         Move AC_REQUIRE to next-to-top level, to avoid confusion.
131744         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
131745         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
131746         jm_AC_HEADER_INTTYPES_H.
131747         * m4/jm-macros.m4 (jm_MACROS): Likewise.
131749         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
131751         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
131752         Quote first arg of AC_DEFUN.
131753         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
131754         since they are needed to parse the include file even if we need
131755         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
131756         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
131757         but with opposite signedness.
131759 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131761         Merge 'exclude' changes from tar 1.13.22.
131762         This fixes one or two unlikely storage allocation overflow bugs,
131763         but doesn't change user-visible behavior otherwise.
131765 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131767         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
131768         (jm_PREREQ_EXCLUDE): New macro.
131770 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131772         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
131773         tm to be declared.
131775 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131777         * lib/hash.c: Remove '2001' from copyright notice.
131779 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131781         * lib/full-write.h: New file.
131782         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
131783         * lib/full-write.c: Correct credits, as cccp.c no longer
131784         exists and anyway it was so heavily changed from the old cccp
131785         code as to be unrecognizable.  Include full-write.h.
131786         (full_write): Return size_t, with short writes meaning failure.
131787         All callers changed.  This fixes a bug with large buffers
131788         on 64-bit hosts.
131789         * lib/utime.c: Include full-write.h.
131791 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131793         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
131794         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
131795         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
131796         Include if available.
131797         (<xalloc.h>): Include
131798         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
131799         (verify): New macro.  Use it to verify that EXCLUDE macros do not
131800         collide with FNM macros.
131801         (struct patopts): New struct.
131802         (struct exclude): Use it, as exclude patterns now come with options.
131803         (new_exclude): Support above changes.
131804         (new_exclude, add_exclude_file):
131805         Initial size must now be a power of two to simplify overflow checking.
131806         (free_exclude, fnmatch_no_wildcards): New function.
131807         (excluded_filename): No longer requires options arg, as the options
131808         are determined by add_exclude.  Now returns bool, not int.
131809         (excluded_filename, add_exclude):
131810         Add support for the fancy new exclusion options.
131811         (add_exclude, add_exclude_file): Now takes int options arg.
131812         Check for arithmetic overflow when computing sizes.
131813         (add_exclude_file): xrealloc might modify errno, so don't
131814         realloc until after errno might be used.
131816         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
131817         New macros.
131818         (free_exclude): New decl.
131819         (add_exclude, add_exclude_file): Now takes int options arg.
131820         (excluded_filename): No longer requires options arg, as the options
131821         are determined by add_exclude.  Now returns bool, not int.
131823 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131825         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
131827 2001-08-27  Jim Meyering  <meyering@lucent.com>
131829         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
131831         * lib/version-etc.c (N_): Remove definition.
131832         Revert most of last change.
131833         Instead, simply don't mark the `Copyright...' string for translation.
131834         Based on advice from Paul Eggert.
131836         * lib/strtoxmax.c: Tweak comment.
131838 2001-08-26  Jim Meyering  <meyering@lucent.com>
131840         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
131842         * m4/xstrtoimax.m4: New file.
131843         * m4/xstrtoumax.m4: Add comments explaining why we
131844         AC_REPLACE_FUNCS(strtol).
131846 2001-08-26  Jim Meyering  <meyering@lucent.com>
131848         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
131849         of copyright with `%s' so translators don't get an untranslated
131850         message in 2002.
131851         (COPYRIGHT_YEAR): Define.
131852         (version_etc): Use fprintf rather than fputs.
131853         Suggestion from Ulrich Drepper.
131855         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
131857         * lib/strtoll.c: New file, from GNU libc.
131858         * lib/xstrtoimax.c: New file.
131860         * lib/xstrtol.h: Add xstrtoimax.
131861         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
131862         * lib/strtoimax.c: New file.  Likewise, but first define
131863         STRTOUXMAX_SIGNED.
131865         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
131866         ...
131867         * lib/strtoxmax.c: ... then renamed to this.
131869 2001-08-18  Paul Eggert  <eggert@twinsun.com>
131871         * m4/inttypes.m4: Add AC_PREREQ(2.13).
131872         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
131873         (jm_AC_TYPE_INTMAX_T): New macro.
131874         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
131876         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
131878         * m4/longlong.m4: Renamed from ulonglong.m4.
131879         * m4/inttypes.m4: Renamed from inttypes_h.m4.
131880         * m4/uintmax_t.m4: Removed.
131882 2001-08-13  Paul Eggert  <eggert@twinsun.com>
131884         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
131885         Port to Solaris 8, where 'sed' requires a space after the 'r'
131886         command, and where sh dislikes "$/".  Clean up the spacing a bit.
131887         Redirect output to $tmp just once.
131889 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
131891         * lib/addext.c (<errno.h>): Include.
131892         (errno): Declare if not defined.
131893         (addext): Work correctly when pathconf returns -1 and leaves
131894         errno alone because there is no limit.  Also, work even if
131895         pathconf returns a value greater than SIZE_MAX.
131897 2001-08-12  Jim Meyering  <meyering@lucent.com>
131899         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
131900         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
131901         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
131902         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
131903         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
131904         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
131905         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
131906         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
131907         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
131908         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
131909         utime.m4, utimes.m4, xstrtoumax.m4:
131910         Quote the first argument in each use of AC_DEFUN.
131912 2001-08-12  Jim Meyering  <meyering@lucent.com>
131914         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
131915         Simply `return getcwd (NULL, 0);'.
131916         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
131917         Use 1300 as initial value for length, not PATH_MAX.
131919         * lib/pathmax.h: Clean up cpp syntax.
131921 2001-08-12  Jim Meyering  <meyering@lucent.com>
131923         * lib/gettimeofday.c: New file.
131924         * lib/gtod.h: New file.
131925         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
131927 2001-08-05  Jim Meyering  <meyering@lucent.com>
131929         * m4/jm-macros.m4: Require autoconf-2.52.
131931 2001-08-04  Jim Meyering  <meyering@lucent.com>
131933         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
131934         stmt, to get in sync with glibc.
131936 2001-08-03  Paul Eggert  <eggert@twinsun.com>
131938         The following changes are from gettext 0.10.39 as maintained by
131939         Bruno Haible.
131941         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
131942         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
131943         with inverted sense.  All uses changed.
131945         * lib/mbswidth.c: Don't include <limits.h>.
131946         Include <stdlib.h> and <string.h> unconditionally.
131947         (iswcntrl, mbsinit, ISCNTRL): New macros.
131948         (mbsnwidth): Use K&R style function declarations.
131949         Don't bother checking for MB_LEN_MAX == 1, since the compiler
131950         can optimize it when MB_CUR_MAX == 1.
131951         The width of control characters is zero, not 1.
131953 2001-08-03  Paul Eggert  <eggert@twinsun.com>
131955         The following changes are from gettext 0.10.39 as maintained by
131956         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
131958         * m4/codeset.m4: Upgrade to serial AM1.
131959         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
131960         all uses changed.  Quote first arg of AC_DEFUN.
131961         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
131963         * m4/iconv.m4: Upgrade to serial AM2.
131964         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
131965         Add --with-libconv-prefix.
131966         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
131967         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
131968         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
131969         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
131970         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
131972         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
131973         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
131974         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
131975         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
131976         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
131977         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
131978         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
131979         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
131980         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
131982         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
131983         string.h any more.
131985         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
131986         not the default value.
131988         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
131989         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
131990         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
131991         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
131992         Also check for iswcntrl, used for wcwidth fallback.
131993         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
131994         to Autoconf 2.13.
131996 2001-08-03  Jim Meyering  <meyering@lucent.com>
131998         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
131999         as it was in the original.  Reported by Paul Eggert.
132001 2001-07-16  Jim Meyering  <meyering@lucent.com>
132003         * m4/gettimeofday.m4: New file.
132004         Prompted by a report from Bernhard Baehr.
132006 2001-07-15  Jim Meyering  <meyering@lucent.com>
132008         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
132009         stuff. Now it's in ../Makefile.cfg.
132011 2001-07-15  Jim Meyering  <meyering@lucent.com>
132013         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
132014         (BUILT_SOURCES): Add unlocked-io.h.
132015         (io_functions): Define.
132016         (unlocked-io.h): New rule.
132017         (DISTCLEANFILES): Add unlocked-io.h.
132018         (all-local): Depend on unlocked-io.h, to ensure it is created.
132020         * lib/unlocked-io.hin: New file
132022         * lib/regex.c: Update from glibc.
132024 2001-07-05  Jim Meyering  <meyering@lucent.com>
132026         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
132027         recommendation.
132028         (libfetish_a_SOURCES): Put all .h files here instead.
132029         Remove a thus-exposed (better checks in automake) duplicate and
132030         two unnecessary .h files.
132032 2001-07-04  Jim Meyering  <meyering@lucent.com>
132034         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
132035         that generates jm-glibc-io.m4 so that it doesn't trigger any make
132036         distcheck failure.
132038 2001-07-02  Jim Meyering  <meyering@lucent.com>
132040         The following changes were prompted by suggestions from Bruno Haible.
132042         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
132043         is now generated.
132044         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
132045         definition of EXTRA_DIST.
132046         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
132047         ensure that the generated file is created/updated whenever the list
132048         of $(unlocked_functions) is changed.
132049         (jm-glibc-io.m4): New rule.
132050         (unlocked-io.h): New rule -- currently unused.
132052 2001-06-24  Jim Meyering  <meyering@lucent.com>
132054         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
132055         unmatched right bracket, rather than kludging it with an extra,
132056         falsely-matching quote in a comment.  Patch by Akim Demaille.
132058 2001-06-11  Jim Meyering  <meyering@lucent.com>
132060         * lib/regex.c: Update from GNU libc.
132062 2001-05-27  Jim Meyering  <meyering@lucent.com>
132064         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
132065         Check for ut_type in struct utmp.
132067 2001-05-27  Jim Meyering  <meyering@lucent.com>
132069         * lib/readutmp.h (UT_TYPE): Define.
132071 2001-05-24  Jim Meyering  <meyering@lucent.com>
132073         * lib/argmatch.c: Include "quote.h".
132074         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
132075         quote function.  Reported by Göran Uddeborg.
132077 2001-05-22  Jim Meyering  <meyering@lucent.com>
132079         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
132080         now that we use the package-supplied version unconditionally.
132081         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
132083 2001-05-21  Jim Meyering  <meyering@lucent.com>
132085         * m4/regex.m4: Change a couple backticks to single quotes to avoid
132086         shell syntax errors.
132088 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
132090         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
132092 2001-05-20  Paul Eggert  <eggert@twinsun.com>
132094         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
132095         Don't bother to check library strftime, since
132096         we'll be using our own my_strftime function anyway.
132097         Define my_strftime instead of strftime.
132099 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
132101         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
132102         which is not yet declared.
132104 2001-05-15  Jim Meyering  <meyering@lucent.com>
132106         * m4/regex.m4: Use proper quoting so brackets appear in the test
132107         program.
132108         Reported by, and with help from, Bruno Haible.
132110 2001-05-13  Jim Meyering  <meyering@lucent.com>
132112         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
132113         undefined.
132115 2001-05-11  Paul Eggert  <eggert@twinsun.com>
132117         dirname code cleanup.  base_name now behaves more compatibly
132118         with POSIX basename when given file names that have trailing
132119         slashes, and similarly for dir_name.  Add new primitives
132120         base_len and dir_len.  Put the directory-name-related decls
132121         into dirname.h.
132123         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
132124         * lib/backupfile.c (base_name): Likewise.
132125         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
132126         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
132127         * lib/makepath.c (strip_trailing_slashes): Likewise.
132128         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
132129         ISSLASH): Likewise.
132130         * lib/rename.c (strip_trailing_slashes): Likewise.
132131         * lib/same.c (base_name): Likewise.
132132         * lib/stripslash.c (ISSLASH): Likewise.
132134         * lib/addext.c: Include <dirname.h> after size_t is defined.
132135         * lib/backupfile.c: Likewise.
132137         * lib/addext.c (addext): Use base_len to trim redundant
132138         trailing slashes instead of doing it ourselves.
132139         But do not trim the last slash if it is not redundant.
132141         * lib/backupfile.c (find_backup_file_name,
132142         max_backup_version): Use base_len instead of rolling it ourselves.
132143         Handle the case of "" and (on DOS) "C:" correctly.
132145         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
132146         needed. Include <string.h>, <dirname.h>.
132147         (base_name): Allow file names ending in slashes, other than names
132148         that are all slashes.  In this case, return the basename followed
132149         by the slashes.  This is more general, and can be used in places
132150         where the original base_name purposely had an assertion failure.
132151         (base_len): New function.
132153         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
132154         Do not include <assert.h>; no longer needed.
132155         Include xalloc.h.
132156         (memrchr): Remove decl.
132157         (dir_name_r): Remove.
132158         (dir_len): Renamed from dirlen.  All callers changed.
132159         Rewrite in terms of base_name, for simplicity and consistency.
132160         (dir_name): Never return NULL.  All callers changed.
132161         Do not include <stdlib.h> in test program; no longer needed.
132162         return 0; is fine for test program.
132164         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
132165         New macros.
132166         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
132168         * lib/path-concat.c (path_concat): Use base_len to compute
132169         base length, not strlen; this means we cannot rely on memcpy
132170         to null-terminate.
132172         * lib/same.c (STREQ): Remove.
132173         (same_name): Handle the case where the basename ends in trailing '/'.
132175         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
132176         a slash was stripped.  Do not strip the last slash after a
132177         file system prefix.
132179 2001-05-11  Paul Eggert  <eggert@twinsun.com>
132181         * lib/Makefile.am (libfetish_a_SOURCES):
132182         Add strftime.c, since we now compile it on all hosts.
132184         * lib/strftime.c (my_strftime):
132185         Define to nstrftime if emacs, but only if my_strftime is not defined.
132186         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
132187         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
132188         Add one more extra argument: a nanoseconds value.
132189         All uses changed.
132190         (ns): New macro.
132191         (my_strftime function): Add %N format.
132192         (emacs_strftimeu): Renamed from emacs_strftime,
132193         with extra ut argument.
132195 2001-05-09  Paul Eggert  <eggert@twinsun.com>
132197         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
132199 2001-04-21  Jim Meyering  <meyering@lucent.com>
132201         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
132202         doesn't interfere.
132204 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
132206         * m4/ftruncate.m4: Check for chsize.
132207         Link with ftruncate.o unconditionally if ftruncate is missing.
132208         This was required when cross-compiling to i586-mingw32msvc.
132210 2001-04-08  Jim Meyering  <meyering@lucent.com>
132212         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
132213         recomputed; that's necessary when the offset spans a DST transition.
132214         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
132216 2001-04-02  Jim Meyering  <meyering@lucent.com>
132218         * lib/regex.h, regex.c: Update from GNU libc.
132220 2001-03-24  Jim Meyering  <meyering@lucent.com>
132222         * m4/jm-macros.m4: Require autoconf-2.49d.
132224 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
132226         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
132228 2001-03-19  Paul Eggert  <eggert@twinsun.com>
132230         * lib/version-etc.c (version_etc_copyright): Update to 2001.
132232 2001-03-17  Jim Meyering  <meyering@lucent.com>
132234         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
132235         now that the version in autoconf is equivalent.
132236         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
132238         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
132239         Suggestion from Akim Demaille.
132241         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
132242         (jm_PREREQ_TEMPNAME): New function.
132244 2001-03-16  Paul Eggert  <eggert@twinsun.com>
132246         * lib/tempname.c (uint64_t): Define to uintmax_t if
132247         not defined, and if UINT64_MAX is not defined.
132248         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
132249         Reported by John David Anglin.
132251 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
132253         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
132254         resolve alias if codeset is empty.
132255         * lib/config.charset (BeOS): Use wildcard syntax.
132257 2001-03-13  Jim Meyering  <meyering@lucent.com>
132259         * lib/path-concat.c (path_concat)
132260         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
132261         concatenating e.g., `C:' and `foo'.
132262         From Bruno Haible.
132264 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
132266         * lib/localcharset.c (locale_charset): Don't use
132267         setlocale(LC_CTYPE,NULL). Don't return NULL.
132268         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
132270 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
132272         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
132273         support for DOS/DJGPP.
132275 2001-03-01  Paul Eggert  <eggert@twinsun.com>
132277         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
132278         lacks mkstemp.  Compile our own tempname.c if we compile our own
132279         mkstemp.c, as mkstemp relies on tempname.
132281 2001-03-01  Jim Meyering  <meyering@lucent.com>
132283         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
132284         AH_VERBATIM really does output its argument verbatim.
132286 2001-02-28  Paul Eggert  <eggert@twinsun.com>
132288         * lib/Makefile.am (libfetish_a_SOURCES):
132289         Add dup-safer.c, fopen-safer.c.
132290         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
132292         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
132293         * lib/unistd-safer.h: New files.
132295 2001-02-25  Paul Eggert  <eggert@twinsun.com>
132297         The mkstemp replacement is taken from glibc 2.2.2, with some
132298         portability fixes for use outside glibc, as follows:
132300         * lib/tempname.c (struct_stat64): New macro.
132301         (direxists, __gen_tempname): Use it.
132302         This avoids a portability problem with Solaris 8.
132304         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
132305         (<stddef.h>, <stdint.h>, <string.h>):
132306         Include only if STDC_HEADERS || _LIBC.
132307         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
132308         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
132309         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
132310         (__set_errno): Define this macro if <errno.h> doesn't.
132311         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
132312         Define these macros if <stdio.h> doesn't.
132313         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
132314         Define these macros if <sys/stat.h>
132315         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
132316         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
132317         __xstat64): Define if not _LIBC.
132318         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
132319         (__gen_tempname): Invoke gettimeofday only if
132320         HAVE_GETTIMEOFDAY || _LIBC;
132321         otherwise, fall back on plain "time".
132322         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
132324         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
132326         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
132328 2001-02-18  Paul Eggert  <eggert@twinsun.com>
132330         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
132332 2001-02-17  Paul Eggert  <eggert@twinsun.com>
132334         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
132335         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
132336         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
132337         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
132339 2001-02-17  Paul Eggert  <eggert@twinsun.com>
132341         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
132342         Remove workaround macros for hosts that have mbrtowc but not
132343         mbstate_t, as we now insist on proper declarations for both
132344         before using mbrtowc.
132346 2001-02-17  Jim Meyering  <meyering@lucent.com>
132348         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
132349         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
132350         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
132351         UnixWare 7.1.1.
132353         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
132354         rather than AC_CACHE_VAL.
132356 2001-02-17  Jim Meyering  <meyering@lucent.com>
132358         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
132359         around included file name.
132361         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
132363         * lib/strftime.c: Update from GNU libc (the only changes were to
132364         comments).
132366 2001-02-17  Jim Meyering  <meyering@lucent.com>
132368         * lib/regex.c: Update from libc.
132370 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
132372         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
132373         clash.
132375 2001-02-16  Paul Eggert  <eggert@twinsun.com>
132377         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
132378         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
132379         Reported by Mark Hounschell via Paul Eggert.
132381 2001-02-07  Jim Meyering  <meyering@lucent.com>
132383         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
132385 2001-02-05  Jim Meyering  <meyering@lucent.com>
132387         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
132388         it includes the patch required for `large file' support with at least
132389         HP-UX's 10.20 /bin/cc.
132391 2001-02-03  Jim Meyering  <meyering@lucent.com>
132393         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
132394         AS_IF, now that it works once again (mysteriously).
132395         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
132397 2001-01-30  Jim Meyering  <meyering@lucent.com>
132399         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
132400         * m4/chown.m4: Rename conftestchown to conftest.chown.
132401         * m4/rename.m4: s/conftestdir/conftest.d1/ and
132402         s/conftestdir2/conftest.d2/.
132403         * m4/utimes.m4: s/conftestdata/conftest.data/
132404         Inspired by Pavel Roskin's change in autoconf.
132406 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
132408         * lib/config.charset: Update for FreeBSD 4.2.
132410 2001-01-27  Jim Meyering  <meyering@lucent.com>
132412         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
132413         a use of AS_IF.
132414         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
132416 2001-01-26  Jim Meyering  <meyering@lucent.com>
132418         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
132419         quotearg.c includes it.
132421 2001-01-26  Jim Meyering  <meyering@lucent.com>
132423         * lib/quotearg.c: Include stddef.h.
132424         * lib/quote.c: Include stddef.h.
132425         Reported by Axel Kittenberger.
132427         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
132428         line in double quotes so that it evokes a better diagnostic.
132429         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
132430         Reported by Axel Kittenberger.
132432 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
132434         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
132435         as if it was a `charset'.
132437 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
132439         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
132440         has const.
132442 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
132444         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
132445         to avoid a warning.  Add back 'const' to inptr.
132447 2001-01-20  Jim Meyering  <meyering@lucent.com>
132449         Be sure that headers are checked before used in code compiled
132450         for the type checks.
132451         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
132452         In place of that, invoke jm_CHECK_ALL_TYPES.
132453         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
132454         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
132455         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
132456         The check for ssize_t was mistakenly run before the test for unistd.h.
132458         The configure-time check for stdbool.h was missing.
132459         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
132460         (jm_PREREQ_HASH): New function.
132462 2001-01-17  Jim Meyering  <meyering@lucent.com>
132464         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
132465         for autoconf-2.49c.
132466         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
132468 2001-01-16  Jim Meyering  <meyering@lucent.com>
132470         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
132471         From Bruno Haible.
132473 2001-01-14  Jim Meyering  <meyering@lucent.com>
132475         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
132476         foo and bar.  Create conftestdir/ in the script, not in the C code.
132477         Remove directories in the script, not in the C code.
132478         Remove conftestdir{,2} before trying to create the directory.
132479         Make the entire configure script fail if the mkdir fails.
132481 2001-01-14  Jim Meyering  <meyering@lucent.com>
132483         * lib/rename.c: New file.  From Volker Borchert.
132484         Include stdlib.h, string.h or strings.h, and xalloc.h.
132485         Use strip_trailing_slashes rather than open-coding it.
132487 2001-01-03  Paul Eggert  <eggert@twinsun.com>
132489         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
132491 2001-01-03  Jim Meyering  <meyering@lucent.com>
132493         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
132494         of local `inptr' to avoid warning with some system declarations of
132495         iconv.
132497 2001-01-02  Volker Borchert  <bt@teknon.de>
132499         * m4/rename.m4: New file.
132500         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
132502 2001-01-01  Jim Meyering  <meyering@lucent.com>
132504         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
132505         even on systems with utmpx.h.  It's necessary for the declaration of
132506         utmp's ut_user member.  Reported by Andreas Jaeger.
132508         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
132509         available. They are required for the declarations of getgrgid and
132510         getpwuid resp.
132511         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
132512         Reported by Andreas Jaeger.
132514 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
132516         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
132517         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
132518         so `make install' also works in VPATH builds.
132520 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
132522         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
132523         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
132524         can be used in subdirectories.
132526 2000-12-29  Paul Eggert  <eggert@twinsun.com>
132528         * lib/modechange.c: Do not assume that mode_t uses the
132529         traditional octal encoding.  E.g. "chmod 1 FOO" should set
132530         the other-execute bit of FOO even if S_IXOTH != 1.
132532         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
132533         WOTH, XOTH, ALLM): New macros.
132534         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
132535          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
132536         Use them.
132537         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
132538         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
132539         (mode_compile):
132540         No need to use uintmax_t; unsigned long is long enough.
132541         Don't bother to get suffix since we don't use it.
132543 2000-12-26  Jim Meyering  <meyering@lucent.com>
132545         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
132546         better with autoheader.
132548 2000-12-24  Jim Meyering  <meyering@lucent.com>
132550         * lib/hash.c (is_prime): Return explicit boolean values.
132551         (hash_get_first): Return NULL to appease Irix5.6's 89.
132552         Reported by Nelson Beebe.
132554 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
132556         * lib/localcharset.c (locale_charset): Add support for Win32.
132558 2000-12-18  Paul Eggert  <eggert@twinsun.com>
132560         * lib/physmem.h, lib/physmem.c: New files.
132562         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
132563         (noinst_HEADERS): Add physmem.h.
132565         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
132566         't' for compatibility with Solaris 8 sort.
132568 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
132570         * lib/config.charset: Add support for BeOS.
132572 2000-12-17  Jim Meyering  <meyering@lucent.com>
132574         * m4/dos.m4 (jm_AC_DOS): New file and macro.
132575         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
132577 2000-12-16  Jim Meyering  <meyering@lucent.com>
132579         This bug had a serious impact on chown: `chown N:M FILE' (for integer
132580         N and M) would have treated it like `chown N:N FILE'.
132582         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
132584 2000-12-16  Jim Meyering  <meyering@lucent.com>
132586         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
132587         SHELLS_FILE to a file name that's useful on djgpp systems.
132588         Include stdlib.h.
132589         (ADDITIONAL_DEFAULT_SHELLS): Define.
132590         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
132591         Based mostly on a patch from Prashant TR.
132593 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
132595         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
132596         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
132597         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
132599 2000-12-08  Andreas Schwab  <schwab@suse.de>
132601         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
132602         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
132604 2000-12-07  Jim Meyering  <meyering@lucent.com>
132606         * lib/stripslash.c (ISSLASH): Define.
132607         (strip_trailing_slashes): Use ISSLASH rather than comparing against
132608         `/'.
132609         From Prashant TR.
132611         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
132612         (dir_name_r): Declare this function as static.
132613         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
132614         manifest itself on a name containing a mix of slashes and
132615         backslashes.
132616         Make this function work with names starting with a DOS-style
132617         drive letter and colon prefix.
132618         (dir_name): Append `.' if necessary.
132619         Based mostly on patches from Prashant TR and Eli Zaretskii.
132621         * lib/dirname.h (dir_name_r): Remove prototype.
132623 2000-12-06  Paul Eggert  <eggert@twinsun.com>
132625         * m4/off_t-format.m4: Remove this file.
132626         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
132628 2000-12-06  Jim Meyering  <meyering@lucent.com>
132630         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
132631         replacement strtoull, we may well need the replacement strtoul, too.
132632         Check for declarations of strtoul and strtoull.
132633         Check for strtol.  Mainly as a cue to cause automake to include
132634         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
132635         Check for limits.h -- strtol.c needs it.
132637 2000-12-05  Jim Meyering  <meyering@lucent.com>
132639         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
132641 2000-12-04  Jim Meyering  <meyering@lucent.com>
132643         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
132644         Also include memory.h, stdlib.h, unistd.h if appropriate.
132645         Reported by Andreas Jaeger (conflicting declaration of malloc).
132647 2000-12-02  Jim Meyering  <meyering@lucent.com>
132649         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
132650         * m4/jm-macros.m4 (jm_MACROS): require it.
132652 2000-12-02  Jim Meyering  <meyering@lucent.com>
132654         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
132656 2000-12-01  Paul Eggert  <eggert@twinsun.com>
132658         * lib/memrchr.c: Include <config.h> before any system include file.
132660 2000-11-30  Jim Meyering  <meyering@lucent.com>
132662         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
132664 2000-11-30  Jim Meyering  <meyering@lucent.com>
132666         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
132668 2000-11-29  Paul Eggert  <eggert@twinsun.com>
132670         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
132672 2000-11-26  Jim Meyering  <meyering@lucent.com>
132674         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
132676 2000-11-22  Paul Eggert  <eggert@twinsun.com>
132678         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
132679         size of (size_t) -1; it's not portable.
132681 2000-11-17  Jim Meyering  <meyering@lucent.com>
132683         * lib/strstr.c: Update from GNU libc.
132685 2000-11-17  Akim Demaille  <akim@epita.fr>
132687         * lib/obstack.h: Formatting changes.
132688         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
132689         prevent type checking.
132690         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
132691         cast the value to (void *): assigning a `foo *' to a `void *'
132692         variable is valid.
132693         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
132695 2000-11-16  Jim Meyering  <meyering@lucent.com>
132697         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
132699 2000-11-11  Jim Meyering  <meyering@lucent.com>
132701         * lib/error.c: Add a couple #includes, merging from GNU libc version.
132703 2000-11-10  Jim Meyering  <meyering@lucent.com>
132705         * lib/obstack.h: Update from GNU libc.
132706         * lib/obstack.c: Likewise.
132708 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
132710         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
132712 2000-11-06  Paul Eggert  <eggert@twinsun.com>
132714         * lib/getusershell.c (setusershell): Use rewind rather than
132715         fseek/fseeko, to avoid configuration hassles with fseeko.
132716         Don't bother opening SHELLS_FILE if shellstream is NULL;
132717         it's not necessary.
132719 2000-11-05  Jim Meyering  <meyering@lucent.com>
132721         * lib/makepath.h (make_dir): Declare.
132722         * lib/makepath.c (make_dir): Remove `static' attribute.
132723         Tweak a comment.
132725 2000-11-04  Jim Meyering  <meyering@lucent.com>
132727         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
132729 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
132731         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
132732         last one in a bucket, advance to the next bucket.
132734 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
132736         * lib/fnmatch.c: Do not comment out all the code if we are using
132737         the GNU C library, because in some cases we are replacing buggy
132738         code in the GNU C library itself.
132740 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
132742         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
132743         (regex_compile): Catch bogus \(\1\).
132745 2000-10-30  Paul Eggert  <eggert@twinsun.com>
132747         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
132748         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
132749         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
132751 2000-10-30  Paul Eggert  <eggert@twinsun.com>
132753         * lib/error.h, getline.h, modechange.h:
132754         Remove "2000" from Copyright line, as the file hasn't been
132755         changed this year other than in the copyright notice.
132757         * lib/xalloc.h: Add "2000" to Copyright line, as this file
132758         was changed this year.
132760 2000-10-29  Jim Meyering  <meyering@lucent.com>
132762         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
132763         renaming.
132764         * m4/ls-mntd-fs.m4: Likewise
132766 2000-10-29  Jim Meyering  <meyering@lucent.com>
132768         * lib/xstat.in: Fix grammar in comment.
132770 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
132772         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
132773         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
132774         doesn't define __restrict_arr.
132776 2000-10-28  Jim Meyering  <meyering@lucent.com>
132778         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
132779         (jm_PREREQ_MEMCHR): New function.
132781 2000-10-28  Jim Meyering  <meyering@lucent.com>
132783         * lib/memchr.c: Update from libc.
132784         Adjust for portability:
132785         [HAVE_STDLIB_H]: Include stdlib.h.
132786         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
132787         Undef __memchr, too.
132788         [!weak_alias]: Define __memchr to memchr.
132790         * lib/regex.c: Update from libc.
132791         * lib/regex.h: Likewise.
132792         * lib/getopt1.c: Likewise.
132793         * lib/memcmp.c: Likewise.
132795         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
132796         Avoid using fseek, when possible -- it's broken by design.
132797         Patch by Ulrich Drepper.
132799 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
132801         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
132802         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
132803         Giving in to popular pressure to shut up the compiler with casts.
132805 2000-10-26  Jim Meyering  <meyering@lucent.com>
132807         * lib/strftime.c: Update from libc.
132809 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
132811         * regex.c: More `unsigned char' -> `re_char' changes.
132812         Also change several `int' into `re_wchar_t'.
132813         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
132814         (PUSH_FAILURE_POINTER): Don't cast any more.
132815         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
132816         We want GCC to complain, since this piece of code makes
132817         re_match non-reentrant, which *should* be fixed.
132818         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
132819         (EXTEND_BUFFER): Use RETALLOC.
132820         (SET_LIST_BIT): Don't cast.
132821         (re_wchar_t): New type.
132822         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
132823         that those two functions will always properly return.
132824         (IMMEDIATE_QUIT_CHECK): Cast to void.
132825         (analyse_first): Use recursion rather than an explicit stack.
132826         (re_compile_fastmap): Can't fail anymore.
132827         (re_search_2): Don't check re_compile_fastmap for failure.
132828         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
132829         Now also sets the new value (passed in a new argument).
132830         (re_match_2_internal): Use it.
132831         Also, use a new var `reg' of type size_t when looping through regs
132832         rather than reuse the inappropriate `mcnt'.
132834 2000-10-25  Jim Meyering  <meyering@lucent.com>
132836         * lib/obstack.c: Update from libc.
132838 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
132840         * regex.c (regex_compile): Change the way of handling a range from
132841         a char less than 256 to a char not less than 256.
132843 2000-10-24  Andrew Innes  <andrewi@gnu.org>
132845         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
132846         NT-Emacs only.
132847         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
132848         so that re_search functions only quit when callers expect them to.
132850 2000-10-23  Jim Meyering  <meyering@lucent.com>
132852         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
132853         wrong.  That set_locale call must not have any side effects.
132854         From Paul Eggert.
132856 2000-10-22  Jim Meyering  <meyering@lucent.com>
132858         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
132859         [CYCLIC]: Remove now-unused definition.
132861         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
132862         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
132863         Suggestion from Ulrich Drepper.
132865 2000-10-21  Jim Meyering  <meyering@lucent.com>
132867         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
132868         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
132869         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
132871 2000-10-21  Jim Meyering  <meyering@lucent.com>
132873         * lib/dirname.c (memrchr): Declare if necessary.
132874         (dir_name): Remove the restriction that there be no
132875         trailing slashes.  Now, this code skips past them, effectively
132876         ignoring them.
132877         [TEST_DIRNAME] (main): New unit tests.
132879         * lib/memrchr.c: New file from GNU libc.
132880         Undef __memrchr, too.
132881         [!weak_alias]: Define __memrchr to memrchr.
132882         Guard weak_alias use with `#ifdef weak_alias'.
132884 2000-10-21  Jim Meyering  <meyering@lucent.com>
132886         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
132887         (dir_name): Use dir_name_r.
132888         * lib/dirname.h (dir_name_r): Declare it.
132890 2000-10-17  Jim Meyering  <meyering@lucent.com>
132892         * lib/quote.h (PARAMS): Define and use.
132893         Reported by Akim Demaille.
132895         * lib/getopt.c: Update from libc.
132897 2000-10-16  Jim Meyering  <meyering@lucent.com>
132899         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
132900         setlocale.
132901         From Jan Fedak.
132903 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
132905         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
132907 2000-09-25  Jim Meyering  <meyering@lucent.com>
132909         * lib/md5.h (rol): Define (from GnuPG).
132911         * lib/sha.c: Give credit (GnuPG) where due.
132912         (M): Use rol rather than open-coding it.
132913         Add a FIXME comment.
132915 2000-09-21  Jim Meyering  <meyering@lucent.com>
132917         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
132918         Reported by Michael Stone.
132920 2000-09-20  Jim Meyering  <meyering@lucent.com>
132922         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
132923         (noinst_HEADERS): Add sha.h.
132924         Based on code from Scott G. Miller and from GnuPG.
132926 2000-09-18  Jim Meyering  <meyering@lucent.com>
132928         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
132929         LIBS. Otherwise, everyone ends up linking with -lelf for some
132930         configurations.
132931         Reported by Mike Stone.
132933 2000-09-15  Jim Meyering  <meyering@lucent.com>
132935         * lib/regex.c: Update from libc.
132937 2000-09-10  Jim Meyering  <meyering@lucent.com>
132939         * lib/getopt.c (_getopt_internal): Update from glibc.
132941 2000-09-09  Jim Meyering  <meyering@lucent.com>
132943         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
132944         think it should be used as a general replacement for isascii.
132945         * lib/fnmatch.c: Likewise.
132946         * lib/mbswidth.c: Likewise
132947         * lib/regex.c: Likewise.
132949         Don't use atoi.
132950         * lib/userspec.c: Include sys/param.h and limits.h.
132951         Include xstrtol.h.
132952         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
132953         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
132954         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
132955         UID, GID.  Check range.
132957 2000-09-06  Jim Meyering  <meyering@lucent.com>
132959         * lib/getopt.c (_getopt_internal): Update from glibc.
132961 2000-08-30  Jim Meyering  <meyering@lucent.com>
132963         * lib/strftime.c: Merge in changes from GNU libc.
132965 2000-08-26  Jim Meyering  <meyering@lucent.com>
132967         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
132968         * m4/fpending.m4: New file.
132970 2000-08-26  Jim Meyering  <meyering@lucent.com>
132972         * lib/closeout.c: Include "__fpending.h".
132973         (close_stdout_status): Return right away if there's nothing to flush.
132975         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
132976         * lib/__fpending.c: New file.
132977         * lib/__fpending.h: New file.
132979 2000-08-20  Jim Meyering  <meyering@lucent.com>
132981         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
132982         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
132983         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
132985 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
132987         Improve fileutils installation on systems where running
132988         programs (like install) can't be unlinked.
132989         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
132990         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
132992 2000-08-07  Paul Eggert  <eggert@twinsun.com>
132994         Standardize on "memory exhausted" instead of "Memory exhausted"
132995         or "virtual memory exhausted".
132996         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
132997         "virtual memory exhausted".
132998         * lib/same.c (same_name): Invoke xalloc_die instead of printing
132999         our own message.
133000         * lib/userspec.c (parse_user_spec): Likewise.
133001         * lib/bumpalloc.h: comment fix
133002         * lib/same.c, userspec.c: Include xalloc.h.
133004         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
133005         not char *const and pointing to a constant array.
133006         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
133007         (xrealloc): Comment fix.
133009         * lib/userspec.c (parse_user_spec):
133010         Don't translate a message until just before returning,
133011         to avoid unnecessary translation.
133013 2000-08-07  Jim Meyering  <meyering@lucent.com>
133015         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
133016         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
133017         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
133018         getgroups.c, gethostname.c, getopt.h, group-member.c,
133019         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
133020         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
133021         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
133022         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
133023         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
133024         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
133025         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
133026         yesno.c: Back out Copyright date changes for each file with no change
133027         this year.  This eases coordination with other programs using the same
133028         source code modules.  From Paul Eggert.
133030 2000-08-06  Paul Eggert  <eggert@twinsun.com>
133032         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
133033         not char, for compatibility with glibc 2.1.3 strftime.c.
133035 2000-08-03  Greg McGary  <greg@mcgary.org>
133037         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
133038         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
133039         (EXTEND_BUFFER): Use them.
133041 2000-08-01  Jim Meyering  <meyering@lucent.com>
133043         * lib/dirname.c (ISSLASH): Define.
133044         (BACKSLASH_IS_PATH_SEPARATOR): Define.
133045         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
133046         both `\' and `/' may be use as path separators.
133047         Based on a patch from Prashant TR.
133049 2000-07-31  Paul Eggert  <eggert@twinsun.com>
133051         * lib/quotearg.c (quotearg_n_options): Don't make the initial
133052         slot vector a constant, since it might get modified.
133054 2000-07-31  Jim Meyering  <meyering@lucent.com>
133056         * lib/xmalloc.c: Use `virtual memory exhausted', not
133057         `Memory exhausted'.
133058         * lib/obstack.c (print_and_abort): Likewise.
133060 2000-07-30  Paul Eggert  <eggert@twinsun.com>
133062         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
133063         buffer, so that the caller can always quote one small
133064         component of a "memory exhausted" message in slot 0.
133065         From a suggestion by Jim Meyering.
133067 2000-07-30  Jim Meyering  <meyering@lucent.com>
133069         * lib/makepath.c (make_path): Quote the other instance, too.
133071         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
133072         (STATIC_BUF_SIZE): Define.
133073         (quotearg_n_options): Use only statically allocated storage when
133074         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
133075         than STATIC_BUF_SIZE.
133077 2000-07-29  Jim Meyering  <meyering@lucent.com>
133079         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
133080         * lib/dirname.c (dir_name): Likewise.
133082         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
133083         `/'.
133085         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
133086         (dir_name): Assert that there are no trailing slashes.
133088 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
133090         * lib/mbswidth.h (mbswidth): Add a flags argument.
133091         (mbswidth): New declaration.
133092         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
133093         * lib/mbswidth.c (mbswidth): Add a flags argument.
133094         (mbsnwidth): New function.
133096 2000-07-24  Jim Meyering  <meyering@lucent.com>
133098         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
133100 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133102         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
133104 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133106         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
133107         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
133108         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
133109         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
133110         invoke multibyte primitives.
133112 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133114         * lib/quotearg.c:
133115         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
133116         so that mbstate_t is always defined.
133118         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
133119         be 1 in at least one GCC installation, and this configuration
133120         error is likely to be common.  Ignoring MB_LEN_MAX hurts
133121         performance on hosts that have mbrtowc but have only unibyte
133122         locales, but I assume these hosts are rare.
133124 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133126         * lib/mbswidth.c (_XOPEN_SOURCE):
133127         Don't define; this causes problems on Solaris 7.
133128         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
133130 2000-07-23  Jim Meyering  <meyering@lucent.com>
133132         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
133133         too: getgrgid, getpwuid, getuid.
133135 2000-07-23  Jim Meyering  <meyering@lucent.com>
133137         * lib/basename.c (base_name): Add an assertion.
133139 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
133141         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
133142         shadow its mbsinit function.
133144 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
133146         * lib/mbswidth.h: New file.
133147         * lib/mbswidth.c: New file.
133148         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
133149         (noinst_HEADERS): Add mbswidth.h.
133151 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
133153         * lib/config.charset: Add support for FreeBSD. Improve support for
133154         HP-UX and IRIX 6.
133156 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
133158         * m4/mbswidth.m4: New file.
133159         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
133161 2000-07-15  Jim Meyering  <meyering@lucent.com>
133163         * lib/makepath.c: Include quote.h.
133164         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
133165         corresponding argument in a `quote (...)' call.
133166         Give better diagnostics.
133168         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
133169         (noinst_HEADERS): Add quote.h.
133171         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
133172         from tar's src/misc.c.
133173         * lib/quote.h: New file.  Prototypes for same.
133175 2000-07-14  Paul Eggert  <eggert@twinsun.com>
133177         From a suggestion by Bruno Haible.
133178         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
133179         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
133180         to decide whether to define the BeOS workaround macro;
133181         this adjusts to the change to AC_MBSTATE_T.
133183 2000-07-14  Jim Meyering  <meyering@lucent.com>
133185         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
133186         jm_AC_TYPE_UINTMAX_T.
133188 2000-07-13  Paul Eggert  <eggert@twinsun.com>
133190         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
133192         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
133193         quotearg_buffer_restyled): Add support for
133194         clocale_quoting_style.  Undo previous change to
133195         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
133196         and "{RIGHT QUOTATION MARK}" msgids.
133198 2000-07-10  Paul Eggert  <eggert@twinsun.com>
133200         From a suggestion by Bruno Haible.
133201         * m4/mbstate_t.m4 (AC_MBSTATE_T):
133202         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
133203         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
133204         and mbstate_t, to a single-part test that simply defines mbstate_t.
133205         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
133206         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
133208 2000-07-10  Jim Meyering  <meyering@lucent.com>
133210         * m4/strerror_r.m4: Mirror the correction made in autoconf.
133212         * m4/gnu-source.m4: Output to confdefs.h directly.
133213         Suggestion from Akim Demaille.
133215 2000-07-09  Paul Eggert  <eggert@twinsun.com>
133217         The old behavior of quoting `like this' doesn't look good with
133218         newer, ISO-style fonts.  See:
133219         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
133221         Instead, quote "like this" by default.  Let the translator
133222         tailor the locale-specific quoting behavior by providing
133223         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
133225         * lib/quotearg.c (N_): New macro.
133226         (gettext_default): New function.
133227         (quotearg_buffer_restyled): Use
133228         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
133229         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
133231 2000-07-09  Jim Meyering  <meyering@lucent.com>
133233         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
133234         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
133236         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
133237         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
133239 2000-07-09  Jim Meyering  <meyering@lucent.com>
133241         * lib/Most files: Update copyright dates to include 2000.
133243 2000-07-08  Jim Meyering  <meyering@lucent.com>
133245         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
133246         if not defined.
133247         (xgethostname): Remove now-unnecessary #ifdef.
133248         Move declaration of `err' into loop where it's used.
133250 2000-07-05  Paul Eggert  <eggert@twinsun.com>
133251         and Bruno Haible  <haible@clisp.cons.org>
133253         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
133254         only if the test for an object-type mbstate_t fails.  This
133255         prevents us from mistakenly reporting that mbstate_t is a
133256         system object type after we "#define mbstate_t int" to work
133257         around its lack.
133259 2000-07-05  Paul Eggert  <eggert@twinsun.com>
133260         and Bruno Haible  <haible@clisp.cons.org>
133262         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
133264 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
133266         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
133267         to strerror_r.
133268         Include <ctype.h> for use of isalpha.
133270 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
133272         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
133273         by allocating a larger buffer. Test the gethostname return value for
133274         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
133275         returns an error and ENAMETOOLONG isn't defined.
133277 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
133279         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
133280         dimension.
133282 2000-07-04  Jim Meyering  <meyering@lucent.com>
133284         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
133285         of the deprecated AC_CHECKING.
133287 2000-07-04  Jim Meyering  <meyering@lucent.com>
133289         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
133290         Reported by Bruno Haible.
133292 2000-07-04  Jim Meyering  <meyering@lucent.com>
133294         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
133295         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
133296         lacks mbrtowc.
133298 2000-07-03  Paul Eggert  <eggert@twinsun.com>
133300         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
133301         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
133303 2000-07-03  Paul Eggert  <eggert@twinsun.com>
133304         and Bruno Haible  <haible@clisp.cons.org>
133306         * lib/quotearg.c (mbrtowc):
133307         Assign to *pwc, and return 1 only if result is nonzero.
133308         (iswprint): Use ISPRINT when substituting our own mbrtowc.
133310 2000-07-03  Jim Meyering  <meyering@lucent.com>
133312         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
133314 2000-07-03  Jim Meyering  <meyering@lucent.com>
133316         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
133317         This is necessary to get a definition of e.g., UTMP_FILE on
133318         HP-UX 10.20.
133319         From Bob Proulx.
133321 2000-07-02  Jim Meyering  <meyering@lucent.com>
133323         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
133325         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
133326         AC_LIBOBJ(function_name).
133327         * m4/chown.m4: Likewise.
133328         * m4/fnmatch.m4: Likewise.
133329         * m4/ftruncate.m4: Likewise.
133330         * m4/getgroups.m4: Likewise.
133331         * m4/getline.m4: Likewise.
133332         * m4/group-member.m4: Likewise.
133333         * m4/jm-macros.m4: Likewise.
133334         * m4/lstat.m4: Likewise.
133335         * m4/malloc.m4: Likewise.
133336         * m4/memcmp.m4: Likewise.
133337         * m4/nanosleep.m4: Likewise.
133338         * m4/putenv.m4: Likewise.
133339         * m4/realloc.m4: Likewise.
133340         * m4/regex.m4: Likewise.
133341         * m4/stat.m4: Likewise.
133342         * m4/strftime.m4: Likewise.
133344 2000-07-02  Jim Meyering  <meyering@lucent.com>
133346         * lib/quotearg.c (mbstate_t): Don't define here.
133348 2000-07-02  Jim Meyering  <meyering@lucent.com>
133350         * lib/nanosleep.c (SIGCONT): Define if not already defined.
133352 2000-07-01  Jim Meyering  <meyering@lucent.com>
133354         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
133356 2000-07-01  Jim Meyering  <meyering@lucent.com>
133358         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
133359         problem.
133361 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
133363         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
133364         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
133366 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
133368         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
133369         per change in ../m4/ls-mntd-fs.m4.
133370         (read_filesystem_list): Ignore symbolic links.
133372 2000-06-29  Jim Meyering  <meyering@lucent.com>
133374         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
133375         for declaration of strcmp.
133377         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
133379         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
133380         Avoid warning by casting result to `char *' to remove `const'.
133382 2000-06-28  Jim Meyering  <meyering@lucent.com>
133384         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
133385         included by quotearg.c, for which we perform this test.  From
133386         Bruno Haible.
133388 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
133390         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
133391         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
133392         <utmpx.h> exists, put readutmp.o into LIBOBJS.
133394 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
133396         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
133398 2000-06-26  Paul Eggert  <eggert@twinsun.com>
133400         savedir now sets errno on failure and invokes xmalloc to get memory.
133401         Fix a couple of other minor bugs while we're at it.
133403         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
133404         (NAMLEN): Remove macro.
133405         (malloc, realloc): Remove decls.
133406         (stpcpy): Likewise.
133407         ("xalloc.h"): Include.
133408         (NAME_SIZE_DEFAULT): New macro.
133409         (savedir): Use xmalloc / xrealloc to allocate memory.
133410         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
133411         Skip "" directory entries.
133412         Use strlen to calculate directory entry length, since the old method
133413         is rarely used these days and isn't worth supporting.
133414         Don't use a pointer after freeing it.
133415         Check for integer overflow when calculating allocation size.
133416         Use memcpy to copy entries, instead of stpcpy.
133417         Set errno properly when returning NULL.
133418         Check for readdir error.
133420 2000-06-26  Jim Meyering  <meyering@lucent.com>
133422         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
133424 2000-06-25  Jim Meyering  <meyering@lucent.com>
133426         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
133427         Linux header bug when _XOPEN_SOURCE is defined to 500.
133429 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
133431         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
133432         deficiency.
133434 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
133436         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
133437         Include xalloc.h.
133438         Don't include <stdlib.h>.  Don't declare malloc, realloc.
133440 2000-06-24  Jim Meyering  <meyering@lucent.com>
133442         * m4/strerror_r.m4: Revive this file -- to try out an experimental
133443         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
133444         for which strerror does return char*, but which lacks a conveniently
133445         accessible declaration of the function.  If the compile-test says
133446         strerror_r doesn't work, then resort to a `run'-test that works on
133447         BeOS and segfaults on DEC Unix.
133449 2000-06-24  Jim Meyering  <meyering@lucent.com>
133451         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
133453 2000-06-23  Paul Eggert  <eggert@twinsun.com>
133455         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
133456         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
133458 2000-06-23  Paul Eggert  <eggert@twinsun.com>
133460         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
133461         (mbrtowc, mbstate_t): Define substitutes if
133462         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
133463         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
133464         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
133466 2000-06-23  Jim Meyering  <meyering@lucent.com>
133468         * m4/afs.m4: Add missing AC_MSG_RESULT.
133469         Reported by Bruno Haible.
133471         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
133472         Suggestion from Bruno Haible.
133474 2000-06-23  Jim Meyering  <meyering@lucent.com>
133476         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
133478 2000-06-21  Jim Meyering  <meyering@lucent.com>
133480         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
133482 2000-06-21  Jim Meyering  <meyering@lucent.com>
133484         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
133485         (noinst_HEADERS): Add getstr.h.
133487         * lib/getline.c (getstr): Move into a separate file.
133488         * lib/getstr.c (getstr): New file, extracted from getline.c, with
133489         the following changes: new parameter, delim2; both delim[12]
133490         parameters have type `int', not `char'.  The latter would lose
133491         with 8-bit delimiters.
133492         * lib/getstr.h: New file.
133494 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
133496         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
133497         than 1024, return a memory chunk of least possible size, instead
133498         of size PATH_MAX + 2. In the loop, increment the size proportionally.
133499         Use free/xmalloc instead of xrealloc to avoid copying for very long
133500         paths.
133502 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
133504         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
133505         the empty string.
133507 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
133509         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
133510         address, not strdup.  Include <stdlib.h> and don't declare free().
133512 2000-06-19  Jim Meyering  <meyering@lucent.com>
133514         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
133516 2000-06-18  Jim Meyering  <meyering@lucent.com>
133518         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
133520         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
133521         `checking whether...' message to be consistent with that of the
133522         lstat test.
133524 2000-06-18  Jim Meyering  <meyering@lucent.com>
133526         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
133527         Besides, these days every porting target provides a mkdir function.
133529         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
133530         needed. (this snippet comes from src/system.h).
133532 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
133534         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
133536 2000-06-15  Paul Eggert  <eggert@twinsun.com>
133538         * lib/human.c (adjust_value): New function.
133539         (human_readable_inexact): Apply rounding style even when
133540         printing approximate values.
133542 2000-06-14  Paul Eggert  <eggert@twinsun.com>
133544         * lib/human.c (human_readable_inexact): Allow an input block
133545         size that is not a multiple of the output block size, and vice versa.
133546         Reported by Piergiorgio Sartor.
133548 2000-06-14  Paul Eggert  <eggert@twinsun.com>
133550         * lib/getdate.y (get_date): Apply relative times after time
133551         zone indicator, not before.  Reported by Todd A. Jacobs.
133553 2000-06-13  Jim Meyering  <meyering@lucent.com>
133555         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
133557         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
133559 2000-06-12  Paul Eggert  <eggert@twinsun.com>
133561         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
133563 2000-06-12  Jim Meyering  <meyering@lucent.com>
133565         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
133566         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
133567         optional argument.
133568         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
133569         the optional argument, `lib'.
133571 2000-06-08  Jim Meyering  <meyering@lucent.com>
133573         * m4/largefile.m4: Remove file (now that it's part of autoconf).
133575 2000-06-04  Paul Eggert  <eggert@twinsun.com>
133577         Rewrite largefile configuration so that we don't need to run
133578         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
133579         AC_CANONICAL_HOST in configure.in -- jmm]
133581         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
133582         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
133583         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
133584         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
133585         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
133586         All uses changed.
133587         Instead of inspecting the output of getconf, try to compile the
133588         test program without and with the macro definition.
133589         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
133590         for getconf.  Instead, check for the needed flags by compiling
133591         test programs.
133593 2000-06-04  Paul Eggert  <eggert@twinsun.com>
133595         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
133597 2000-06-04  Jim Meyering  <meyering@lucent.com>
133599         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
133600         SunOS 4.1.4 for which gid_t is an unsigned type.
133602 2000-06-03  Jim Meyering  <meyering@lucent.com>
133604         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
133605         now that autoconf requires that.
133607         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
133608         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
133609         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
133611 2000-06-03  Jim Meyering  <meyering@lucent.com>
133613         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
133615 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
133617         * m4/glibc21.m4: New file.
133618         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
133620 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
133622         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
133623         newer, don't install charset.alias.
133624         * lib/config.charset: Change the Linux/glibc rules so they become empty
133625         on glibc-2.1 or newer.
133627 2000-06-02  Jim Meyering  <meyering@lucent.com>
133629         * lib/mountlist.c: Back out last change.  Instead, do this...
133630         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
133631         me_dummy member using the same `ignore'-testing code.
133632         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
133633         fs_type strings.
133634         From Mark D. Roth.
133636 2000-05-29  Jim Meyering  <meyering@lucent.com>
133638         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
133639         mounts with the `ignore' attribute.  Based on a patch from
133640         Mark D. Roth.
133642 2000-05-28  Jim Meyering  <meyering@lucent.com>
133644         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
133645         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
133646         * m4/stat.m4: Likewise.
133647         * m4/lstat.m4: Likewise.
133648         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
133650         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
133651         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
133653 2000-05-26  Jim Meyering  <meyering@lucent.com>
133655         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
133657 2000-05-24  Jim Meyering  <meyering@lucent.com>
133659         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
133660         autoconf requires that.
133661         * m4/lib-check.m4: Likewise.
133662         * m4/jm-macros.m4: Likewise.
133663         * m4/strftime.m4: Likewise.
133665         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
133666         AC_CHECK_DECLS, now that autoconf requires that.
133668 2000-05-22  Jim Meyering  <meyering@lucent.com>
133670         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
133671         * m4/lstat.m4: Likewise.
133673 2000-05-22  Jim Meyering  <meyering@lucent.com>
133675         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
133677 2000-05-20  Jim Meyering  <meyering@lucent.com>
133679         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
133680         (jm_PREREQ): Use it.
133682 2000-05-18  Jim Meyering  <meyering@lucent.com>
133684         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
133685         back, too, since it may have been modified by allocate_entry.
133686         (hash_delete): Rewrite to use neither the assignment operator
133687         nor the comma operator in an if-expression.
133689 2000-05-15  Paul Eggert  <eggert@twinsun.com>
133691         * lib/closeout.c:
133692         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
133693         Remove; no longer needed.
133694         "quotearg.h": Add include.
133695         (file_name): Do not bother to explicitly initialize to NULL; it's less
133696         efficient on some hosts.
133697         (close_stdout_status): Remove test as to whether stdout was already
133698         closed; it breaks for the case "echo x | sort >&-".
133699         Quote file name colons.
133700         Do not assume that _("write error") lacks format strings.
133702 2000-05-15  Jim Meyering  <meyering@lucent.com>
133704         * lib/version-etc.c (version_etc_copyright): Update the copyright
133705         string used in all --version output.
133707 2000-05-14  Jim Meyering  <meyering@lucent.com>
133709         * lib/closeout.c (close_stdout_set_file_name): New function.
133710         (close_stdout_status): Use new file-scoped global.
133711         Return right away if fstat says the stdout file descriptor is invalid.
133712         * lib/closeout.h (close_stdout_set_file_name): Declare.
133714 2000-05-10  Jim Meyering  <meyering@lucent.com>
133716         * lib/closeout.c [default_exit_status]: New file-scoped variable.
133717         (close_stdout_set_status): New function.
133718         * lib/closeout.h (close_stdout_set_status): Declare.
133720 2000-05-09  Jim Meyering  <meyering@lucent.com>
133722         * m4/gettext.m4: Rename this...
133723         * m4/libintl.m4: ...to this.
133725 2000-05-08  Jim Meyering  <meyering@lucent.com>
133727         * lib/long-options.c: Don't include closeout.h.
133728         (parse_long_options): Don't call close_stdout for --version.
133730 2000-05-06  Paul Eggert  <eggert@twinsun.com>
133732         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
133733         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
133734         2.1.3 bug.  This avoids a clash when files like regex.c define
133735         _GNU_SOURCE.
133737 2000-05-06  Jim Meyering  <meyering@lucent.com>
133739         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
133740         (AC_REPLACE_FUNCS): Add strnlen.
133742         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
133743         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
133745         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
133746         AC_SEARCH_LIBS call for nanosleep.
133747         (LIB_NANOSLEEP): Set and AC_SUBST.
133749 2000-05-06  Jim Meyering  <meyering@lucent.com>
133751         * lib/strnlen.c: Undefine __strnlen and strnlen.
133752         [!weak_alias]: Define __strnlen to strnlen.
133754         * lib/atexit.c: New file, from libiberty.
133756 2000-05-06  Jim Meyering  <meyering@lucent.com>
133758         * lib/closeout.c (close_stdout_status): Also check for errors on the
133759         stderr stream.
133761 2000-05-05  Jim Meyering  <meyering@lucent.com>
133763         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
133764         AC_SEARCH_LIBS call for clock_gettime.
133765         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
133767         * m4/search-libs.m4: Update from autoconf.
133769         su doesn't work on Solaris 2.6.
133770         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
133771         <shadow.h>.  Reported by Dragos Harabor.
133773 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
133775         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
133776         memcpy instead of xmalloc, xrealloc, path_concat.
133777         (locale_charset): Treat empty environment variables as absent.
133778         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
133780 2000-05-04  Jim Meyering  <meyering@lucent.com>
133782         * lib/getopt.c: Update from glibc.
133783         * lib/obstack.c: Likewise.
133784         * lib/obstack.h: Likewise.
133785         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
133786         file
133788         * lib/regex.h: Likewise.
133789         * lib/strndup.c: Likewise.
133790         * lib/strnlen.c: New file, from glibc.
133792 2000-05-03  Jim Meyering  <meyering@lucent.com>
133794         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
133796 2000-05-02  Paul Eggert  <eggert@twinsun.com>
133798         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
133799         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
133800         compile-time test, rather than inspecting host and OS, to
133801         decide whether to define _LARGEFILE_SOURCE.
133803 2000-05-01  Jim Meyering  <meyering@lucent.com>
133805         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
133807         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
133808         Based on a patch from Bruno Haible.
133810 2000-05-01  Jim Meyering  <meyering@lucent.com>
133812         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
133814 2000-04-29  Jim Meyering  <meyering@lucent.com>
133816         * lib/path-concat.c: Declare strdup only if it's not defined.
133817         * lib/canon-host.c: Likewise.
133819 2000-04-28  Jim Meyering  <meyering@lucent.com>
133821         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
133822         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
133823         is included first, then limits.h is included by locale.h by libintl.h.
133824         From John David Anglin.
133826 2000-04-25  Jim Meyering  <meyering@lucent.com>
133828         * lib/makepath.c (S_IRWXUGO): Define.
133829         (make_path): Always perform explicit chmod if MODE specifies any
133830         of the `special' permission bits.  Prompted by a bug report against
133831         install from Mate Wierdl and Joost van Baal.
133833 2000-04-18  Jim Meyering  <meyering@lucent.com>
133835         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
133836         (jm_PREREQ): Use it.
133838 2000-04-18  Jim Meyering  <meyering@lucent.com>
133840         * lib/README: New file.
133842         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
133843         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
133845 2000-04-17  Jim Meyering  <meyering@lucent.com>
133847         Get it right :-)
133848         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
133849         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
133850         Suggestion from Akim Demaille.
133852 2000-04-17  Jim Meyering  <meyering@lucent.com>
133854         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
133855         the definition of it to rpl_strftime also defined-away the system's
133856         declaration.
133858 2000-04-15  Jim Meyering  <meyering@lucent.com>
133860         Use `C' to denote so-called `contiguous' files, the same way
133861         that tar does.
133862         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
133863         (ftypelet): Use S_ISCTG.
133864         From Michael Deutschmann.
133866 2000-04-14  Jim Meyering  <meyering@lucent.com>
133868         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
133869         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
133870         clobbered.
133872 2000-04-14  Jim Meyering  <meyering@lucent.com>
133874         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
133876 2000-04-13  Jim Meyering  <meyering@lucent.com>
133878         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
133879         AH_VERBATIM to insert required #ifndef into config.h.in.
133880         Suggestion from Akim Demaille.
133882 2000-04-12  Jim Meyering  <meyering@lucent.com>
133884         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
133885         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
133886         Christian Krackowizer.
133888         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
133889         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
133890         (AC_SYS_LARGEFILE): Require.
133891         (AM_C_PROTOTYPES): Require.
133893 2000-04-08  Jim Meyering  <meyering@lucent.com>
133895         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
133896         names don't conflict.  Reported by Eli Zaretskii.
133898 2000-04-07  Jim Meyering  <meyering@lucent.com>
133900         * lib/putenv.c: Move inclusion of errno.h so it follows that of
133901         sys/types.h, to work around system header problems on AIX 3.2.5.
133902         From Bruno Haible.
133904 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
133906         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
133907         bug.  Deal with the different error behavior of Irix iconv.
133909 2000-04-05  Paul Eggert  <eggert@twinsun.com>
133911         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
133912         IRIX if the installer said otherwise.
133914 2000-04-05  Jim Meyering  <meyering@lucent.com>
133916         Portability tweaks required for ultrix4.3.
133917         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
133918         (jm_CHECK_DECLS): Add getutent to the list of functions.
133919         (_jm_DECL_HEADERS): Add utmpx.h.
133920         From John David Anglin.
133922         * m4/strftime.m4: Back out the 2000-04-02 change.
133923         Instead of that change, simply undefine putenv in the test program.
133925 2000-04-05  Jim Meyering  <meyering@lucent.com>
133927         Portability tweaks required for ultrix4.3.
133928         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
133929         getutent.
133930         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
133931         * lib/canon-host.c: Declare strdup.
133932         * lib/path-concat.c: Likewise.
133933         From John David Anglin.
133935 2000-04-04  Jim Meyering  <meyering@lucent.com>
133937         Be more DOS 8.3-friendly.
133938         * lib/ref-add.sin: Renamed from ref-add.sed.in.
133939         * lib/ref-del.sin: Renamed from ref-del.sed.in.
133940         * lib/Makefile.am: Reflect renaming.
133941         Reported by Eli Zaretskii.
133943         Use a temporary file name that won't clash with `charset.alias'
133944         in the DOS 8.3 name space.
133945         * lib/Makefile.am (charset_tmp): Define.
133946         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
133947         (uninstall-local): Likewise.
133948         Reported by Eli Zaretskii.
133950 2000-04-03  Jim Meyering  <meyering@lucent.com>
133952         * m4/gettext.m4: Fix typo in comment.
133954         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
133955         textutils/configure.in).  Suggestion from Paul Eggert.
133956         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
133958 2000-04-02  Paul Eggert  <eggert@twinsun.com>
133960         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
133961         variable in the shell rather than using putenv, which isn't
133962         portable.  This avoids the configure-time inter-test dependency
133963         on the potentially-renamed putenv function.
133965 2000-03-30  Paul Eggert  <eggert@twinsun.com>
133967         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
133968         before checking struct stat.st_blksize, so that
133969         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
133971 2000-03-29  Paul Eggert  <eggert@twinsun.com>
133973         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
133974         since strftime.c uses HAVE_STRFTIME to decide whether to use
133975         the underlying strftime.
133977 2000-03-29  Paul Eggert  <eggert@twinsun.com>
133979         * lib/time/strftime.c (my_strftime): Make sure we call the system
133980         strftime, not ourselves, when invoking the underlying strftime.
133982 2000-03-24  Jim Meyering  <meyering@lucent.com>
133984         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
133985         (charset_alias): Define.
133986         (install-exec-local): Factor out common code.
133987         (uninstall-local): Split lines longer than 80.
133988         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
133989         (SUFFIXES): Define.
133990         (.sed.in.sed): New rule.  Don't redirect directly to $@.
133991         (CLEANFILES): Add ref-add.sed and ref-del.sed.
133993 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
133995         * lib/config.charset: Output a line containing "Packages using this
133996         file".
133997         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
133998         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
133999         ref-del.sed): New rules.
134001 2000-03-17  Jim Meyering  <meyering@lucent.com>
134003         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
134004         Otherwise, include <strings.h>
134006 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
134008         * lib/unicodeio.c (utf8_wctomb): New function.
134009         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
134010         format instead of in UCS-4 with platform dependent endianness.
134012 2000-03-10  Jim Meyering  <meyering@lucent.com>
134014         * m4/lib-check.m4: Look for getspnam in -lgen, too.
134015         From Marco Franzen.
134017 2000-03-07  Paul Eggert  <eggert@twinsun.com>
134019         * lib/savedir.c (savedir): Work even if directory size is
134020         negative; this can happen with some screwy NFS configurations.
134022 2000-03-06  Jim Meyering  <meyering@lucent.com>
134024         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
134025         if it's NULL (because we ran out of memory).  From Bruno Haible.
134027 2000-03-05  Jim Meyering  <meyering@lucent.com>
134029         * lib/localcharset.c ("path-concat.h"): Include.
134030         (get_charset_aliases): Use path_concat instead of ANSI string
134031         concatenation.
134033         * lib/unicodeio.h (PARAMS): Define.
134034         Use it to guard prototype.
134036 2000-03-04  Jim Meyering  <meyering@lucent.com>
134038         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
134039         for lib/localcharset.c.
134041 2000-03-04  Jim Meyering  <meyering@lucent.com>
134043         * lib/Makefile.am (install-exec-local): Create $(libdir) before
134044         installing into it.
134045         (uninstall-local): Uncomment this rule so `make distcheck' works
134046         once again.
134048         * lib/unicodeio.c (<errno.h>): Include it.
134049         (errno): Declare if not defined.
134051         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
134053         * lib/config.charset: New version, incorporating remarks from a linux
134054         i18n mailing list.  From Bruno Haible.
134056 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
134058         * m4/codeset.m4: New file.
134059         * m4/iconv.m4: New file.
134060         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
134062 2000-03-03  Jim Meyering  <meyering@lucent.com>
134064         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
134066 2000-03-02  Jim Meyering  <meyering@lucent.com>
134068         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
134069         the messages come out on separate lines.
134071         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
134072         rather than jm_CHECK_DECLARATIONS.
134073         * m4/decl.m4: Remove now-unused file.
134075         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
134076         geteuid.
134078 2000-03-02  Jim Meyering  <meyering@lucent.com>
134080         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
134082 2000-03-01  Jim Meyering  <meyering@lucent.com>
134084         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
134085         * lib/unicodeio.c: Likewise.
134087 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
134089         * lib/config.charset: New file.
134090         * lib/localcharset.c: New file.
134091         * lib/unicodeio.h, lib/unicodeio.c: New files.
134092         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
134093         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
134094         (noinst_HEADERS): Add unicodeio.h.
134095         (all-local, install-exec-local, charset.alias): New targets.
134097 2000-02-28  Paul Eggert  <eggert@twinsun.com>
134099         * lib/quotearg.c (ALERT_CHAR): New macro.
134100         (quotearg_buffer_restyled): Use it.
134102 2000-02-27  Jim Meyering  <meyering@lucent.com>
134104         * m4/check-decl.m4: Add getenv to the list.
134106 2000-02-27  Jim Meyering  <meyering@lucent.com>
134108         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
134109         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
134111         * lib/backupfile.c: Guard inclusion of stdlib.h with
134112         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
134113         Declare malloc if needed.
134115         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
134116         `#ifndef HAVE_DECL..'
134117         now that autoconf always defines the HAVE_DECL_ symbols.
134118         * lib/human.c: Likewise.
134119         * lib/same.c: Likewise.
134120         * lib/strtoumax.c: Likewise.
134122         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
134123         declaration check was not run.
134124         * lib/hash.c: Likewise.
134125         * lib/human.c: Likewise.
134126         * lib/same.c: Likewise.
134127         * lib/strtoumax.c: Likewise.
134129         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
134130         `.', then first look up the entire `.'-containing string as a login
134131         name.
134133 2000-02-23  Jim Meyering  <meyering@lucent.com>
134135         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
134136         in place of my hack.
134138 2000-02-18  Paul Eggert  <eggert@twinsun.com>
134140         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
134141         (textint): New typedef.
134142         (parser_control): Member year changed from int to textint.
134143         All uses changed.
134144         (YYSTYPE): Removed; replaced by %union with int and textint members.
134145         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
134146         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
134147         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
134148         (tSNUMBER, tUNUMBER): Now of type <textintval>.
134149         (date, number, to_year): Use width of number in digits, not its value,
134150         to determine whether it's a 2-digit year, or a 2-digit time.
134151         (yylex): Store number of digits of numeric tokens.
134152         Reported by John Kendall.
134154         (parser_control): Changed from struct parser_control to typedef (for
134155         consistency).  All uses changed.
134157         (tID): Removed; not used.
134158         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
134160 2000-02-14  Paul Eggert  <eggert@twinsun.com>
134162         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
134163         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
134165 2000-02-12  Jim Meyering  <meyering@lucent.com>
134167         * lib/userspec.c (ISDIGIT): Define it.
134168         (isdigit): Remove definition.
134169         (is_number): Use ISDIGIT, not isdigit.
134170         <libintl.h>: Include.
134171         (_ and N_): Define.
134172         (parse_user_spec): Mark translatable strings.
134174 2000-02-10  Jim Meyering  <meyering@lucent.com>
134176         With these changes, nanosleep.[ch] are finally enough like the other
134177         lib/* replacement files to compile on a few more losing systems.
134179         * lib/nanosleep.h: Don't include config.h.
134180         Remove prototype from declaration of nanosleep.
134181         (PARAMS): Remove now-unneeded definition.
134182         * lib/nanosleep.c: #undef nanosleep.
134183         (rpl_nanosleep): Rename from nanosleep.
134185 2000-02-10  Jim Meyering  <meyering@lucent.com>
134187         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
134188         gnu_nanosleep to rpl_nanosleep.
134190 2000-02-09  Jim Meyering  <meyering@lucent.com>
134192         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
134193         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
134195 2000-02-08  Akim Demaille  <akim@epita.fr>
134197         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
134198         `[' and `]' and remove uses of `changequote'.
134199         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
134200         (AC_SYS_LARGEFILE): Likewise.
134201         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
134202         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
134203         of changequote.
134204         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
134205         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
134206         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
134207         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
134209 2000-02-05  Jim Meyering  <meyering@lucent.com>
134211         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
134212         Remove explicit use of AC_HEADER_TIME.  It is required by
134213         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
134214         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
134215         in autoconf whereby the expansion of the latter ended up preceding
134216         the expansion of its prerequisite, AC_HEADER_TIME.
134217         Reported by Volker Borchert.
134219 2000-02-03  Jim Meyering  <meyering@lucent.com>
134221         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
134223 2000-02-03  Jim Meyering  <meyering@lucent.com>
134225         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
134226         rather than with `#if HAVE_UTMPNAME'.
134228 2000-02-02  Jim Meyering  <meyering@lucent.com>
134230         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
134231         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
134232         Reported by Eli Zaretskii.
134234 2000-02-01  Jim Meyering  <meyering@lucent.com>
134236         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
134238 2000-01-31  Jim Meyering  <meyering@lucent.com>
134240         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
134241         functions.  Add the time.h and sys/time.h headers along with the
134242         AC_REQUIRE'ment of AC_HEADER_TIME.
134244 2000-01-31  Jim Meyering  <meyering@lucent.com>
134246         * lib/nanosleep.h (nanosleep): Guard declaration with
134247         `#if ! HAVE_DECL_NANOSLEEP'.
134248         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
134249         the declaration in that vendor's sys/timers.h.
134250         Reported by Christian Krackowizer.
134252         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
134253         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
134254         (ISPRINT): Likewise.
134255         Reported by Tom Tromey.
134257 2000-01-30  Jim Meyering  <meyering@lucent.com>
134259         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
134261         * m4/prereq.m4 (utmp_includes): Define.
134262         Check for ut_user and ut_name members in both struct utmpx
134263         and struct utmp.
134265 2000-01-30  Jim Meyering  <meyering@lucent.com>
134267         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
134268         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
134269         header files where only utmpx.ut_user is declared.
134271         * lib/readutmp.h (UT_USER): Define.
134273 2000-01-29  Jim Meyering  <meyering@lucent.com>
134275         * m4/lib-check.m4: New file containing library-related checks from
134276         fileutils and sh-utils (textutils had none).
134278 2000-01-28  Jim Meyering  <meyering@lucent.com>
134280         * m4/perl.m4: Change format of warning message to look more like that
134281         from the missing script.  Suggestion from François Pinard.
134283 2000-01-25  Jim Meyering  <meyering@lucent.com>
134285         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
134286         well as time.h in the compile check.
134287         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
134288         Fix typo in cross-compiling case: s/yes/no/.
134290 2000-01-23  Jim Meyering  <meyering@lucent.com>
134292         * m4/jm-macros.m4: Move df-related tests here from
134293         fileutils/configure.in
134295         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
134296         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
134298         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
134299         s/space/ac_fsusage_space/.
134300         (jm_FILE_SYSTEM_USAGE): Take two parameters.
134302         * m4/ftruncate.m4: New file (derived from part of
134303         fileutils/configure.in).
134304         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
134305         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
134307         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
134308         AC_SUBST these here, rather than just in sh-util/configure.in, so
134309         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
134310         all the same.
134311         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
134312         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
134313         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
134314         (AC_SUBST(POW_LIBM)): Likewise.
134315         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
134317 2000-01-23  Jim Meyering  <meyering@lucent.com>
134319         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
134320         obstack.c.
134322 2000-01-22  Jim Meyering  <meyering@lucent.com>
134324         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
134326         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
134328         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
134329         configure.in
134330         (AC_CHECK_HEADERS): Likewise for sh-utils.
134331         (AC_CHECK_HEADERS): Likewise for textutils.
134332         Merge the three lists of headers.
134334         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
134335         from fileutils' configure.in.
134337         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
134338         code. Moved tests into their own function (_jm_DECL_HEADERS) in
134339         check-decl.m4.
134341         * m4/check-decl.m4: Use #if rather than #ifdef.
134342         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
134343         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
134344         (_jm_DECL_HEADERS): Define new function.
134345         (jm_CHECK_DECLARATIONS): Require it.
134347 2000-01-22  Jim Meyering  <meyering@lucent.com>
134349         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
134350         [! HAVE_DECL_STRTOULL]: Declare strtoull.
134351         Required for some AIX systems.  Reported by Christian Krackowizer.
134352         [TESTING] (main): New function.
134354         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
134355         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
134356         letters.
134358         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
134359         iswprint.
134361         * lib/strverscmp.c (ISDIGIT): Define.
134362         (strverscmp): Use ISDIGIT, not isdigit.
134364 2000-01-19  Jim Meyering  <meyering@lucent.com>
134366         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
134367         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
134368         defines `struct timespec' in <sys/time.h>
134370         * m4/c-bs-a.m4: Remove uses of changequote altogether.
134371         Thanks to Akim for explaining.
134373 2000-01-17  Paul Eggert  <eggert@twinsun.com>
134375         * lib/nanosleep.c (nanosleep):
134376         Don't use SA_INTERRUPT to decide whether to call sigaction, as
134377         POSIX.1 doesn't require SA_INTERRUPT and some systems
134378         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
134379         it's been part of POSIX.1 since day 1 (in 1988).
134381 2000-01-17  Jim Meyering  <meyering@lucent.com>
134383         * lib/interlock: Remove unused file.  Reported by François Pinard.
134385 2000-01-16  Paul Eggert  <eggert@twinsun.com>
134387         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
134388         alert, backslash, formfeed, and vertical tab unnecessarily in
134389         shell quoting style.
134391 2000-01-16  Jim Meyering  <meyering@lucent.com>
134393         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
134394         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
134395         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
134396         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
134398 2000-01-16  Jim Meyering  <meyering@lucent.com>
134400         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
134401         because the latter didn't work.
134403 2000-01-15  Jim Meyering  <meyering@lucent.com>
134405         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
134406         (AC_REPLACE_FUNCS): Add memcpy and memset.
134407         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
134408         Add strpbrk.
134409         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
134411 2000-01-12  Jim Meyering  <meyering@lucent.com>
134413         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
134414         (jm_PREREQ): Use it.
134415         (jm_PREREQ_READUTMP): New macro.
134416         (jm_PREREQ): Use it.
134418 2000-01-11  Paul Eggert  <eggert@twinsun.com>
134420         Quote multibyte characters correctly.
134421         * m4/c-bs-a.m4: New file.
134422         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
134423         (jm_PREREQ): Use it.
134425 2000-01-11  Paul Eggert  <eggert@twinsun.com>
134427         * m4/uintmax_t.m4: Port to autoconf 2.13.
134429 2000-01-08  Jim Meyering  <meyering@ascend.com>
134431         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
134432         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
134434 2000-01-04  Jim Meyering  <meyering@ascend.com>
134436         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
134437         jm_STRUCT_DIRENT_D_TYPE.
134438         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
134439         jm_STRUCT_DIRENT_D_INO.
134440         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
134441         jm_STRUCT_UTIMBUF.
134442         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
134443         renamings.
134444         * m4/utime.m4: Likewise.
134446         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
134447         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
134449 2000-01-03  Paul Eggert  <eggert@twinsun.com>
134451         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
134452         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
134454 2000-01-02  Jim Meyering  <meyering@ascend.com>
134456         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
134457         remember if this is necessary.
134459 1999-12-26  Jim Meyering  <meyering@ascend.com>
134461         * m4/jm-macros.m4: Use it here.
134462         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
134464 1999-12-23  Jim Meyering  <meyering@ascend.com>
134466         * m4/jm-macros.m4: Check for clock_gettime (moved from
134467         fileutils/configure.in)
134468         Check for gettimeofday.
134470 1999-12-20  Jim Meyering  <meyering@ascend.com>
134472         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
134473         autoconf-2.14a-1999-12-20.
134475 1999-12-19  Jim Meyering  <meyering@ascend.com>
134477         * m4/lstat-slash.m4: New file.
134478         * m4/jm-macros.m4: Use the new macro:
134479         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
134481 1999-12-07  Jim Meyering  <meyering@ascend.com>
134483         * m4/perl.m4: Require that File::Compare be available, too.
134484         Too many systems seem to lack it.
134486         * m4/strftime.m4: Add checks for most of the cpp macros tested in
134487         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
134489 1999-11-18  Paul Eggert  <eggert@twinsun.com>
134491         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
134492         problem with the QNX 4.25 shell, which doesn't propagate exit
134493         status of failed commands inside shell assignments.
134495 1999-11-17  Jim Meyering  <meyering@ascend.com>
134497         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
134499 1999-11-07  Jim Meyering  <meyering@ascend.com>
134501         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
134503 1999-11-06  Jim Meyering  <meyering@ascend.com>
134505         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
134506         * m4/jm-macros.m4 (jm_MACROS): Use it here.
134508 1999-11-05  Jim Meyering  <meyering@ascend.com>
134510         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
134511         configure.in of textutils, fileutils, and sh-utils into this one
134512         (shared between those packages) file.
134513         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
134514         AC_STRUCT_ST_BLKSIZE.
134516 1999-11-03  Jim Meyering  <meyering@ascend.com>
134518         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
134519         of AC_CHECK_TYPE checks includes unistd.h.
134520         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
134521         Suggestion from Akim Demaille.
134523 1999-10-30  Jim Meyering  <meyering@ascend.com>
134525         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
134526         m4-quoted string.
134527         * m4/ls-mntd-fs.m4: Likewise.
134528         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
134529         * m4/jm-winsz1.m4: Likewise.
134531         * m4/const.m4: Remove file, since the fix made it into the experimental
134532         version of autoconf.
134533         * m4/mktime.m4: Likewise.
134535         * m4/check-type.m4: Remove file, now that the latest version of
134536         AC_CHECK_TYPE takes a third arg to specify additional #includes.
134538         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
134539         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
134540         AC_CHECK_TYPE.
134542 1999-10-04  Jim Meyering  <meyering@ascend.com>
134544         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
134546 1999-09-22  Paul Eggert  <eggert@twinsun.com>
134548         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
134549         2.95.1 bug with HP-UX 10.20.
134551 1999-09-17  Jim Meyering  <meyering@ascend.com>
134553         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
134554         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
134555         due to missing strdup (against sh-utils-2.0).
134557 1999-08-29  Jim Meyering  <meyering@ascend.com>
134559         * m4/jm-macros.m4: Require jm_BISON.
134560         * m4/bison.m4: New file.
134562 1999-08-17  Paul Eggert  <eggert@twinsun.com>
134564         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
134565         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
134567 1999-08-05  Jim Meyering  <meyering@ascend.com>
134569         * m4/getline.m4: Rename test file from conftestdata to conftest.data
134570         to avoid conflicts with `conftest' on 8+3 filesystems.
134571         Suggestion from Eli Zaretskii.
134573 1999-08-04  Jim Meyering  <meyering@ascend.com>
134575         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
134576         fileutils and sh-utils (textutils's getline test was inadequate).
134577         (AM_FUNC_GETLINE): Run this test.
134578         (AC_CHECK_FUNCS): Check for getdelim.
134579         Reported by Bob Proulx.
134581 1999-08-02  Jim Meyering  <meyering@ascend.com>
134583         * m4/jm-macros.m4: Add a comment.
134585 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134587         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
134588         <inttypes.h> defines strtoumax as a macro (and not as a
134589         function).
134591 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134593         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
134594         that we can shift, multiply and divide unsigned long long
134595         values; Ultrix cc can't do it.
134597 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134599         * m4/mktime.m4: New file, which is a preview of what should appear
134600         in the next public autoconf release.
134602 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134604         * m4/lfs.m4: Remove this file.
134605         * m4/largefile.m4: New file.  It contains the old contents of
134606         lfs.m4, except that all names with prefix AC_LFS have been
134607         changed to use the prefix AC_SYS_LARGEFILE instead, to be
134608         compatible with future autoconf versions.  Also, some minor m4
134609         quoting problems have been fixed.
134611 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134613         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
134614         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
134615         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
134616         and simplify the shell code.
134618 1999-08-01  Jim Meyering  <meyering@ascend.com>
134620         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
134621         m4.
134623 1999-07-20  Jim Meyering  <meyering@ascend.com>
134625         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
134627 1999-07-15  Jim Meyering  <meyering@ascend.com>
134629         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
134631 1999-05-22  Jim Meyering  <meyering@ascend.com>
134633         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
134635 1999-05-20  Jim Meyering  <meyering@ascend.com>
134637         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
134638         Add a colon after each `then' in case $4 is empty.
134640 1999-05-16  Jim Meyering  <meyering@ascend.com>
134642         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
134644 1999-05-10  Jim Meyering  <meyering@ascend.com>
134646         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
134648         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
134649         AC_FUNC_MKTIME.
134651 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
134653         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
134655 1999-05-04  Paul Eggert  <eggert@twinsun.com>
134657         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
134658         not CPPFLAGS, so that linking works correctly in IRIX.
134660 1999-04-30  Paul Eggert  <eggert@twinsun.com>
134662         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
134664 1999-04-20  Paul Eggert  <eggert@twinsun.com>
134666         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
134667         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
134668         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
134669         jm_AC_TYPE_UNSIGNED_LONG_LONG.
134670         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
134672         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
134674 1999-04-20  Jim Meyering  <meyering@ascend.com>
134676         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
134677         AC_REPLACE xstroull if necessary.  From Paul Eggert.
134678         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
134680 1999-04-18  Jim Meyering  <meyering@ascend.com>
134682         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
134683         * m4/jm-macros.m4: Use it.
134685 1999-04-06  Jim Meyering  <meyering@ascend.com>
134687         * m4/strftime.m4: Remove test for %f.
134689 1999-03-29  Jim Meyering  <meyering@ascend.com>
134691         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
134692         superset of the AC_TYPE_* checks in the textutils, fileutils,
134693         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
134694         AC_TYPE_PID_T.
134696 1999-03-28  Jim Meyering  <meyering@ascend.com>
134698         * m4/jm-macros.m4: Define GNU_PACKAGE here.
134699         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
134700         replaced e.g., in the *.sh files of the sh-utils.
134702 1999-03-20  Jim Meyering  <meyering@ascend.com>
134704         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
134705         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
134706         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
134708 1999-03-19  Jim Meyering  <meyering@ascend.com>
134710         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
134712 1999-03-12  Jim Meyering  <meyering@ascend.com>
134714         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
134716 1999-03-07  Jim Meyering  <meyering@ascend.com>
134718         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
134719         declared.
134721 1999-02-17  Jim Meyering  <meyering@ascend.com>
134723         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
134724         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
134726 1999-02-07  Jim Meyering  <meyering@ascend.com>
134728         * m4/group-member.m4: New file -- extracted from sh-utils'
134729         configure.in.
134731         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
134732         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
134734 1999-02-06  Jim Meyering  <meyering@ascend.com>
134736         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
134737         * m4/fnmatch.m4: Likewise.
134738         * m4/getgroups.m4: Likewise.
134739         * m4/lstat.m4: Likewise.
134740         * m4/malloc.m4: Likewise.
134741         * m4/putenv.m4: Likewise.
134742         * m4/realloc.m4: Likewise.
134743         * m4/regex.m4: Likewise.
134744         * m4/stat.m4: Likewise.
134745         * m4/strftime.m4: Likewise.
134746         Suggestion from Alain Magloire.
134748         * m4/chown.m4: Use `.$ac_objext', not `.o'.
134749         * m4/fnmatch.m4: Likewise.
134750         * m4/getgroups.m4: Likewise.
134751         * m4/getline.m4: Likewise.
134752         * m4/lstat.m4: Likewise.
134753         * m4/malloc.m4: Likewise.
134754         * m4/memcmp.m4: Likewise.
134755         * m4/putenv.m4: Likewise.
134756         * m4/realloc.m4: Likewise.
134757         * m4/regex.m4: Likewise.
134758         * m4/stat.m4: Likewise.
134759         * m4/strftime.m4: Likewise.
134760         Suggestion from Alain Magloire.
134762         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
134763         an argument.
134765         * m4/regex.m4: Add a run-time Test for proper operation of
134766         re_compile_pattern.
134768 1999-01-31  Jim Meyering  <meyering@ascend.com>
134770         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
134772 1999-01-30  Jim Meyering  <meyering@ascend.com>
134774         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
134776         * m4/jm-mktime.m4: Make this a wrapper around the official
134777         AM_FUNC_MKTIME rather than my private copy, now that the official one
134778         is up to date.
134779         * m4/mktime.m4: Remove file.
134781         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
134782         * m4/uptime.m4: Likewise.
134783         * m4/uintmax_t.m4: Likewise.
134785 1999-01-28  Jim Meyering  <meyering@ascend.com>
134787         * m4/jm-macros.m4: Use jm_AFS.
134788         * m4/afs.m4: New file (from fileutils' configure.in).
134790         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
134791         * m4/chown.m4: Likewise.
134792         * m4/d-ino.m4: Likewise.
134793         * m4/d-type.m4: Likewise.
134794         * m4/fnmatch.m4: Likewise.
134795         * m4/getgroups.m4: Likewise.
134796         * m4/gettext.m4: Likewise.
134797         * m4/jm-mktime.m4: Likewise.
134798         * m4/jm-winsz2.m4: Likewise.
134799         * m4/lcmessage.m4: Likewise.
134800         * m4/ls-mntd-fs.m4: Likewise.
134801         * m4/malloc.m4: Likewise.
134802         * m4/memcmp.m4: Likewise.
134803         * m4/putenv.m4: Likewise.
134804         * m4/realloc.m4: Likewise.
134805         * m4/st_mtim.m4: Likewise.
134806         * m4/strftime.m4: Likewise.
134808 1999-01-16  Jim Meyering  <meyering@ascend.com>
134810         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
134811         (ARGMATCH_DIE_DECL): Define.
134813 1999-01-12  Jim Meyering  <meyering@ascend.com>
134815         * m4/Makefile.am.in: Rewrite to avoid using fmt.
134816         Reported by Lars Hecking.
134818 1999-01-10  Jim Meyering  <meyering@ascend.com>
134820         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
134821         gross kludge.
134822         * m4/inttypes_h.m4: Likewise.
134823         * m4/lstat.m4: Likewise.
134824         * m4/malloc.m4: Likewise.
134825         * m4/readdir.m4: Likewise.
134826         * m4/realloc.m4: Likewise.
134827         * m4/st_dm_mode.m4: Likewise.
134828         * m4/stat.m4: Likewise.
134829         * m4/utimbuf.m4: Likewise.
134830         * m4/utimes.m4: Likewise.
134832         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
134833         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
134834         comments in config.h.in are meaningful.
134836         * m4/jm-macros.m4: Require autoconf-2.13 here.
134838         * m4/regex.m4: By default, don't use the included regex.c on systems
134839         with glibc 2.  Suggestion from Uli Drepper.
134841 1999-01-02  Jim Meyering  <meyering@ascend.com>
134843         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
134845 1998-12-18  Jim Meyering  <meyering@ascend.com>
134847         * m4/Makefile.am.in (Makefile.am): Simplify rule.
134848         Based on a suggestion from Lars Hecking.
134850 1998-11-16  Paul Eggert  <eggert@twinsun.com>
134852         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
134854 1998-11-16  Jim Meyering  <meyering@ascend.com>
134856         * m4/lfs.m4: Double-quote the `uname...` expression.
134858 1998-11-14  Jim Meyering  <meyering@ascend.com>
134860         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
134861         * m4/stat.m4: Likewise.
134863 1998-11-03  Jim Meyering  <meyering@ascend.com>
134865         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
134866         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
134868 1998-10-18  Jim Meyering  <meyering@ascend.com>
134870         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
134872 1998-10-17  Jim Meyering  <meyering@ascend.com>
134874         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
134875         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
134876         calls for those previously hard-coded headers.  Instead, take a new
134877         parameter.
134878         (jm_CHECK_DECLARATIONS): Reflect interface change.
134879         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
134880         (jm_CHECK_DECL_LOCALTIME_R): New macro.
134882         * m4/mktime.m4: Test for spring-forward gap before long-running test.
134884 1998-10-14  Jim Meyering  <meyering@ascend.com>
134886         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
134887         instead of "TZ=America/Vancouver".  From Paul Eggert.
134889 1998-10-11  Jim Meyering  <meyering@ascend.com>
134891         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
134892         This adds a test for a recently added compatibility fix for mktime.c.
134893         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
134895 1998-09-27  Jim Meyering  <meyering@ascend.com>
134897         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
134899         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
134900         ../configure.in, including a change from Gordon Matzigkeit to allow
134901         cross-compiling for the Hurd.
134903         * m4/glibc.m4: New file/macro to test for the GNU C Library
134904         versions 1 and 2.  From Gordon Matzigkeit.
134905         Indent.
134907 1998-09-21  Jim Meyering  <meyering@ascend.com>
134909         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
134911 1998-08-18  Paul Eggert  <eggert@twinsun.com>
134913         Port nanosecond-resolution times to UnixWare 2.1.2 and
134914         pedantic Solaris 2.6.
134916         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
134917         AC_STRUCT_ST_MTIM.
134918         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
134919         Generate name of ns member, instead of just 1 or undef.
134920         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
134922 1998-08-15  Jim Meyering  <meyering@ascend.com>
134924         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
134925         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
134926         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
134927         instead of jm_TYPE_SSIZE_T.
134929 1998-08-12  Jim Meyering  <meyering@ascend.com>
134931         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
134933 1998-08-02  Jim Meyering  <meyering@ascend.com>
134935         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
134936         in acconfig.h manually.
134938 1998-07-31  Paul Eggert  <eggert@twinsun.com>
134940         * m4/st_mtim.m4: New file.
134942 1998-07-28  Jim Meyering  <meyering@ascend.com>
134944         * m4/utimes.m4: Undef stat.
134946 1998-07-25  Jim Meyering  <meyering@ascend.com>
134948         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
134949         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
134951 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
134953         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
134954         uid and gid actually remain unchanged.
134956 1998-07-07  Jim Meyering  <meyering@ascend.com>
134958         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
134960 1998-07-04  Jim Meyering  <meyering@ascend.com>
134962         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
134963         to prove that this macro can be used in packages without regex.c.
134965 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
134967         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
134968         is to be used.
134970 1998-07-03  Jim Meyering  <meyering@ascend.com>
134972         * m4/gettext.m4: Add -lintl if it's found to be necessary.
134974         * m4/gettext.m4: New file -- from gettext-0.10.35.
134975         * m4/lcmessage.m4: Likewise.
134976         * m4/progtest.m4: Likewise.
134978         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
134979         * m4/jm-macros.m4: Require the new macro.
134981 1998-06-29  Jim Meyering  <meyering@ascend.com>
134983         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
134984         for the definition of NGROUPS (used in a system header included
134985         by sys/mount.h).
134987 1998-06-28  Jim Meyering  <meyering@ascend.com>
134989         * m4/ls-mntd-fs.m4: New file.
134990         * m4/fstypename.m4: New file.
134992         * m4/jm-macros.m4: Require the new macro.
134993         * m4/jm-glibc-io.m4: New file.
134995 1998-05-19  Jim Meyering  <meyering@ascend.com>
134997         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
134998         * m4/lchown.m4: New file.
135000         * m4/Makefile.am.in: New file.
135001         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
135003 1998-05-14  Jim Meyering  <meyering@ascend.com>
135005         * m4/Makefile.am (EXTRA_DIST): Add them.
135006         * m4/jm-macros.m4: New file.
135007         * m4/utimbuf.m4: New file.
135009 1998-05-12  Jim Meyering  <meyering@ascend.com>
135011         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
135013 1998-05-11  Jim Meyering  <meyering@ascend.com>
135015         * m4/isc-posix.m4: New file.
135017 1998-05-10  Jim Meyering  <meyering@ascend.com>
135019         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
135021 1998-05-09  Jim Meyering  <meyering@ascend.com>
135023         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
135024         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
135025         with automake.
135027         * m4/ssize_t.m4: New file.
135028         * m4/mktime.m4: Remove file -- the new automake has this now.
135030 1998-04-26  Jim Meyering  <meyering@ascend.com>
135032         * m4/assert.m4: New file.
135033         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
135035 1998-04-05  Jim Meyering  <meyering@ascend.com>
135037         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
135038         (jm_PREREQ): Use it here.
135040 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
135042         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
135043         in acconfig.h.
135045 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
135047         * m4/prereq.m4: New file.
135048         * m4/error.m4: New file.
135049         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
135051 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
135053         * m4/getline.m4: Don't set am_cv_func_working_getline before the
135054         cache-check for the same variable -- that defeated the purpose of
135055         the test; the test program was never run.  This was a problem only
135056         on systems with losing getline functions -- HP-UX 10.20 is one.
135057         Reported by Bjorn Helgaas.
135059 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
135061         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
135063 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
135065         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
135067         * m4/const.m4: New file.  Use an initializer in this declaration
135068         typedef int charset[2]; const charset x;
135069         Reported by Bob Glickstein.
135071 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
135073         * m4/chown.m4: Fix reversed types on -1 args to chown.
135074         From Kaveh Ghazi.
135076 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
135078         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
135079         Add lseek and memchr.
135081         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
135082         T.E.Dickey <dickey@clark.net> said that some older preprocessors
135083         have a 20-character limit on names.
135085 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
135087         * m4/inttypes_h.m4: New file.
135088         * m4/uintmax_t.m4: New file.
135089         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
135092         -----
135094         Local Variables:
135095         coding: utf-8
135096         End:
135098         Copyright (C) 1997-2021 Free Software Foundation, Inc.
135100         Copying and distribution of this file, with or without
135101         modification, are permitted provided the copyright notice
135102         and this notice are preserved.